@mintplayer/ng-bootstrap 15.19.0 → 15.19.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.
- package/esm2020/splitter/src/splitter/splitter.component.mjs +26 -7
- package/fesm2015/mintplayer-ng-bootstrap-splitter.mjs +25 -6
- package/fesm2015/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-splitter.mjs +25 -6
- package/fesm2020/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
- package/package.json +1 -1
- package/splitter/src/splitter/splitter.component.d.ts +8 -1
|
@@ -99,13 +99,20 @@ export class BsSplitterComponent {
|
|
|
99
99
|
return this.splitPanels.map(p => 50);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
|
|
102
|
+
startResizeMouse(ev, indexBefore, indexAfter) {
|
|
103
103
|
ev.preventDefault();
|
|
104
|
+
this.startResize(indexBefore, indexAfter, { x: ev.clientX, y: ev.clientY });
|
|
105
|
+
}
|
|
106
|
+
startResizeTouch(ev, indexBefore, indexAfter) {
|
|
107
|
+
ev.preventDefault();
|
|
108
|
+
this.startResize(indexBefore, indexAfter, { x: ev.touches[0].clientX, y: ev.touches[0].clientY });
|
|
109
|
+
}
|
|
110
|
+
startResize(indexBefore, indexAfter, pt) {
|
|
104
111
|
const sizes = this.computeSizes();
|
|
105
112
|
this.previewSizes$.next(sizes);
|
|
106
113
|
this.operation = {
|
|
107
114
|
operation: EDragOperation.resizeSplitter,
|
|
108
|
-
startPosition:
|
|
115
|
+
startPosition: pt,
|
|
109
116
|
sizes,
|
|
110
117
|
indexBefore,
|
|
111
118
|
indexAfter,
|
|
@@ -113,6 +120,12 @@ export class BsSplitterComponent {
|
|
|
113
120
|
this.isResizing$.next(true);
|
|
114
121
|
}
|
|
115
122
|
onMouseMove(ev) {
|
|
123
|
+
this.onResizeMove({ x: ev.clientX, y: ev.clientY });
|
|
124
|
+
}
|
|
125
|
+
onTouchMove(ev) {
|
|
126
|
+
this.onResizeMove({ x: ev.touches[0].clientX, y: ev.touches[0].clientY });
|
|
127
|
+
}
|
|
128
|
+
onResizeMove(pt) {
|
|
116
129
|
if (this.operation) {
|
|
117
130
|
switch (this.operation.operation) {
|
|
118
131
|
case EDragOperation.resizeSplitter:
|
|
@@ -123,14 +136,14 @@ export class BsSplitterComponent {
|
|
|
123
136
|
if (this.operation) {
|
|
124
137
|
switch (orientation) {
|
|
125
138
|
case 'horizontal':
|
|
126
|
-
const deltaX =
|
|
139
|
+
const deltaX = pt.x - this.operation.startPosition.x;
|
|
127
140
|
const sx = Array.from(this.operation.sizes);
|
|
128
141
|
sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;
|
|
129
142
|
sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;
|
|
130
143
|
this.previewSizes$.next(sx);
|
|
131
144
|
break;
|
|
132
145
|
case 'vertical':
|
|
133
|
-
const deltaY =
|
|
146
|
+
const deltaY = pt.y - this.operation.startPosition.y;
|
|
134
147
|
const sy = Array.from(this.operation.sizes);
|
|
135
148
|
sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;
|
|
136
149
|
sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;
|
|
@@ -145,15 +158,21 @@ export class BsSplitterComponent {
|
|
|
145
158
|
}
|
|
146
159
|
}
|
|
147
160
|
onMouseUp(ev) {
|
|
161
|
+
this.onResizeUp();
|
|
162
|
+
}
|
|
163
|
+
onTouchEnd(ev) {
|
|
164
|
+
this.onResizeUp();
|
|
165
|
+
}
|
|
166
|
+
onResizeUp() {
|
|
148
167
|
this.isResizing$.next(false);
|
|
149
168
|
this.operation = null;
|
|
150
169
|
}
|
|
151
170
|
}
|
|
152
171
|
BsSplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BsSplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
-
BsSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"
|
|
172
|
+
BsSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".split-panel{flex-grow:1}.divider{background-color:#eee;background-position:center center;background-repeat:no-repeat;flex-shrink:0;transition:background-color .15s ease-in-out}.divider:hover{background-color:#1389fd;border-radius:4px}.split-hor .divider{width:8px;height:100%;cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-ver .divider{width:100%;height:8px;cursor:row-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.flex-none{flex:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BsElementAtPipe, name: "bsElementAt" }] });
|
|
154
173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BsSplitterComponent, decorators: [{
|
|
155
174
|
type: Component,
|
|
156
|
-
args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"
|
|
175
|
+
args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".split-panel{flex-grow:1}.divider{background-color:#eee;background-position:center center;background-repeat:no-repeat;flex-shrink:0;transition:background-color .15s ease-in-out}.divider:hover{background-color:#1389fd;border-radius:4px}.split-hor .divider{width:8px;height:100%;cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-ver .divider{width:100%;height:8px;cursor:row-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.flex-none{flex:none}\n"] }]
|
|
157
176
|
}], ctorParameters: function () { return []; }, propDecorators: { orientation: [{
|
|
158
177
|
type: Input
|
|
159
178
|
}], panels: [{
|
|
@@ -178,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
178
197
|
type: HostListener,
|
|
179
198
|
args: ['document:mouseup', ['$event']]
|
|
180
199
|
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVE3RSxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCO1FBcURBLHFCQUFxQjtRQUNyQixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFZLFlBQVksQ0FBQyxDQUFDO1FBTzVELFlBQVk7UUFFWixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUUzRCxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBUzNELFlBQU8sR0FBRyxJQUFJLENBQUM7UUFNZixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBeUIsSUFBSSxDQUFDO1FBaEZyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxD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QyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7O2dIQTFKVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiwrVUFvRWIscUJBQXFCLDJIQy9FeEMsczhCQWFNOzJGREZPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhOzBFQWdFSCxXQUFXO3NCQUE5QixLQUFLO2dCQVFzQyxNQUFNO3NCQUFqRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFHVixXQUFXO3NCQUF0QyxZQUFZO3VCQUFDLFlBQVk7Z0JBSzFCLE9BQU87c0JBSE4sV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxjQUFjO2dCQTRDM0IsV0FBVztzQkFEVixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWlDOUMsU0FBUztzQkFEUixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyYWdPcGVyYXRpb24sIEVEcmFnT3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kcmFnLW9wZXJhdGlvbic7XG5pbXBvcnQgeyBCc1NwbGl0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zcGxpdC1wYW5lbC9zcGxpdC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvZGlyZWN0aW9uLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1zcGxpdHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwbGl0dGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzU3BsaXR0ZXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGlyZWN0aW9uQ2xhc3MkID0gdGhpcy5vcmllbnRhdGlvbiQucGlwZShtYXAoKG9yaWVudGF0aW9uKSA9PiB7XG4gICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgICAgIGNhc2UgJ2hvcml6b250YWwnOiByZXR1cm4gJ2ZsZXgtcm93JztcbiAgICAgICAgY2FzZSAndmVydGljYWwnOiByZXR1cm4gJ2ZsZXgtY29sdW1uJztcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgdGhpcy5zcGxpdHRlckNsYXNzJCA9IHRoaXMub3JpZW50YXRpb24kLnBpcGUobWFwKChvcmllbnRhdGlvbikgPT4ge1xuICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICBjYXNlICdob3Jpem9udGFsJzogcmV0dXJuICdzcGxpdC1ob3InO1xuICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6IHJldHVybiAnc3BsaXQtdmVyJztcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgdGhpcy53aWR0aFN0eWxlcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9yaWVudGF0aW9uJCwgdGhpcy5wcmV2aWV3U2l6ZXMkLCB0aGlzLnBhbmVscyRdKVxuICAgICAgLnBpcGUobWFwKChbb3JpZW50YXRpb24sIHByZXZpZXdTaXplcywgcGFuZWxzXSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgICAgICBpZiAocHJldmlld1NpemVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkocGFuZWxzLmxlbmd0aCkua2V5cygpXS5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaSA8IHByZXZpZXdTaXplcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aWV3U2l6ZXNbaV0gKyAncHgnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gQXJyYXkocGFuZWxzLmxlbmd0aCkubWFwKCh2LCBpKSA9PiAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgdGhpcy5oZWlnaHRTdHlsZXMkID0gIGNvbWJpbmVMYXRlc3QoW3RoaXMub3JpZW50YXRpb24kLCB0aGlzLnByZXZpZXdTaXplcyQsIHRoaXMucGFuZWxzJF0pXG4gICAgICAucGlwZShtYXAoKFtvcmllbnRhdGlvbiwgcHJldmlld1NpemVzLCBwYW5lbHNdKSA9PiB7XG4gICAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgICBjYXNlICdob3Jpem9udGFsJzpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICAgIGlmIChwcmV2aWV3U2l6ZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFsuLi5BcnJheShwYW5lbHMubGVuZ3RoKS5rZXlzKCldLm1hcCgodiwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpIDwgcHJldmlld1NpemVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpZXdTaXplc1tpXSArICdweCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAnMTAwJSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBBcnJheShwYW5lbHMubGVuZ3RoKS5tYXAoKHYsIGkpID0+ICcxMDAlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBPcmllbnRhdGlvblxuICBvcmllbnRhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpcmVjdGlvbj4oJ2hvcml6b250YWwnKTtcbiAgcHVibGljIGdldCBvcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBvcmllbnRhdGlvbih2YWx1ZTogRGlyZWN0aW9uKSB7XG4gICAgdGhpcy5vcmllbnRhdGlvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHJldmlld1NpemVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10gfCBudWxsPihudWxsKTtcblxuICBwYW5lbHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCc1NwbGl0UGFuZWxDb21wb25lbnRbXT4oW10pO1xuICBAQ29udGVudENoaWxkcmVuKEJzU3BsaXRQYW5lbENvbXBvbmVudCkgc2V0IHBhbmVscyh2YWx1ZTogUXVlcnlMaXN0PEJzU3BsaXRQYW5lbENvbXBvbmVudD4pIHtcbiAgICB0aGlzLnBhbmVscyQubmV4dCh2YWx1ZS50b0FycmF5KCkpO1xuICB9XG4gIEBWaWV3Q2hpbGRyZW4oJ3NwbGl0UGFuZWwnKSBzcGxpdFBhbmVscyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XG4gIFxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnctMTAwJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oLTEwMCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1mbGV4JylcbiAgY2xhc3NlcyA9IHRydWU7XG5cbiAgZGlyZWN0aW9uQ2xhc3MkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHNwbGl0dGVyQ2xhc3MkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHdpZHRoU3R5bGVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IG51bGw+O1xuICBoZWlnaHRTdHlsZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgbnVsbD47XG4gIGlzUmVzaXppbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIG9wZXJhdGlvbjogRHJhZ09wZXJhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbXB1dGVTaXplcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IHNpemVzID0gdGhpcy5zcGxpdFBhbmVsc1xuICAgICAgICAubWFwKChzcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNwLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIHN3aXRjaCAodGhpcy5vcmllbnRhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6IHJldHVybiBzdHlsZXMud2lkdGg7XG4gICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6IHJldHVybiBzdHlsZXMuaGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoc2l6ZSkgPT4gc2l6ZS5zbGljZSgwLCAtMikpXG4gICAgICAgIC5tYXAoKHNpemUpID0+IHBhcnNlRmxvYXQoc2l6ZSkpO1xuICAgICAgcmV0dXJuIHNpemVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zcGxpdFBhbmVscy5tYXAocCA9PiA1MCk7XG4gICAgfVxuICB9XG4gIFxuICBzdGFydFJlc2l6ZShldjogTW91c2VFdmVudCwgaW5kZXhCZWZvcmU6IG51bWJlciwgaW5kZXhBZnRlcjogbnVtYmVyKSB7XG4gICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBzaXplcyA9IHRoaXMuY29tcHV0ZVNpemVzKCk7XG4gICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc2l6ZXMpO1xuICAgIHRoaXMub3BlcmF0aW9uID0ge1xuICAgICAgb3BlcmF0aW9uOiBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcixcbiAgICAgIHN0YXJ0UG9zaXRpb246IHsgeDogZXYuY2xpZW50WCwgeTogZXYuY2xpZW50WSB9LFxuICAgICAgc2l6ZXMsXG4gICAgICBpbmRleEJlZm9yZSxcbiAgICAgIGluZGV4QWZ0ZXIsXG4gICAgfTtcblxuICAgIHRoaXMuaXNSZXNpemluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMub3BlcmF0aW9uKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMub3BlcmF0aW9uLm9wZXJhdGlvbikge1xuICAgICAgICBjYXNlIEVEcmFnT3BlcmF0aW9uLnJlc2l6ZVNwbGl0dGVyOiB7XG4gICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5vcmllbnRhdGlvbiRdKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtvcmllbnRhdGlvbl0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICAgICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWCA9IGV2LmNsaWVudFggLSB0aGlzLm9wZXJhdGlvbi5zdGFydFBvc2l0aW9uLng7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN4ID0gQXJyYXkuZnJvbSh0aGlzLm9wZXJhdGlvbi5zaXplcyk7XG4gICAgICAgICAgICAgICAgICAgIHN4W3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSA9IHRoaXMub3BlcmF0aW9uLnNpemVzW3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSArIGRlbHRhWDtcbiAgICAgICAgICAgICAgICAgICAgc3hbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEFmdGVyXSAtIGRlbHRhWDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc3gpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVsdGFZID0gZXYuY2xpZW50WSAtIHRoaXMub3BlcmF0aW9uLnN0YXJ0UG9zaXRpb24ueTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3kgPSBBcnJheS5mcm9tKHRoaXMub3BlcmF0aW9uLnNpemVzKTtcbiAgICAgICAgICAgICAgICAgICAgc3lbdGhpcy5vcGVyYXRpb24uaW5kZXhCZWZvcmVdID0gdGhpcy5vcGVyYXRpb24uc2l6ZXNbdGhpcy5vcGVyYXRpb24uaW5kZXhCZWZvcmVdICsgZGVsdGFZO1xuICAgICAgICAgICAgICAgICAgICBzeVt0aGlzLm9wZXJhdGlvbi5pbmRleEFmdGVyXSA9IHRoaXMub3BlcmF0aW9uLnNpemVzW3RoaXMub3BlcmF0aW9uLmluZGV4QWZ0ZXJdIC0gZGVsdGFZO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZpZXdTaXplcyQubmV4dChzeSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VVcChldjogTW91c2VFdmVudCkge1xuICAgIHRoaXMuaXNSZXNpemluZyQubmV4dChmYWxzZSk7XG4gICAgdGhpcy5vcGVyYXRpb24gPSBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IHctMTAwXCIgW2NsYXNzXT1cIltkaXJlY3Rpb25DbGFzcyQgfCBhc3luYywgc3BsaXR0ZXJDbGFzcyQgfCBhc3luY11cIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgKHBhbmVscyQgfCBhc3luYyk7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIod2lkdGhTdHlsZXMkIHwgYXN5bmMpIGFzIHdpZHRoU3R5bGVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihoZWlnaHRTdHlsZXMkIHwgYXN5bmMpIGFzIGhlaWdodFN0eWxlc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gIFtzdHlsZS53aWR0aC4lXT1cIjEwMFwiIFtzdHlsZS5oZWlnaHQuJV09XCIxMDBcIiAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BsaXQtcGFuZWwgb3ZlcmZsb3ctaGlkZGVuXCIgW2NsYXNzLmZsZXgtbm9uZV09XCJpc1Jlc2l6aW5nJCB8IGFzeW5jXCIgI3NwbGl0UGFuZWwgW3N0eWxlLndpZHRoXT1cIndpZHRoU3R5bGVzIHwgYnNFbGVtZW50QXQ6aW5kZXhcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFN0eWxlcyB8IGJzRWxlbWVudEF0OmluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBhbmVsLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgKG1vdXNlZG93bik9XCJzdGFydFJlc2l6ZSgkZXZlbnQsIGluZGV4LCBpbmRleCArIDEpXCIgKm5nSWY9XCIhbGFzdFwiPjwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQVE3RSxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCO1FBcURBLHFCQUFxQjtRQUNyQixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFZLFlBQVksQ0FBQyxDQUFDO1FBTzVELFlBQVk7UUFFWixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFrQixJQUFJLENBQUMsQ0FBQztRQUUzRCxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBUzNELFlBQU8sR0FBRyxJQUFJLENBQUM7UUFNZixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBeUIsSUFBSSxDQUFDO1FBaEZyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxD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R0FBbkIsbUJBQW1CLCtVQW9FYixxQkFBcUIsMkhDaEZ4Qyw2a0NBYU07MkZERE8sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7MEVBZ0VILFdBQVc7c0JBQTlCLEtBQUs7Z0JBUXNDLE1BQU07c0JBQWpELGVBQWU7dUJBQUMscUJBQXFCO2dCQUdWLFdBQVc7c0JBQXRDLFlBQVk7dUJBQUMsWUFBWTtnQkFLMUIsT0FBTztzQkFITixXQUFXO3VCQUFDLGFBQWE7O3NCQUN6QixXQUFXO3VCQUFDLGFBQWE7O3NCQUN6QixXQUFXO3VCQUFDLGNBQWM7Z0JBcUQzQixXQUFXO3NCQURWLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBeUM5QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBIb3N0QmluZGluZywgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJhZ09wZXJhdGlvbiwgRURyYWdPcGVyYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RyYWctb3BlcmF0aW9uJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBCc1NwbGl0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi9zcGxpdC1wYW5lbC9zcGxpdC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvZGlyZWN0aW9uLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1zcGxpdHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGxpdHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwbGl0dGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzU3BsaXR0ZXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGlyZWN0aW9uQ2xhc3MkID0gdGhpcy5vcmllbnRhdGlvbiQucGlwZShtYXAoKG9yaWVudGF0aW9uKSA9PiB7XG4gICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgICAgIGNhc2UgJ2hvcml6b250YWwnOiByZXR1cm4gJ2ZsZXgtcm93JztcbiAgICAgICAgY2FzZSAndmVydGljYWwnOiByZXR1cm4gJ2ZsZXgtY29sdW1uJztcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgdGhpcy5zcGxpdHRlckNsYXNzJCA9IHRoaXMub3JpZW50YXRpb24kLnBpcGUobWFwKChvcmllbnRhdGlvbikgPT4ge1xuICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICBjYXNlICdob3Jpem9udGFsJzogcmV0dXJuICdzcGxpdC1ob3InO1xuICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6IHJldHVybiAnc3BsaXQtdmVyJztcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgdGhpcy53aWR0aFN0eWxlcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9yaWVudGF0aW9uJCwgdGhpcy5wcmV2aWV3U2l6ZXMkLCB0aGlzLnBhbmVscyRdKVxuICAgICAgLnBpcGUobWFwKChbb3JpZW50YXRpb24sIHByZXZpZXdTaXplcywgcGFuZWxzXSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgICAgICBpZiAocHJldmlld1NpemVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkocGFuZWxzLmxlbmd0aCkua2V5cygpXS5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaSA8IHByZXZpZXdTaXplcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aWV3U2l6ZXNbaV0gKyAncHgnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gQXJyYXkocGFuZWxzLmxlbmd0aCkubWFwKCh2LCBpKSA9PiAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gICAgdGhpcy5oZWlnaHRTdHlsZXMkID0gIGNvbWJpbmVMYXRlc3QoW3RoaXMub3JpZW50YXRpb24kLCB0aGlzLnByZXZpZXdTaXplcyQsIHRoaXMucGFuZWxzJF0pXG4gICAgICAucGlwZShtYXAoKFtvcmllbnRhdGlvbiwgcHJldmlld1NpemVzLCBwYW5lbHNdKSA9PiB7XG4gICAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgICBjYXNlICdob3Jpem9udGFsJzpcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcbiAgICAgICAgICAgIGlmIChwcmV2aWV3U2l6ZXMpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFsuLi5BcnJheShwYW5lbHMubGVuZ3RoKS5rZXlzKCldLm1hcCgodiwgaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpIDwgcHJldmlld1NpemVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpZXdTaXplc1tpXSArICdweCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAnMTAwJSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBBcnJheShwYW5lbHMubGVuZ3RoKS5tYXAoKHYsIGkpID0+ICcxMDAlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBPcmllbnRhdGlvblxuICBvcmllbnRhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpcmVjdGlvbj4oJ2hvcml6b250YWwnKTtcbiAgcHVibGljIGdldCBvcmllbnRhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBvcmllbnRhdGlvbih2YWx1ZTogRGlyZWN0aW9uKSB7XG4gICAgdGhpcy5vcmllbnRhdGlvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgcHJldmlld1NpemVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10gfCBudWxsPihudWxsKTtcblxuICBwYW5lbHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCc1NwbGl0UGFuZWxDb21wb25lbnRbXT4oW10pO1xuICBAQ29udGVudENoaWxkcmVuKEJzU3BsaXRQYW5lbENvbXBvbmVudCkgc2V0IHBhbmVscyh2YWx1ZTogUXVlcnlMaXN0PEJzU3BsaXRQYW5lbENvbXBvbmVudD4pIHtcbiAgICB0aGlzLnBhbmVscyQubmV4dCh2YWx1ZS50b0FycmF5KCkpO1xuICB9XG4gIEBWaWV3Q2hpbGRyZW4oJ3NwbGl0UGFuZWwnKSBzcGxpdFBhbmVscyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XG4gIFxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnctMTAwJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oLTEwMCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1mbGV4JylcbiAgY2xhc3NlcyA9IHRydWU7XG5cbiAgZGlyZWN0aW9uQ2xhc3MkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHNwbGl0dGVyQ2xhc3MkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIHdpZHRoU3R5bGVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IG51bGw+O1xuICBoZWlnaHRTdHlsZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdIHwgbnVsbD47XG4gIGlzUmVzaXppbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIG9wZXJhdGlvbjogRHJhZ09wZXJhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbXB1dGVTaXplcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IHNpemVzID0gdGhpcy5zcGxpdFBhbmVsc1xuICAgICAgICAubWFwKChzcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNwLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIHN3aXRjaCAodGhpcy5vcmllbnRhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6IHJldHVybiBzdHlsZXMud2lkdGg7XG4gICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6IHJldHVybiBzdHlsZXMuaGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoc2l6ZSkgPT4gc2l6ZS5zbGljZSgwLCAtMikpXG4gICAgICAgIC5tYXAoKHNpemUpID0+IHBhcnNlRmxvYXQoc2l6ZSkpO1xuICAgICAgcmV0dXJuIHNpemVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zcGxpdFBhbmVscy5tYXAocCA9PiA1MCk7XG4gICAgfVxuICB9XG4gIFxuICBzdGFydFJlc2l6ZU1vdXNlKGV2OiBNb3VzZUV2ZW50LCBpbmRleEJlZm9yZTogbnVtYmVyLCBpbmRleEFmdGVyOiBudW1iZXIpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RhcnRSZXNpemUoaW5kZXhCZWZvcmUsIGluZGV4QWZ0ZXIsIHsgeDogZXYuY2xpZW50WCwgeTogZXYuY2xpZW50WSB9KTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXplVG91Y2goZXY6IFRvdWNoRXZlbnQsIGluZGV4QmVmb3JlOiBudW1iZXIsIGluZGV4QWZ0ZXI6IG51bWJlcikge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zdGFydFJlc2l6ZShpbmRleEJlZm9yZSwgaW5kZXhBZnRlciwgeyB4OiBldi50b3VjaGVzWzBdLmNsaWVudFgsIHk6IGV2LnRvdWNoZXNbMF0uY2xpZW50WSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRSZXNpemUoaW5kZXhCZWZvcmU6IG51bWJlciwgaW5kZXhBZnRlcjogbnVtYmVyLCBwdDogUG9pbnQpIHtcbiAgICBjb25zdCBzaXplcyA9IHRoaXMuY29tcHV0ZVNpemVzKCk7XG4gICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc2l6ZXMpO1xuICAgIHRoaXMub3BlcmF0aW9uID0ge1xuICAgICAgb3BlcmF0aW9uOiBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcixcbiAgICAgIHN0YXJ0UG9zaXRpb246IHB0LFxuICAgICAgc2l6ZXMsXG4gICAgICBpbmRleEJlZm9yZSxcbiAgICAgIGluZGV4QWZ0ZXIsXG4gICAgfTtcblxuICAgIHRoaXMuaXNSZXNpemluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5vblJlc2l6ZU1vdmUoeyB4OiBldi5jbGllbnRYLCB5OiBldi5jbGllbnRZIH0pO1xuICB9XG5cbiAgb25Ub3VjaE1vdmUoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplTW92ZSh7IHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCwgeTogZXYudG91Y2hlc1swXS5jbGllbnRZIH0pO1xuICB9XG5cbiAgb25SZXNpemVNb3ZlKHB0OiBQb2ludCkge1xuICAgIGlmICh0aGlzLm9wZXJhdGlvbikge1xuICAgICAgc3dpdGNoICh0aGlzLm9wZXJhdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgY2FzZSBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcjoge1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMub3JpZW50YXRpb24kXSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbb3JpZW50YXRpb25dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YVggPSBwdC54IC0gdGhpcy5vcGVyYXRpb24uc3RhcnRQb3NpdGlvbi54O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzeCA9IEFycmF5LmZyb20odGhpcy5vcGVyYXRpb24uc2l6ZXMpO1xuICAgICAgICAgICAgICAgICAgICBzeFt0aGlzLm9wZXJhdGlvbi5pbmRleEJlZm9yZV0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEJlZm9yZV0gKyBkZWx0YVg7XG4gICAgICAgICAgICAgICAgICAgIHN4W3RoaXMub3BlcmF0aW9uLmluZGV4QWZ0ZXJdID0gdGhpcy5vcGVyYXRpb24uc2l6ZXNbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gLSBkZWx0YVg7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlld1NpemVzJC5uZXh0KHN4KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IHB0LnkgLSB0aGlzLm9wZXJhdGlvbi5zdGFydFBvc2l0aW9uLnk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN5ID0gQXJyYXkuZnJvbSh0aGlzLm9wZXJhdGlvbi5zaXplcyk7XG4gICAgICAgICAgICAgICAgICAgIHN5W3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSA9IHRoaXMub3BlcmF0aW9uLnNpemVzW3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSArIGRlbHRhWTtcbiAgICAgICAgICAgICAgICAgICAgc3lbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEFmdGVyXSAtIGRlbHRhWTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc3kpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9IGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICBvbk1vdXNlVXAoZXY6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplVXAoKTtcbiAgfVxuXG4gIG9uVG91Y2hFbmQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplVXAoKTtcbiAgfVxuXG4gIG9uUmVzaXplVXAoKSB7XG4gICAgdGhpcy5pc1Jlc2l6aW5nJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLm9wZXJhdGlvbiA9IG51bGw7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggdy0xMDBcIiBbY2xhc3NdPVwiW2RpcmVjdGlvbkNsYXNzJCB8IGFzeW5jLCBzcGxpdHRlckNsYXNzJCB8IGFzeW5jXVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwYW5lbCBvZiAocGFuZWxzJCB8IGFzeW5jKTsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIih3aWR0aFN0eWxlcyQgfCBhc3luYykgYXMgd2lkdGhTdHlsZXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmJzTGV0PVwiKGhlaWdodFN0eWxlcyQgfCBhc3luYykgYXMgaGVpZ2h0U3R5bGVzXCI+XG4gICAgICAgICAgICAgICAgPCEtLSAgW3N0eWxlLndpZHRoLiVdPVwiMTAwXCIgW3N0eWxlLmhlaWdodC4lXT1cIjEwMFwiIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGxpdC1wYW5lbCBvdmVyZmxvdy1oaWRkZW5cIiBbY2xhc3MuZmxleC1ub25lXT1cImlzUmVzaXppbmckIHwgYXN5bmNcIiAjc3BsaXRQYW5lbCBbc3R5bGUud2lkdGhdPVwid2lkdGhTdHlsZXMgfCBic0VsZW1lbnRBdDppbmRleFwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0U3R5bGVzIHwgYnNFbGVtZW50QXQ6aW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwicGFuZWwucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIiAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXplTW91c2UoJGV2ZW50LCBpbmRleCwgaW5kZXggKyAxKVwiICh0b3VjaHN0YXJ0KT1cInN0YXJ0UmVzaXplVG91Y2goJGV2ZW50LCBpbmRleCwgaW5kZXggKyAxKVwiICh0b3VjaG1vdmUpPVwib25Ub3VjaE1vdmUoJGV2ZW50KVwiICh0b3VjaGVuZCk9XCJvblRvdWNoRW5kKCRldmVudClcIiAqbmdJZj1cIiFsYXN0XCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
|
|
@@ -141,13 +141,20 @@ class BsSplitterComponent {
|
|
|
141
141
|
return this.splitPanels.map(p => 50);
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
|
|
144
|
+
startResizeMouse(ev, indexBefore, indexAfter) {
|
|
145
145
|
ev.preventDefault();
|
|
146
|
+
this.startResize(indexBefore, indexAfter, { x: ev.clientX, y: ev.clientY });
|
|
147
|
+
}
|
|
148
|
+
startResizeTouch(ev, indexBefore, indexAfter) {
|
|
149
|
+
ev.preventDefault();
|
|
150
|
+
this.startResize(indexBefore, indexAfter, { x: ev.touches[0].clientX, y: ev.touches[0].clientY });
|
|
151
|
+
}
|
|
152
|
+
startResize(indexBefore, indexAfter, pt) {
|
|
146
153
|
const sizes = this.computeSizes();
|
|
147
154
|
this.previewSizes$.next(sizes);
|
|
148
155
|
this.operation = {
|
|
149
156
|
operation: EDragOperation.resizeSplitter,
|
|
150
|
-
startPosition:
|
|
157
|
+
startPosition: pt,
|
|
151
158
|
sizes,
|
|
152
159
|
indexBefore,
|
|
153
160
|
indexAfter,
|
|
@@ -155,6 +162,12 @@ class BsSplitterComponent {
|
|
|
155
162
|
this.isResizing$.next(true);
|
|
156
163
|
}
|
|
157
164
|
onMouseMove(ev) {
|
|
165
|
+
this.onResizeMove({ x: ev.clientX, y: ev.clientY });
|
|
166
|
+
}
|
|
167
|
+
onTouchMove(ev) {
|
|
168
|
+
this.onResizeMove({ x: ev.touches[0].clientX, y: ev.touches[0].clientY });
|
|
169
|
+
}
|
|
170
|
+
onResizeMove(pt) {
|
|
158
171
|
if (this.operation) {
|
|
159
172
|
switch (this.operation.operation) {
|
|
160
173
|
case EDragOperation.resizeSplitter:
|
|
@@ -165,14 +178,14 @@ class BsSplitterComponent {
|
|
|
165
178
|
if (this.operation) {
|
|
166
179
|
switch (orientation) {
|
|
167
180
|
case 'horizontal':
|
|
168
|
-
const deltaX =
|
|
181
|
+
const deltaX = pt.x - this.operation.startPosition.x;
|
|
169
182
|
const sx = Array.from(this.operation.sizes);
|
|
170
183
|
sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;
|
|
171
184
|
sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;
|
|
172
185
|
this.previewSizes$.next(sx);
|
|
173
186
|
break;
|
|
174
187
|
case 'vertical':
|
|
175
|
-
const deltaY =
|
|
188
|
+
const deltaY = pt.y - this.operation.startPosition.y;
|
|
176
189
|
const sy = Array.from(this.operation.sizes);
|
|
177
190
|
sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;
|
|
178
191
|
sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;
|
|
@@ -187,15 +200,21 @@ class BsSplitterComponent {
|
|
|
187
200
|
}
|
|
188
201
|
}
|
|
189
202
|
onMouseUp(ev) {
|
|
203
|
+
this.onResizeUp();
|
|
204
|
+
}
|
|
205
|
+
onTouchEnd(ev) {
|
|
206
|
+
this.onResizeUp();
|
|
207
|
+
}
|
|
208
|
+
onResizeUp() {
|
|
190
209
|
this.isResizing$.next(false);
|
|
191
210
|
this.operation = null;
|
|
192
211
|
}
|
|
193
212
|
}
|
|
194
213
|
BsSplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BsSplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
195
|
-
BsSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"
|
|
214
|
+
BsSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".split-panel{flex-grow:1}.divider{background-color:#eee;background-position:center center;background-repeat:no-repeat;flex-shrink:0;transition:background-color .15s ease-in-out}.divider:hover{background-color:#1389fd;border-radius:4px}.split-hor .divider{width:8px;height:100%;cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-ver .divider{width:100%;height:8px;cursor:row-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.flex-none{flex:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: BsElementAtPipe, name: "bsElementAt" }] });
|
|
196
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BsSplitterComponent, decorators: [{
|
|
197
216
|
type: Component,
|
|
198
|
-
args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"
|
|
217
|
+
args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".split-panel{flex-grow:1}.divider{background-color:#eee;background-position:center center;background-repeat:no-repeat;flex-shrink:0;transition:background-color .15s ease-in-out}.divider:hover{background-color:#1389fd;border-radius:4px}.split-hor .divider{width:8px;height:100%;cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-ver .divider{width:100%;height:8px;cursor:row-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.flex-none{flex:none}\n"] }]
|
|
199
218
|
}], ctorParameters: function () { return []; }, propDecorators: { orientation: [{
|
|
200
219
|
type: Input
|
|
201
220
|
}], panels: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-splitter.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/splitter/src/interfaces/drag-operation.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/element-at/element-at.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter.module.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/mintplayer-ng-bootstrap-splitter.ts"],"sourcesContent":["import { Point } from \"./point\";\n\nexport interface DragOperation {\n operation: EDragOperation;\n startPosition: Point;\n sizes: number[];\n indexBefore: number;\n indexAfter: number;\n}\n\nexport enum EDragOperation {\n none,\n resizeSplitter,\n}","import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-split-panel',\n templateUrl: './split-panel.component.html',\n styleUrls: ['./split-panel.component.scss'],\n})\nexport class BsSplitPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef) {}\n\n portal?: DomPortal;\n\n ngAfterViewInit() {\n setTimeout(() => this.portal = new DomPortal(this.element.nativeElement), 10);\n }\n}\n","<div class=\"w-100 h-100\">\n <ng-content></ng-content>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsElementAt'\n})\nexport class BsElementAtPipe implements PipeTransform {\n\n transform(value: any[] | null | undefined, index: number) {\n if (value) {\n console.log('bsElementAt', {value, index});\n return value[index];\n } else {\n return null;\n }\n }\n\n}\n","import { Component, Input, ContentChildren, QueryList, ElementRef, HostListener, HostBinding, ViewChildren } from '@angular/core';\nimport { BehaviorSubject, map, combineLatest, Observable, take } from 'rxjs';\nimport { DragOperation, EDragOperation } from '../interfaces/drag-operation';\nimport { BsSplitPanelComponent } from '../split-panel/split-panel.component';\nimport { Direction } from '../types/direction.type';\n\n@Component({\n selector: 'bs-splitter',\n templateUrl: './splitter.component.html',\n styleUrls: ['./splitter.component.scss'],\n})\nexport class BsSplitterComponent {\n\n constructor() {\n this.directionClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'flex-row';\n case 'vertical': return 'flex-column';\n }\n }));\n this.splitterClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'split-hor';\n case 'vertical': return 'split-ver';\n }\n }));\n this.widthStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n case 'vertical':\n return null;\n }\n }));\n this.heightStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n return null;\n case 'vertical':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n }\n }));\n }\n\n //#region Orientation\n orientation$ = new BehaviorSubject<Direction>('horizontal');\n public get orientation() {\n return this.orientation$.value;\n }\n @Input() public set orientation(value: Direction) {\n this.orientation$.next(value);\n }\n //#endregion\n\n previewSizes$ = new BehaviorSubject<number[] | null>(null);\n\n panels$ = new BehaviorSubject<BsSplitPanelComponent[]>([]);\n @ContentChildren(BsSplitPanelComponent) set panels(value: QueryList<BsSplitPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n @ViewChildren('splitPanel') splitPanels!: QueryList<ElementRef<HTMLDivElement>>;\n \n @HostBinding('class.w-100')\n @HostBinding('class.h-100')\n @HostBinding('class.d-flex')\n classes = true;\n\n directionClass$: Observable<string>;\n splitterClass$: Observable<string>;\n widthStyles$: Observable<string[] | null>;\n heightStyles$: Observable<string[] | null>;\n isResizing$ = new BehaviorSubject<boolean>(false);\n operation: DragOperation | null = null;\n\n computeSizes() {\n if (typeof window !== 'undefined') {\n const sizes = this.splitPanels\n .map((sp) => {\n const styles = window.getComputedStyle(sp.nativeElement);\n switch (this.orientation) {\n case 'horizontal': return styles.width;\n case 'vertical': return styles.height;\n }\n })\n .map((size) => size.slice(0, -2))\n .map((size) => parseFloat(size));\n return sizes;\n } else {\n return this.splitPanels.map(p => 50);\n }\n }\n \n startResize(ev: MouseEvent, indexBefore: number, indexAfter: number) {\n ev.preventDefault();\n const sizes = this.computeSizes();\n this.previewSizes$.next(sizes);\n this.operation = {\n operation: EDragOperation.resizeSplitter,\n startPosition: { x: ev.clientX, y: ev.clientY },\n sizes,\n indexBefore,\n indexAfter,\n };\n\n this.isResizing$.next(true);\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMouseMove(ev: MouseEvent) {\n if (this.operation) {\n switch (this.operation.operation) {\n case EDragOperation.resizeSplitter: {\n combineLatest([this.orientation$])\n .pipe(take(1))\n .subscribe(([orientation]) => {\n if (this.operation) {\n switch (orientation) {\n case 'horizontal':\n const deltaX = ev.clientX - this.operation.startPosition.x;\n const sx = Array.from(this.operation.sizes);\n sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;\n sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;\n this.previewSizes$.next(sx);\n break;\n case 'vertical':\n const deltaY = ev.clientY - this.operation.startPosition.y;\n const sy = Array.from(this.operation.sizes);\n sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;\n sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;\n this.previewSizes$.next(sy);\n break;\n }\n }\n })\n } break;\n }\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(ev: MouseEvent) {\n this.isResizing$.next(false);\n this.operation = null;\n }\n}\n","<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResize($event, index, index + 1)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsSplitterComponent } from './splitter/splitter.component';\nimport { BsSplitPanelComponent } from './split-panel/split-panel.component';\nimport { BsElementAtPipe } from './element-at/element-at.pipe';\n\n@NgModule({\n declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n imports: [CommonModule, PortalModule, BsLetModule],\n exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n})\nexport class BsSplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.BsElementAtPipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-splitter.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/splitter/src/interfaces/drag-operation.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/element-at/element-at.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter.module.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/mintplayer-ng-bootstrap-splitter.ts"],"sourcesContent":["import { Point } from \"./point\";\n\nexport interface DragOperation {\n operation: EDragOperation;\n startPosition: Point;\n sizes: number[];\n indexBefore: number;\n indexAfter: number;\n}\n\nexport enum EDragOperation {\n none,\n resizeSplitter,\n}","import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-split-panel',\n templateUrl: './split-panel.component.html',\n styleUrls: ['./split-panel.component.scss'],\n})\nexport class BsSplitPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef) {}\n\n portal?: DomPortal;\n\n ngAfterViewInit() {\n setTimeout(() => this.portal = new DomPortal(this.element.nativeElement), 10);\n }\n}\n","<div class=\"w-100 h-100\">\n <ng-content></ng-content>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsElementAt'\n})\nexport class BsElementAtPipe implements PipeTransform {\n\n transform(value: any[] | null | undefined, index: number) {\n if (value) {\n console.log('bsElementAt', {value, index});\n return value[index];\n } else {\n return null;\n }\n }\n\n}\n","import { Component, Input, ContentChildren, QueryList, ElementRef, HostListener, HostBinding, ViewChildren } from '@angular/core';\nimport { BehaviorSubject, map, combineLatest, Observable, take } from 'rxjs';\nimport { DragOperation, EDragOperation } from '../interfaces/drag-operation';\nimport { Point } from '../interfaces/point';\nimport { BsSplitPanelComponent } from '../split-panel/split-panel.component';\nimport { Direction } from '../types/direction.type';\n\n@Component({\n selector: 'bs-splitter',\n templateUrl: './splitter.component.html',\n styleUrls: ['./splitter.component.scss'],\n})\nexport class BsSplitterComponent {\n\n constructor() {\n this.directionClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'flex-row';\n case 'vertical': return 'flex-column';\n }\n }));\n this.splitterClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'split-hor';\n case 'vertical': return 'split-ver';\n }\n }));\n this.widthStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n case 'vertical':\n return null;\n }\n }));\n this.heightStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n return null;\n case 'vertical':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n }\n }));\n }\n\n //#region Orientation\n orientation$ = new BehaviorSubject<Direction>('horizontal');\n public get orientation() {\n return this.orientation$.value;\n }\n @Input() public set orientation(value: Direction) {\n this.orientation$.next(value);\n }\n //#endregion\n\n previewSizes$ = new BehaviorSubject<number[] | null>(null);\n\n panels$ = new BehaviorSubject<BsSplitPanelComponent[]>([]);\n @ContentChildren(BsSplitPanelComponent) set panels(value: QueryList<BsSplitPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n @ViewChildren('splitPanel') splitPanels!: QueryList<ElementRef<HTMLDivElement>>;\n \n @HostBinding('class.w-100')\n @HostBinding('class.h-100')\n @HostBinding('class.d-flex')\n classes = true;\n\n directionClass$: Observable<string>;\n splitterClass$: Observable<string>;\n widthStyles$: Observable<string[] | null>;\n heightStyles$: Observable<string[] | null>;\n isResizing$ = new BehaviorSubject<boolean>(false);\n operation: DragOperation | null = null;\n\n computeSizes() {\n if (typeof window !== 'undefined') {\n const sizes = this.splitPanels\n .map((sp) => {\n const styles = window.getComputedStyle(sp.nativeElement);\n switch (this.orientation) {\n case 'horizontal': return styles.width;\n case 'vertical': return styles.height;\n }\n })\n .map((size) => size.slice(0, -2))\n .map((size) => parseFloat(size));\n return sizes;\n } else {\n return this.splitPanels.map(p => 50);\n }\n }\n \n startResizeMouse(ev: MouseEvent, indexBefore: number, indexAfter: number) {\n ev.preventDefault();\n this.startResize(indexBefore, indexAfter, { x: ev.clientX, y: ev.clientY });\n }\n\n startResizeTouch(ev: TouchEvent, indexBefore: number, indexAfter: number) {\n ev.preventDefault();\n this.startResize(indexBefore, indexAfter, { x: ev.touches[0].clientX, y: ev.touches[0].clientY });\n }\n\n private startResize(indexBefore: number, indexAfter: number, pt: Point) {\n const sizes = this.computeSizes();\n this.previewSizes$.next(sizes);\n this.operation = {\n operation: EDragOperation.resizeSplitter,\n startPosition: pt,\n sizes,\n indexBefore,\n indexAfter,\n };\n\n this.isResizing$.next(true);\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMouseMove(ev: MouseEvent) {\n this.onResizeMove({ x: ev.clientX, y: ev.clientY });\n }\n\n onTouchMove(ev: TouchEvent) {\n this.onResizeMove({ x: ev.touches[0].clientX, y: ev.touches[0].clientY });\n }\n\n onResizeMove(pt: Point) {\n if (this.operation) {\n switch (this.operation.operation) {\n case EDragOperation.resizeSplitter: {\n combineLatest([this.orientation$])\n .pipe(take(1))\n .subscribe(([orientation]) => {\n if (this.operation) {\n switch (orientation) {\n case 'horizontal':\n const deltaX = pt.x - this.operation.startPosition.x;\n const sx = Array.from(this.operation.sizes);\n sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;\n sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;\n this.previewSizes$.next(sx);\n break;\n case 'vertical':\n const deltaY = pt.y - this.operation.startPosition.y;\n const sy = Array.from(this.operation.sizes);\n sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;\n sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;\n this.previewSizes$.next(sy);\n break;\n }\n }\n })\n } break;\n }\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(ev: MouseEvent) {\n this.onResizeUp();\n }\n\n onTouchEnd(ev: TouchEvent) {\n this.onResizeUp();\n }\n\n onResizeUp() {\n this.isResizing$.next(false);\n this.operation = null;\n }\n}\n","<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsSplitterComponent } from './splitter/splitter.component';\nimport { BsSplitPanelComponent } from './split-panel/split-panel.component';\nimport { BsElementAtPipe } from './element-at/element-at.pipe';\n\n@NgModule({\n declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n imports: [CommonModule, PortalModule, BsLetModule],\n exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n})\nexport class BsSplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.BsElementAtPipe"],"mappings":"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"}
|
|
@@ -141,13 +141,20 @@ class BsSplitterComponent {
|
|
|
141
141
|
return this.splitPanels.map(p => 50);
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
|
|
144
|
+
startResizeMouse(ev, indexBefore, indexAfter) {
|
|
145
145
|
ev.preventDefault();
|
|
146
|
+
this.startResize(indexBefore, indexAfter, { x: ev.clientX, y: ev.clientY });
|
|
147
|
+
}
|
|
148
|
+
startResizeTouch(ev, indexBefore, indexAfter) {
|
|
149
|
+
ev.preventDefault();
|
|
150
|
+
this.startResize(indexBefore, indexAfter, { x: ev.touches[0].clientX, y: ev.touches[0].clientY });
|
|
151
|
+
}
|
|
152
|
+
startResize(indexBefore, indexAfter, pt) {
|
|
146
153
|
const sizes = this.computeSizes();
|
|
147
154
|
this.previewSizes$.next(sizes);
|
|
148
155
|
this.operation = {
|
|
149
156
|
operation: EDragOperation.resizeSplitter,
|
|
150
|
-
startPosition:
|
|
157
|
+
startPosition: pt,
|
|
151
158
|
sizes,
|
|
152
159
|
indexBefore,
|
|
153
160
|
indexAfter,
|
|
@@ -155,6 +162,12 @@ class BsSplitterComponent {
|
|
|
155
162
|
this.isResizing$.next(true);
|
|
156
163
|
}
|
|
157
164
|
onMouseMove(ev) {
|
|
165
|
+
this.onResizeMove({ x: ev.clientX, y: ev.clientY });
|
|
166
|
+
}
|
|
167
|
+
onTouchMove(ev) {
|
|
168
|
+
this.onResizeMove({ x: ev.touches[0].clientX, y: ev.touches[0].clientY });
|
|
169
|
+
}
|
|
170
|
+
onResizeMove(pt) {
|
|
158
171
|
if (this.operation) {
|
|
159
172
|
switch (this.operation.operation) {
|
|
160
173
|
case EDragOperation.resizeSplitter:
|
|
@@ -165,14 +178,14 @@ class BsSplitterComponent {
|
|
|
165
178
|
if (this.operation) {
|
|
166
179
|
switch (orientation) {
|
|
167
180
|
case 'horizontal':
|
|
168
|
-
const deltaX =
|
|
181
|
+
const deltaX = pt.x - this.operation.startPosition.x;
|
|
169
182
|
const sx = Array.from(this.operation.sizes);
|
|
170
183
|
sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;
|
|
171
184
|
sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;
|
|
172
185
|
this.previewSizes$.next(sx);
|
|
173
186
|
break;
|
|
174
187
|
case 'vertical':
|
|
175
|
-
const deltaY =
|
|
188
|
+
const deltaY = pt.y - this.operation.startPosition.y;
|
|
176
189
|
const sy = Array.from(this.operation.sizes);
|
|
177
190
|
sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;
|
|
178
191
|
sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;
|
|
@@ -187,15 +200,21 @@ class BsSplitterComponent {
|
|
|
187
200
|
}
|
|
188
201
|
}
|
|
189
202
|
onMouseUp(ev) {
|
|
203
|
+
this.onResizeUp();
|
|
204
|
+
}
|
|
205
|
+
onTouchEnd(ev) {
|
|
206
|
+
this.onResizeUp();
|
|
207
|
+
}
|
|
208
|
+
onResizeUp() {
|
|
190
209
|
this.isResizing$.next(false);
|
|
191
210
|
this.operation = null;
|
|
192
211
|
}
|
|
193
212
|
}
|
|
194
213
|
BsSplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BsSplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
195
|
-
BsSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"
|
|
214
|
+
BsSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".split-panel{flex-grow:1}.divider{background-color:#eee;background-position:center center;background-repeat:no-repeat;flex-shrink:0;transition:background-color .15s ease-in-out}.divider:hover{background-color:#1389fd;border-radius:4px}.split-hor .divider{width:8px;height:100%;cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-ver .divider{width:100%;height:8px;cursor:row-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.flex-none{flex:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: BsElementAtPipe, name: "bsElementAt" }] });
|
|
196
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BsSplitterComponent, decorators: [{
|
|
197
216
|
type: Component,
|
|
198
|
-
args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"
|
|
217
|
+
args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".split-panel{flex-grow:1}.divider{background-color:#eee;background-position:center center;background-repeat:no-repeat;flex-shrink:0;transition:background-color .15s ease-in-out}.divider:hover{background-color:#1389fd;border-radius:4px}.split-hor .divider{width:8px;height:100%;cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-ver .divider{width:100%;height:8px;cursor:row-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.flex-none{flex:none}\n"] }]
|
|
199
218
|
}], ctorParameters: function () { return []; }, propDecorators: { orientation: [{
|
|
200
219
|
type: Input
|
|
201
220
|
}], panels: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-splitter.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/splitter/src/interfaces/drag-operation.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/element-at/element-at.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter.module.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/mintplayer-ng-bootstrap-splitter.ts"],"sourcesContent":["import { Point } from \"./point\";\n\nexport interface DragOperation {\n operation: EDragOperation;\n startPosition: Point;\n sizes: number[];\n indexBefore: number;\n indexAfter: number;\n}\n\nexport enum EDragOperation {\n none,\n resizeSplitter,\n}","import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-split-panel',\n templateUrl: './split-panel.component.html',\n styleUrls: ['./split-panel.component.scss'],\n})\nexport class BsSplitPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef) {}\n\n portal?: DomPortal;\n\n ngAfterViewInit() {\n setTimeout(() => this.portal = new DomPortal(this.element.nativeElement), 10);\n }\n}\n","<div class=\"w-100 h-100\">\n <ng-content></ng-content>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsElementAt'\n})\nexport class BsElementAtPipe implements PipeTransform {\n\n transform(value: any[] | null | undefined, index: number) {\n if (value) {\n console.log('bsElementAt', {value, index});\n return value[index];\n } else {\n return null;\n }\n }\n\n}\n","import { Component, Input, ContentChildren, QueryList, ElementRef, HostListener, HostBinding, ViewChildren } from '@angular/core';\nimport { BehaviorSubject, map, combineLatest, Observable, take } from 'rxjs';\nimport { DragOperation, EDragOperation } from '../interfaces/drag-operation';\nimport { BsSplitPanelComponent } from '../split-panel/split-panel.component';\nimport { Direction } from '../types/direction.type';\n\n@Component({\n selector: 'bs-splitter',\n templateUrl: './splitter.component.html',\n styleUrls: ['./splitter.component.scss'],\n})\nexport class BsSplitterComponent {\n\n constructor() {\n this.directionClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'flex-row';\n case 'vertical': return 'flex-column';\n }\n }));\n this.splitterClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'split-hor';\n case 'vertical': return 'split-ver';\n }\n }));\n this.widthStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n case 'vertical':\n return null;\n }\n }));\n this.heightStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n return null;\n case 'vertical':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n }\n }));\n }\n\n //#region Orientation\n orientation$ = new BehaviorSubject<Direction>('horizontal');\n public get orientation() {\n return this.orientation$.value;\n }\n @Input() public set orientation(value: Direction) {\n this.orientation$.next(value);\n }\n //#endregion\n\n previewSizes$ = new BehaviorSubject<number[] | null>(null);\n\n panels$ = new BehaviorSubject<BsSplitPanelComponent[]>([]);\n @ContentChildren(BsSplitPanelComponent) set panels(value: QueryList<BsSplitPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n @ViewChildren('splitPanel') splitPanels!: QueryList<ElementRef<HTMLDivElement>>;\n \n @HostBinding('class.w-100')\n @HostBinding('class.h-100')\n @HostBinding('class.d-flex')\n classes = true;\n\n directionClass$: Observable<string>;\n splitterClass$: Observable<string>;\n widthStyles$: Observable<string[] | null>;\n heightStyles$: Observable<string[] | null>;\n isResizing$ = new BehaviorSubject<boolean>(false);\n operation: DragOperation | null = null;\n\n computeSizes() {\n if (typeof window !== 'undefined') {\n const sizes = this.splitPanels\n .map((sp) => {\n const styles = window.getComputedStyle(sp.nativeElement);\n switch (this.orientation) {\n case 'horizontal': return styles.width;\n case 'vertical': return styles.height;\n }\n })\n .map((size) => size.slice(0, -2))\n .map((size) => parseFloat(size));\n return sizes;\n } else {\n return this.splitPanels.map(p => 50);\n }\n }\n \n startResize(ev: MouseEvent, indexBefore: number, indexAfter: number) {\n ev.preventDefault();\n const sizes = this.computeSizes();\n this.previewSizes$.next(sizes);\n this.operation = {\n operation: EDragOperation.resizeSplitter,\n startPosition: { x: ev.clientX, y: ev.clientY },\n sizes,\n indexBefore,\n indexAfter,\n };\n\n this.isResizing$.next(true);\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMouseMove(ev: MouseEvent) {\n if (this.operation) {\n switch (this.operation.operation) {\n case EDragOperation.resizeSplitter: {\n combineLatest([this.orientation$])\n .pipe(take(1))\n .subscribe(([orientation]) => {\n if (this.operation) {\n switch (orientation) {\n case 'horizontal':\n const deltaX = ev.clientX - this.operation.startPosition.x;\n const sx = Array.from(this.operation.sizes);\n sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;\n sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;\n this.previewSizes$.next(sx);\n break;\n case 'vertical':\n const deltaY = ev.clientY - this.operation.startPosition.y;\n const sy = Array.from(this.operation.sizes);\n sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;\n sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;\n this.previewSizes$.next(sy);\n break;\n }\n }\n })\n } break;\n }\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(ev: MouseEvent) {\n this.isResizing$.next(false);\n this.operation = null;\n }\n}\n","<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResize($event, index, index + 1)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsSplitterComponent } from './splitter/splitter.component';\nimport { BsSplitPanelComponent } from './split-panel/split-panel.component';\nimport { BsElementAtPipe } from './element-at/element-at.pipe';\n\n@NgModule({\n declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n imports: [CommonModule, PortalModule, BsLetModule],\n exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n})\nexport class BsSplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.BsElementAtPipe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-splitter.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/splitter/src/interfaces/drag-operation.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/split-panel/split-panel.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/element-at/element-at.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter/splitter.component.html","../../../../libs/mintplayer-ng-bootstrap/splitter/src/splitter.module.ts","../../../../libs/mintplayer-ng-bootstrap/splitter/mintplayer-ng-bootstrap-splitter.ts"],"sourcesContent":["import { Point } from \"./point\";\n\nexport interface DragOperation {\n operation: EDragOperation;\n startPosition: Point;\n sizes: number[];\n indexBefore: number;\n indexAfter: number;\n}\n\nexport enum EDragOperation {\n none,\n resizeSplitter,\n}","import { DomPortal } from '@angular/cdk/portal';\nimport { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\n\n@Component({\n selector: 'bs-split-panel',\n templateUrl: './split-panel.component.html',\n styleUrls: ['./split-panel.component.scss'],\n})\nexport class BsSplitPanelComponent implements AfterViewInit {\n constructor(private element: ElementRef) {}\n\n portal?: DomPortal;\n\n ngAfterViewInit() {\n setTimeout(() => this.portal = new DomPortal(this.element.nativeElement), 10);\n }\n}\n","<div class=\"w-100 h-100\">\n <ng-content></ng-content>\n</div>","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsElementAt'\n})\nexport class BsElementAtPipe implements PipeTransform {\n\n transform(value: any[] | null | undefined, index: number) {\n if (value) {\n console.log('bsElementAt', {value, index});\n return value[index];\n } else {\n return null;\n }\n }\n\n}\n","import { Component, Input, ContentChildren, QueryList, ElementRef, HostListener, HostBinding, ViewChildren } from '@angular/core';\nimport { BehaviorSubject, map, combineLatest, Observable, take } from 'rxjs';\nimport { DragOperation, EDragOperation } from '../interfaces/drag-operation';\nimport { Point } from '../interfaces/point';\nimport { BsSplitPanelComponent } from '../split-panel/split-panel.component';\nimport { Direction } from '../types/direction.type';\n\n@Component({\n selector: 'bs-splitter',\n templateUrl: './splitter.component.html',\n styleUrls: ['./splitter.component.scss'],\n})\nexport class BsSplitterComponent {\n\n constructor() {\n this.directionClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'flex-row';\n case 'vertical': return 'flex-column';\n }\n }));\n this.splitterClass$ = this.orientation$.pipe(map((orientation) => {\n switch (orientation) {\n case 'horizontal': return 'split-hor';\n case 'vertical': return 'split-ver';\n }\n }));\n this.widthStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n case 'vertical':\n return null;\n }\n }));\n this.heightStyles$ = combineLatest([this.orientation$, this.previewSizes$, this.panels$])\n .pipe(map(([orientation, previewSizes, panels]) => {\n switch (orientation) {\n case 'horizontal':\n return null;\n case 'vertical':\n if (previewSizes) {\n return [...Array(panels.length).keys()].map((v, i) => {\n if (i < previewSizes.length) {\n return previewSizes[i] + 'px';\n } else {\n return '100%';\n }\n });\n } else {\n return Array(panels.length).map((v, i) => '100%');\n }\n }\n }));\n }\n\n //#region Orientation\n orientation$ = new BehaviorSubject<Direction>('horizontal');\n public get orientation() {\n return this.orientation$.value;\n }\n @Input() public set orientation(value: Direction) {\n this.orientation$.next(value);\n }\n //#endregion\n\n previewSizes$ = new BehaviorSubject<number[] | null>(null);\n\n panels$ = new BehaviorSubject<BsSplitPanelComponent[]>([]);\n @ContentChildren(BsSplitPanelComponent) set panels(value: QueryList<BsSplitPanelComponent>) {\n this.panels$.next(value.toArray());\n }\n @ViewChildren('splitPanel') splitPanels!: QueryList<ElementRef<HTMLDivElement>>;\n \n @HostBinding('class.w-100')\n @HostBinding('class.h-100')\n @HostBinding('class.d-flex')\n classes = true;\n\n directionClass$: Observable<string>;\n splitterClass$: Observable<string>;\n widthStyles$: Observable<string[] | null>;\n heightStyles$: Observable<string[] | null>;\n isResizing$ = new BehaviorSubject<boolean>(false);\n operation: DragOperation | null = null;\n\n computeSizes() {\n if (typeof window !== 'undefined') {\n const sizes = this.splitPanels\n .map((sp) => {\n const styles = window.getComputedStyle(sp.nativeElement);\n switch (this.orientation) {\n case 'horizontal': return styles.width;\n case 'vertical': return styles.height;\n }\n })\n .map((size) => size.slice(0, -2))\n .map((size) => parseFloat(size));\n return sizes;\n } else {\n return this.splitPanels.map(p => 50);\n }\n }\n \n startResizeMouse(ev: MouseEvent, indexBefore: number, indexAfter: number) {\n ev.preventDefault();\n this.startResize(indexBefore, indexAfter, { x: ev.clientX, y: ev.clientY });\n }\n\n startResizeTouch(ev: TouchEvent, indexBefore: number, indexAfter: number) {\n ev.preventDefault();\n this.startResize(indexBefore, indexAfter, { x: ev.touches[0].clientX, y: ev.touches[0].clientY });\n }\n\n private startResize(indexBefore: number, indexAfter: number, pt: Point) {\n const sizes = this.computeSizes();\n this.previewSizes$.next(sizes);\n this.operation = {\n operation: EDragOperation.resizeSplitter,\n startPosition: pt,\n sizes,\n indexBefore,\n indexAfter,\n };\n\n this.isResizing$.next(true);\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMouseMove(ev: MouseEvent) {\n this.onResizeMove({ x: ev.clientX, y: ev.clientY });\n }\n\n onTouchMove(ev: TouchEvent) {\n this.onResizeMove({ x: ev.touches[0].clientX, y: ev.touches[0].clientY });\n }\n\n onResizeMove(pt: Point) {\n if (this.operation) {\n switch (this.operation.operation) {\n case EDragOperation.resizeSplitter: {\n combineLatest([this.orientation$])\n .pipe(take(1))\n .subscribe(([orientation]) => {\n if (this.operation) {\n switch (orientation) {\n case 'horizontal':\n const deltaX = pt.x - this.operation.startPosition.x;\n const sx = Array.from(this.operation.sizes);\n sx[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaX;\n sx[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaX;\n this.previewSizes$.next(sx);\n break;\n case 'vertical':\n const deltaY = pt.y - this.operation.startPosition.y;\n const sy = Array.from(this.operation.sizes);\n sy[this.operation.indexBefore] = this.operation.sizes[this.operation.indexBefore] + deltaY;\n sy[this.operation.indexAfter] = this.operation.sizes[this.operation.indexAfter] - deltaY;\n this.previewSizes$.next(sy);\n break;\n }\n }\n })\n } break;\n }\n }\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseUp(ev: MouseEvent) {\n this.onResizeUp();\n }\n\n onTouchEnd(ev: TouchEvent) {\n this.onResizeUp();\n }\n\n onResizeUp() {\n this.isResizing$.next(false);\n this.operation = null;\n }\n}\n","<div class=\"d-flex w-100\" [class]=\"[directionClass$ | async, splitterClass$ | async]\">\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsSplitterComponent } from './splitter/splitter.component';\nimport { BsSplitPanelComponent } from './split-panel/split-panel.component';\nimport { BsElementAtPipe } from './element-at/element-at.pipe';\n\n@NgModule({\n declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n imports: [CommonModule, PortalModule, BsLetModule],\n exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],\n})\nexport class BsSplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.BsElementAtPipe"],"mappings":";;;;;;;;;;AAUA,IAAY,cAGX,CAAA;AAHD,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AACJ,IAAA,cAAA,CAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAc,CAAA;AAClB,CAAC,EAHW,cAAc,KAAd,cAAc,GAGzB,EAAA,CAAA,CAAA;;MCLY,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,OAAmB,EAAA;QAAnB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;KAAI;IAI3C,eAAe,GAAA;QACb,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;KAC/E;;kHAPU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,sDCRlC,oEAEM,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,CAAA,CAAA;2FDMO,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,oEAAA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,CAAA;;;MECf,eAAe,CAAA;IAE1B,SAAS,CAAC,KAA+B,EAAE,KAAa,EAAA;AACtD,QAAA,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;AAC3C,YAAA,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;;4GATU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAAf,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA,CAAA;;;MCQY,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA;;AAsDA,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAY,YAAY,CAAC,CAAC;;AAS5D,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAkB,IAAI,CAAC,CAAC;AAE3D,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAA0B,EAAE,CAAC,CAAC;QAS3D,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AAMf,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAClD,IAAS,CAAA,SAAA,GAAyB,IAAI,CAAC;AAhFrC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,KAAI;AAChE,YAAA,QAAQ,WAAW;AACjB,gBAAA,KAAK,YAAY,EAAE,OAAO,UAAU,CAAC;AACrC,gBAAA,KAAK,UAAU,EAAE,OAAO,aAAa,CAAC;AACvC,aAAA;SACF,CAAC,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,KAAI;AAC/D,YAAA,QAAQ,WAAW;AACjB,gBAAA,KAAK,YAAY,EAAE,OAAO,WAAW,CAAC;AACtC,gBAAA,KAAK,UAAU,EAAE,OAAO,WAAW,CAAC;AACrC,aAAA;SACF,CAAC,CAAC,CAAC;AACJ,QAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACrF,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,KAAI;AAChD,YAAA,QAAQ,WAAW;AACjB,gBAAA,KAAK,YAAY;AACf,oBAAA,IAAI,YAAY,EAAE;wBAChB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACnD,4BAAA,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE;AAC3B,gCAAA,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/B,6BAAA;AAAM,iCAAA;AACL,gCAAA,OAAO,MAAM,CAAC;AACf,6BAAA;AACH,yBAAC,CAAC,CAAC;AACJ,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;AACnD,qBAAA;AACH,gBAAA,KAAK,UAAU;AACb,oBAAA,OAAO,IAAI,CAAC;AACf,aAAA;SACF,CAAC,CAAC,CAAC;AACN,QAAA,IAAI,CAAC,aAAa,GAAI,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACvF,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,KAAI;AAChD,YAAA,QAAQ,WAAW;AACjB,gBAAA,KAAK,YAAY;AACf,oBAAA,OAAO,IAAI,CAAC;AACd,gBAAA,KAAK,UAAU;AACb,oBAAA,IAAI,YAAY,EAAE;wBAChB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACnD,4BAAA,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE;AAC3B,gCAAA,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/B,6BAAA;AAAM,iCAAA;AACL,gCAAA,OAAO,MAAM,CAAC;AACf,6BAAA;AACH,yBAAC,CAAC,CAAC;AACJ,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;AACnD,qBAAA;AACJ,aAAA;SACF,CAAC,CAAC,CAAC;KACP;AAID,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;KAChC;IACD,IAAoB,WAAW,CAAC,KAAgB,EAAA;AAC9C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IAMD,IAA4C,MAAM,CAAC,KAAuC,EAAA;QACxF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACpC;IAeD,YAAY,GAAA;AACV,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW;AAC3B,iBAAA,GAAG,CAAC,CAAC,EAAE,KAAI;gBACV,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;gBACzD,QAAQ,IAAI,CAAC,WAAW;AACtB,oBAAA,KAAK,YAAY,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;AACvC,oBAAA,KAAK,UAAU,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC;AACvC,iBAAA;AACH,aAAC,CAAC;AACD,iBAAA,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAChC,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAc,EAAE,WAAmB,EAAE,UAAkB,EAAA;QACtE,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;KAC7E;AAED,IAAA,gBAAgB,CAAC,EAAc,EAAE,WAAmB,EAAE,UAAkB,EAAA;QACtE,EAAE,CAAC,cAAc,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KACnG;AAEO,IAAA,WAAW,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAS,EAAA;AACpE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG;YACf,SAAS,EAAE,cAAc,CAAC,cAAc;AACxC,YAAA,aAAa,EAAE,EAAE;YACjB,KAAK;YACL,WAAW;YACX,UAAU;SACX,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7B;AAGD,IAAA,WAAW,CAAC,EAAc,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;KACrD;AAED,IAAA,WAAW,CAAC,EAAc,EAAA;QACxB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC3E;AAED,IAAA,YAAY,CAAC,EAAS,EAAA;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,QAAQ,IAAI,CAAC,SAAS,CAAC,SAAS;gBAC9B,KAAK,cAAc,CAAC,cAAc;AAAE,oBAAA;AAClC,wBAAA,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/B,6BAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACb,6BAAA,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAI;4BAC3B,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gCAAA,QAAQ,WAAW;AACjB,oCAAA,KAAK,YAAY;AACf,wCAAA,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,wCAAA,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wCAC5C,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;wCAC3F,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;AACzF,wCAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCAC5B,MAAM;AACR,oCAAA,KAAK,UAAU;AACb,wCAAA,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,wCAAA,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wCAC5C,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;wCAC3F,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;AACzF,wCAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wCAC5B,MAAM;AACT,iCAAA;AACF,6BAAA;AACL,yBAAC,CAAC,CAAA;AACH,qBAAA;oBAAC,MAAM;AACT,aAAA;AACF,SAAA;KACF;AAGD,IAAA,SAAS,CAAC,EAAc,EAAA;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,UAAU,CAAC,EAAc,EAAA;QACvB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACvB;;gHAnLU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAnB,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAoEb,qBAAqB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChFxC,6kCAaM,EAAA,MAAA,EAAA,CAAA,kuBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDDO,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,6kCAAA,EAAA,MAAA,EAAA,CAAA,kuBAAA,CAAA,EAAA,CAAA;0EAgEH,WAAW,EAAA,CAAA;sBAA9B,KAAK;gBAQsC,MAAM,EAAA,CAAA;sBAAjD,eAAe;uBAAC,qBAAqB,CAAA;gBAGV,WAAW,EAAA,CAAA;sBAAtC,YAAY;uBAAC,YAAY,CAAA;gBAK1B,OAAO,EAAA,CAAA;sBAHN,WAAW;uBAAC,aAAa,CAAA;;sBACzB,WAAW;uBAAC,aAAa,CAAA;;sBACzB,WAAW;uBAAC,cAAc,CAAA;gBAqD3B,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAyC9C,SAAS,EAAA,CAAA;sBADR,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEtKjC,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAJZ,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAChE,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CACvC,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;AAE1D,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAHjB,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;2FAGtC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAAC;AAC3E,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC;AAClD,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,CAAC;AACvE,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { QueryList, ElementRef } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
3
|
import { DragOperation } from '../interfaces/drag-operation';
|
|
4
|
+
import { Point } from '../interfaces/point';
|
|
4
5
|
import { BsSplitPanelComponent } from '../split-panel/split-panel.component';
|
|
5
6
|
import { Direction } from '../types/direction.type';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
@@ -21,9 +22,15 @@ export declare class BsSplitterComponent {
|
|
|
21
22
|
isResizing$: BehaviorSubject<boolean>;
|
|
22
23
|
operation: DragOperation | null;
|
|
23
24
|
computeSizes(): number[];
|
|
24
|
-
|
|
25
|
+
startResizeMouse(ev: MouseEvent, indexBefore: number, indexAfter: number): void;
|
|
26
|
+
startResizeTouch(ev: TouchEvent, indexBefore: number, indexAfter: number): void;
|
|
27
|
+
private startResize;
|
|
25
28
|
onMouseMove(ev: MouseEvent): void;
|
|
29
|
+
onTouchMove(ev: TouchEvent): void;
|
|
30
|
+
onResizeMove(pt: Point): void;
|
|
26
31
|
onMouseUp(ev: MouseEvent): void;
|
|
32
|
+
onTouchEnd(ev: TouchEvent): void;
|
|
33
|
+
onResizeUp(): void;
|
|
27
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsSplitterComponent, never>;
|
|
28
35
|
static ɵcmp: i0.ɵɵComponentDeclaration<BsSplitterComponent, "bs-splitter", never, { "orientation": "orientation"; }, {}, ["panels"], ["*"], false, never>;
|
|
29
36
|
}
|