@schneideress/dashboardframework 0.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.
Files changed (110) hide show
  1. package/README.md +24 -0
  2. package/bundles/schneideress-dashboardframework.umd.js +5666 -0
  3. package/bundles/schneideress-dashboardframework.umd.js.map +1 -0
  4. package/bundles/schneideress-dashboardframework.umd.min.js +2 -0
  5. package/bundles/schneideress-dashboardframework.umd.min.js.map +1 -0
  6. package/esm2015/gridster/index.js +18 -0
  7. package/esm2015/gridster/lib/gridster.component.js +695 -0
  8. package/esm2015/gridster/lib/gridster.interface.js +84 -0
  9. package/esm2015/gridster/lib/gridster.module.js +27 -0
  10. package/esm2015/gridster/lib/gridsterCompact.service.js +223 -0
  11. package/esm2015/gridster/lib/gridsterConfig.constant.js +179 -0
  12. package/esm2015/gridster/lib/gridsterConfig.interface.js +219 -0
  13. package/esm2015/gridster/lib/gridsterConfigS.interface.js +161 -0
  14. package/esm2015/gridster/lib/gridsterDraggable.service.js +510 -0
  15. package/esm2015/gridster/lib/gridsterEmptyCell.service.js +317 -0
  16. package/esm2015/gridster/lib/gridsterItem.component.js +213 -0
  17. package/esm2015/gridster/lib/gridsterItem.interface.js +46 -0
  18. package/esm2015/gridster/lib/gridsterItemComponent.interface.js +48 -0
  19. package/esm2015/gridster/lib/gridsterPreview.component.js +66 -0
  20. package/esm2015/gridster/lib/gridsterPush.service.js +467 -0
  21. package/esm2015/gridster/lib/gridsterPushResize.service.js +358 -0
  22. package/esm2015/gridster/lib/gridsterRenderer.service.js +277 -0
  23. package/esm2015/gridster/lib/gridsterResizable.service.js +552 -0
  24. package/esm2015/gridster/lib/gridsterResizeEventType.interface.js +19 -0
  25. package/esm2015/gridster/lib/gridsterScroll.service.js +195 -0
  26. package/esm2015/gridster/lib/gridsterSwap.service.js +134 -0
  27. package/esm2015/gridster/lib/gridsterUtils.service.js +137 -0
  28. package/esm2015/lib/ra-dashboard-area/ra.dashboard.area.js +258 -0
  29. package/esm2015/lib/ra-widget-container/ra.widget.container.component.js +216 -0
  30. package/esm2015/lib/ra.base.dashboard.filter.js +35 -0
  31. package/esm2015/lib/ra.base.dashboard.template.js +63 -0
  32. package/esm2015/lib/ra.dashbard.event.bus.js +85 -0
  33. package/esm2015/lib/ra.dashboard.module.js +31 -0
  34. package/esm2015/lib/ra.dashboard.service.js +213 -0
  35. package/esm2015/lib/ra.event.enum.js +33 -0
  36. package/esm2015/lib/ra.gridster.config.js +63 -0
  37. package/esm2015/public-api.js +16 -0
  38. package/esm2015/schneideress-dashboardframework.js +13 -0
  39. package/esm5/gridster/index.js +18 -0
  40. package/esm5/gridster/lib/gridster.component.js +798 -0
  41. package/esm5/gridster/lib/gridster.interface.js +94 -0
  42. package/esm5/gridster/lib/gridster.module.js +31 -0
  43. package/esm5/gridster/lib/gridsterCompact.service.js +253 -0
  44. package/esm5/gridster/lib/gridsterConfig.constant.js +179 -0
  45. package/esm5/gridster/lib/gridsterConfig.interface.js +219 -0
  46. package/esm5/gridster/lib/gridsterConfigS.interface.js +161 -0
  47. package/esm5/gridster/lib/gridsterDraggable.service.js +549 -0
  48. package/esm5/gridster/lib/gridsterEmptyCell.service.js +358 -0
  49. package/esm5/gridster/lib/gridsterItem.component.js +238 -0
  50. package/esm5/gridster/lib/gridsterItem.interface.js +46 -0
  51. package/esm5/gridster/lib/gridsterItemComponent.interface.js +58 -0
  52. package/esm5/gridster/lib/gridsterPreview.component.js +70 -0
  53. package/esm5/gridster/lib/gridsterPush.service.js +547 -0
  54. package/esm5/gridster/lib/gridsterPushResize.service.js +423 -0
  55. package/esm5/gridster/lib/gridsterRenderer.service.js +323 -0
  56. package/esm5/gridster/lib/gridsterResizable.service.js +629 -0
  57. package/esm5/gridster/lib/gridsterResizeEventType.interface.js +19 -0
  58. package/esm5/gridster/lib/gridsterScroll.service.js +195 -0
  59. package/esm5/gridster/lib/gridsterSwap.service.js +152 -0
  60. package/esm5/gridster/lib/gridsterUtils.service.js +177 -0
  61. package/esm5/lib/ra-dashboard-area/ra.dashboard.area.js +307 -0
  62. package/esm5/lib/ra-widget-container/ra.widget.container.component.js +277 -0
  63. package/esm5/lib/ra.base.dashboard.filter.js +38 -0
  64. package/esm5/lib/ra.base.dashboard.template.js +63 -0
  65. package/esm5/lib/ra.dashbard.event.bus.js +125 -0
  66. package/esm5/lib/ra.dashboard.module.js +35 -0
  67. package/esm5/lib/ra.dashboard.service.js +295 -0
  68. package/esm5/lib/ra.event.enum.js +33 -0
  69. package/esm5/lib/ra.gridster.config.js +63 -0
  70. package/esm5/public-api.js +16 -0
  71. package/esm5/schneideress-dashboardframework.js +13 -0
  72. package/fesm2015/schneideress-dashboardframework.js +4811 -0
  73. package/fesm2015/schneideress-dashboardframework.js.map +1 -0
  74. package/fesm5/schneideress-dashboardframework.js +5613 -0
  75. package/fesm5/schneideress-dashboardframework.js.map +1 -0
  76. package/gridster/index.d.ts +11 -0
  77. package/gridster/lib/gridster.component.d.ts +67 -0
  78. package/gridster/lib/gridster.interface.d.ts +46 -0
  79. package/gridster/lib/gridster.module.d.ts +2 -0
  80. package/gridster/lib/gridsterCompact.service.d.ts +15 -0
  81. package/gridster/lib/gridsterConfig.constant.d.ts +2 -0
  82. package/gridster/lib/gridsterConfig.interface.d.ts +133 -0
  83. package/gridster/lib/gridsterConfigS.interface.d.ts +93 -0
  84. package/gridster/lib/gridsterDraggable.service.d.ts +59 -0
  85. package/gridster/lib/gridsterEmptyCell.service.d.ts +29 -0
  86. package/gridster/lib/gridsterItem.component.d.ts +32 -0
  87. package/gridster/lib/gridsterItem.interface.d.ts +21 -0
  88. package/gridster/lib/gridsterItemComponent.interface.d.ts +25 -0
  89. package/gridster/lib/gridsterPreview.component.d.ts +10 -0
  90. package/gridster/lib/gridsterPush.service.d.ts +33 -0
  91. package/gridster/lib/gridsterPushResize.service.d.ts +26 -0
  92. package/gridster/lib/gridsterRenderer.service.d.ts +38 -0
  93. package/gridster/lib/gridsterResizable.service.d.ts +67 -0
  94. package/gridster/lib/gridsterResizeEventType.interface.d.ts +6 -0
  95. package/gridster/lib/gridsterScroll.service.d.ts +4 -0
  96. package/gridster/lib/gridsterSwap.service.d.ts +13 -0
  97. package/gridster/lib/gridsterUtils.service.d.ts +16 -0
  98. package/lib/ra-dashboard-area/ra.dashboard.area.d.ts +37 -0
  99. package/lib/ra-widget-container/ra.widget.container.component.d.ts +37 -0
  100. package/lib/ra.base.dashboard.filter.d.ts +4 -0
  101. package/lib/ra.base.dashboard.template.d.ts +14 -0
  102. package/lib/ra.dashbard.event.bus.d.ts +20 -0
  103. package/lib/ra.dashboard.module.d.ts +2 -0
  104. package/lib/ra.dashboard.service.d.ts +73 -0
  105. package/lib/ra.event.enum.d.ts +24 -0
  106. package/lib/ra.gridster.config.d.ts +2 -0
  107. package/package.json +25 -0
  108. package/public-api.d.ts +8 -0
  109. package/schneideress-dashboardframework.d.ts +8 -0
  110. package/schneideress-dashboardframework.metadata.json +1 -0
