vis-rails 2.0.0 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vis/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/vis.js +26 -26
  4. metadata +16 -85
  5. data/vendor/assets/vis/DataSet.js +0 -926
  6. data/vendor/assets/vis/DataView.js +0 -283
  7. data/vendor/assets/vis/graph/Edge.js +0 -957
  8. data/vendor/assets/vis/graph/Graph.js +0 -2291
  9. data/vendor/assets/vis/graph/Groups.js +0 -80
  10. data/vendor/assets/vis/graph/Images.js +0 -41
  11. data/vendor/assets/vis/graph/Node.js +0 -966
  12. data/vendor/assets/vis/graph/Popup.js +0 -132
  13. data/vendor/assets/vis/graph/css/graph-manipulation.css +0 -128
  14. data/vendor/assets/vis/graph/css/graph-navigation.css +0 -66
  15. data/vendor/assets/vis/graph/dotparser.js +0 -829
  16. data/vendor/assets/vis/graph/graphMixins/ClusterMixin.js +0 -1143
  17. data/vendor/assets/vis/graph/graphMixins/HierarchicalLayoutMixin.js +0 -311
  18. data/vendor/assets/vis/graph/graphMixins/ManipulationMixin.js +0 -576
  19. data/vendor/assets/vis/graph/graphMixins/MixinLoader.js +0 -199
  20. data/vendor/assets/vis/graph/graphMixins/NavigationMixin.js +0 -205
  21. data/vendor/assets/vis/graph/graphMixins/SectorsMixin.js +0 -552
  22. data/vendor/assets/vis/graph/graphMixins/SelectionMixin.js +0 -648
  23. data/vendor/assets/vis/graph/graphMixins/physics/BarnesHut.js +0 -398
  24. data/vendor/assets/vis/graph/graphMixins/physics/HierarchialRepulsion.js +0 -64
  25. data/vendor/assets/vis/graph/graphMixins/physics/PhysicsMixin.js +0 -697
  26. data/vendor/assets/vis/graph/graphMixins/physics/Repulsion.js +0 -66
  27. data/vendor/assets/vis/graph/img/acceptDeleteIcon.png +0 -0
  28. data/vendor/assets/vis/graph/img/addNodeIcon.png +0 -0
  29. data/vendor/assets/vis/graph/img/backIcon.png +0 -0
  30. data/vendor/assets/vis/graph/img/connectIcon.png +0 -0
  31. data/vendor/assets/vis/graph/img/cross.png +0 -0
  32. data/vendor/assets/vis/graph/img/cross2.png +0 -0
  33. data/vendor/assets/vis/graph/img/deleteIcon.png +0 -0
  34. data/vendor/assets/vis/graph/img/downArrow.png +0 -0
  35. data/vendor/assets/vis/graph/img/editIcon.png +0 -0
  36. data/vendor/assets/vis/graph/img/leftArrow.png +0 -0
  37. data/vendor/assets/vis/graph/img/minus.png +0 -0
  38. data/vendor/assets/vis/graph/img/plus.png +0 -0
  39. data/vendor/assets/vis/graph/img/rightArrow.png +0 -0
  40. data/vendor/assets/vis/graph/img/upArrow.png +0 -0
  41. data/vendor/assets/vis/graph/img/zoomExtends.png +0 -0
  42. data/vendor/assets/vis/graph/shapes.js +0 -225
  43. data/vendor/assets/vis/graph3d/Graph3d.js +0 -3306
  44. data/vendor/assets/vis/module/exports.js +0 -65
  45. data/vendor/assets/vis/module/header.js +0 -24
  46. data/vendor/assets/vis/module/imports.js +0 -31
  47. data/vendor/assets/vis/shim.js +0 -252
  48. data/vendor/assets/vis/timeline/Range.js +0 -532
  49. data/vendor/assets/vis/timeline/TimeStep.js +0 -466
  50. data/vendor/assets/vis/timeline/Timeline.js +0 -851
  51. data/vendor/assets/vis/timeline/component/Component.js +0 -52
  52. data/vendor/assets/vis/timeline/component/CurrentTime.js +0 -128
  53. data/vendor/assets/vis/timeline/component/CustomTime.js +0 -182
  54. data/vendor/assets/vis/timeline/component/Group.js +0 -470
  55. data/vendor/assets/vis/timeline/component/ItemSet.js +0 -1332
  56. data/vendor/assets/vis/timeline/component/TimeAxis.js +0 -389
  57. data/vendor/assets/vis/timeline/component/css/animation.css +0 -33
  58. data/vendor/assets/vis/timeline/component/css/currenttime.css +0 -5
  59. data/vendor/assets/vis/timeline/component/css/customtime.css +0 -6
  60. data/vendor/assets/vis/timeline/component/css/item.css +0 -107
  61. data/vendor/assets/vis/timeline/component/css/itemset.css +0 -33
  62. data/vendor/assets/vis/timeline/component/css/labelset.css +0 -36
  63. data/vendor/assets/vis/timeline/component/css/panel.css +0 -71
  64. data/vendor/assets/vis/timeline/component/css/timeaxis.css +0 -48
  65. data/vendor/assets/vis/timeline/component/css/timeline.css +0 -2
  66. data/vendor/assets/vis/timeline/component/item/Item.js +0 -139
  67. data/vendor/assets/vis/timeline/component/item/ItemBox.js +0 -230
  68. data/vendor/assets/vis/timeline/component/item/ItemPoint.js +0 -190
  69. data/vendor/assets/vis/timeline/component/item/ItemRange.js +0 -262
  70. data/vendor/assets/vis/timeline/component/item/ItemRangeOverflow.js +0 -57
  71. data/vendor/assets/vis/timeline/img/delete.png +0 -0
  72. data/vendor/assets/vis/timeline/stack.js +0 -112
  73. 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,5 +0,0 @@
1
- .vis.timeline .currenttime {
2
- background-color: #FF7F6E;
3
- width: 2px;
4
- z-index: 1;
5
- }
@@ -1,6 +0,0 @@
1
- .vis.timeline .customtime {
2
- background-color: #6E94FF;
3
- width: 2px;
4
- cursor: move;
5
- z-index: 1;
6
- }
@@ -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
- }