gridstack-js-rails 0.2.5 → 0.2.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c5110fe2da295f1267cf2d9b861ccdf6c8ad9e9e
4
- data.tar.gz: 6aa95c14dabfe90b660ca1706cd74ed4db2ba610
3
+ metadata.gz: e762ceab40dc8bc1cd9c0ec3fcdaf62ddb35b8c6
4
+ data.tar.gz: c4cc18c9f51f3ce42a539b70e075cc7e8d74f8d4
5
5
  SHA512:
6
- metadata.gz: bbbbb1960a014b6d535a1edb4eafa37de1b73e6a2851dd57894a758e05bfed2a169a7ca30a52dddc8b0089dcb829627e94b121372164caadf2b06e051b245e7e
7
- data.tar.gz: 6e6edf99392d024f95f6d7063132e258ea01f9d2037f5e74d808415e9f509927f56e3cf4ea49c77e3264ba39e7407105201b24b5b21aa64623f4a96e9d0f775e
6
+ metadata.gz: 8fa0d7e9b947d93a5de54e42ec48b094d9bb2591e802abfd33440aff1050cced8bde7643acf66bd5cd79f5493029e8e7e3e301bf7cc14864864bd3d098973305
7
+ data.tar.gz: f5995ef16e05d03c6a4ed0324412768f277868290d2f8e2915cabb4d39f0864b0cf0aa6150533d0a55e743c47a50d5b77252e435670e48364fed5998a21459de
@@ -1,5 +1,5 @@
1
1
  module GridstackJs
2
2
  module Rails
3
- VERSION = '0.2.5'
3
+ VERSION = '0.2.6'
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  /**
2
- * gridstack.js 0.2.5
2
+ * gridstack.js 0.2.6
3
3
  * http://troolee.github.io/gridstack.js/
4
4
  * (c) 2014-2016 Pavel Reznikov
5
5
  * gridstack.js may be freely distributed under the MIT license.
@@ -7,8 +7,12 @@
7
7
  */