@@ -0,0 +1,238 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, ElementRef, Host, Input, NgZone, Renderer2, ViewEncapsulation } from '@angular/core';
6
+ import { GridsterDraggable } from './gridsterDraggable.service';
7
+ import { GridsterResizable } from './gridsterResizable.service';
8
+ import { GridsterUtils } from './gridsterUtils.service';
9
+ import { GridsterComponent } from './gridster.component';
10
+ var GridsterItemComponent = /** @class */ (function () {
11
+ function GridsterItemComponent(el, gridster, renderer, zone) {
12
+ this.renderer = renderer;
13
+ this.zone = zone;
14
+ this.el = el.nativeElement;
15
+ this.$item = {
16
+ cols: -1,
17
+ rows: -1,
18
+ x: -1,
19
+ y: -1,
20
+ };
21
+ this.gridster = gridster;
22
+ this.drag = new GridsterDraggable(this, gridster, this.zone);
23
+ this.resize = new GridsterResizable(this, gridster, this.zone);
24
+ }
25
+ /**
26
+ * @return {?}
27
+ */
28
+ GridsterItemComponent.prototype.ngOnInit = /**
29
+ * @return {?}
30
+ */
31
+ function () {
32
+ this.updateOptions();
33
+ this.gridster.addItem(this);
34
+ };
35
+ /**
36
+ * @return {?}
37
+ */
38
+ GridsterItemComponent.prototype.updateOptions = /**
39
+ * @return {?}
40
+ */
41
+ function () {
42
+ this.$item = GridsterUtils.merge(this.$item, this.item, {
43
+ cols: undefined,
44
+ rows: undefined,
45
+ x: undefined,
46
+ y: undefined,
47
+ dragEnabled: undefined,
48
+ resizeEnabled: undefined,
49
+ compactEnabled: undefined,
50
+ maxItemRows: undefined,
51
+ minItemRows: undefined,
52
+ maxItemCols: undefined,
53
+ minItemCols: undefined,
54
+ maxItemArea: undefined,
55
+ minItemArea: undefined,
56
+ });
57
+ };
58
+ /**
59
+ * @return {?}
60
+ */
61
+ GridsterItemComponent.prototype.ngOnDestroy = /**
62
+ * @return {?}
63
+ */
64
+ function () {
65
+ this.gridster.removeItem(this);
66
+ this.gridster.movingItem = null;
67
+ delete this.gridster;
68
+ this.drag.destroy();
69
+ delete this.drag;
70
+ this.resize.destroy();
71
+ delete this.resize;
72
+ };
73
+ /**
74
+ * @return {?}
75
+ */
76
+ GridsterItemComponent.prototype.setSize = /**
77
+ * @return {?}
78
+ */
79
+ function () {
80
+ this.renderer.setStyle(this.el, 'display', this.notPlaced ? '' : 'block');
81
+ this.gridster.gridRenderer.updateItem(this.el, this.$item, this.renderer);
82
+ this.updateItemSize();
83
+ };
84
+ /**
85
+ * @return {?}
86
+ */
87
+ GridsterItemComponent.prototype.updateItemSize = /**
88
+ * @return {?}
89
+ */
90
+ function () {
91
+ /** @type {?} */
92
+ var top = this.$item.y * this.gridster.curRowHeight;
93
+ /** @type {?} */
94
+ var left = this.$item.x * this.gridster.curColWidth;
95
+ /** @type {?} */
96
+ var width = this.$item.cols * this.gridster.curColWidth - this.gridster.$options.margin;
97
+ /** @type {?} */
98
+ var height = this.$item.rows * this.gridster.curRowHeight - this.gridster.$options.margin;
99
+ if (!this.init && width > 0 && height > 0) {
100
+ this.init = true;
101
+ if (this.item.initCallback) {
102
+ this.item.initCallback(this.item, this);
103
+ }
104
+ if (this.gridster.options.itemInitCallback) {
105
+ this.item.curRowHeight = this.gridster.curRowHeight;
106
+ this.gridster.options.itemInitCallback(this.item, this);
107
+ }
108
+ if (this.gridster.$options.scrollToNewItems) {
109
+ this.el.scrollIntoView(false);
110
+ }
111
+ }
112
+ if (width !== this.width || height !== this.height) {
113
+ this.width = width;
114
+ this.height = height;
115
+ if (this.gridster.options.itemResizeCallback) {
116
+ this.gridster.options.itemResizeCallback(this.item, this);
117
+ }
118
+ }
119
+ this.top = top;
120
+ this.left = left;
121
+ };
122
+ /**
123
+ * @return {?}
124
+ */
125
+ GridsterItemComponent.prototype.itemChanged = /**
126
+ * @return {?}
127
+ */
128
+ function () {
129
+ if (this.gridster.options.itemChangeCallback) {
130
+ this.item.curRowHeight = this.gridster.curRowHeight;
131
+ this.gridster.options.itemChangeCallback(this.item, this);
132
+ }
133
+ };
134
+ /**
135
+ * @param {?} newValue
136
+ * @param {?} oldValue
137
+ * @return {?}
138
+ */
139
+ GridsterItemComponent.prototype.checkItemChanges = /**
140
+ * @param {?} newValue
141
+ * @param {?} oldValue
142
+ * @return {?}
143
+ */
144
+ function (newValue, oldValue) {
145
+ if (newValue.rows === oldValue.rows && newValue.cols === oldValue.cols && newValue.x === oldValue.x && newValue.y === oldValue.y) {
146
+ return;
147
+ }
148
+ if (this.gridster.checkCollision(this.$item)) {
149
+ this.$item.x = oldValue.x || 0;
150
+ this.$item.y = oldValue.y || 0;
151
+ this.$item.cols = oldValue.cols || 1;
152
+ this.$item.rows = oldValue.rows || 1;
153
+ this.setSize();
154
+ }
155
+ else {
156
+ this.item.cols = this.$item.cols;
157
+ this.item.rows = this.$item.rows;
158
+ this.item.x = this.$item.x;
159
+ this.item.y = this.$item.y;
160
+ this.gridster.calculateLayoutDebounce();
161
+ this.itemChanged();
162
+ }
163
+ };
164
+ /**
165
+ * @return {?}
166
+ */
167
+ GridsterItemComponent.prototype.canBeDragged = /**
168
+ * @return {?}
169
+ */
170
+ function () {
171
+ return !this.gridster.mobile &&
172
+ (this.$item.dragEnabled === undefined ? this.gridster.$options.draggable.enabled : this.$item.dragEnabled);
173
+ };
174
+ /**
175
+ * @return {?}
176
+ */
177
+ GridsterItemComponent.prototype.canBeResized = /**
178
+ * @return {?}
179
+ */
180
+ function () {
181
+ return !this.gridster.mobile &&
182
+ (this.$item.resizeEnabled === undefined ? this.gridster.$options.resizable.enabled : this.$item.resizeEnabled);
183
+ };
184
+ GridsterItemComponent.decorators = [
185
+ { type: Component, args: [{
186
+ selector: 'gridster-item',
187
+ template: "<ng-content></ng-content>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.s || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-s\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.e || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-e\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.n || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-n\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.w || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-w\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.se || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-se\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.ne || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-ne\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.sw || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-sw\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.nw || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-nw\"></div>\r\n",
188
+ encapsulation: ViewEncapsulation.None,
189
+ styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-moving,gridster-item.gridster-item-resizing{transition:none;z-index:2;box-shadow:0 0 5px 5px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:n-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:e-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:s-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:w-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}"]
190
+ }] }
191
+ ];
192
+ /** @nocollapse */
193
+ GridsterItemComponent.ctorParameters = function () { return [
194
+ { type: ElementRef },
195
+ { type: GridsterComponent, decorators: [{ type: Host }] },
196
+ { type: Renderer2 },
197
+ { type: NgZone }
198
+ ]; };
199
+ GridsterItemComponent.propDecorators = {
200
+ item: [{ type: Input }]
201
+ };
202
+ return GridsterItemComponent;
203
+ }());
204
+ export { GridsterItemComponent };
205
+ if (false) {
206
+ /** @type {?} */
207
+ GridsterItemComponent.prototype.item;
208
+ /** @type {?} */
209
+ GridsterItemComponent.prototype.$item;
210
+ /** @type {?} */
211
+ GridsterItemComponent.prototype.el;
212
+ /** @type {?} */
213
+ GridsterItemComponent.prototype.gridster;
214
+ /** @type {?} */
215
+ GridsterItemComponent.prototype.top;
216
+ /** @type {?} */
217
+ GridsterItemComponent.prototype.left;
218
+ /** @type {?} */
219
+ GridsterItemComponent.prototype.width;
220
+ /** @type {?} */
221
+ GridsterItemComponent.prototype.height;
222
+ /** @type {?} */
223
+ GridsterItemComponent.prototype.drag;
224
+ /** @type {?} */
225
+ GridsterItemComponent.prototype.resize;
226
+ /** @type {?} */
227
+ GridsterItemComponent.prototype.notPlaced;
228
+ /** @type {?} */
229
+ GridsterItemComponent.prototype.init;
230
+ /** @type {?} */
231
+ GridsterItemComponent.prototype.renderer;
232
+ /**
233
+ * @type {?}
234
+ * @private
235
+ */
236
+ GridsterItemComponent.prototype.zone;
237
+ }
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJJdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVySXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHMUgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXZEO0lBb0JFLCtCQUFZLEVBQWMsRUFBVSxRQUEyQixFQUFTLFFBQW1CLEVBQVUsSUFBWTtRQUF6QyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUMvRyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLElBQUksRUFBRSxDQUFDLENBQUM7WUFDUixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNMLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDTixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcs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O0lBQ3hCLHVDQUEwQjs7SUFDMUIsMENBQW1COztJQUNuQixxQ0FBYzs7SUFFbUQseUNBQTBCOzs7OztJQUFFLHFDQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge0dyaWRzdGVySXRlbX0gZnJvbSAnLi9ncmlkc3Rlckl0ZW0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHtHcmlkc3RlckRyYWdnYWJsZX0gZnJvbSAnLi9ncmlkc3RlckRyYWdnYWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtHcmlkc3RlclJlc2l6YWJsZX0gZnJvbSAnLi9ncmlkc3RlclJlc2l6YWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtHcmlkc3RlclV0aWxzfSBmcm9tICcuL2dyaWRzdGVyVXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7R3JpZHN0ZXJJdGVtQ29tcG9uZW50SW50ZXJmYWNlfSBmcm9tICcuL2dyaWRzdGVySXRlbUNvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0dyaWRzdGVyQ29tcG9uZW50fSBmcm9tICcuL2dyaWRzdGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2dyaWRzdGVyLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkc3Rlckl0ZW0uaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZHN0ZXJJdGVtLmNzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyaWRzdGVySXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBHcmlkc3Rlckl0ZW1Db21wb25lbnRJbnRlcmZhY2Uge1xyXG4gIEBJbnB1dCgpIGl0ZW06IEdyaWRzdGVySXRlbTtcclxuICAkaXRlbTogR3JpZHN0ZXJJdGVtO1xyXG4gIGVsOiBhbnk7XHJcbiAgZ3JpZHN0ZXI6IEdyaWRzdGVyQ29tcG9uZW50O1xyXG4gIHRvcDogbnVtYmVyO1xyXG4gIGxlZnQ6IG51bWJlcjtcclxuICB3aWR0aDogbnVtYmVyO1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG4gIGRyYWc6IEdyaWRzdGVyRHJhZ2dhYmxlO1xyXG4gIHJlc2l6ZTogR3JpZHN0ZXJSZXNpemFibGU7XHJcbiAgbm90UGxhY2VkOiBib29sZWFuO1xyXG4gIGluaXQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBASG9zdCgpIGdyaWRzdGVyOiBHcmlkc3RlckNvbXBvbmVudCwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgem9uZTogTmdab25lKSB7XHJcbiAgICB0aGlzLmVsID0gZWwubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuJGl0ZW0gPSB7XHJcbiAgICAgIGNvbHM6IC0xLFxyXG4gICAgICByb3dzOiAtMSxcclxuICAgICAgeDogLTEsXHJcbiAgICAgIHk6IC0xLFxyXG4gICAgfTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIgPSBncmlkc3RlcjtcclxuICAgIHRoaXMuZHJhZyA9IG5ldyBHcmlkc3RlckRyYWdnYWJsZSh0aGlzLCBncmlkc3RlciwgdGhpcy56b25lKTtcclxuICAgIHRoaXMucmVzaXplID0gbmV3IEdyaWRzdGVyUmVzaXphYmxlKHRoaXMsIGdyaWRzdGVyLCB0aGlzLnpvbmUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZU9wdGlvbnMoKTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIuYWRkSXRlbSh0aGlzKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZU9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLiRpdGVtID0gR3JpZHN0ZXJVdGlscy5tZXJnZSh0aGlzLiRpdGVtLCB0aGlzLml0ZW0sIHtcclxuICAgICAgY29sczogdW5kZWZpbmVkLFxyXG4gICAgICByb3dzOiB1bmRlZmluZWQsXHJcbiAgICAgIHg6IHVuZGVmaW5lZCxcclxuICAgICAgeTogdW5kZWZpbmVkLFxyXG4gICAgICBkcmFnRW5hYmxlZDogdW5kZWZpbmVkLFxyXG4gICAgICByZXNpemVFbmFibGVkOiB1bmRlZmluZWQsXHJcbiAgICAgIGNvbXBhY3RFbmFibGVkOiB1bmRlZmluZWQsXHJcbiAgICAgIG1heEl0ZW1Sb3dzOiB1bmRlZmluZWQsXHJcbiAgICAgIG1pbkl0ZW1Sb3dzOiB1bmRlZmluZWQsXHJcbiAgICAgIG1heEl0ZW1Db2xzOiB1bmRlZmluZWQsXHJcbiAgICAgIG1pbkl0ZW1Db2xzOiB1bmRlZmluZWQsXHJcbiAgICAgIG1heEl0ZW1BcmVhOiB1bmRlZmluZWQsXHJcbiAgICAgIG1pbkl0ZW1BcmVhOiB1bmRlZmluZWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQgeyAgICAgICBcclxuICAgIHRoaXMuZ3JpZHN0ZXIucmVtb3ZlSXRlbSh0aGlzKTtcclxuICAgIHRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbT1udWxsO1xyXG4gICAgZGVsZXRlIHRoaXMuZ3JpZHN0ZXI7XHJcbiAgICB0aGlzLmRyYWcuZGVzdHJveSgpO1xyXG4gICAgZGVsZXRlIHRoaXMuZHJhZztcclxuICAgIHRoaXMucmVzaXplLmRlc3Ryb3koKTtcclxuICAgIGRlbGV0ZSB0aGlzLnJlc2l6ZTtcclxuICB9XHJcblxyXG4gIHNldFNpemUoKTogdm9pZCB7ICAgXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwsICdkaXNwbGF5JywgdGhpcy5ub3RQbGFjZWQgPyAnJyA6ICdibG9jaycpO1xyXG4gICAgdGhpcy5ncmlkc3Rlci5ncmlkUmVuZGVyZXIudXBkYXRlSXRlbSh0aGlzLmVsLCB0aGlzLiRpdGVtLCB0aGlzLnJlbmRlcmVyKTtcclxuICAgIHRoaXMudXBkYXRlSXRlbVNpemUoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUl0ZW1TaXplKCkge1xyXG4gICAgY29uc3QgdG9wID0gdGhpcy4kaXRlbS55ICogdGhpcy5ncmlkc3Rlci5jdXJSb3dIZWlnaHQ7XHJcbiAgICBjb25zdCBsZWZ0ID0gdGhpcy4kaXRlbS54ICogdGhpcy5ncmlkc3Rlci5jdXJDb2xXaWR0aDtcclxuICAgIGNvbnN0IHdpZHRoID0gdGhpcy4kaXRlbS5jb2xzICogdGhpcy5ncmlkc3Rlci5jdXJDb2xXaWR0aCAtIHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMubWFyZ2luO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy4kaXRlbS5yb3dzICogdGhpcy5ncmlkc3Rlci5jdXJSb3dIZWlnaHQgLSB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLm1hcmdpbjtcclxuXHJcbiAgICBpZiAoIXRoaXMuaW5pdCAmJiB3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCkge1xyXG4gICAgICB0aGlzLmluaXQgPSB0cnVlO1xyXG4gICAgICBpZiAodGhpcy5pdGVtLmluaXRDYWxsYmFjaykge1xyXG4gICAgICAgIHRoaXMuaXRlbS5pbml0Q2FsbGJhY2sodGhpcy5pdGVtLCB0aGlzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLml0ZW1Jbml0Q2FsbGJhY2spIHtcclxuICAgICAgICB0aGlzLml0ZW0uY3VyUm93SGVpZ2h0PXRoaXMuZ3JpZHN0ZXIuY3VyUm93SGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5pdGVtSW5pdENhbGxiYWNrKHRoaXMuaXRlbSwgdGhpcyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMuc2Nyb2xsVG9OZXdJdGVtcykge1xyXG4gICAgICAgIHRoaXMuZWwuc2Nyb2xsSW50b1ZpZXcoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAod2lkdGggIT09IHRoaXMud2lkdGggfHwgaGVpZ2h0ICE9PSB0aGlzLmhlaWdodCkge1xyXG4gICAgICB0aGlzLndpZHRoID0gd2lkdGg7XHJcbiAgICAgIHRoaXMuaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLml0ZW1SZXNpemVDYWxsYmFjaykge1xyXG4gICAgICAgIHRoaXMuZ3JpZHN0ZXIub3B0aW9ucy5pdGVtUmVzaXplQ2FsbGJhY2sodGhpcy5pdGVtLCB0aGlzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy50b3AgPSB0b3A7XHJcbiAgICB0aGlzLmxlZnQgPSBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgaXRlbUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ncmlkc3Rlci5vcHRpb25zLml0ZW1DaGFuZ2VDYWxsYmFjaykge1xyXG4gICAgICB0aGlzLml0ZW0uY3VyUm93SGVpZ2h0PXRoaXMuZ3JpZHN0ZXIuY3VyUm93SGVpZ2h0O1xyXG4gICAgICB0aGlzLmdyaWRzdGVyLm9wdGlvbnMuaXRlbUNoYW5nZUNhbGxiYWNrKHRoaXMuaXRlbSwgdGhpcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0l0ZW1DaGFuZ2VzKG5ld1ZhbHVlOiBHcmlkc3Rlckl0ZW0sIG9sZFZhbHVlOiBHcmlkc3Rlckl0ZW0pOiB2b2lkIHtcclxuICAgIGlmIChuZXdWYWx1ZS5yb3dzID09PSBvbGRWYWx1ZS5yb3dzICYmIG5ld1ZhbHVlLmNvbHMgPT09IG9sZFZhbHVlLmNvbHMgJiYgbmV3VmFsdWUueCA9PT0gb2xkVmFsdWUueCAmJiBuZXdWYWx1ZS55ID09PSBvbGRWYWx1ZS55KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmdyaWRzdGVyLmNoZWNrQ29sbGlzaW9uKHRoaXMuJGl0ZW0pKSB7XHJcbiAgICAgIHRoaXMuJGl0ZW0ueCA9IG9sZFZhbHVlLnggfHwgMDtcclxuICAgICAgdGhpcy4kaXRlbS55ID0gb2xkVmFsdWUueSB8fCAwO1xyXG4gICAgICB0aGlzLiRpdGVtLmNvbHMgPSBvbGRWYWx1ZS5jb2xzIHx8IDE7XHJcbiAgICAgIHRoaXMuJGl0ZW0ucm93cyA9IG9sZFZhbHVlLnJvd3MgfHwgMTtcclxuICAgICAgdGhpcy5zZXRTaXplKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLml0ZW0uY29scyA9IHRoaXMuJGl0ZW0uY29scztcclxuICAgICAgdGhpcy5pdGVtLnJvd3MgPSB0aGlzLiRpdGVtLnJvd3M7XHJcbiAgICAgIHRoaXMuaXRlbS54ID0gdGhpcy4kaXRlbS54O1xyXG4gICAgICB0aGlzLml0ZW0ueSA9IHRoaXMuJGl0ZW0ueTtcclxuICAgICAgdGhpcy5ncmlkc3Rlci5jYWxjdWxhdGVMYXlvdXREZWJvdW5jZSgpO1xyXG4gICAgICB0aGlzLml0ZW1DaGFuZ2VkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5CZURyYWdnZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuZ3JpZHN0ZXIubW9iaWxlICYmXHJcbiAgICAgICh0aGlzLiRpdGVtLmRyYWdFbmFibGVkID09PSB1bmRlZmluZWQgPyB0aGlzLmdyaWRzdGVyLiRvcHRpb25zLmRyYWdnYWJsZS5lbmFibGVkIDogdGhpcy4kaXRlbS5kcmFnRW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICBjYW5CZVJlc2l6ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuZ3JpZHN0ZXIubW9iaWxlICYmXHJcbiAgICAgICh0aGlzLiRpdGVtLnJlc2l6ZUVuYWJsZWQgPT09IHVuZGVmaW5lZCA/IHRoaXMuZ3JpZHN0ZXIuJG9wdGlvbnMucmVzaXphYmxlLmVuYWJsZWQgOiB0aGlzLiRpdGVtLnJlc2l6ZUVuYWJsZWQpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @record
7
+ */
8
+ export function GridsterItem() { }
9
+ if (false) {
10
+ /** @type {?} */
11
+ GridsterItem.prototype.x;
12
+ /** @type {?} */
13
+ GridsterItem.prototype.y;
14
+ /** @type {?} */
15
+ GridsterItem.prototype.rows;
16
+ /** @type {?} */
17
+ GridsterItem.prototype.cols;
18
+ /** @type {?|undefined} */
19
+ GridsterItem.prototype.initCallback;
20
+ /** @type {?|undefined} */
21
+ GridsterItem.prototype.dragEnabled;
22
+ /** @type {?|undefined} */
23
+ GridsterItem.prototype.resizeEnabled;
24
+ /** @type {?|undefined} */
25
+ GridsterItem.prototype.compactEnabled;
26
+ /** @type {?|undefined} */
27
+ GridsterItem.prototype.maxItemRows;
28
+ /** @type {?|undefined} */
29
+ GridsterItem.prototype.minItemRows;
30
+ /** @type {?|undefined} */
31
+ GridsterItem.prototype.maxItemCols;
32
+ /** @type {?|undefined} */
33
+ GridsterItem.prototype.minItemCols;
34
+ /** @type {?|undefined} */
35
+ GridsterItem.prototype.minItemArea;
36
+ /** @type {?|undefined} */
37
+ GridsterItem.prototype.maxItemArea;
38
+ /** @type {?|undefined} */
39
+ GridsterItem.prototype.curRowHeight;
40
+ /** @type {?|undefined} */
41
+ GridsterItem.prototype.widgetHeight;
42
+ /** @type {?|undefined} */
43
+ GridsterItem.prototype.widgetInfo;
44
+ /* Skipping unhandled member: [propName: string]: any;*/
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJJdGVtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVySXRlbS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBLGtDQXdCQzs7O0lBdkJDLHlCQUFVOztJQUNWLHlCQUFVOztJQUNWLDRCQUFhOztJQUNiLDRCQUFhOztJQUNiLG9DQUEyRjs7SUFDM0YsbUNBQXNCOztJQUN0QixxQ0FBd0I7O0lBQ3hCLHNDQUF5Qjs7SUFDekIsbUNBQXFCOztJQUNyQixtQ0FBcUI7O0lBQ3JCLG1DQUFxQjs7SUFDckIsbUNBQXFCOztJQUNyQixtQ0FBcUI7O0lBQ3JCLG1DQUFxQjs7SUFPckIsb0NBQXFCOztJQUNyQixvQ0FBcUI7O0lBQ3JCLGtDQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R3JpZHN0ZXJJdGVtQ29tcG9uZW50SW50ZXJmYWNlfSBmcm9tICcuL2dyaWRzdGVySXRlbUNvbXBvbmVudC5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcmlkc3Rlckl0ZW0ge1xyXG4gIHg6IG51bWJlcjtcclxuICB5OiBudW1iZXI7XHJcbiAgcm93czogbnVtYmVyO1xyXG4gIGNvbHM6IG51bWJlcjtcclxuICBpbml0Q2FsbGJhY2s/OiAoaXRlbTogR3JpZHN0ZXJJdGVtLCBpdGVtQ29tcG9uZW50OiBHcmlkc3Rlckl0ZW1Db21wb25lbnRJbnRlcmZhY2UpID0+IHZvaWQ7XHJcbiAgZHJhZ0VuYWJsZWQ/OiBib29sZWFuO1xyXG4gIHJlc2l6ZUVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIGNvbXBhY3RFbmFibGVkPzogYm9vbGVhbjtcclxuICBtYXhJdGVtUm93cz86IG51bWJlcjtcclxuICBtaW5JdGVtUm93cz86IG51bWJlcjtcclxuICBtYXhJdGVtQ29scz86IG51bWJlcjtcclxuICBtaW5JdGVtQ29scz86IG51bWJlcjtcclxuICBtaW5JdGVtQXJlYT86IG51bWJlcjtcclxuICBtYXhJdGVtQXJlYT86IG51bWJlcjtcclxuXHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbiAgLy8gaW5zdGFuY2VJZDpudW1iZXI7XHJcblxyXG5cclxuICAvL2N1c3RvbSBkZWZpbmVkXHJcbiAgY3VyUm93SGVpZ2h0PzpudW1iZXI7XHJcbiAgd2lkZ2V0SGVpZ2h0PzpudW1iZXI7XHJcbiAgd2lkZ2V0SW5mbz86YW55O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @abstract
7
+ */
8
+ var /**
9
+ * @abstract
10
+ */
11
+ GridsterItemComponentInterface = /** @class */ (function () {
12
+ function GridsterItemComponentInterface() {
13
+ }
14
+ return GridsterItemComponentInterface;
15
+ }());
16
+ /**
17
+ * @abstract
18
+ */
19
+ export { GridsterItemComponentInterface };
20
+ if (false) {
21
+ /** @type {?} */
22
+ GridsterItemComponentInterface.prototype.item;
23
+ /** @type {?} */
24
+ GridsterItemComponentInterface.prototype.$item;
25
+ /** @type {?} */
26
+ GridsterItemComponentInterface.prototype.top;
27
+ /** @type {?} */
28
+ GridsterItemComponentInterface.prototype.left;
29
+ /** @type {?} */
30
+ GridsterItemComponentInterface.prototype.width;
31
+ /** @type {?} */
32
+ GridsterItemComponentInterface.prototype.height;
33
+ /** @type {?} */
34
+ GridsterItemComponentInterface.prototype.drag;
35
+ /** @type {?} */
36
+ GridsterItemComponentInterface.prototype.resize;
37
+ /** @type {?} */
38
+ GridsterItemComponentInterface.prototype.notPlaced;
39
+ /** @type {?} */
40
+ GridsterItemComponentInterface.prototype.updateOptions;
41
+ /** @type {?} */
42
+ GridsterItemComponentInterface.prototype.itemChanged;
43
+ /** @type {?} */
44
+ GridsterItemComponentInterface.prototype.setSize;
45
+ /** @type {?} */
46
+ GridsterItemComponentInterface.prototype.checkItemChanges;
47
+ /** @type {?} */
48
+ GridsterItemComponentInterface.prototype.canBeDragged;
49
+ /** @type {?} */
50
+ GridsterItemComponentInterface.prototype.canBeResized;
51
+ /** @type {?} */
52
+ GridsterItemComponentInterface.prototype.el;
53
+ /** @type {?} */
54
+ GridsterItemComponentInterface.prototype.gridster;
55
+ /** @type {?} */
56
+ GridsterItemComponentInterface.prototype.renderer;
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJJdGVtQ29tcG9uZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVySXRlbUNvbXBvbmVudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU1BOzs7O0lBQUE7SUFtQkEsQ0FBQztJQUFELHFDQUFDO0FBQUQsQ0FBQyxBQW5CRCxJQW1CQzs7Ozs7OztJQWxCQyw4Q0FBbUI7O0lBQ25CLCtDQUFvQjs7SUFDcEIsNkNBQVk7O0lBQ1osOENBQWE7O0lBQ2IsK0NBQWM7O0lBQ2QsZ0RBQWU7O0lBQ2YsOENBQXdCOztJQUN4QixnREFBMEI7O0lBQzFCLG1EQUFtQjs7SUFDbkIsdURBQTBCOztJQUMxQixxREFBd0I7O0lBQ3hCLGlEQUFvQjs7SUFDcEIsMERBQTJFOztJQUMzRSxzREFBNEI7O0lBQzVCLHNEQUE0Qjs7SUFDNUIsNENBQVE7O0lBQ1Isa0RBQXFDOztJQUNyQyxrREFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0dyaWRzdGVySXRlbX0gZnJvbSAnLi9ncmlkc3Rlckl0ZW0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHtHcmlkc3RlckRyYWdnYWJsZX0gZnJvbSAnLi9ncmlkc3RlckRyYWdnYWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0dyaWRzdGVyUmVzaXphYmxlfSBmcm9tICcuL2dyaWRzdGVyUmVzaXphYmxlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0dyaWRzdGVyQ29tcG9uZW50SW50ZXJmYWNlfSBmcm9tICcuL2dyaWRzdGVyLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR3JpZHN0ZXJJdGVtQ29tcG9uZW50SW50ZXJmYWNlIHtcclxuICBpdGVtOiBHcmlkc3Rlckl0ZW07XHJcbiAgJGl0ZW06IEdyaWRzdGVySXRlbTtcclxuICB0b3A6IG51bWJlcjtcclxuICBsZWZ0OiBudW1iZXI7XHJcbiAgd2lkdGg6IG51bWJlcjtcclxuICBoZWlnaHQ6IG51bWJlcjtcclxuICBkcmFnOiBHcmlkc3RlckRyYWdnYWJsZTtcclxuICByZXNpemU6IEdyaWRzdGVyUmVzaXphYmxlO1xyXG4gIG5vdFBsYWNlZDogYm9vbGVhbjtcclxuICB1cGRhdGVPcHRpb25zOiAoKSA9PiB2b2lkO1xyXG4gIGl0ZW1DaGFuZ2VkOiAoKSA9PiB2b2lkO1xyXG4gIHNldFNpemU6ICgpID0+IHZvaWQ7XHJcbiAgY2hlY2tJdGVtQ2hhbmdlczogKG5ld1ZhbHVlOiBHcmlkc3Rlckl0ZW0sIG9sZFZhbHVlOiBHcmlkc3Rlckl0ZW0pID0+IHZvaWQ7XHJcbiAgY2FuQmVEcmFnZ2VkOiAoKSA9PiBib29sZWFuO1xyXG4gIGNhbkJlUmVzaXplZDogKCkgPT4gYm9vbGVhbjtcclxuICBlbDogYW55O1xyXG4gIGdyaWRzdGVyOiBHcmlkc3RlckNvbXBvbmVudEludGVyZmFjZTtcclxuICByZW5kZXJlcjogUmVuZGVyZXIyO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, ElementRef, Host, Renderer2, ViewEncapsulation } from '@angular/core';
6
+ import { GridsterComponent } from './gridster.component';
7
+ var GridsterPreviewComponent = /** @class */ (function () {
8
+ function GridsterPreviewComponent(el, gridster, renderer) {
9
+ this.renderer = renderer;
10
+ this.el = el.nativeElement;
11
+ this.gridster = gridster;
12
+ this.gridster.previewStyle = this.previewStyle.bind(this);
13
+ }
14
+ /**
15
+ * @return {?}
16
+ */
17
+ GridsterPreviewComponent.prototype.ngOnDestroy = /**
18
+ * @return {?}
19
+ */
20
+ function () {
21
+ delete this.el;
22
+ delete this.gridster.previewStyle;
23
+ delete this.gridster;
24
+ };
25
+ /**
26
+ * @param {?=} drag
27
+ * @return {?}
28
+ */
29
+ GridsterPreviewComponent.prototype.previewStyle = /**
30
+ * @param {?=} drag
31
+ * @return {?}
32
+ */
33
+ function (drag) {
34
+ if (!this.gridster.movingItem) {
35
+ this.renderer.setStyle(this.el, 'display', '');
36
+ }
37
+ else {
38
+ if (this.gridster.compact && drag) {
39
+ this.gridster.compact.checkCompactItem(this.gridster.movingItem);
40
+ }
41
+ this.renderer.setStyle(this.el, 'display', 'block');
42
+ this.gridster.gridRenderer.updateItem(this.el, this.gridster.movingItem, this.renderer);
43
+ }
44
+ };
45
+ GridsterPreviewComponent.decorators = [
46
+ { type: Component, args: [{
47
+ selector: 'gridster-preview',
48
+ template: '',
49
+ encapsulation: ViewEncapsulation.None,
50
+ styles: ["gridster-preview{position:absolute;display:none;background:#ccc}"]
51
+ }] }
52
+ ];
53
+ /** @nocollapse */
54
+ GridsterPreviewComponent.ctorParameters = function () { return [
55
+ { type: ElementRef },
56
+ { type: GridsterComponent, decorators: [{ type: Host }] },
57
+ { type: Renderer2 }
58
+ ]; };
59
+ return GridsterPreviewComponent;
60
+ }());
61
+ export { GridsterPreviewComponent };
62
+ if (false) {
63
+ /** @type {?} */
64
+ GridsterPreviewComponent.prototype.el;
65
+ /** @type {?} */
66
+ GridsterPreviewComponent.prototype.gridster;
67
+ /** @type {?} */
68
+ GridsterPreviewComponent.prototype.renderer;
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJQcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzY2huZWlkZXJlc3MvZGFzaGJvYXJkZnJhbWV3b3JrLyIsInNvdXJjZXMiOlsiZ3JpZHN0ZXIvbGliL2dyaWRzdGVyUHJldmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBYSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkcsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQ7SUFVRSxrQ0FBWSxFQUFjLEVBQVUsUUFBMkIsRUFBUyxRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3pGLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs7O0lBRUQsOENBQVc7OztJQUFYO1FBQ0UsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCwrQ0FBWTs7OztJQUFaLFVBQWEsSUFBYztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDaEQ7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pGO0lBQ0gsQ0FBQzs7Z0JBaENGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFFWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7aUJBQ3RDOzs7O2dCQVRrQixVQUFVO2dCQUVyQixpQkFBaUIsdUJBWU0sSUFBSTtnQkFkYSxTQUFTOztJQXFDekQsK0JBQUM7Q0FBQSxBQWpDRCxJQWlDQztTQTNCWSx3QkFBd0I7OztJQUNuQyxzQ0FBUTs7SUFDUiw0Q0FBNEI7O0lBRXFDLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtHcmlkc3RlckNvbXBvbmVudH0gZnJvbSAnLi9ncmlkc3Rlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdncmlkc3Rlci1wcmV2aWV3JyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZHN0ZXJQcmV2aWV3LmNzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyaWRzdGVyUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgZWw6IGFueTtcclxuICBncmlkc3RlcjogR3JpZHN0ZXJDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBASG9zdCgpIGdyaWRzdGVyOiBHcmlkc3RlckNvbXBvbmVudCwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIHRoaXMuZWwgPSBlbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5ncmlkc3RlciA9IGdyaWRzdGVyO1xyXG4gICAgdGhpcy5ncmlkc3Rlci5wcmV2aWV3U3R5bGUgPSB0aGlzLnByZXZpZXdTdHlsZS5iaW5kKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBkZWxldGUgdGhpcy5lbDtcclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyLnByZXZpZXdTdHlsZTtcclxuICAgIGRlbGV0ZSB0aGlzLmdyaWRzdGVyO1xyXG4gIH1cclxuXHJcbiAgcHJldmlld1N0eWxlKGRyYWc/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZ3JpZHN0ZXIubW92aW5nSXRlbSkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwsICdkaXNwbGF5JywgJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuZ3JpZHN0ZXIuY29tcGFjdCAmJiBkcmFnKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkc3Rlci5jb21wYWN0LmNoZWNrQ29tcGFjdEl0ZW0odGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XHJcbiAgICAgIHRoaXMuZ3JpZHN0ZXIuZ3JpZFJlbmRlcmVyLnVwZGF0ZUl0ZW0odGhpcy5lbCwgdGhpcy5ncmlkc3Rlci5tb3ZpbmdJdGVtLCB0aGlzLnJlbmRlcmVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19