vis-rails 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/vis/rails/version.rb +1 -1
- data/vendor/assets/javascripts/vis.js +26 -26
- metadata +16 -85
- data/vendor/assets/vis/DataSet.js +0 -926
- data/vendor/assets/vis/DataView.js +0 -283
- data/vendor/assets/vis/graph/Edge.js +0 -957
- data/vendor/assets/vis/graph/Graph.js +0 -2291
- data/vendor/assets/vis/graph/Groups.js +0 -80
- data/vendor/assets/vis/graph/Images.js +0 -41
- data/vendor/assets/vis/graph/Node.js +0 -966
- data/vendor/assets/vis/graph/Popup.js +0 -132
- data/vendor/assets/vis/graph/css/graph-manipulation.css +0 -128
- data/vendor/assets/vis/graph/css/graph-navigation.css +0 -66
- data/vendor/assets/vis/graph/dotparser.js +0 -829
- data/vendor/assets/vis/graph/graphMixins/ClusterMixin.js +0 -1143
- data/vendor/assets/vis/graph/graphMixins/HierarchicalLayoutMixin.js +0 -311
- data/vendor/assets/vis/graph/graphMixins/ManipulationMixin.js +0 -576
- data/vendor/assets/vis/graph/graphMixins/MixinLoader.js +0 -199
- data/vendor/assets/vis/graph/graphMixins/NavigationMixin.js +0 -205
- data/vendor/assets/vis/graph/graphMixins/SectorsMixin.js +0 -552
- data/vendor/assets/vis/graph/graphMixins/SelectionMixin.js +0 -648
- data/vendor/assets/vis/graph/graphMixins/physics/BarnesHut.js +0 -398
- data/vendor/assets/vis/graph/graphMixins/physics/HierarchialRepulsion.js +0 -64
- data/vendor/assets/vis/graph/graphMixins/physics/PhysicsMixin.js +0 -697
- data/vendor/assets/vis/graph/graphMixins/physics/Repulsion.js +0 -66
- data/vendor/assets/vis/graph/img/acceptDeleteIcon.png +0 -0
- data/vendor/assets/vis/graph/img/addNodeIcon.png +0 -0
- data/vendor/assets/vis/graph/img/backIcon.png +0 -0
- data/vendor/assets/vis/graph/img/connectIcon.png +0 -0
- data/vendor/assets/vis/graph/img/cross.png +0 -0
- data/vendor/assets/vis/graph/img/cross2.png +0 -0
- data/vendor/assets/vis/graph/img/deleteIcon.png +0 -0
- data/vendor/assets/vis/graph/img/downArrow.png +0 -0
- data/vendor/assets/vis/graph/img/editIcon.png +0 -0
- data/vendor/assets/vis/graph/img/leftArrow.png +0 -0
- data/vendor/assets/vis/graph/img/minus.png +0 -0
- data/vendor/assets/vis/graph/img/plus.png +0 -0
- data/vendor/assets/vis/graph/img/rightArrow.png +0 -0
- data/vendor/assets/vis/graph/img/upArrow.png +0 -0
- data/vendor/assets/vis/graph/img/zoomExtends.png +0 -0
- data/vendor/assets/vis/graph/shapes.js +0 -225
- data/vendor/assets/vis/graph3d/Graph3d.js +0 -3306
- data/vendor/assets/vis/module/exports.js +0 -65
- data/vendor/assets/vis/module/header.js +0 -24
- data/vendor/assets/vis/module/imports.js +0 -31
- data/vendor/assets/vis/shim.js +0 -252
- data/vendor/assets/vis/timeline/Range.js +0 -532
- data/vendor/assets/vis/timeline/TimeStep.js +0 -466
- data/vendor/assets/vis/timeline/Timeline.js +0 -851
- data/vendor/assets/vis/timeline/component/Component.js +0 -52
- data/vendor/assets/vis/timeline/component/CurrentTime.js +0 -128
- data/vendor/assets/vis/timeline/component/CustomTime.js +0 -182
- data/vendor/assets/vis/timeline/component/Group.js +0 -470
- data/vendor/assets/vis/timeline/component/ItemSet.js +0 -1332
- data/vendor/assets/vis/timeline/component/TimeAxis.js +0 -389
- data/vendor/assets/vis/timeline/component/css/animation.css +0 -33
- data/vendor/assets/vis/timeline/component/css/currenttime.css +0 -5
- data/vendor/assets/vis/timeline/component/css/customtime.css +0 -6
- data/vendor/assets/vis/timeline/component/css/item.css +0 -107
- data/vendor/assets/vis/timeline/component/css/itemset.css +0 -33
- data/vendor/assets/vis/timeline/component/css/labelset.css +0 -36
- data/vendor/assets/vis/timeline/component/css/panel.css +0 -71
- data/vendor/assets/vis/timeline/component/css/timeaxis.css +0 -48
- data/vendor/assets/vis/timeline/component/css/timeline.css +0 -2
- data/vendor/assets/vis/timeline/component/item/Item.js +0 -139
- data/vendor/assets/vis/timeline/component/item/ItemBox.js +0 -230
- data/vendor/assets/vis/timeline/component/item/ItemPoint.js +0 -190
- data/vendor/assets/vis/timeline/component/item/ItemRange.js +0 -262
- data/vendor/assets/vis/timeline/component/item/ItemRangeOverflow.js +0 -57
- data/vendor/assets/vis/timeline/img/delete.png +0 -0
- data/vendor/assets/vis/timeline/stack.js +0 -112
- data/vendor/assets/vis/util.js +0 -990
@@ -1,389 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* A horizontal time axis
|
3
|
-
* @param {{dom: Object, domProps: Object, emitter: Emitter, range: Range}} body
|
4
|
-
* @param {Object} [options] See TimeAxis.setOptions for the available
|
5
|
-
* options.
|
6
|
-
* @constructor TimeAxis
|
7
|
-
* @extends Component
|
8
|
-
*/
|
9
|
-
function TimeAxis (body, options) {
|
10
|
-
this.dom = {
|
11
|
-
foreground: null,
|
12
|
-
majorLines: [],
|
13
|
-
majorTexts: [],
|
14
|
-
minorLines: [],
|
15
|
-
minorTexts: [],
|
16
|
-
redundant: {
|
17
|
-
majorLines: [],
|
18
|
-
majorTexts: [],
|
19
|
-
minorLines: [],
|
20
|
-
minorTexts: []
|
21
|
-
}
|
22
|
-
};
|
23
|
-
this.props = {
|
24
|
-
range: {
|
25
|
-
start: 0,
|
26
|
-
end: 0,
|
27
|
-
minimumStep: 0
|
28
|
-
},
|
29
|
-
lineTop: 0
|
30
|
-
};
|
31
|
-
|
32
|
-
this.defaultOptions = {
|
33
|
-
orientation: 'bottom', // supported: 'top', 'bottom'
|
34
|
-
// TODO: implement timeaxis orientations 'left' and 'right'
|
35
|
-
showMinorLabels: true,
|
36
|
-
showMajorLabels: true
|
37
|
-
};
|
38
|
-
this.options = util.extend({}, this.defaultOptions);
|
39
|
-
|
40
|
-
this.body = body;
|
41
|
-
|
42
|
-
// create the HTML DOM
|
43
|
-
this._create();
|
44
|
-
|
45
|
-
this.setOptions(options);
|
46
|
-
}
|
47
|
-
|
48
|
-
TimeAxis.prototype = new Component();
|
49
|
-
|
50
|
-
/**
|
51
|
-
* Set options for the TimeAxis.
|
52
|
-
* Parameters will be merged in current options.
|
53
|
-
* @param {Object} options Available options:
|
54
|
-
* {string} [orientation]
|
55
|
-
* {boolean} [showMinorLabels]
|
56
|
-
* {boolean} [showMajorLabels]
|
57
|
-
*/
|
58
|
-
TimeAxis.prototype.setOptions = function(options) {
|
59
|
-
if (options) {
|
60
|
-
// copy all options that we know
|
61
|
-
util.selectiveExtend(['orientation', 'showMinorLabels', 'showMajorLabels'], this.options, options);
|
62
|
-
}
|
63
|
-
};
|
64
|
-
|
65
|
-
/**
|
66
|
-
* Create the HTML DOM for the TimeAxis
|
67
|
-
*/
|
68
|
-
TimeAxis.prototype._create = function() {
|
69
|
-
this.dom.foreground = document.createElement('div');
|
70
|
-
this.dom.background = document.createElement('div');
|
71
|
-
|
72
|
-
this.dom.foreground.className = 'timeaxis foreground';
|
73
|
-
this.dom.background.className = 'timeaxis background';
|
74
|
-
};
|
75
|
-
|
76
|
-
/**
|
77
|
-
* Destroy the TimeAxis
|
78
|
-
*/
|
79
|
-
TimeAxis.prototype.destroy = function() {
|
80
|
-
// remove from DOM
|
81
|
-
if (this.dom.foreground.parentNode) {
|
82
|
-
this.dom.foreground.parentNode.removeChild(this.dom.foreground);
|
83
|
-
}
|
84
|
-
if (this.dom.background.parentNode) {
|
85
|
-
this.dom.background.parentNode.removeChild(this.dom.background);
|
86
|
-
}
|
87
|
-
|
88
|
-
this.body = null;
|
89
|
-
};
|
90
|
-
|
91
|
-
/**
|
92
|
-
* Repaint the component
|
93
|
-
* @return {boolean} Returns true if the component is resized
|
94
|
-
*/
|
95
|
-
TimeAxis.prototype.redraw = function () {
|
96
|
-
var options = this.options,
|
97
|
-
props = this.props,
|
98
|
-
foreground = this.dom.foreground,
|
99
|
-
background = this.dom.background;
|
100
|
-
|
101
|
-
// determine the correct parent DOM element (depending on option orientation)
|
102
|
-
var parent = (options.orientation == 'top') ? this.body.dom.top : this.body.dom.bottom;
|
103
|
-
var parentChanged = (foreground.parentNode !== parent);
|
104
|
-
|
105
|
-
// calculate character width and height
|
106
|
-
this._calculateCharSize();
|
107
|
-
|
108
|
-
// TODO: recalculate sizes only needed when parent is resized or options is changed
|
109
|
-
var orientation = this.options.orientation,
|
110
|
-
showMinorLabels = this.options.showMinorLabels,
|
111
|
-
showMajorLabels = this.options.showMajorLabels;
|
112
|
-
|
113
|
-
// determine the width and height of the elemens for the axis
|
114
|
-
props.minorLabelHeight = showMinorLabels ? props.minorCharHeight : 0;
|
115
|
-
props.majorLabelHeight = showMajorLabels ? props.majorCharHeight : 0;
|
116
|
-
props.height = props.minorLabelHeight + props.majorLabelHeight;
|
117
|
-
props.width = foreground.offsetWidth;
|
118
|
-
|
119
|
-
props.minorLineHeight = this.body.domProps.root.height - props.majorLabelHeight -
|
120
|
-
(options.orientation == 'top' ? this.body.domProps.bottom.height : this.body.domProps.top.height);
|
121
|
-
props.minorLineWidth = 1; // TODO: really calculate width
|
122
|
-
props.majorLineHeight = props.minorLineHeight + props.majorLabelHeight;
|
123
|
-
props.majorLineWidth = 1; // TODO: really calculate width
|
124
|
-
|
125
|
-
// take foreground and background offline while updating (is almost twice as fast)
|
126
|
-
var foregroundNextSibling = foreground.nextSibling;
|
127
|
-
var backgroundNextSibling = background.nextSibling;
|
128
|
-
foreground.parentNode && foreground.parentNode.removeChild(foreground);
|
129
|
-
background.parentNode && background.parentNode.removeChild(background);
|
130
|
-
|
131
|
-
foreground.style.height = this.props.height + 'px';
|
132
|
-
|
133
|
-
this._repaintLabels();
|
134
|
-
|
135
|
-
// put DOM online again (at the same place)
|
136
|
-
if (foregroundNextSibling) {
|
137
|
-
parent.insertBefore(foreground, foregroundNextSibling);
|
138
|
-
}
|
139
|
-
else {
|
140
|
-
parent.appendChild(foreground)
|
141
|
-
}
|
142
|
-
if (backgroundNextSibling) {
|
143
|
-
this.body.dom.backgroundVertical.insertBefore(background, backgroundNextSibling);
|
144
|
-
}
|
145
|
-
else {
|
146
|
-
this.body.dom.backgroundVertical.appendChild(background)
|
147
|
-
}
|
148
|
-
|
149
|
-
return this._isResized() || parentChanged;
|
150
|
-
};
|
151
|
-
|
152
|
-
/**
|
153
|
-
* Repaint major and minor text labels and vertical grid lines
|
154
|
-
* @private
|
155
|
-
*/
|
156
|
-
TimeAxis.prototype._repaintLabels = function () {
|
157
|
-
var orientation = this.options.orientation;
|
158
|
-
|
159
|
-
// calculate range and step (step such that we have space for 7 characters per label)
|
160
|
-
var start = util.convert(this.body.range.start, 'Number'),
|
161
|
-
end = util.convert(this.body.range.end, 'Number'),
|
162
|
-
minimumStep = this.body.util.toTime((this.props.minorCharWidth || 10) * 7).valueOf()
|
163
|
-
-this.body.util.toTime(0).valueOf();
|
164
|
-
var step = new TimeStep(new Date(start), new Date(end), minimumStep);
|
165
|
-
this.step = step;
|
166
|
-
|
167
|
-
// Move all DOM elements to a "redundant" list, where they
|
168
|
-
// can be picked for re-use, and clear the lists with lines and texts.
|
169
|
-
// At the end of the function _repaintLabels, left over elements will be cleaned up
|
170
|
-
var dom = this.dom;
|
171
|
-
dom.redundant.majorLines = dom.majorLines;
|
172
|
-
dom.redundant.majorTexts = dom.majorTexts;
|
173
|
-
dom.redundant.minorLines = dom.minorLines;
|
174
|
-
dom.redundant.minorTexts = dom.minorTexts;
|
175
|
-
dom.majorLines = [];
|
176
|
-
dom.majorTexts = [];
|
177
|
-
dom.minorLines = [];
|
178
|
-
dom.minorTexts = [];
|
179
|
-
|
180
|
-
step.first();
|
181
|
-
var xFirstMajorLabel = undefined;
|
182
|
-
var max = 0;
|
183
|
-
while (step.hasNext() && max < 1000) {
|
184
|
-
max++;
|
185
|
-
var cur = step.getCurrent(),
|
186
|
-
x = this.body.util.toScreen(cur),
|
187
|
-
isMajor = step.isMajor();
|
188
|
-
|
189
|
-
// TODO: lines must have a width, such that we can create css backgrounds
|
190
|
-
|
191
|
-
if (this.options.showMinorLabels) {
|
192
|
-
this._repaintMinorText(x, step.getLabelMinor(), orientation);
|
193
|
-
}
|
194
|
-
|
195
|
-
if (isMajor && this.options.showMajorLabels) {
|
196
|
-
if (x > 0) {
|
197
|
-
if (xFirstMajorLabel == undefined) {
|
198
|
-
xFirstMajorLabel = x;
|
199
|
-
}
|
200
|
-
this._repaintMajorText(x, step.getLabelMajor(), orientation);
|
201
|
-
}
|
202
|
-
this._repaintMajorLine(x, orientation);
|
203
|
-
}
|
204
|
-
else {
|
205
|
-
this._repaintMinorLine(x, orientation);
|
206
|
-
}
|
207
|
-
|
208
|
-
step.next();
|
209
|
-
}
|
210
|
-
|
211
|
-
// create a major label on the left when needed
|
212
|
-
if (this.options.showMajorLabels) {
|
213
|
-
var leftTime = this.body.util.toTime(0),
|
214
|
-
leftText = step.getLabelMajor(leftTime),
|
215
|
-
widthText = leftText.length * (this.props.majorCharWidth || 10) + 10; // upper bound estimation
|
216
|
-
|
217
|
-
if (xFirstMajorLabel == undefined || widthText < xFirstMajorLabel) {
|
218
|
-
this._repaintMajorText(0, leftText, orientation);
|
219
|
-
}
|
220
|
-
}
|
221
|
-
|
222
|
-
// Cleanup leftover DOM elements from the redundant list
|
223
|
-
util.forEach(this.dom.redundant, function (arr) {
|
224
|
-
while (arr.length) {
|
225
|
-
var elem = arr.pop();
|
226
|
-
if (elem && elem.parentNode) {
|
227
|
-
elem.parentNode.removeChild(elem);
|
228
|
-
}
|
229
|
-
}
|
230
|
-
});
|
231
|
-
};
|
232
|
-
|
233
|
-
/**
|
234
|
-
* Create a minor label for the axis at position x
|
235
|
-
* @param {Number} x
|
236
|
-
* @param {String} text
|
237
|
-
* @param {String} orientation "top" or "bottom" (default)
|
238
|
-
* @private
|
239
|
-
*/
|
240
|
-
TimeAxis.prototype._repaintMinorText = function (x, text, orientation) {
|
241
|
-
// reuse redundant label
|
242
|
-
var label = this.dom.redundant.minorTexts.shift();
|
243
|
-
|
244
|
-
if (!label) {
|
245
|
-
// create new label
|
246
|
-
var content = document.createTextNode('');
|
247
|
-
label = document.createElement('div');
|
248
|
-
label.appendChild(content);
|
249
|
-
label.className = 'text minor';
|
250
|
-
this.dom.foreground.appendChild(label);
|
251
|
-
}
|
252
|
-
this.dom.minorTexts.push(label);
|
253
|
-
|
254
|
-
label.childNodes[0].nodeValue = text;
|
255
|
-
|
256
|
-
label.style.top = (orientation == 'top') ? (this.props.majorLabelHeight + 'px') : '0';
|
257
|
-
label.style.left = x + 'px';
|
258
|
-
//label.title = title; // TODO: this is a heavy operation
|
259
|
-
};
|
260
|
-
|
261
|
-
/**
|
262
|
-
* Create a Major label for the axis at position x
|
263
|
-
* @param {Number} x
|
264
|
-
* @param {String} text
|
265
|
-
* @param {String} orientation "top" or "bottom" (default)
|
266
|
-
* @private
|
267
|
-
*/
|
268
|
-
TimeAxis.prototype._repaintMajorText = function (x, text, orientation) {
|
269
|
-
// reuse redundant label
|
270
|
-
var label = this.dom.redundant.majorTexts.shift();
|
271
|
-
|
272
|
-
if (!label) {
|
273
|
-
// create label
|
274
|
-
var content = document.createTextNode(text);
|
275
|
-
label = document.createElement('div');
|
276
|
-
label.className = 'text major';
|
277
|
-
label.appendChild(content);
|
278
|
-
this.dom.foreground.appendChild(label);
|
279
|
-
}
|
280
|
-
this.dom.majorTexts.push(label);
|
281
|
-
|
282
|
-
label.childNodes[0].nodeValue = text;
|
283
|
-
//label.title = title; // TODO: this is a heavy operation
|
284
|
-
|
285
|
-
label.style.top = (orientation == 'top') ? '0' : (this.props.minorLabelHeight + 'px');
|
286
|
-
label.style.left = x + 'px';
|
287
|
-
};
|
288
|
-
|
289
|
-
/**
|
290
|
-
* Create a minor line for the axis at position x
|
291
|
-
* @param {Number} x
|
292
|
-
* @param {String} orientation "top" or "bottom" (default)
|
293
|
-
* @private
|
294
|
-
*/
|
295
|
-
TimeAxis.prototype._repaintMinorLine = function (x, orientation) {
|
296
|
-
// reuse redundant line
|
297
|
-
var line = this.dom.redundant.minorLines.shift();
|
298
|
-
|
299
|
-
if (!line) {
|
300
|
-
// create vertical line
|
301
|
-
line = document.createElement('div');
|
302
|
-
line.className = 'grid vertical minor';
|
303
|
-
this.dom.background.appendChild(line);
|
304
|
-
}
|
305
|
-
this.dom.minorLines.push(line);
|
306
|
-
|
307
|
-
var props = this.props;
|
308
|
-
if (orientation == 'top') {
|
309
|
-
line.style.top = props.majorLabelHeight + 'px';
|
310
|
-
}
|
311
|
-
else {
|
312
|
-
line.style.top = this.body.domProps.top.height + 'px';
|
313
|
-
}
|
314
|
-
line.style.height = props.minorLineHeight + 'px';
|
315
|
-
line.style.left = (x - props.minorLineWidth / 2) + 'px';
|
316
|
-
};
|
317
|
-
|
318
|
-
/**
|
319
|
-
* Create a Major line for the axis at position x
|
320
|
-
* @param {Number} x
|
321
|
-
* @param {String} orientation "top" or "bottom" (default)
|
322
|
-
* @private
|
323
|
-
*/
|
324
|
-
TimeAxis.prototype._repaintMajorLine = function (x, orientation) {
|
325
|
-
// reuse redundant line
|
326
|
-
var line = this.dom.redundant.majorLines.shift();
|
327
|
-
|
328
|
-
if (!line) {
|
329
|
-
// create vertical line
|
330
|
-
line = document.createElement('DIV');
|
331
|
-
line.className = 'grid vertical major';
|
332
|
-
this.dom.background.appendChild(line);
|
333
|
-
}
|
334
|
-
this.dom.majorLines.push(line);
|
335
|
-
|
336
|
-
var props = this.props;
|
337
|
-
if (orientation == 'top') {
|
338
|
-
line.style.top = '0';
|
339
|
-
}
|
340
|
-
else {
|
341
|
-
line.style.top = this.body.domProps.top.height + 'px';
|
342
|
-
}
|
343
|
-
line.style.left = (x - props.majorLineWidth / 2) + 'px';
|
344
|
-
line.style.height = props.majorLineHeight + 'px';
|
345
|
-
};
|
346
|
-
|
347
|
-
/**
|
348
|
-
* Determine the size of text on the axis (both major and minor axis).
|
349
|
-
* The size is calculated only once and then cached in this.props.
|
350
|
-
* @private
|
351
|
-
*/
|
352
|
-
TimeAxis.prototype._calculateCharSize = function () {
|
353
|
-
// Note: We calculate char size with every redraw. Size may change, for
|
354
|
-
// example when any of the timelines parents had display:none for example.
|
355
|
-
|
356
|
-
// determine the char width and height on the minor axis
|
357
|
-
if (!this.dom.measureCharMinor) {
|
358
|
-
this.dom.measureCharMinor = document.createElement('DIV');
|
359
|
-
this.dom.measureCharMinor.className = 'text minor measure';
|
360
|
-
this.dom.measureCharMinor.style.position = 'absolute';
|
361
|
-
|
362
|
-
this.dom.measureCharMinor.appendChild(document.createTextNode('0'));
|
363
|
-
this.dom.foreground.appendChild(this.dom.measureCharMinor);
|
364
|
-
}
|
365
|
-
this.props.minorCharHeight = this.dom.measureCharMinor.clientHeight;
|
366
|
-
this.props.minorCharWidth = this.dom.measureCharMinor.clientWidth;
|
367
|
-
|
368
|
-
// determine the char width and height on the major axis
|
369
|
-
if (!this.dom.measureCharMajor) {
|
370
|
-
this.dom.measureCharMajor = document.createElement('DIV');
|
371
|
-
this.dom.measureCharMajor.className = 'text minor measure';
|
372
|
-
this.dom.measureCharMajor.style.position = 'absolute';
|
373
|
-
|
374
|
-
this.dom.measureCharMajor.appendChild(document.createTextNode('0'));
|
375
|
-
this.dom.foreground.appendChild(this.dom.measureCharMajor);
|
376
|
-
}
|
377
|
-
this.props.majorCharHeight = this.dom.measureCharMajor.clientHeight;
|
378
|
-
this.props.majorCharWidth = this.dom.measureCharMajor.clientWidth;
|
379
|
-
};
|
380
|
-
|
381
|
-
/**
|
382
|
-
* Snap a date to a rounded value.
|
383
|
-
* The snap intervals are dependent on the current scale and step.
|
384
|
-
* @param {Date} date the date to be snapped.
|
385
|
-
* @return {Date} snappedDate
|
386
|
-
*/
|
387
|
-
TimeAxis.prototype.snap = function(date) {
|
388
|
-
return this.step.snap(date);
|
389
|
-
};
|
@@ -1,33 +0,0 @@
|
|
1
|
-
.vis.timeline.root {
|
2
|
-
/*
|
3
|
-
-webkit-transition: height .4s ease-in-out;
|
4
|
-
transition: height .4s ease-in-out;
|
5
|
-
*/
|
6
|
-
}
|
7
|
-
|
8
|
-
.vis.timeline .vispanel {
|
9
|
-
/*
|
10
|
-
-webkit-transition: height .4s ease-in-out, top .4s ease-in-out;
|
11
|
-
transition: height .4s ease-in-out, top .4s ease-in-out;
|
12
|
-
*/
|
13
|
-
}
|
14
|
-
|
15
|
-
.vis.timeline .axis {
|
16
|
-
/*
|
17
|
-
-webkit-transition: top .4s ease-in-out;
|
18
|
-
transition: top .4s ease-in-out;
|
19
|
-
*/
|
20
|
-
}
|
21
|
-
|
22
|
-
/* TODO: get animation working nicely
|
23
|
-
|
24
|
-
.vis.timeline .item {
|
25
|
-
-webkit-transition: top .4s ease-in-out;
|
26
|
-
transition: top .4s ease-in-out;
|
27
|
-
}
|
28
|
-
|
29
|
-
.vis.timeline .item.line {
|
30
|
-
-webkit-transition: height .4s ease-in-out, top .4s ease-in-out;
|
31
|
-
transition: height .4s ease-in-out, top .4s ease-in-out;
|
32
|
-
}
|
33
|
-
/**/
|
@@ -1,107 +0,0 @@
|
|
1
|
-
|
2
|
-
.vis.timeline .item {
|
3
|
-
position: absolute;
|
4
|
-
color: #1A1A1A;
|
5
|
-
border-color: #97B0F8;
|
6
|
-
border-width: 1px;
|
7
|
-
background-color: #D5DDF6;
|
8
|
-
display: inline-block;
|
9
|
-
padding: 5px;
|
10
|
-
}
|
11
|
-
|
12
|
-
.vis.timeline .item.selected {
|
13
|
-
border-color: #FFC200;
|
14
|
-
background-color: #FFF785;
|
15
|
-
z-index: 999;
|
16
|
-
}
|
17
|
-
|
18
|
-
.vis.timeline .editable .item.selected {
|
19
|
-
cursor: move;
|
20
|
-
}
|
21
|
-
|
22
|
-
.vis.timeline .item.point.selected {
|
23
|
-
background-color: #FFF785;
|
24
|
-
}
|
25
|
-
|
26
|
-
.vis.timeline .item.box {
|
27
|
-
text-align: center;
|
28
|
-
border-style: solid;
|
29
|
-
border-radius: 2px;
|
30
|
-
}
|
31
|
-
|
32
|
-
.vis.timeline .item.point {
|
33
|
-
background: none;
|
34
|
-
}
|
35
|
-
|
36
|
-
.vis.timeline .item.dot {
|
37
|
-
position: absolute;
|
38
|
-
padding: 0;
|
39
|
-
border-width: 4px;
|
40
|
-
border-style: solid;
|
41
|
-
border-radius: 4px;
|
42
|
-
}
|
43
|
-
|
44
|
-
.vis.timeline .item.range,
|
45
|
-
.vis.timeline .item.rangeoverflow{
|
46
|
-
border-style: solid;
|
47
|
-
border-radius: 2px;
|
48
|
-
box-sizing: border-box;
|
49
|
-
}
|
50
|
-
|
51
|
-
.vis.timeline .item.range .content,
|
52
|
-
.vis.timeline .item.rangeoverflow .content {
|
53
|
-
position: relative;
|
54
|
-
display: inline-block;
|
55
|
-
}
|
56
|
-
|
57
|
-
.vis.timeline .item.range .content {
|
58
|
-
overflow: hidden;
|
59
|
-
max-width: 100%;
|
60
|
-
}
|
61
|
-
|
62
|
-
.vis.timeline .item.line {
|
63
|
-
padding: 0;
|
64
|
-
position: absolute;
|
65
|
-
width: 0;
|
66
|
-
border-left-width: 1px;
|
67
|
-
border-left-style: solid;
|
68
|
-
}
|
69
|
-
|
70
|
-
.vis.timeline .item .content {
|
71
|
-
white-space: nowrap;
|
72
|
-
overflow: hidden;
|
73
|
-
}
|
74
|
-
|
75
|
-
.vis.timeline .item .delete {
|
76
|
-
background: url('img/timeline/delete.png') no-repeat top center;
|
77
|
-
position: absolute;
|
78
|
-
width: 24px;
|
79
|
-
height: 24px;
|
80
|
-
top: 0;
|
81
|
-
right: -24px;
|
82
|
-
cursor: pointer;
|
83
|
-
}
|
84
|
-
|
85
|
-
.vis.timeline .item.range .drag-left,
|
86
|
-
.vis.timeline .item.rangeoverflow .drag-left {
|
87
|
-
position: absolute;
|
88
|
-
width: 24px;
|
89
|
-
height: 100%;
|
90
|
-
top: 0;
|
91
|
-
left: -4px;
|
92
|
-
|
93
|
-
cursor: w-resize;
|
94
|
-
z-index: 10000;
|
95
|
-
}
|
96
|
-
|
97
|
-
.vis.timeline .item.range .drag-right,
|
98
|
-
.vis.timeline .item.rangeoverflow .drag-right {
|
99
|
-
position: absolute;
|
100
|
-
width: 24px;
|
101
|
-
height: 100%;
|
102
|
-
top: 0;
|
103
|
-
right: -4px;
|
104
|
-
|
105
|
-
cursor: e-resize;
|
106
|
-
z-index: 10001; /* a little higher z-index than .drag-left */
|
107
|
-
}
|