Skip to content

Commit

Permalink
Fixed almende#1697: Timeline not drawn when used within the Angular.j…
Browse files Browse the repository at this point in the history
…s directive
  • Loading branch information
josdejong committed Mar 14, 2016
1 parent 4a72096 commit e87627f
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 46 deletions.
1 change: 1 addition & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ http://visjs.org
- Fixed #1455: allow vertical panning of the web page on touch devices.
- Fixed #1695: Item line and dot not correctly reckoning with the line width
when using left or right align.
- Fixed #1697: Timeline not drawn when used within the Angular.js directive.


## 2016-02-23, version 4.15.0
Expand Down
90 changes: 45 additions & 45 deletions dist/vis.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
*
* A dynamic, browser-based visualization library.
*
* @version 4.15.1
* @date 2016-03-08
* @version 4.15.2-SNAPSHOT
* @date 2016-03-14
*
* @license
* Copyright (C) 2011-2016 Almende B.V, http://almende.com
Expand Down Expand Up @@ -17725,7 +17725,7 @@ return /******/ (function(modules) { // webpackBootstrap
var props = this.props;
var dom = this.dom;

if (!dom || !dom.container || dom.container.clientWidth == 0) return; // when destroyed, or invisible
if (!dom || !dom.container || dom.root.clientWidth == 0) return; // when destroyed, or invisible

DateUtil.updateHiddenDates(this.options.moment, this.body, this.options.hiddenDates);

Expand Down Expand Up @@ -29104,7 +29104,9 @@ return /******/ (function(modules) { // webpackBootstrap
value: function create(properties) {
var constructorClass = arguments.length <= 1 || arguments[1] === undefined ? _Node2.default : arguments[1];

return new constructorClass(properties, this.body, this.images, this.groups, this.options);
var idField = this.body.data.nodes._fieldId;
var id = properties[idField];
return new constructorClass(id, properties, this.body, this.images, this.groups, this.options);
}
}, {
key: 'refresh',
Expand Down Expand Up @@ -29365,9 +29367,9 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* @class Node
* A node. A node can be connected to other nodes via one or multiple edges.
* @param {string} id Id for the node
* @param {object} options An object containing options for the node. All
* options are optional, except for the id.
* {number} id Id of the node. Required
* options are optional
* {string} label Text label for the node
* {number} x Horizontal position of the node
* {number} y Vertical position of the node
Expand All @@ -29389,7 +29391,7 @@ return /******/ (function(modules) { // webpackBootstrap
*/

var Node = function () {
function Node(options, body, imagelist, grouplist, globalOptions) {
function Node(id, options, body, imagelist, grouplist, globalOptions) {
_classCallCheck(this, Node);

this.options = util.bridgeObject(globalOptions);
Expand All @@ -29398,8 +29400,11 @@ return /******/ (function(modules) { // webpackBootstrap

this.edges = []; // all edges connected to this node

// set defaults for the options
this.id = undefined;
if (id === undefined) {
throw "Node must have an id";
}

this.id = id;
this.imagelist = imagelist;
this.grouplist = grouplist;

Expand Down Expand Up @@ -29457,14 +29462,6 @@ return /******/ (function(modules) { // webpackBootstrap
if (!options) {
return;
}
// basic options
if (options.id !== undefined) {
this.id = options.id;
}

if (this.id === undefined) {
throw "Node must have an id";
}

// set these options locally
// clear x and y positions
Expand Down Expand Up @@ -32139,7 +32136,9 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'create',
value: function create(properties) {
return new _Edge2.default(properties, this.body, this.options);
var idField = this.body.data.edges._fieldId;
var id = properties[idField];
return new _Edge2.default(id, properties, this.body, this.options);
}
}, {
key: 'markAllEdgesAsDirty',
Expand Down Expand Up @@ -32242,6 +32241,7 @@ return /******/ (function(modules) { // webpackBootstrap
* @class Edge
*
* A edge connects two nodes
* @param {string} [id] Id for the edge. optional
* @param {Object} properties Object with options. Must contain
* At least options from and to.
* Available options: from (number),
Expand All @@ -32255,7 +32255,7 @@ return /******/ (function(modules) { // webpackBootstrap
*/

var Edge = function () {
function Edge(options, body, globalOptions) {
function Edge(id, options, body, globalOptions) {
_classCallCheck(this, Edge);

if (body === undefined) {
Expand All @@ -32266,7 +32266,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.body = body;

// initialize variables
this.id = undefined;
this.id = id;
this.fromId = undefined;
this.toId = undefined;
this.selected = false;
Expand Down Expand Up @@ -32306,9 +32306,6 @@ return /******/ (function(modules) { // webpackBootstrap

Edge.parseOptions(this.options, options, true, this.globalOptions);

if (options.id !== undefined) {
this.id = options.id;
}
if (options.from !== undefined) {
this.fromId = options.from;
}
Expand Down Expand Up @@ -32388,14 +32385,14 @@ return /******/ (function(modules) { // webpackBootstrap
if (this.options.smooth.enabled === true) {
if (this.options.smooth.type === 'dynamic') {
dataChanged = true;
this.edgeType = new _BezierEdgeDynamic2.default(this.options, this.body, this.labelModule);
this.edgeType = new _BezierEdgeDynamic2.default(this.id, this.options, this.body, this.labelModule);
} else if (this.options.smooth.type === 'cubicBezier') {
this.edgeType = new _CubicBezierEdge2.default(this.options, this.body, this.labelModule);
this.edgeType = new _CubicBezierEdge2.default(this.id, this.options, this.body, this.labelModule);
} else {
this.edgeType = new _BezierEdgeStatic2.default(this.options, this.body, this.labelModule);
this.edgeType = new _BezierEdgeStatic2.default(this.id, this.options, this.body, this.labelModule);
}
} else {
this.edgeType = new _StraightEdge2.default(this.options, this.body, this.labelModule);
this.edgeType = new _StraightEdge2.default(this.id, this.options, this.body, this.labelModule);
}
} else {
// if nothing changes, we just set the options.
Expand Down Expand Up @@ -32843,10 +32840,10 @@ return /******/ (function(modules) { // webpackBootstrap
var CubicBezierEdge = function (_CubicBezierEdgeBase) {
_inherits(CubicBezierEdge, _CubicBezierEdgeBase);

function CubicBezierEdge(options, body, labelModule) {
function CubicBezierEdge(id, options, body, labelModule) {
_classCallCheck(this, CubicBezierEdge);

return _possibleConstructorReturn(this, Object.getPrototypeOf(CubicBezierEdge).call(this, options, body, labelModule));
return _possibleConstructorReturn(this, Object.getPrototypeOf(CubicBezierEdge).call(this, id, options, body, labelModule));
}

/**
Expand Down Expand Up @@ -32991,10 +32988,10 @@ return /******/ (function(modules) { // webpackBootstrap
var CubicBezierEdgeBase = function (_BezierEdgeBase) {
_inherits(CubicBezierEdgeBase, _BezierEdgeBase);

function CubicBezierEdgeBase(options, body, labelModule) {
function CubicBezierEdgeBase(id, options, body, labelModule) {
_classCallCheck(this, CubicBezierEdgeBase);

return _possibleConstructorReturn(this, Object.getPrototypeOf(CubicBezierEdgeBase).call(this, options, body, labelModule));
return _possibleConstructorReturn(this, Object.getPrototypeOf(CubicBezierEdgeBase).call(this, id, options, body, labelModule));
}

/**
Expand Down Expand Up @@ -33077,10 +33074,10 @@ return /******/ (function(modules) { // webpackBootstrap
var BezierEdgeBase = function (_EdgeBase) {
_inherits(BezierEdgeBase, _EdgeBase);

function BezierEdgeBase(options, body, labelModule) {
function BezierEdgeBase(id, options, body, labelModule) {
_classCallCheck(this, BezierEdgeBase);

return _possibleConstructorReturn(this, Object.getPrototypeOf(BezierEdgeBase).call(this, options, body, labelModule));
return _possibleConstructorReturn(this, Object.getPrototypeOf(BezierEdgeBase).call(this, id, options, body, labelModule));
}

/**
Expand Down Expand Up @@ -33213,9 +33210,10 @@ return /******/ (function(modules) { // webpackBootstrap
var util = __webpack_require__(1);

var EdgeBase = function () {
function EdgeBase(options, body, labelModule) {
function EdgeBase(id, options, body, labelModule) {
_classCallCheck(this, EdgeBase);

this.id = id;
this.body = body;
this.labelModule = labelModule;
this.options = {};
Expand Down Expand Up @@ -33245,7 +33243,6 @@ return /******/ (function(modules) { // webpackBootstrap
this.options = options;
this.from = this.body.nodes[this.options.from];
this.to = this.body.nodes[this.options.to];
this.id = this.options.id;
}

/**
Expand Down Expand Up @@ -33819,12 +33816,12 @@ return /******/ (function(modules) { // webpackBootstrap
var BezierEdgeDynamic = function (_BezierEdgeBase) {
_inherits(BezierEdgeDynamic, _BezierEdgeBase);

function BezierEdgeDynamic(options, body, labelModule) {
function BezierEdgeDynamic(id, options, body, labelModule) {
_classCallCheck(this, BezierEdgeDynamic);

// --> this calls the setOptions below

var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(BezierEdgeDynamic).call(this, options, body, labelModule));
var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(BezierEdgeDynamic).call(this, id, options, body, labelModule));
//this.via = undefined; // Here for completeness but not allowed to defined before super() is invoked.


Expand All @@ -33846,7 +33843,6 @@ return /******/ (function(modules) { // webpackBootstrap

// set the options and the to and from nodes
this.options = options;
this.id = this.options.id;
this.from = this.body.nodes[this.options.from];
this.to = this.body.nodes[this.options.to];

Expand Down Expand Up @@ -33907,12 +33903,14 @@ return /******/ (function(modules) { // webpackBootstrap
value: function setupSupportNode() {
if (this.via === undefined) {
var nodeId = "edgeId:" + this.id;
var node = this.body.functions.createNode({
id: nodeId,
var properties = {
shape: 'circle',
physics: true,
hidden: true
});
};
var idField = this.body.data.nodes._fieldId;
properties[idField] = nodeId;
var node = this.body.functions.createNode(properties);
this.body.nodes[nodeId] = node;
this.via = node;
this.via.parentEdgeId = this.id;
Expand Down Expand Up @@ -34024,10 +34022,10 @@ return /******/ (function(modules) { // webpackBootstrap
var BezierEdgeStatic = function (_BezierEdgeBase) {
_inherits(BezierEdgeStatic, _BezierEdgeBase);

function BezierEdgeStatic(options, body, labelModule) {
function BezierEdgeStatic(id, options, body, labelModule) {
_classCallCheck(this, BezierEdgeStatic);

return _possibleConstructorReturn(this, Object.getPrototypeOf(BezierEdgeStatic).call(this, options, body, labelModule));
return _possibleConstructorReturn(this, Object.getPrototypeOf(BezierEdgeStatic).call(this, id, options, body, labelModule));
}

/**
Expand Down Expand Up @@ -42694,8 +42692,9 @@ return /******/ (function(modules) { // webpackBootstrap
key: '_getNewTargetNode',
value: function _getNewTargetNode(x, y) {
var controlNodeStyle = util.deepExtend({}, this.options.controlNodeStyle);
var idField = this.body.data.nodes._fieldId;

controlNodeStyle.id = 'targetNode' + util.randomUUID();
controlNodeStyle[idField] = 'targetNode' + util.randomUUID();
controlNodeStyle.hidden = false;
controlNodeStyle.physics = false;
controlNodeStyle.x = x;
Expand Down Expand Up @@ -43256,11 +43255,12 @@ return /******/ (function(modules) { // webpackBootstrap
var _this5 = this;

var defaultData = {
id: util.randomUUID(),
x: clickData.pointer.canvas.x,
y: clickData.pointer.canvas.y,
label: 'new'
};
var idField = this.body.data.nodes._fieldId;
defaultData[idField] = util.randomUUID();

if (typeof this.options.addNode === 'function') {
if (this.options.addNode.length === 2) {
Expand Down
2 changes: 1 addition & 1 deletion lib/timeline/Core.js
Original file line number Diff line number Diff line change
Expand Up @@ -633,7 +633,7 @@ Core.prototype._redraw = function() {
var props = this.props;
var dom = this.dom;

if (!dom|| !dom.container || dom.container.clientWidth == 0 ) return;// when destroyed, or invisible
if (!dom || !dom.container || dom.root.clientWidth == 0) return;// when destroyed, or invisible

DateUtil.updateHiddenDates(this.options.moment, this.body, this.options.hiddenDates);

Expand Down

0 comments on commit e87627f

Please sign in to comment.