8
8
  (function(factory) {
9
9
  if (typeof define === 'function' && define.amd) {
10
- define(['jquery', 'lodash', 'jquery-ui/core', 'jquery-ui/widget', 'jquery-ui/mouse', 'jquery-ui/draggable',
11
- 'jquery-ui/resizable'], factory);
10
+ define(['jquery', 'lodash', 'jquery-ui/data', 'jquery-ui/disable-selection', 'jquery-ui/focusable',
11
+ 'jquery-ui/form', 'jquery-ui/ie', 'jquery-ui/keycode', 'jquery-ui/labels', 'jquery-ui/jquery-1-7',
12
+ 'jquery-ui/plugin', 'jquery-ui/safe-active-element', 'jquery-ui/safe-blur', 'jquery-ui/scroll-parent',
13
+ 'jquery-ui/tabbable', 'jquery-ui/unique-id', 'jquery-ui/version', 'jquery-ui/widget',
14
+ 'jquery-ui/widgets/mouse', 'jquery-ui/widgets/draggable', 'jquery-ui/widgets/droppable',
15
+ 'jquery-ui/widgets/resizable'], factory);
12
16
  } else if (typeof exports !== 'undefined') {
13
17
  try { jQuery = require('jquery'); } catch (e) {}
14
18
  try { _ = require('lodash'); } catch (e) {}
@@ -277,12 +281,14 @@
277
281
  };
278
282
 
279
283
  GridStackEngine.prototype._notify = function() {
284
+ var args = Array.prototype.slice.call(arguments, 0);
285
+ args[0] = typeof args[0] === 'undefined' ? [] : [args[0]];
286
+ args[1] = typeof args[1] === 'undefined' ? true : args[1];
280
287
  if (this._updateCounter) {
281
288
  return;
282
289
  }
283
- var deletedNodes = Array.prototype.slice.call(arguments, 0);
284
- deletedNodes = deletedNodes.concat(this.getDirtyNodes());
285
- this.onchange(deletedNodes);
290
+ var deletedNodes = args[0].concat(this.getDirtyNodes());
291
+ this.onchange(deletedNodes, args[1]);
286
292
  };
287
293
 
288
294
  GridStackEngine.prototype.cleanNodes = function() {
@@ -341,9 +347,7 @@
341
347
  node._id = null;
342
348
  this.nodes = _.without(this.nodes, node);
343
349
  this._packNodes();
344
- if (detachNode) {
345
- this._notify(node);
346
- }
350
+ this._notify(node, detachNode);
347
351
  };
348
352
 
349
353
  GridStackEngine.prototype.canMoveNode = function(node, x, y, width, height) {
@@ -508,7 +512,7 @@
508
512
  // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
509
513
 
510
514
  opts.itemClass = opts.itemClass || 'grid-stack-item';
511
- var isNested = this.container.closest('.' + opts.itemClass).size() > 0;
515
+ var isNested = this.container.closest('.' + opts.itemClass).length > 0;
512
516
 
513
517
  this.opts = _.defaults(opts || {}, {
514
518
  width: parseInt(this.container.attr('data-gs-width')) || 12,
@@ -574,10 +578,11 @@
574
578
 
575
579
  this._initStyles();
576
580
 
577
- this.grid = new GridStackEngine(this.opts.width, function(nodes) {
581
+ this.grid = new GridStackEngine(this.opts.width, function(nodes, detachNode) {
582
+ detachNode = typeof detachNode === 'undefined' ? true : detachNode;
578
583
  var maxHeight = 0;
579
584
  _.each(nodes, function(n) {
580
- if (n._id === null) {
585
+ if (detachNode && n._id === null) {
581
586
  if (n.el) {
582
587
  n.el.remove();
583
588
  }
@@ -646,6 +651,8 @@
646
651
  if (node.noResize || self.opts.disableResize) {
647
652
  node.el.resizable('disable');
648
653
  }
654
+
655
+ node.el.trigger('resize');
649
656
  });
650
657
  } else {
651
658
  if (!oneColumnMode) {
@@ -665,6 +672,8 @@
665
672
  if (!node.noResize && !self.opts.disableResize) {
666
673
  node.el.resizable('enable');
667
674
  }
675
+
676
+ node.el.trigger('resize');
668
677
  });
669
678
  }
670
679
  };
@@ -672,7 +681,7 @@
672
681
  $(window).resize(this.onResizeHandler);
673
682
  this.onResizeHandler();
674
683
 
675
- if (typeof self.opts.removable === 'string') {
684
+ if (!self.opts.staticGrid && typeof self.opts.removable === 'string') {
676
685
  var trashZone = $(self.opts.removable);
677
686
  if (!trashZone.data('droppable')) {
678
687
  trashZone.droppable({
@@ -698,7 +707,7 @@
698
707
  });
699
708
  }
700
709
 
701
- if (self.opts.acceptWidgets) {
710
+ if (!self.opts.staticGrid && self.opts.acceptWidgets) {
702
711
  var draggingElement = null;
703
712
 
704
713
  var onDrag = function(event, ui) {
@@ -797,7 +806,7 @@
797
806
  .removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled')
798
807
  .unbind('drag', onDrag);
799
808
  self.container.append(el);
800
- self._prepareElementByNode(el, node);
809
+ self._prepareElementsByNode(el, node);
801
810
  self._updateContainerHeight();
802
811
  self._triggerChangeEvent();
803
812
 
@@ -965,7 +974,10 @@
965
974
  node._isAboutToRemove = false;
966
975
  };
967
976
 
968
- GridStack.prototype._prepareElementByNode = function(el, node) {
977
+ GridStack.prototype._prepareElementsByNode = function(el, node) {
978
+ if (typeof $.ui === 'undefined') {
979
+ return;
980
+ }
969
981
  var self = this;
970
982
 
971
983
  var cellWidth;
@@ -1031,7 +1043,7 @@
1031
1043
  var o = $(this);
1032
1044
  self.grid.cleanNodes();
1033
1045
  self.grid.beginUpdate(node);
1034
- cellWidth = Math.ceil(o.outerWidth() / o.attr('data-gs-width'));
1046
+ cellWidth = self.cellWidth();
1035
1047
  var strictCellHeight = Math.ceil(o.outerHeight() / o.attr('data-gs-height'));
1036
1048
  cellHeight = self.container.height() / parseInt(self.container.attr('data-gs-current-height'));
1037
1049
  self.placeholder
@@ -1103,23 +1115,23 @@
1103
1115
  };
1104
1116
 
1105
1117
  el
1106
- .draggable(_.extend(this.opts.draggable, {
1118
+ .draggable(_.extend({}, this.opts.draggable, {
1107
1119
  containment: this.opts.isNested ? this.container.parent() : null,
1108
1120
  start: onStartMoving,
1109
1121
  stop: onEndMoving,
1110
1122
  drag: dragOrResize
1111
1123
  }))
1112
- .resizable(_.extend(this.opts.resizable, {
1124
+ .resizable(_.extend({}, this.opts.resizable, {
1113
1125
  start: onStartMoving,
1114
1126
  stop: onEndMoving,
1115
1127
  resize: dragOrResize
1116
1128
  }));
1117
1129
 
1118
- if (node.noMove || this._isOneColumnMode() || this.opts.staticGrid || this.opts.disableDrag) {
1130
+ if (node.noMove || this._isOneColumnMode() || this.opts.disableDrag) {
1119
1131
  el.draggable('disable');
1120
1132
  }
1121
1133
 
1122
- if (node.noResize || this._isOneColumnMode() || this.opts.staticGrid || this.opts.disableResize) {
1134
+ if (node.noResize || this._isOneColumnMode() || this.opts.disableResize) {
1123
1135
  el.resizable('disable');
1124
1136
  }
1125
1137
 
@@ -1151,7 +1163,7 @@
1151
1163
  }, triggerAddEvent);
1152
1164
  el.data('_gridstack_node', node);
1153
1165
 
1154
- this._prepareElementByNode(el, node);
1166
+ this._prepareElementsByNode(el, node);
1155
1167
  };
1156
1168
 
1157
1169
  GridStack.prototype.setAnimation = function(enable) {
@@ -1232,6 +1244,7 @@
1232
1244
  this.disable();
1233
1245
  if (typeof detachGrid != 'undefined' && !detachGrid) {
1234
1246
  this.removeAll(false);
1247
+ this.container.removeData('gridstack');
1235
1248
  } else {
1236
1249
  this.container.remove();
1237
1250
  }
@@ -1247,7 +1260,7 @@
1247
1260
  el.each(function(index, el) {
1248
1261
  el = $(el);
1249
1262
  var node = el.data('_gridstack_node');
1250
- if (typeof node == 'undefined' || node === null) {
1263
+ if (typeof node == 'undefined' || node === null || typeof $.ui === 'undefined') {
1251
1264
  return;
1252
1265
  }
1253
1266
 
@@ -1267,7 +1280,7 @@
1267
1280
  el.each(function(index, el) {
1268
1281
  el = $(el);
1269
1282
  var node = el.data('_gridstack_node');
1270
- if (typeof node == 'undefined' || node === null) {
1283
+ if (typeof node == 'undefined' || node === null || typeof $.ui === 'undefined') {
1271
1284
  return;
1272
1285
  }
1273
1286
 
@@ -1482,8 +1495,7 @@
1482
1495
  };
1483
1496
 
1484
1497
  GridStack.prototype.cellWidth = function() {
1485
- var o = this.container.children('.' + this.opts.itemClass).first();
1486
- return Math.ceil(o.outerWidth() / parseInt(o.attr('data-gs-width'), 10));
1498
+ return Math.round(this.container.outerWidth() / this.opts.width);
1487
1499
  };
1488
1500
 
1489
1501
  GridStack.prototype.getCellFromPixel = function(position, useOffset) {
@@ -72,7 +72,7 @@
72
72
 
73
73
  .grid-stack > .grid-stack-item > .ui-resizable-se,
74
74
  .grid-stack > .grid-stack-item > .ui-resizable-sw {
75
- background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMS42MjYgNTExLjYyNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjYyNiA1MTEuNjI3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTMyOC45MDYsNDAxLjk5NGgtMzYuNTUzVjEwOS42MzZoMzYuNTUzYzQuOTQ4LDAsOS4yMzYtMS44MDksMTIuODQ3LTUuNDI2YzMuNjEzLTMuNjE1LDUuNDIxLTcuODk4LDUuNDIxLTEyLjg0NSAgIGMwLTQuOTQ5LTEuODAxLTkuMjMxLTUuNDI4LTEyLjg1MWwtNzMuMDg3LTczLjA5QzI2NS4wNDQsMS44MDksMjYwLjc2LDAsMjU1LjgxMywwYy00Ljk0OCwwLTkuMjI5LDEuODA5LTEyLjg0Nyw1LjQyNCAgIGwtNzMuMDg4LDczLjA5Yy0zLjYxOCwzLjYxOS01LjQyNCw3LjkwMi01LjQyNCwxMi44NTFjMCw0Ljk0NiwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDVjMy42MTksMy42MTcsNy45MDEsNS40MjYsMTIuODUsNS40MjYgICBoMzYuNTQ1djI5Mi4zNThoLTM2LjU0MmMtNC45NTIsMC05LjIzNSwxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MjEtNS40MjQsNy45MDUtNS40MjQsMTIuODU0ICAgYzAsNC45NDUsMS44MDcsOS4yMjcsNS40MjQsMTIuODQ3bDczLjA4OSw3My4wODhjMy42MTcsMy42MTcsNy44OTgsNS40MjQsMTIuODQ3LDUuNDI0YzQuOTUsMCw5LjIzNC0xLjgwNywxMi44NDktNS40MjQgICBsNzMuMDg3LTczLjA4OGMzLjYxMy0zLjYyLDUuNDIxLTcuOTAxLDUuNDIxLTEyLjg0N2MwLTQuOTQ4LTEuODA4LTkuMjMyLTUuNDIxLTEyLjg1NCAgIEMzMzguMTQyLDQwMy44MDIsMzMzLjg1Nyw0MDEuOTk0LDMyOC45MDYsNDAxLjk5NHoiIGZpbGw9IiM2NjY2NjYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);
75
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMS42MjYgNTExLjYyNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjYyNiA1MTEuNjI3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTMyOC45MDYsNDAxLjk5NGgtMzYuNTUzVjEwOS42MzZoMzYuNTUzYzQuOTQ4LDAsOS4yMzYtMS44MDksMTIuODQ3LTUuNDI2YzMuNjEzLTMuNjE1LDUuNDIxLTcuODk4LDUuNDIxLTEyLjg0NSAgIGMwLTQuOTQ5LTEuODAxLTkuMjMxLTUuNDI4LTEyLjg1MWwtNzMuMDg3LTczLjA5QzI2NS4wNDQsMS44MDksMjYwLjc2LDAsMjU1LjgxMywwYy00Ljk0OCwwLTkuMjI5LDEuODA5LTEyLjg0Nyw1LjQyNCAgIGwtNzMuMDg4LDczLjA5Yy0zLjYxOCwzLjYxOS01LjQyNCw3LjkwMi01LjQyNCwxMi44NTFjMCw0Ljk0NiwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDVjMy42MTksMy42MTcsNy45MDEsNS40MjYsMTIuODUsNS40MjYgICBoMzYuNTQ1djI5Mi4zNThoLTM2LjU0MmMtNC45NTIsMC05LjIzNSwxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MjEtNS40MjQsNy45MDUtNS40MjQsMTIuODU0ICAgYzAsNC45NDUsMS44MDcsOS4yMjcsNS40MjQsMTIuODQ3bDczLjA4OSw3My4wODhjMy42MTcsMy42MTcsNy44OTgsNS40MjQsMTIuODQ3LDUuNDI0YzQuOTUsMCw5LjIzNC0xLjgwNywxMi44NDktNS40MjQgICBsNzMuMDg3LTczLjA4OGMzLjYxMy0zLjYyLDUuNDIxLTcuOTAxLDUuNDIxLTEyLjg0N2MwLTQuOTQ4LTEuODA4LTkuMjMyLTUuNDIxLTEyLjg1NCAgIEMzMzguMTQyLDQwMy44MDIsMzMzLjg1Nyw0MDEuOTk0LDMyOC45MDYsNDAxLjk5NHoiIGZpbGw9IiM2NjY2NjYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);
76
76
  background-repeat: no-repeat;
77
77
  background-position: center;
78
78
  -webkit-transform: rotate(45deg);
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gridstack-js-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - randoum
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-20 00:00:00.000000000 Z
11
+ date: 2016-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lodash-rails
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  requirements: []
111
111
  rubyforge_project:
112
- rubygems_version: 2.4.8
112
+ rubygems_version: 2.4.5
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: Wrap gridstack.js library and its dependencies for rails projects