@ptsecurity/mosaic 12.2.2 → 12.3.0
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.
- package/_theming.scss +14 -150
- package/bundles/ptsecurity-mosaic-button.umd.js +2 -2
- package/bundles/ptsecurity-mosaic-core.umd.js +0 -2
- package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +8 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +2 -2
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +14 -19
- package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +2 -2
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +217 -30
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +52 -47
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +1 -0
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +3 -3
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
- package/esm2015/button/button.component.js +2 -2
- package/esm2015/core/pop-up/pop-up-trigger.js +1 -3
- package/esm2015/datepicker/datepicker-input.directive.js +9 -2
- package/esm2015/form-field/cleaner.js +3 -3
- package/esm2015/list/list-selection.component.js +15 -20
- package/esm2015/popover/popover-confirm.component.js +2 -2
- package/esm2015/popover/popover.component.js +2 -2
- package/esm2015/splitter/splitter.component.js +179 -32
- package/esm2015/splitter/splitter.module.js +4 -2
- package/esm2015/tags/tag.component.js +51 -48
- package/esm2015/tree/toggle.js +3 -3
- package/esm2015/tree/tree-option.component.js +2 -2
- package/esm2015/tree-select/tree-select.component.js +2 -1
- package/fesm2015/ptsecurity-mosaic-button.js +2 -2
- package/fesm2015/ptsecurity-mosaic-core.js +0 -2
- package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js +8 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +2 -2
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.js +14 -19
- package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +2 -2
- package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +181 -32
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.js +50 -47
- package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js +1 -0
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.js +3 -3
- package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
- package/package.json +4 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/splitter/splitter.component.d.ts +41 -3
- package/splitter/splitter.module.d.ts +1 -1
- package/tags/tag.component.d.ts +20 -20
- package/tree/toggle.d.ts +1 -1
- package/tree/tree-option.component.d.ts +1 -1
@@ -69,18 +69,28 @@
|
|
69
69
|
enumerable: false,
|
70
70
|
configurable: true
|
71
71
|
});
|
72
|
+
Object.defineProperty(McGutterDirective.prototype, "isVertical", {
|
73
|
+
get: function () {
|
74
|
+
return this._direction === exports.Direction.Vertical;
|
75
|
+
},
|
76
|
+
enumerable: false,
|
77
|
+
configurable: true
|
78
|
+
});
|
72
79
|
McGutterDirective.prototype.ngOnInit = function () {
|
73
80
|
this.setStyle("flex-basis" /* FlexBasis */, coercion.coerceCssPixelValue(this.size));
|
74
|
-
this.setStyle(this.isVertical
|
81
|
+
this.setStyle(this.isVertical ? "height" /* Height */ : "width" /* Width */, coercion.coerceCssPixelValue(this.size));
|
75
82
|
this.setStyle("order" /* Order */, this.order);
|
76
|
-
if (!this.isVertical
|
83
|
+
if (!this.isVertical) {
|
77
84
|
this.setStyle("height" /* Height */, '100%');
|
78
85
|
}
|
79
86
|
// fix IE issue with gutter icon. flex-direction is requied for flex alignment options
|
80
|
-
this.setStyle("flex-direction" /* FlexDirection */, this.isVertical
|
87
|
+
this.setStyle("flex-direction" /* FlexDirection */, this.isVertical ? 'row' : 'column');
|
81
88
|
};
|
82
|
-
McGutterDirective.prototype.
|
83
|
-
return
|
89
|
+
McGutterDirective.prototype.getPosition = function () {
|
90
|
+
return {
|
91
|
+
x: this.elementRef.nativeElement.offsetLeft,
|
92
|
+
y: this.elementRef.nativeElement.offsetTop
|
93
|
+
};
|
84
94
|
};
|
85
95
|
McGutterDirective.prototype.setStyle = function (property, value) {
|
86
96
|
this.renderer.setStyle(this.elementRef.nativeElement, property, value);
|
@@ -88,14 +98,14 @@
|
|
88
98
|
return McGutterDirective;
|
89
99
|
}());
|
90
100
|
/** @nocollapse */ McGutterDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McGutterDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
91
|
-
/** @nocollapse */ McGutterDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McGutterDirective, selector: "mc-gutter", inputs: { direction: "direction", order: "order", size: "size" }, host: { listeners: { "mousedown": "dragged = true" }, properties: { "class.mc-gutter_vertical": "isVertical
|
101
|
+
/** @nocollapse */ McGutterDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McGutterDirective, selector: "mc-gutter", inputs: { direction: "direction", order: "order", size: "size" }, host: { listeners: { "mousedown": "dragged = true" }, properties: { "class.mc-gutter_vertical": "isVertical", "class.mc-gutter_dragged": "dragged" }, classAttribute: "mc-gutter" }, ngImport: i0__namespace });
|
92
102
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McGutterDirective, decorators: [{
|
93
103
|
type: i0.Directive,
|
94
104
|
args: [{
|
95
105
|
selector: 'mc-gutter',
|
96
106
|
host: {
|
97
107
|
class: 'mc-gutter',
|
98
|
-
'[class.mc-gutter_vertical]': 'isVertical
|
108
|
+
'[class.mc-gutter_vertical]': 'isVertical',
|
99
109
|
'[class.mc-gutter_dragged]': 'dragged',
|
100
110
|
'(mousedown)': 'dragged = true'
|
101
111
|
}
|
@@ -107,6 +117,98 @@
|
|
107
117
|
}], size: [{
|
108
118
|
type: i0.Input
|
109
119
|
}] } });
|
120
|
+
var McGutterGhostDirective = /** @class */ (function () {
|
121
|
+
function McGutterGhostDirective(elementRef, renderer) {
|
122
|
+
this.elementRef = elementRef;
|
123
|
+
this.renderer = renderer;
|
124
|
+
this._x = 0;
|
125
|
+
this._y = 0;
|
126
|
+
this._direction = exports.Direction.Vertical;
|
127
|
+
this._size = 6;
|
128
|
+
}
|
129
|
+
Object.defineProperty(McGutterGhostDirective.prototype, "x", {
|
130
|
+
get: function () {
|
131
|
+
return this._x;
|
132
|
+
},
|
133
|
+
set: function (x) {
|
134
|
+
this._x = x;
|
135
|
+
this.setStyle("left" /* Left */, coercion.coerceCssPixelValue(x));
|
136
|
+
},
|
137
|
+
enumerable: false,
|
138
|
+
configurable: true
|
139
|
+
});
|
140
|
+
Object.defineProperty(McGutterGhostDirective.prototype, "y", {
|
141
|
+
get: function () {
|
142
|
+
return this._y;
|
143
|
+
},
|
144
|
+
set: function (y) {
|
145
|
+
this._y = y;
|
146
|
+
this.setStyle("top" /* Top */, coercion.coerceCssPixelValue(y));
|
147
|
+
},
|
148
|
+
enumerable: false,
|
149
|
+
configurable: true
|
150
|
+
});
|
151
|
+
Object.defineProperty(McGutterGhostDirective.prototype, "direction", {
|
152
|
+
get: function () {
|
153
|
+
return this._direction;
|
154
|
+
},
|
155
|
+
set: function (direction) {
|
156
|
+
this._direction = direction;
|
157
|
+
this.updateDimensions();
|
158
|
+
},
|
159
|
+
enumerable: false,
|
160
|
+
configurable: true
|
161
|
+
});
|
162
|
+
Object.defineProperty(McGutterGhostDirective.prototype, "size", {
|
163
|
+
get: function () {
|
164
|
+
return this._size;
|
165
|
+
},
|
166
|
+
set: function (size) {
|
167
|
+
this._size = coercion.coerceNumberProperty(size);
|
168
|
+
this.updateDimensions();
|
169
|
+
},
|
170
|
+
enumerable: false,
|
171
|
+
configurable: true
|
172
|
+
});
|
173
|
+
Object.defineProperty(McGutterGhostDirective.prototype, "isVertical", {
|
174
|
+
get: function () {
|
175
|
+
return this.direction === exports.Direction.Vertical;
|
176
|
+
},
|
177
|
+
enumerable: false,
|
178
|
+
configurable: true
|
179
|
+
});
|
180
|
+
McGutterGhostDirective.prototype.updateDimensions = function () {
|
181
|
+
this.setStyle(this.isVertical ? "width" /* Width */ : "height" /* Height */, '100%');
|
182
|
+
this.setStyle(this.isVertical ? "height" /* Height */ : "width" /* Width */, coercion.coerceCssPixelValue(this.size));
|
183
|
+
};
|
184
|
+
McGutterGhostDirective.prototype.setStyle = function (property, value) {
|
185
|
+
this.renderer.setStyle(this.elementRef.nativeElement, property, value);
|
186
|
+
};
|
187
|
+
return McGutterGhostDirective;
|
188
|
+
}());
|
189
|
+
/** @nocollapse */ McGutterGhostDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McGutterGhostDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
190
|
+
/** @nocollapse */ McGutterGhostDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McGutterGhostDirective, selector: "mc-gutter-ghost", inputs: { visible: "visible", x: "x", y: "y", direction: "direction", size: "size" }, host: { properties: { "class.mc-gutter-ghost_vertical": "isVertical", "class.mc-gutter-ghost_visible": "visible" }, classAttribute: "mc-gutter-ghost" }, ngImport: i0__namespace });
|
191
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McGutterGhostDirective, decorators: [{
|
192
|
+
type: i0.Directive,
|
193
|
+
args: [{
|
194
|
+
selector: 'mc-gutter-ghost',
|
195
|
+
host: {
|
196
|
+
class: 'mc-gutter-ghost',
|
197
|
+
'[class.mc-gutter-ghost_vertical]': 'isVertical',
|
198
|
+
'[class.mc-gutter-ghost_visible]': 'visible'
|
199
|
+
}
|
200
|
+
}]
|
201
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }]; }, propDecorators: { visible: [{
|
202
|
+
type: i0.Input
|
203
|
+
}], x: [{
|
204
|
+
type: i0.Input
|
205
|
+
}], y: [{
|
206
|
+
type: i0.Input
|
207
|
+
}], direction: [{
|
208
|
+
type: i0.Input
|
209
|
+
}], size: [{
|
210
|
+
type: i0.Input
|
211
|
+
}] } });
|
110
212
|
var McSplitterComponent = /** @class */ (function () {
|
111
213
|
function McSplitterComponent(elementRef, changeDetectorRef, ngZone, renderer) {
|
112
214
|
this.elementRef = elementRef;
|
@@ -115,13 +217,22 @@
|
|
115
217
|
this.renderer = renderer;
|
116
218
|
this.gutterPositionChange = new i0.EventEmitter();
|
117
219
|
this.areas = [];
|
118
|
-
this.
|
220
|
+
this._isDragging = false;
|
119
221
|
this.areaPositionDivider = 2;
|
120
222
|
this.listeners = [];
|
121
223
|
this._hideGutters = false;
|
122
224
|
this._disabled = false;
|
225
|
+
this._useGhost = false;
|
123
226
|
this._gutterSize = 6;
|
227
|
+
this._resizing = false;
|
124
228
|
}
|
229
|
+
Object.defineProperty(McSplitterComponent.prototype, "isDragging", {
|
230
|
+
get: function () {
|
231
|
+
return this._isDragging;
|
232
|
+
},
|
233
|
+
enumerable: false,
|
234
|
+
configurable: true
|
235
|
+
});
|
125
236
|
Object.defineProperty(McSplitterComponent.prototype, "hideGutters", {
|
126
237
|
get: function () {
|
127
238
|
return this._hideGutters;
|
@@ -152,6 +263,16 @@
|
|
152
263
|
enumerable: false,
|
153
264
|
configurable: true
|
154
265
|
});
|
266
|
+
Object.defineProperty(McSplitterComponent.prototype, "useGhost", {
|
267
|
+
get: function () {
|
268
|
+
return this._useGhost;
|
269
|
+
},
|
270
|
+
set: function (useGhost) {
|
271
|
+
this._useGhost = coercion.coerceBooleanProperty(useGhost);
|
272
|
+
},
|
273
|
+
enumerable: false,
|
274
|
+
configurable: true
|
275
|
+
});
|
155
276
|
Object.defineProperty(McSplitterComponent.prototype, "gutterSize", {
|
156
277
|
get: function () {
|
157
278
|
return this._gutterSize;
|
@@ -163,6 +284,13 @@
|
|
163
284
|
enumerable: false,
|
164
285
|
configurable: true
|
165
286
|
});
|
287
|
+
Object.defineProperty(McSplitterComponent.prototype, "resizing", {
|
288
|
+
get: function () {
|
289
|
+
return this._resizing;
|
290
|
+
},
|
291
|
+
enumerable: false,
|
292
|
+
configurable: true
|
293
|
+
});
|
166
294
|
McSplitterComponent.prototype.addArea = function (area) {
|
167
295
|
var index = this.areas.length;
|
168
296
|
var order = index * this.areaPositionDivider;
|
@@ -187,26 +315,41 @@
|
|
187
315
|
return;
|
188
316
|
}
|
189
317
|
event.preventDefault();
|
190
|
-
var leftArea = this.areas[leftAreaIndex];
|
191
|
-
var rightArea = this.areas[rightAreaIndex];
|
192
318
|
var startPoint = {
|
193
319
|
x: event.screenX,
|
194
320
|
y: event.screenY
|
195
321
|
};
|
322
|
+
var leftArea = this.areas[leftAreaIndex];
|
323
|
+
var rightArea = this.areas[rightAreaIndex];
|
196
324
|
leftArea.initialSize = leftArea.area.getSize();
|
197
325
|
rightArea.initialSize = rightArea.area.getSize();
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
326
|
+
var currentGutter;
|
327
|
+
if (this.useGhost) {
|
328
|
+
// tslint:disable-next-line:no-magic-numbers
|
329
|
+
var gutterOrder_1 = leftAreaIndex * 2 + 1;
|
330
|
+
currentGutter = this.gutters.find(function (gutter) { return gutter.order === gutterOrder_1; });
|
331
|
+
if (currentGutter) {
|
332
|
+
var gutterPosition = currentGutter.getPosition();
|
333
|
+
this.ghost.direction = currentGutter.direction;
|
334
|
+
this.ghost.size = currentGutter.size;
|
335
|
+
this.ghost.x = gutterPosition.x;
|
336
|
+
this.ghost.y = gutterPosition.y;
|
337
|
+
this.ghost.visible = true;
|
338
|
+
this.setStyle("cursor" /* Cursor */, currentGutter.direction === exports.Direction.Vertical ? 'row-resize' : 'col-resize');
|
339
|
+
}
|
340
|
+
}
|
341
|
+
else {
|
342
|
+
this.areas.forEach(function (item) {
|
343
|
+
var size = item.area.getSize();
|
344
|
+
item.area.disableFlex();
|
345
|
+
item.area.setSize(size);
|
346
|
+
});
|
347
|
+
}
|
348
|
+
this.listeners.push(this.renderer.listen('document', 'mouseup', function () { return _this.onMouseUp(leftArea, rightArea, currentGutter); }));
|
206
349
|
this.ngZone.runOutsideAngular(function () {
|
207
|
-
_this.listeners.push(_this.renderer.listen('document', 'mousemove', function (e) { return _this.onMouseMove(e, startPoint, leftArea, rightArea); }));
|
350
|
+
_this.listeners.push(_this.renderer.listen('document', 'mousemove', function (e) { return _this.onMouseMove(e, startPoint, leftArea, rightArea, currentGutter); }));
|
208
351
|
});
|
209
|
-
this.
|
352
|
+
this._isDragging = true;
|
210
353
|
};
|
211
354
|
McSplitterComponent.prototype.removeArea = function (area) {
|
212
355
|
var indexToRemove = -1;
|
@@ -234,7 +377,7 @@
|
|
234
377
|
}
|
235
378
|
});
|
236
379
|
};
|
237
|
-
McSplitterComponent.prototype.onMouseMove = function (event, startPoint, leftArea, rightArea) {
|
380
|
+
McSplitterComponent.prototype.onMouseMove = function (event, startPoint, leftArea, rightArea, currentGutter) {
|
238
381
|
if (!this.isDragging || this.disabled) {
|
239
382
|
return;
|
240
383
|
}
|
@@ -245,11 +388,28 @@
|
|
245
388
|
var offset = this.isVertical()
|
246
389
|
? startPoint.y - endPoint.y
|
247
390
|
: startPoint.x - endPoint.x;
|
248
|
-
|
249
|
-
|
391
|
+
if (this.useGhost && currentGutter) {
|
392
|
+
var gutterPosition = currentGutter.getPosition();
|
393
|
+
var leftPos = leftArea.area.getPosition();
|
394
|
+
var rightPos = rightArea.area.getPosition();
|
395
|
+
var rightMin = rightArea.area.getMinSize() || 0;
|
396
|
+
var leftMin = leftArea.area.getMinSize() || 0;
|
397
|
+
var key = this.isVertical() ? 'y' : 'x';
|
398
|
+
var minPos = leftPos[key] - leftMin;
|
399
|
+
var maxPos = rightPos[key] + (rightArea.area.getSize() || 0) - rightMin - currentGutter.size;
|
400
|
+
var newPos = gutterPosition[key] - offset;
|
401
|
+
this.ghost[key] = newPos < minPos ? minPos : Math.min(newPos, maxPos);
|
402
|
+
}
|
403
|
+
else {
|
404
|
+
this.resizeAreas(leftArea, rightArea, offset);
|
405
|
+
}
|
406
|
+
};
|
407
|
+
McSplitterComponent.prototype.resizeAreas = function (leftArea, rightArea, sizeOffset) {
|
408
|
+
var newLeftAreaSize = leftArea.initialSize - sizeOffset;
|
409
|
+
var newRightAreaSize = rightArea.initialSize + sizeOffset;
|
250
410
|
var minLeftAreaSize = leftArea.area.getMinSize();
|
251
411
|
var minRightAreaSize = rightArea.area.getMinSize();
|
252
|
-
if (newLeftAreaSize
|
412
|
+
if (newLeftAreaSize < minLeftAreaSize || newRightAreaSize < minRightAreaSize) {
|
253
413
|
return;
|
254
414
|
}
|
255
415
|
else if (newLeftAreaSize <= 0) {
|
@@ -265,14 +425,23 @@
|
|
265
425
|
rightArea.area.setSize(newRightAreaSize);
|
266
426
|
}
|
267
427
|
};
|
268
|
-
McSplitterComponent.prototype.onMouseUp = function () {
|
428
|
+
McSplitterComponent.prototype.onMouseUp = function (leftArea, rightArea, currentGutter) {
|
269
429
|
while (this.listeners.length > 0) {
|
270
430
|
var unsubscribe = this.listeners.pop();
|
271
431
|
if (unsubscribe) {
|
272
432
|
unsubscribe();
|
273
433
|
}
|
274
434
|
}
|
275
|
-
this.
|
435
|
+
if (this.useGhost && currentGutter) {
|
436
|
+
var gutterPosition = currentGutter.getPosition();
|
437
|
+
var offset = this.ghost.direction === exports.Direction.Vertical ?
|
438
|
+
gutterPosition.y - this.ghost.y :
|
439
|
+
gutterPosition.x - this.ghost.x;
|
440
|
+
this.resizeAreas(leftArea, rightArea, offset);
|
441
|
+
this.ghost.visible = false;
|
442
|
+
this.setStyle("cursor" /* Cursor */, 'unset');
|
443
|
+
}
|
444
|
+
this._isDragging = false;
|
276
445
|
this.updateGutter();
|
277
446
|
this.gutterPositionChange.emit();
|
278
447
|
};
|
@@ -282,7 +451,7 @@
|
|
282
451
|
return McSplitterComponent;
|
283
452
|
}());
|
284
453
|
/** @nocollapse */ McSplitterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McSplitterComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.NgZone }, { token: i0__namespace.Renderer2 }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
285
|
-
/** @nocollapse */ McSplitterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterComponent, selector: "mc-splitter", inputs: { hideGutters: "hideGutters", direction: "direction", disabled: "disabled", gutterSize: "gutterSize" }, outputs: { gutterPositionChange: "gutterPositionChange" }, host: { classAttribute: "mc-splitter" }, viewQueries: [{ propertyName: "gutters", predicate: McGutterDirective, descendants: true }], exportAs: ["mcSplitter"], ngImport: i0__namespace, template: "<ng-content></ng-content>\n\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <mc-gutter *ngIf=\"last === false\"\n [direction]=\"direction\"\n [attr.disabled]=\"disabled || null\"\n [style.display]=\"hideGutters ? 'none' : 'flex'\"\n [size]=\"gutterSize\"\n [order]=\"index * 2 + 1\"\n (mousedown)=\"onMouseDown($event, index, index + 1)\">\n </mc-gutter>\n</ng-template>\n", styles: [".mc-splitter{display:flex;flex-wrap:nowrap;align-items:stretch;overflow:hidden}.mc-splitter .mc-splitter-area{overflow:hidden}.mc-gutter{display:flex;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;overflow:hidden}.mc-gutter.mc-gutter_vertical>.mc-icon{transform:rotate(90deg)}\n"], directives: [{ type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: McGutterDirective, selector: "mc-gutter", inputs: ["direction", "order", "size"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
|
454
|
+
/** @nocollapse */ McSplitterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterComponent, selector: "mc-splitter", inputs: { hideGutters: "hideGutters", direction: "direction", disabled: "disabled", useGhost: "useGhost", gutterSize: "gutterSize" }, outputs: { gutterPositionChange: "gutterPositionChange" }, host: { classAttribute: "mc-splitter" }, viewQueries: [{ propertyName: "ghost", first: true, predicate: McGutterGhostDirective, descendants: true }, { propertyName: "gutters", predicate: McGutterDirective, descendants: true }], exportAs: ["mcSplitter"], ngImport: i0__namespace, template: "<ng-content></ng-content>\n\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <mc-gutter *ngIf=\"last === false\"\n [direction]=\"direction\"\n [attr.disabled]=\"disabled || null\"\n [style.display]=\"hideGutters ? 'none' : 'flex'\"\n [size]=\"gutterSize\"\n [order]=\"index * 2 + 1\"\n (mousedown)=\"onMouseDown($event, index, index + 1)\">\n </mc-gutter>\n</ng-template>\n\n<mc-gutter-ghost *ngIf=\"useGhost\"></mc-gutter-ghost>\n", styles: [".mc-splitter{display:flex;position:relative;flex-wrap:nowrap;align-items:stretch;overflow:hidden}.mc-splitter .mc-splitter-area{overflow:hidden}.mc-splitter .mc-splitter-area_resizing{pointer-events:none}.mc-gutter{display:flex;flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;overflow:hidden}.mc-gutter.mc-gutter_vertical>.mc-icon{transform:rotate(90deg)}.mc-gutter-ghost{position:absolute;z-index:999;display:none;overflow:hidden}.mc-gutter-ghost.mc-gutter-ghost_vertical>.mc-icon{transform:rotate(90deg)}.mc-gutter-ghost.mc-gutter-ghost_visible{display:block}\n"], directives: [{ type: i1__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: McGutterDirective, selector: "mc-gutter", inputs: ["direction", "order", "size"] }, { type: McGutterGhostDirective, selector: "mc-gutter-ghost", inputs: ["visible", "x", "y", "direction", "size"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
|
286
455
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McSplitterComponent, decorators: [{
|
287
456
|
type: i0.Component,
|
288
457
|
args: [{
|
@@ -302,12 +471,17 @@
|
|
302
471
|
}], gutters: [{
|
303
472
|
type: i0.ViewChildren,
|
304
473
|
args: [McGutterDirective]
|
474
|
+
}], ghost: [{
|
475
|
+
type: i0.ViewChild,
|
476
|
+
args: [McGutterGhostDirective]
|
305
477
|
}], hideGutters: [{
|
306
478
|
type: i0.Input
|
307
479
|
}], direction: [{
|
308
480
|
type: i0.Input
|
309
481
|
}], disabled: [{
|
310
482
|
type: i0.Input
|
483
|
+
}], useGhost: [{
|
484
|
+
type: i0.Input
|
311
485
|
}], gutterSize: [{
|
312
486
|
type: i0.Input
|
313
487
|
}] } });
|
@@ -318,6 +492,9 @@
|
|
318
492
|
this.splitter = splitter;
|
319
493
|
this.sizeChange = new i0.EventEmitter();
|
320
494
|
}
|
495
|
+
McSplitterAreaDirective.prototype.isResizing = function () {
|
496
|
+
return this.splitter.isDragging;
|
497
|
+
};
|
321
498
|
McSplitterAreaDirective.prototype.disableFlex = function () {
|
322
499
|
this.renderer.removeStyle(this.elementRef.nativeElement, 'flex');
|
323
500
|
};
|
@@ -342,7 +519,7 @@
|
|
342
519
|
this.setStyle("order" /* Order */, order);
|
343
520
|
};
|
344
521
|
McSplitterAreaDirective.prototype.setSize = function (size) {
|
345
|
-
if (size) {
|
522
|
+
if (!isNaN(size)) {
|
346
523
|
var sz = coercion.coerceNumberProperty(size);
|
347
524
|
this.setStyle(this.getSizeProperty(), coercion.coerceCssPixelValue(sz));
|
348
525
|
}
|
@@ -350,6 +527,12 @@
|
|
350
527
|
McSplitterAreaDirective.prototype.getSize = function () {
|
351
528
|
return this.elementRef.nativeElement[this.getOffsetSizeProperty()];
|
352
529
|
};
|
530
|
+
McSplitterAreaDirective.prototype.getPosition = function () {
|
531
|
+
return {
|
532
|
+
x: this.elementRef.nativeElement.offsetLeft,
|
533
|
+
y: this.elementRef.nativeElement.offsetTop
|
534
|
+
};
|
535
|
+
};
|
353
536
|
McSplitterAreaDirective.prototype.getMinSize = function () {
|
354
537
|
var styles = getComputedStyle(this.elementRef.nativeElement);
|
355
538
|
return parseFloat(styles[this.getMinSizeProperty()]);
|
@@ -384,13 +567,14 @@
|
|
384
567
|
return McSplitterAreaDirective;
|
385
568
|
}());
|
386
569
|
/** @nocollapse */ McSplitterAreaDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McSplitterAreaDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: McSplitterComponent }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
387
|
-
/** @nocollapse */ McSplitterAreaDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterAreaDirective, selector: "[mc-splitter-area]", outputs: { sizeChange: "sizeChange" }, host: { classAttribute: "mc-splitter-area" }, ngImport: i0__namespace });
|
570
|
+
/** @nocollapse */ McSplitterAreaDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McSplitterAreaDirective, selector: "[mc-splitter-area]", outputs: { sizeChange: "sizeChange" }, host: { properties: { "class.mc-splitter-area_resizing": "isResizing()" }, classAttribute: "mc-splitter-area" }, ngImport: i0__namespace });
|
388
571
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McSplitterAreaDirective, decorators: [{
|
389
572
|
type: i0.Directive,
|
390
573
|
args: [{
|
391
574
|
selector: '[mc-splitter-area]',
|
392
575
|
host: {
|
393
|
-
class: 'mc-splitter-area'
|
576
|
+
class: 'mc-splitter-area',
|
577
|
+
'[class.mc-splitter-area_resizing]': 'isResizing()'
|
394
578
|
}
|
395
579
|
}]
|
396
580
|
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: McSplitterComponent }]; }, propDecorators: { sizeChange: [{
|
@@ -404,6 +588,7 @@
|
|
404
588
|
}());
|
405
589
|
/** @nocollapse */ McSplitterModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McSplitterModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
406
590
|
/** @nocollapse */ McSplitterModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McSplitterModule, declarations: [McGutterDirective,
|
591
|
+
McGutterGhostDirective,
|
407
592
|
McSplitterAreaDirective,
|
408
593
|
McSplitterComponent], imports: [i1.CommonModule,
|
409
594
|
icon.McIconModule], exports: [McGutterDirective,
|
@@ -427,6 +612,7 @@
|
|
427
612
|
],
|
428
613
|
declarations: [
|
429
614
|
McGutterDirective,
|
615
|
+
McGutterGhostDirective,
|
430
616
|
McSplitterAreaDirective,
|
431
617
|
McSplitterComponent
|
432
618
|
]
|
@@ -438,6 +624,7 @@
|
|
438
624
|
*/
|
439
625
|
|
440
626
|
exports.McGutterDirective = McGutterDirective;
|
627
|
+
exports.McGutterGhostDirective = McGutterGhostDirective;
|
441
628
|
exports.McSplitterAreaDirective = McSplitterAreaDirective;
|
442
629
|
exports.McSplitterComponent = McSplitterComponent;
|
443
630
|
exports.McSplitterModule = McSplitterModule;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-splitter.umd.js","sources":["../../../packages/mosaic/splitter/splitter.component.ts","../../../packages/mosaic/splitter/splitter.component.html","../../../packages/mosaic/splitter/splitter.module.ts","../../../packages/mosaic/splitter/ptsecurity-mosaic-splitter.ts"],"sourcesContent":["import { coerceBooleanProperty, coerceCssPixelValue, coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\n\n\ninterface IArea {\n area: McSplitterAreaDirective;\n index: number;\n order: number;\n initialSize: number;\n}\n\ninterface IPoint {\n x: number;\n y: number;\n}\n\nconst enum StyleProperty {\n Flex = 'flex',\n FlexBasis = 'flex-basis',\n FlexDirection = 'flex-direction',\n Height = 'height',\n MaxWidth = 'max-width',\n MinHeight = 'min-height',\n MinWidth = 'minWidth',\n OffsetHeight = 'offsetHeight',\n OffsetWidth = 'offsetWidth',\n Order = 'order',\n Width = 'width'\n}\n\nexport enum Direction {\n Horizontal = 'horizontal',\n Vertical = 'vertical'\n}\n\n@Directive({\n selector: 'mc-gutter',\n host: {\n class: 'mc-gutter',\n '[class.mc-gutter_vertical]': 'isVertical()',\n '[class.mc-gutter_dragged]': 'dragged',\n '(mousedown)': 'dragged = true'\n }\n})\nexport class McGutterDirective implements OnInit {\n get direction(): Direction {\n return this._direction;\n }\n\n @Input()\n set direction(direction: Direction) {\n this._direction = direction;\n }\n\n private _direction: Direction = Direction.Vertical;\n\n get order(): number {\n return this._order;\n }\n\n @Input()\n set order(order: number) {\n this._order = coerceNumberProperty(order);\n }\n\n private _order: number = 0;\n\n get size(): number {\n return this._size;\n }\n\n @Input()\n set size(size: number) {\n this._size = coerceNumberProperty(size);\n }\n\n private _size: number = 6;\n\n dragged: boolean = false;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.setStyle(StyleProperty.FlexBasis, coerceCssPixelValue(this.size));\n this.setStyle(this.isVertical() ? StyleProperty.Height : StyleProperty.Width, coerceCssPixelValue(this.size));\n this.setStyle(StyleProperty.Order, this.order);\n\n if (!this.isVertical()) {\n this.setStyle(StyleProperty.Height, '100%');\n }\n\n // fix IE issue with gutter icon. flex-direction is requied for flex alignment options\n this.setStyle(StyleProperty.FlexDirection, this.isVertical() ? 'row' : 'column');\n }\n\n isVertical(): boolean {\n return this.direction === Direction.Vertical;\n }\n\n private setStyle(property: StyleProperty, value: string | number) {\n this.renderer.setStyle(this.elementRef.nativeElement, property, value);\n }\n}\n\n\n@Component({\n selector: 'mc-splitter',\n exportAs: 'mcSplitter',\n host: {\n class: 'mc-splitter'\n },\n preserveWhitespaces: false,\n styleUrls: ['splitter.scss'],\n templateUrl: './splitter.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McSplitterComponent implements OnInit {\n @Output() gutterPositionChange: EventEmitter<void> = new EventEmitter<void>();\n\n readonly areas: IArea[] = [];\n\n @ViewChildren(McGutterDirective) gutters: QueryList<McGutterDirective>;\n\n private isDragging: boolean = false;\n\n private readonly areaPositionDivider: number = 2;\n private readonly listeners: (() => void)[] = [];\n\n get hideGutters(): boolean {\n return this._hideGutters;\n }\n\n @Input()\n set hideGutters(value: boolean) {\n this._hideGutters = coerceBooleanProperty(value);\n }\n\n private _hideGutters: boolean = false;\n\n get direction(): Direction {\n return this._direction;\n }\n\n @Input()\n set direction(direction: Direction) {\n this._direction = direction;\n }\n\n private _direction: Direction;\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n\n private _disabled: boolean = false;\n\n get gutterSize(): number {\n return this._gutterSize;\n }\n\n @Input()\n set gutterSize(gutterSize: number) {\n const size = coerceNumberProperty(gutterSize);\n this._gutterSize = size > 0 ? size : this.gutterSize;\n }\n\n private _gutterSize: number = 6;\n\n constructor(\n public elementRef: ElementRef,\n public changeDetectorRef: ChangeDetectorRef,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {}\n\n addArea(area: McSplitterAreaDirective): void {\n const index: number = this.areas.length;\n const order: number = index * this.areaPositionDivider;\n const size: number = area.getSize();\n\n area.setOrder(order);\n\n this.areas.push({\n area,\n index,\n order,\n initialSize: size\n });\n }\n\n ngOnInit(): void {\n if (!this.direction) {\n this.direction = Direction.Horizontal;\n }\n\n this.setStyle(StyleProperty.FlexDirection, this.isVertical() ? 'column' : 'row');\n }\n\n onMouseDown(event: MouseEvent, leftAreaIndex: number, rightAreaIndex: number) {\n if (this.disabled) { return; }\n\n event.preventDefault();\n\n const leftArea = this.areas[leftAreaIndex];\n const rightArea = this.areas[rightAreaIndex];\n\n const startPoint: IPoint = {\n x: event.screenX,\n y: event.screenY\n };\n\n leftArea.initialSize = leftArea.area.getSize();\n rightArea.initialSize = rightArea.area.getSize();\n\n this.areas.forEach((item) => {\n const size = item.area.getSize();\n item.area.disableFlex();\n item.area.setSize(size);\n });\n\n this.ngZone.runOutsideAngular(() => {\n this.listeners.push(\n this.renderer.listen(\n 'document',\n 'mouseup',\n () => this.onMouseUp()\n )\n );\n });\n\n this.ngZone.runOutsideAngular(() => {\n this.listeners.push(\n this.renderer.listen(\n 'document',\n 'mousemove',\n (e: MouseEvent) => this.onMouseMove(e, startPoint, leftArea, rightArea)\n )\n );\n });\n\n this.isDragging = true;\n }\n\n removeArea(area: McSplitterAreaDirective): void {\n let indexToRemove: number = -1;\n\n this.areas.some((item, index) => {\n if (item.area === area) {\n indexToRemove = index;\n\n return true;\n }\n\n return false;\n });\n\n if (indexToRemove === -1) {\n return;\n }\n\n this.areas.splice(indexToRemove, 1);\n }\n\n isVertical(): boolean {\n return this.direction === Direction.Vertical;\n }\n\n private updateGutter(): void {\n this.gutters.forEach((gutter) => {\n if (gutter.dragged) {\n gutter.dragged = false;\n\n this.changeDetectorRef.detectChanges();\n }\n });\n\n }\n\n private onMouseMove(event: MouseEvent, startPoint: IPoint, leftArea: IArea, rightArea: IArea) {\n if (!this.isDragging || this.disabled) { return; }\n\n const endPoint: IPoint = {\n x: event.screenX,\n y: event.screenY\n };\n\n const offset = this.isVertical()\n ? startPoint.y - endPoint.y\n : startPoint.x - endPoint.x;\n\n const newLeftAreaSize = leftArea.initialSize - offset;\n const newRightAreaSize = rightArea.initialSize + offset;\n\n const minLeftAreaSize = leftArea.area.getMinSize();\n const minRightAreaSize = rightArea.area.getMinSize();\n\n if (newLeftAreaSize <= minLeftAreaSize || newRightAreaSize <= minRightAreaSize) {\n return;\n } else if (newLeftAreaSize <= 0) {\n leftArea.area.setSize(0);\n rightArea.area.setSize(rightArea.initialSize + leftArea.initialSize);\n } else if (newRightAreaSize <= 0) {\n leftArea.area.setSize(rightArea.initialSize + leftArea.initialSize);\n rightArea.area.setSize(0);\n } else {\n leftArea.area.setSize(newLeftAreaSize);\n rightArea.area.setSize(newRightAreaSize);\n }\n }\n\n private onMouseUp() {\n while (this.listeners.length > 0) {\n const unsubscribe = this.listeners.pop();\n\n if (unsubscribe) {\n unsubscribe();\n }\n }\n\n this.isDragging = false;\n\n this.updateGutter();\n\n this.gutterPositionChange.emit();\n }\n\n private setStyle(property: StyleProperty, value: string | number) {\n this.renderer.setStyle(this.elementRef.nativeElement, property, value);\n }\n}\n\n@Directive({\n selector: '[mc-splitter-area]',\n host: {\n class: 'mc-splitter-area'\n }\n})\nexport class McSplitterAreaDirective implements OnInit, OnDestroy {\n @Output() sizeChange: EventEmitter<number> = new EventEmitter<number>();\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private splitter: McSplitterComponent\n ) {}\n\n disableFlex(): void {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'flex');\n }\n\n ngOnInit(): void {\n this.splitter.addArea(this);\n\n this.removeStyle(StyleProperty.MaxWidth);\n\n if (this.splitter.direction === Direction.Vertical) {\n this.setStyle(StyleProperty.Width, '100%');\n this.removeStyle(StyleProperty.Height);\n } else {\n this.setStyle(StyleProperty.Height, '100%');\n this.removeStyle(StyleProperty.Width);\n }\n\n this.splitter.gutterPositionChange.subscribe(() => this.emitSizeChange());\n }\n\n ngOnDestroy(): void {\n this.splitter.removeArea(this);\n }\n\n setOrder(order: number): void {\n this.setStyle(StyleProperty.Order, order);\n }\n\n setSize(size: number): void {\n if (size) {\n const sz = coerceNumberProperty(size);\n this.setStyle(this.getSizeProperty(), coerceCssPixelValue(sz));\n }\n }\n\n getSize(): number {\n return this.elementRef.nativeElement[this.getOffsetSizeProperty()];\n }\n\n getMinSize(): number {\n const styles = getComputedStyle(this.elementRef.nativeElement);\n\n return parseFloat(styles[this.getMinSizeProperty()]);\n }\n\n private isVertical(): boolean {\n return this.splitter.direction === Direction.Vertical;\n }\n\n private getMinSizeProperty(): StyleProperty {\n return this.isVertical()\n ? StyleProperty.MinHeight\n : StyleProperty.MinWidth;\n }\n\n private getOffsetSizeProperty(): StyleProperty {\n return this.isVertical()\n ? StyleProperty.OffsetHeight\n : StyleProperty.OffsetWidth;\n }\n\n private getSizeProperty(): StyleProperty {\n return this.isVertical()\n ? StyleProperty.Height\n : StyleProperty.Width;\n }\n\n private setStyle(style: StyleProperty, value: string | number) {\n this.renderer.setStyle(this.elementRef.nativeElement, style, value);\n }\n\n private removeStyle(style: StyleProperty) {\n this.renderer.removeStyle(this.elementRef.nativeElement, style);\n }\n\n private emitSizeChange(): void {\n this.sizeChange.emit(this.getSize());\n }\n}\n","<ng-content></ng-content>\n\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <mc-gutter *ngIf=\"last === false\"\n [direction]=\"direction\"\n [attr.disabled]=\"disabled || null\"\n [style.display]=\"hideGutters ? 'none' : 'flex'\"\n [size]=\"gutterSize\"\n [order]=\"index * 2 + 1\"\n (mousedown)=\"onMouseDown($event, index, index + 1)\">\n </mc-gutter>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport { McGutterDirective, McSplitterAreaDirective, McSplitterComponent } from './splitter.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n McIconModule\n ],\n exports: [\n McGutterDirective,\n McSplitterAreaDirective,\n McSplitterComponent\n ],\n declarations: [\n McGutterDirective,\n McSplitterAreaDirective,\n McSplitterComponent\n ]\n})\nexport class McSplitterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Direction","coerceNumberProperty","coerceCssPixelValue","Directive","Input","EventEmitter","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","Output","ViewChildren","CommonModule","McIconModule","NgModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-splitter.umd.js","sources":["../../../packages/mosaic/splitter/splitter.component.ts","../../../packages/mosaic/splitter/splitter.component.html","../../../packages/mosaic/splitter/splitter.module.ts","../../../packages/mosaic/splitter/ptsecurity-mosaic-splitter.ts"],"sourcesContent":["import { coerceBooleanProperty, coerceCssPixelValue, coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\n\n\ninterface IArea {\n area: McSplitterAreaDirective;\n index: number;\n order: number;\n initialSize: number;\n}\n\ninterface IPoint {\n x: number;\n y: number;\n}\n\nconst enum StyleProperty {\n Flex = 'flex',\n FlexBasis = 'flex-basis',\n FlexDirection = 'flex-direction',\n Height = 'height',\n MaxWidth = 'max-width',\n MinHeight = 'min-height',\n MinWidth = 'minWidth',\n OffsetHeight = 'offsetHeight',\n OffsetWidth = 'offsetWidth',\n Order = 'order',\n Width = 'width',\n Top = 'top',\n Left = 'left',\n Cursor = 'cursor'\n}\n\nexport enum Direction {\n Horizontal = 'horizontal',\n Vertical = 'vertical'\n}\n\n@Directive({\n selector: 'mc-gutter',\n host: {\n class: 'mc-gutter',\n '[class.mc-gutter_vertical]': 'isVertical',\n '[class.mc-gutter_dragged]': 'dragged',\n '(mousedown)': 'dragged = true'\n }\n})\nexport class McGutterDirective implements OnInit {\n get direction(): Direction {\n return this._direction;\n }\n\n @Input()\n set direction(direction: Direction) {\n this._direction = direction;\n }\n\n private _direction: Direction = Direction.Vertical;\n\n get order(): number {\n return this._order;\n }\n\n @Input()\n set order(order: number) {\n this._order = coerceNumberProperty(order);\n }\n\n private _order: number = 0;\n\n get size(): number {\n return this._size;\n }\n\n @Input()\n set size(size: number) {\n this._size = coerceNumberProperty(size);\n }\n\n private _size: number = 6;\n\n get isVertical(): boolean {\n return this._direction === Direction.Vertical;\n }\n\n dragged: boolean = false;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n this.setStyle(StyleProperty.FlexBasis, coerceCssPixelValue(this.size));\n this.setStyle(this.isVertical ? StyleProperty.Height : StyleProperty.Width, coerceCssPixelValue(this.size));\n this.setStyle(StyleProperty.Order, this.order);\n\n if (!this.isVertical) {\n this.setStyle(StyleProperty.Height, '100%');\n }\n\n // fix IE issue with gutter icon. flex-direction is requied for flex alignment options\n this.setStyle(StyleProperty.FlexDirection, this.isVertical ? 'row' : 'column');\n }\n\n getPosition(): IPoint {\n return {\n x: this.elementRef.nativeElement.offsetLeft,\n y: this.elementRef.nativeElement.offsetTop\n };\n }\n\n private setStyle(property: StyleProperty, value: string | number): void {\n this.renderer.setStyle(this.elementRef.nativeElement, property, value);\n }\n}\n\n@Directive({\n selector: 'mc-gutter-ghost',\n host: {\n class: 'mc-gutter-ghost',\n '[class.mc-gutter-ghost_vertical]': 'isVertical',\n '[class.mc-gutter-ghost_visible]': 'visible'\n }\n})\nexport class McGutterGhostDirective {\n @Input() visible: boolean;\n\n get x(): number {\n return this._x;\n }\n\n @Input()\n set x(x: number) {\n this._x = x;\n this.setStyle(StyleProperty.Left, coerceCssPixelValue(x));\n }\n\n private _x: number = 0;\n\n get y(): number {\n return this._y;\n }\n\n @Input()\n set y(y: number) {\n this._y = y;\n this.setStyle(StyleProperty.Top, coerceCssPixelValue(y));\n }\n\n private _y: number = 0;\n\n\n get direction(): Direction {\n return this._direction;\n }\n\n @Input()\n set direction(direction: Direction) {\n this._direction = direction;\n this.updateDimensions();\n }\n\n private _direction: Direction = Direction.Vertical;\n\n get size(): number {\n return this._size;\n }\n\n @Input()\n set size(size: number) {\n this._size = coerceNumberProperty(size);\n this.updateDimensions();\n }\n\n private _size: number = 6;\n\n get isVertical(): boolean {\n return this.direction === Direction.Vertical;\n }\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2\n ) {}\n\n private updateDimensions(): void {\n this.setStyle(this.isVertical ? StyleProperty.Width : StyleProperty.Height, '100%');\n this.setStyle(this.isVertical ? StyleProperty.Height : StyleProperty.Width, coerceCssPixelValue(this.size));\n }\n\n private setStyle(property: StyleProperty, value: string | number): void {\n this.renderer.setStyle(this.elementRef.nativeElement, property, value);\n }\n}\n\n\n@Component({\n selector: 'mc-splitter',\n exportAs: 'mcSplitter',\n host: {\n class: 'mc-splitter'\n },\n preserveWhitespaces: false,\n styleUrls: ['splitter.scss'],\n templateUrl: './splitter.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McSplitterComponent implements OnInit {\n @Output() gutterPositionChange: EventEmitter<void> = new EventEmitter<void>();\n\n readonly areas: IArea[] = [];\n\n @ViewChildren(McGutterDirective) gutters: QueryList<McGutterDirective>;\n @ViewChild(McGutterGhostDirective) ghost: McGutterGhostDirective;\n\n get isDragging(): boolean {\n return this._isDragging;\n }\n private _isDragging: boolean = false;\n\n private readonly areaPositionDivider: number = 2;\n private readonly listeners: (() => void)[] = [];\n\n get hideGutters(): boolean {\n return this._hideGutters;\n }\n\n @Input()\n set hideGutters(value: boolean) {\n this._hideGutters = coerceBooleanProperty(value);\n }\n\n private _hideGutters: boolean = false;\n\n get direction(): Direction {\n return this._direction;\n }\n\n @Input()\n set direction(direction: Direction) {\n this._direction = direction;\n }\n\n private _direction: Direction;\n\n get disabled(): boolean {\n return this._disabled;\n }\n\n @Input()\n set disabled(disabled: boolean) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n\n private _disabled: boolean = false;\n\n get useGhost(): boolean {\n return this._useGhost;\n }\n\n @Input()\n set useGhost(useGhost: boolean) {\n this._useGhost = coerceBooleanProperty(useGhost);\n }\n\n private _useGhost: boolean = false;\n\n get gutterSize(): number {\n return this._gutterSize;\n }\n\n @Input()\n set gutterSize(gutterSize: number) {\n const size = coerceNumberProperty(gutterSize);\n this._gutterSize = size > 0 ? size : this.gutterSize;\n }\n\n private _gutterSize: number = 6;\n\n get resizing(): boolean {\n return this._resizing;\n }\n\n private _resizing: boolean = false;\n\n constructor(\n public elementRef: ElementRef,\n public changeDetectorRef: ChangeDetectorRef,\n private ngZone: NgZone,\n private renderer: Renderer2\n ) {}\n\n addArea(area: McSplitterAreaDirective): void {\n const index: number = this.areas.length;\n const order: number = index * this.areaPositionDivider;\n const size: number = area.getSize();\n\n area.setOrder(order);\n\n this.areas.push({\n area,\n index,\n order,\n initialSize: size\n });\n }\n\n ngOnInit(): void {\n if (!this.direction) {\n this.direction = Direction.Horizontal;\n }\n\n this.setStyle(StyleProperty.FlexDirection, this.isVertical() ? 'column' : 'row');\n }\n\n onMouseDown(event: MouseEvent, leftAreaIndex: number, rightAreaIndex: number) {\n if (this.disabled) { return; }\n\n event.preventDefault();\n\n const startPoint: IPoint = {\n x: event.screenX,\n y: event.screenY\n };\n\n const leftArea = this.areas[leftAreaIndex];\n const rightArea = this.areas[rightAreaIndex];\n leftArea.initialSize = leftArea.area.getSize();\n rightArea.initialSize = rightArea.area.getSize();\n let currentGutter: McGutterDirective | undefined;\n\n if (this.useGhost) {\n // tslint:disable-next-line:no-magic-numbers\n const gutterOrder = leftAreaIndex * 2 + 1;\n currentGutter = this.gutters.find((gutter: McGutterDirective) => gutter.order === gutterOrder);\n\n if (currentGutter) {\n const gutterPosition = currentGutter.getPosition();\n\n this.ghost.direction = currentGutter.direction;\n this.ghost.size = currentGutter.size;\n this.ghost.x = gutterPosition.x;\n this.ghost.y = gutterPosition.y;\n\n this.ghost.visible = true;\n this.setStyle(StyleProperty.Cursor, currentGutter.direction === Direction.Vertical ? 'row-resize' : 'col-resize');\n }\n } else {\n this.areas.forEach((item) => {\n const size = item.area.getSize();\n item.area.disableFlex();\n item.area.setSize(size);\n });\n }\n\n\n this.listeners.push(\n this.renderer.listen(\n 'document',\n 'mouseup',\n () => this.onMouseUp(leftArea, rightArea, currentGutter)\n )\n );\n\n this.ngZone.runOutsideAngular(() => {\n this.listeners.push(\n this.renderer.listen(\n 'document',\n 'mousemove',\n (e: MouseEvent) => this.onMouseMove(e, startPoint, leftArea, rightArea, currentGutter)\n )\n );\n });\n\n this._isDragging = true;\n }\n\n removeArea(area: McSplitterAreaDirective): void {\n let indexToRemove: number = -1;\n\n this.areas.some((item, index) => {\n if (item.area === area) {\n indexToRemove = index;\n\n return true;\n }\n\n return false;\n });\n\n if (indexToRemove === -1) {\n return;\n }\n\n this.areas.splice(indexToRemove, 1);\n }\n\n isVertical(): boolean {\n return this.direction === Direction.Vertical;\n }\n\n private updateGutter(): void {\n this.gutters.forEach((gutter) => {\n if (gutter.dragged) {\n gutter.dragged = false;\n\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n\n private onMouseMove(event: MouseEvent,\n startPoint: IPoint,\n leftArea: IArea,\n rightArea: IArea,\n currentGutter: McGutterDirective | undefined) {\n if (!this.isDragging || this.disabled) { return; }\n\n const endPoint: IPoint = {\n x: event.screenX,\n y: event.screenY\n };\n\n const offset = this.isVertical()\n ? startPoint.y - endPoint.y\n : startPoint.x - endPoint.x;\n\n if (this.useGhost && currentGutter) {\n const gutterPosition = currentGutter.getPosition();\n const leftPos = leftArea.area.getPosition();\n const rightPos = rightArea.area.getPosition();\n const rightMin = rightArea.area.getMinSize() || 0;\n const leftMin = leftArea.area.getMinSize() || 0;\n\n const key = this.isVertical() ? 'y' : 'x';\n\n const minPos = leftPos[key] - leftMin;\n\n const maxPos = rightPos[key] + (rightArea.area.getSize() || 0) - rightMin - currentGutter.size;\n\n const newPos = gutterPosition[key] - offset;\n\n this.ghost[key] = newPos < minPos ? minPos : Math.min(newPos, maxPos);\n\n } else {\n this.resizeAreas(leftArea, rightArea, offset);\n }\n }\n\n private resizeAreas(leftArea: IArea, rightArea: IArea, sizeOffset: number): void {\n const newLeftAreaSize = leftArea.initialSize - sizeOffset;\n const newRightAreaSize = rightArea.initialSize + sizeOffset;\n\n const minLeftAreaSize = leftArea.area.getMinSize();\n const minRightAreaSize = rightArea.area.getMinSize();\n\n if (newLeftAreaSize < minLeftAreaSize || newRightAreaSize < minRightAreaSize) {\n return;\n } else if (newLeftAreaSize <= 0) {\n leftArea.area.setSize(0);\n rightArea.area.setSize(rightArea.initialSize + leftArea.initialSize);\n } else if (newRightAreaSize <= 0) {\n leftArea.area.setSize(rightArea.initialSize + leftArea.initialSize);\n rightArea.area.setSize(0);\n } else {\n leftArea.area.setSize(newLeftAreaSize);\n rightArea.area.setSize(newRightAreaSize);\n }\n }\n\n private onMouseUp(leftArea: IArea,\n rightArea: IArea,\n currentGutter: McGutterDirective | undefined) {\n while (this.listeners.length > 0) {\n const unsubscribe = this.listeners.pop();\n\n if (unsubscribe) {\n unsubscribe();\n }\n }\n if (this.useGhost && currentGutter) {\n const gutterPosition = currentGutter.getPosition();\n const offset = this.ghost.direction === Direction.Vertical ?\n gutterPosition.y - this.ghost.y :\n gutterPosition.x - this.ghost.x;\n this.resizeAreas(leftArea, rightArea, offset);\n this.ghost.visible = false;\n this.setStyle(StyleProperty.Cursor, 'unset');\n }\n this._isDragging = false;\n\n this.updateGutter();\n\n this.gutterPositionChange.emit();\n }\n\n private setStyle(property: StyleProperty, value: string | number) {\n this.renderer.setStyle(this.elementRef.nativeElement, property, value);\n }\n}\n\n@Directive({\n selector: '[mc-splitter-area]',\n host: {\n class: 'mc-splitter-area',\n '[class.mc-splitter-area_resizing]': 'isResizing()'\n }\n})\nexport class McSplitterAreaDirective implements OnInit, OnDestroy {\n @Output() sizeChange: EventEmitter<number> = new EventEmitter<number>();\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private splitter: McSplitterComponent\n ) { }\n\n isResizing(): boolean {\n return this.splitter.isDragging;\n }\n\n disableFlex(): void {\n this.renderer.removeStyle(this.elementRef.nativeElement, 'flex');\n }\n\n ngOnInit(): void {\n this.splitter.addArea(this);\n\n this.removeStyle(StyleProperty.MaxWidth);\n\n if (this.splitter.direction === Direction.Vertical) {\n this.setStyle(StyleProperty.Width, '100%');\n this.removeStyle(StyleProperty.Height);\n } else {\n this.setStyle(StyleProperty.Height, '100%');\n this.removeStyle(StyleProperty.Width);\n }\n\n this.splitter.gutterPositionChange.subscribe(() => this.emitSizeChange());\n }\n\n ngOnDestroy(): void {\n this.splitter.removeArea(this);\n }\n\n setOrder(order: number): void {\n this.setStyle(StyleProperty.Order, order);\n }\n\n setSize(size: number): void {\n if (!isNaN(size)) {\n const sz = coerceNumberProperty(size);\n this.setStyle(this.getSizeProperty(), coerceCssPixelValue(sz));\n }\n }\n\n getSize(): number {\n return this.elementRef.nativeElement[this.getOffsetSizeProperty()];\n }\n\n getPosition(): IPoint {\n return {\n x: this.elementRef.nativeElement.offsetLeft,\n y: this.elementRef.nativeElement.offsetTop\n };\n }\n\n getMinSize(): number {\n const styles = getComputedStyle(this.elementRef.nativeElement);\n\n return parseFloat(styles[this.getMinSizeProperty()]);\n }\n\n private isVertical(): boolean {\n return this.splitter.direction === Direction.Vertical;\n }\n\n private getMinSizeProperty(): StyleProperty {\n return this.isVertical()\n ? StyleProperty.MinHeight\n : StyleProperty.MinWidth;\n }\n\n private getOffsetSizeProperty(): StyleProperty {\n return this.isVertical()\n ? StyleProperty.OffsetHeight\n : StyleProperty.OffsetWidth;\n }\n\n private getSizeProperty(): StyleProperty {\n return this.isVertical()\n ? StyleProperty.Height\n : StyleProperty.Width;\n }\n\n private setStyle(style: StyleProperty, value: string | number) {\n this.renderer.setStyle(this.elementRef.nativeElement, style, value);\n }\n\n private removeStyle(style: StyleProperty) {\n this.renderer.removeStyle(this.elementRef.nativeElement, style);\n }\n\n private emitSizeChange(): void {\n this.sizeChange.emit(this.getSize());\n }\n}\n","<ng-content></ng-content>\n\n<ng-template ngFor let-area [ngForOf]=\"areas\" let-index=\"index\" let-last=\"last\">\n <mc-gutter *ngIf=\"last === false\"\n [direction]=\"direction\"\n [attr.disabled]=\"disabled || null\"\n [style.display]=\"hideGutters ? 'none' : 'flex'\"\n [size]=\"gutterSize\"\n [order]=\"index * 2 + 1\"\n (mousedown)=\"onMouseDown($event, index, index + 1)\">\n </mc-gutter>\n</ng-template>\n\n<mc-gutter-ghost *ngIf=\"useGhost\"></mc-gutter-ghost>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { McIconModule } from '@ptsecurity/mosaic/icon';\n\nimport {\n McGutterDirective,\n McGutterGhostDirective,\n McSplitterAreaDirective,\n McSplitterComponent\n} from './splitter.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n McIconModule\n ],\n exports: [\n McGutterDirective,\n McSplitterAreaDirective,\n McSplitterComponent\n ],\n declarations: [\n McGutterDirective,\n McGutterGhostDirective,\n McSplitterAreaDirective,\n McSplitterComponent\n ]\n})\nexport class McSplitterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Direction","coerceNumberProperty","coerceCssPixelValue","Directive","Input","EventEmitter","coerceBooleanProperty","Component","ViewEncapsulation","ChangeDetectionStrategy","Output","ViewChildren","ViewChild","CommonModule","McIconModule","NgModule"],"mappings":"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"}
|