ngx-rs-ant 0.12.0 → 0.12.2
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/box-container/box-item/box-item.component.mjs +3 -3
- package/esm2020/form/form.component.mjs +20 -9
- package/fesm2015/ngx-rs-ant.mjs +21 -11
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +21 -11
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/form/form.component.d.ts +3 -1
- package/package.json +1 -1
|
@@ -181,10 +181,10 @@ export class BoxItemComponent {
|
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
BoxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
-
BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"
|
|
184
|
+
BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\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: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: i3.BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
|
|
185
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemComponent, decorators: [{
|
|
186
186
|
type: Component,
|
|
187
|
-
args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"
|
|
187
|
+
args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\n"] }]
|
|
188
188
|
}], propDecorators: { _direction: [{
|
|
189
189
|
type: HostBinding,
|
|
190
190
|
args: ['style.flex-direction']
|
|
@@ -197,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
197
197
|
type: ViewChildren,
|
|
198
198
|
args: [BoxItemHostDirective]
|
|
199
199
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQWlCakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBa0tuQztJQWhMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxF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LGlCQUFpQixDQUFDLElBQUk7b0JBQzVCLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxZQUFZLElBQUksRUFBRTtpQkFDbkQ7YUFDRixDQUFDO1NBQ0g7UUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7OzZHQXJMVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix5TkFxQmIsb0JBQW9CLGdEQy9CcEMsK3FDQXlCQTsyRkRmYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTs4QkFVa0IsVUFBVTtzQkFBbEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSVQsTUFBTTtzQkFBL0IsV0FBVzt1QkFBQyxPQUFPO2dCQVVwQixZQUFZO3NCQURYLE1BQU07Z0JBRTZCLFNBQVM7c0JBQTVDLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JveEl0ZW1Ib3N0RGlyZWN0aXZlfSBmcm9tICcuL2JveC1pdGVtLWhvc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7UGx1Z2luTWFuYWdlcn0gZnJvbSAnLi4vUGx1Z2luTWFuYWdlcic7XG5pbXBvcnQge0l0ZW1CbGFua0NvbXBvbmVudH0gZnJvbSBcIi4vaXRlbS1ibGFuay9pdGVtLWJsYW5rLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycy1ib3gtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ib3gtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JveC1pdGVtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQm94SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGJveENvbnRhaW5lcjogYW55O1xuICBzdHlsZTogYW55ID0ge307XG4gIGNvbmZpZzogYW55ID0ge307XG4gIHBEaXJlY3Rpb24/OiAncm93JyB8ICdjb2x1bW4nO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZmxleC1kaXJlY3Rpb24nKSBnZXQgX2RpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuZGlyZWN0aW9uO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBfc3R5bGUoKSB7XG4gICAgaWYgKHRoaXMucERpcmVjdGlvbikge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3R5bGU/LndpZHRoID8gdGhpcy5zdHlsZS53aWR0aCA6ICdhdXRvJztcbiAgICBjb25zdCBoZWlnaHQgPSB0aGlzLnN0eWxlPy5oZWlnaHQgPyB0aGlzLnN0eWxlLmhlaWdodCA6ICdhdXRvJztcbiAgICByZXR1cm4gdGhpcy5fY2FsY1N0eWxlKHRoaXMucERpcmVjdGlvbiwgd2lkdGgsIGhlaWdodCk7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgbGVhdmVPbmVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkcmVuKEJveEl0ZW1Ib3N0RGlyZWN0aXZlKSBpdGVtSG9zdHMhOiBRdWVyeUxpc3Q8Qm94SXRlbUhvc3REaXJlY3RpdmU+O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZCgpO1xuICB9XG5cbiAgbG9hZChhY3RpdmVJbmRleD86IG51bWJlcikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLml0ZW1Ib3N0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpdGVtSG9zdDogYW55ID0gdGhpcy5pdGVtSG9zdHMuZ2V0KGkpO1xuICAgICAgICBpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmNvbmZpZy5saXN0W2ldO1xuICAgICAgICBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3BsdWdpbic6XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLCBpLCBpdGVtLnN0eWxlLCBpdGVtLmNvbmZpZyk7XG4gICAgICAgICAgICBpZiAoYWN0aXZlSW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2l0ZW0nOlxuICAgICAgICAgICAgY29uc3QgYm94SXRlbUNvbXBvbmVudFJlZiA9IGl0ZW1Ib3N0LnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KEJveEl0ZW1Db21wb25lbnQpO1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBib3hJdGVtQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgaW5zdGFuY2UuYm94Q29udGFpbmVyID0gdGhpcy5ib3hDb250YWluZXI7XG4gICAgICAgICAgICBpbnN0YW5jZS5zdHlsZSA9IGl0ZW0uc3R5bGU7XG4gICAgICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBpdGVtLmNvbmZpZztcbiAgICAgICAgICAgIGluc3RhbmNlLnBEaXJlY3Rpb24gPSB0aGlzLmNvbmZpZy5kaXJlY3Rpb247XG4gICAgICAgICAgICBpZiAodGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgYm94SXRlbUNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLm1hcmdpbiA9ICc4cHgnO1xuICAgICAgICAgICAgICBpbnN0YW5jZS5sZWF2ZU9uZUl0ZW0uc3Vic2NyaWJlKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlID09PSAnaXRlbScgJiYgaXRlbS5kaXJlY3Rpb24gPT09IHRoaXMuY29uZmlnLmRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaSwgMSwgLi4uaXRlbS5saXN0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaSwgMSwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgUGx1Z2luTWFuYWdlci5jcmVhdGVIb3ZlckNvbXBvbmVudChpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLCBib3hJdGVtQ29tcG9uZW50UmVmLCAn5qC85a2Q5a655ZmoJyk7XG4gICAgICAgICAgICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlQWN0aXZlQ29tcG9uZW50KHRoaXMsIGksIGJveEl0ZW1Db21wb25lbnRSZWYsIGl0ZW0uc3R5bGUsIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnY29hc3QtYm94LWNvbnRhaW5lcicsXG4gICAgICAgICAgICAgICAgY2FwdGlvbjogJ+agvOWtkOWuueWZqCdcbiAgICAgICAgICAgICAgfSwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYmxhbmsnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAodGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgICAgdGhpcy5jcmVhdGVCbGFua0NvbXBvbmVudChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJsYW5rQ29tcG9uZW50KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmOiBhbnkgPSB0aGlzLml0ZW1Ib3N0cy5nZXQoaW5kZXgpPy52aWV3Q29udGFpbmVyUmVmO1xuICAgIGNvbnN0IGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmOiBhbnkgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChJdGVtQmxhbmtDb21wb25lbnQpO1xuICAgIGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLmluc3RhbmNlLm9uUmVtb3ZlID0gKCkgPT4ge1xuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgaWYgKHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRoaXMubGVhdmVPbmVJdGVtLmVtaXQodGhpcy5jb25maWcubGlzdFswXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlSG92ZXJDb21wb25lbnQodmlld0NvbnRhaW5lclJlZiwgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYsICfljaDkvY3moLwnKTtcbiAgICBjb25zdCBhY3RpdmVDb21wb25lbnRSZWYgPSBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudCh0aGlzLCBpbmRleCwgY29udGFpbmVyQmxhbmtDb21wb25lbnRSZWYsXG4gICAgICB0aGlzLmNvbmZpZy5saXN0W2luZGV4XS5zdHlsZSwge1xuICAgICAgICBuYW1lOiAnY29hc3QtYm94LWNvbnRhaW5lcicsXG4gICAgICAgIGNhcHRpb246ICfljaDkvY3moLwnXG4gICAgICB9LCB0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA+IDEpO1xuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaG93RGl2aWRlciA9IHRydWU7XG4gICAgYWN0aXZlQ29tcG9uZW50UmVmLmluc3RhbmNlLnNwbGl0SXRlbSA9IChkaXJlY3Rpb246ICdyb3cnIHwgJ2NvbHVtbicpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPT09IGRpcmVjdGlvbikge1xuICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCArIDEsIDAsIHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5jb25maWcubGlzdC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdC5wdXNoKHt0eXBlOiAnYmxhbmsnLCBzdHlsZToge319KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0LnNwbGljZShpbmRleCwgMSwge1xuICAgICAgICAgICAgdHlwZTogJ2l0ZW0nLFxuICAgICAgICAgICAgc3R5bGU6IHt9LFxuICAgICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICAgIGRpcmVjdGlvbixcbiAgICAgICAgICAgICAgbGlzdDogW3RoaXMuY29uZmlnLmxpc3RbaW5kZXhdLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fV1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgY2FsY1N0eWxlKGl0ZW06IGFueSkge1xuICAgIGNvbnN0IHdpZHRoID0gaXRlbS5zdHlsZT8ud2lkdGggPyBpdGVtLnN0eWxlLndpZHRoIDogJ2F1dG8nO1xuICAgIGNvbnN0IGhlaWdodCA9IGl0ZW0uc3R5bGU/LmhlaWdodCA/IGl0ZW0uc3R5bGUuaGVpZ2h0IDogJ2F1dG8nO1xuICAgIHJldHVybiB0aGlzLl9jYWxjU3R5bGUodGhpcy5jb25maWcuZGlyZWN0aW9uLCB3aWR0aCwgaGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGNTdHlsZShkaXJlY3Rpb246IGFueSwgd2lkdGg6IHN0cmluZywgaGVpZ2h0OiBzdHJpbmcpIHtcbiAgICBpZiAoZGlyZWN0aW9uID09PSAncm93Jykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmxleDogd2lkdGggPT09ICdhdXRvJyA/ICcxJyA6ICcwIDAgJyArIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIHBvaW50ZXJFdmVudHM6IHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlID8gJ25vbmUnIDogJ2FsbCdcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ2NvbHVtbicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoLFxuICAgICAgICBmbGV4OiBoZWlnaHQgPT09ICdhdXRvJyA/ICdhdXRvJyA6ICcwIDAgJyArIGhlaWdodCxcbiAgICAgICAgcG9pbnRlckV2ZW50czogdGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUgPyAnbm9uZScgOiAnYWxsJ1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcG9pbnRlckV2ZW50czogdGhpcy5ib3hDb250YWluZXIuZWRpdE1vZGUgPyAnbm9uZScgOiAnYWxsJ1xuICAgIH07XG4gIH1cblxuICBkcmFnT3ZlckNvbXBvbmVudDogYW55O1xuXG4gIG9uRHJhZ01vdmUoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoJGV2ZW50LmZyb21EYXRhID09PSAkZXZlbnQudG9EYXRhKSB7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoJGV2ZW50LnRvQ29tcG9uZW50ICE9PSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQgPSAkZXZlbnQudG9Db21wb25lbnQ7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Lmluc3RhbmNlKCkuZWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIG9uRHJhZ0VuZCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJhZ092ZXJDb21wb25lbnQ/Lmluc3RhbmNlKCk/LmVsZW1lbnQoKT8uY2xhc3NMaXN0Py5yZW1vdmUoJ2FjdGl2ZScpO1xuICAgIGRlbGV0ZSB0aGlzLmRyYWdPdmVyQ29tcG9uZW50O1xuICAgIGNvbnN0IHRvQm94SXRlbSA9ICRldmVudC50b0RhdGEuYm94SXRlbTtcbiAgICBjb25zdCB0b0luZGV4ID0gJGV2ZW50LnRvRGF0YS5pbmRleDtcbiAgICBjb25zdCBmcm9tSW5kZXggPSAkZXZlbnQuZnJvbURhdGEuaW5kZXg7XG4gICAgY29uc3QgZnJvbUJveEl0ZW1Db25maWcgPSB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uY29uZmlnO1xuICAgIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ3BsdWdpbicpIHtcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5jb25maWcgPSB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0uY29uZmlnID0gZnJvbUJveEl0ZW1Db25maWc7XG4gICAgfSBlbHNlIGlmICgkZXZlbnQudG9EYXRhLml0ZW0udHlwZSA9PT0gJ2JsYW5rJykge1xuICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoZnJvbUluZGV4LCAxLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHRoaXMuY29uZmlnLmxpc3RbZnJvbUluZGV4XS5zdHlsZX0pO1xuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0b0JveEl0ZW0uY29uZmlnLmxpc3RbdG9JbmRleF0gPSB7XG4gICAgICAgIHR5cGU6ICdwbHVnaW4nLFxuICAgICAgICBzdHlsZTogdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLnN0eWxlLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICBuYW1lOiBmcm9tQm94SXRlbUNvbmZpZy5uYW1lLFxuICAgICAgICAgIHBsdWdpbkNvbmZpZzogZnJvbUJveEl0ZW1Db25maWcucGx1Z2luQ29uZmlnIHx8IHt9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHRvQm94SXRlbS5sb2FkKHRvSW5kZXgpO1xuICAgICRldmVudC5jYW5jZWwgPSB0cnVlO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbmZpZy5saXN0OyBpbmRleCBhcyBpbmRleFwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJveENvbnRhaW5lci5lZGl0TW9kZSB8fCBpdGVtLnR5cGUgPT09ICdpdGVtJ1wiPlxuICAgIDxkaXYgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJib3hDb250YWluZXIuZWRpdE1vZGUgJiYgaXRlbS50eXBlID09PSAncGx1Z2luJ1wiPlxuICAgIDxkeC1kcmFnZ2FibGUgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIntib3hJdGVtOiB0aGlzLCBpdGVtLCBpbmRleH1cIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlPVwiLmljb24tZHJhZ1wiXG4gICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcbiAgICAgICAgICAgICAgICAgIChvbkRyYWdNb3ZlKT1cIm9uRHJhZ01vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAob25EcmFnRW5kKT1cIm9uRHJhZ0VuZCgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2R4LWRyYWdnYWJsZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJib3hDb250YWluZXIuZWRpdE1vZGUgJiYgaXRlbS50eXBlID09PSAnYmxhbmsnXCI+XG4gICAgPGR4LWRyYWdnYWJsZSBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgW2RhdGFdPVwie2JveEl0ZW06IHRoaXMsIGl0ZW0sIGluZGV4fVwiXG4gICAgICAgICAgICAgICAgICBncm91cD1cInJzQm94Q29udGFpbmVyRHJhZ0dyb3VwXCJcbiAgICAgICAgICAgICAgICAgIChvbkRyYWdTdGFydCk9XCIkZXZlbnQuY2FuY2VsID0gdHJ1ZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9keC1kcmFnZ2FibGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvYm94LWNvbnRhaW5lci9ib3gtaXRlbS9ib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU9FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQWlCakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBa0tuQztJQWhMQyxJQUF5QyxVQUFVO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQTBCLE1BQU07UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxF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LGlCQUFpQixDQUFDLElBQUk7b0JBQzVCLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxZQUFZLElBQUksRUFBRTtpQkFDbkQ7YUFDRixDQUFDO1NBQ0g7UUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7OzZHQXJMVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQix5TkFxQmIsb0JBQW9CLGdEQy9CcEMscTVDQWdDQTsyRkR0QmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGFBQWE7OEJBVWtCLFVBQVU7c0JBQWxELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUlULE1BQU07c0JBQS9CLFdBQVc7dUJBQUMsT0FBTztnQkFVcEIsWUFBWTtzQkFEWCxNQUFNO2dCQUU2QixTQUFTO3NCQUE1QyxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCb3hJdGVtSG9zdERpcmVjdGl2ZX0gZnJvbSAnLi9ib3gtaXRlbS1ob3N0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1BsdWdpbk1hbmFnZXJ9IGZyb20gJy4uL1BsdWdpbk1hbmFnZXInO1xuaW1wb3J0IHtJdGVtQmxhbmtDb21wb25lbnR9IGZyb20gXCIuL2l0ZW0tYmxhbmsvaXRlbS1ibGFuay5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnMtYm94LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYm94LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ib3gtaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJveEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBib3hDb250YWluZXI6IGFueTtcbiAgc3R5bGU6IGFueSA9IHt9O1xuICBjb25maWc6IGFueSA9IHt9O1xuICBwRGlyZWN0aW9uPzogJ3JvdycgfCAnY29sdW1uJztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgtZGlyZWN0aW9uJykgZ2V0IF9kaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmRpcmVjdGlvbjtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgX3N0eWxlKCkge1xuICAgIGlmICh0aGlzLnBEaXJlY3Rpb24pIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLnN0eWxlPy53aWR0aCA/IHRoaXMuc3R5bGUud2lkdGggOiAnYXV0byc7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5zdHlsZT8uaGVpZ2h0ID8gdGhpcy5zdHlsZS5oZWlnaHQgOiAnYXV0byc7XG4gICAgcmV0dXJuIHRoaXMuX2NhbGNTdHlsZSh0aGlzLnBEaXJlY3Rpb24sIHdpZHRoLCBoZWlnaHQpO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIGxlYXZlT25lSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZHJlbihCb3hJdGVtSG9zdERpcmVjdGl2ZSkgaXRlbUhvc3RzITogUXVlcnlMaXN0PEJveEl0ZW1Ib3N0RGlyZWN0aXZlPjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIGxvYWQoYWN0aXZlSW5kZXg/OiBudW1iZXIpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtSG9zdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgaXRlbUhvc3Q6IGFueSA9IHRoaXMuaXRlbUhvc3RzLmdldChpKTtcbiAgICAgICAgaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5jb25maWcubGlzdFtpXTtcbiAgICAgICAgc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdwbHVnaW4nOlxuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVDb21wb25lbnQodGhpcywgaSwgaXRlbS5zdHlsZSwgaXRlbS5jb25maWcpO1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdpdGVtJzpcbiAgICAgICAgICAgIGNvbnN0IGJveEl0ZW1Db21wb25lbnRSZWYgPSBpdGVtSG9zdC52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChCb3hJdGVtQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gYm94SXRlbUNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGluc3RhbmNlLmJveENvbnRhaW5lciA9IHRoaXMuYm94Q29udGFpbmVyO1xuICAgICAgICAgICAgaW5zdGFuY2Uuc3R5bGUgPSBpdGVtLnN0eWxlO1xuICAgICAgICAgICAgaW5zdGFuY2UuY29uZmlnID0gaXRlbS5jb25maWc7XG4gICAgICAgICAgICBpbnN0YW5jZS5wRGlyZWN0aW9uID0gdGhpcy5jb25maWcuZGlyZWN0aW9uO1xuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgIGJveEl0ZW1Db21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnOHB4JztcbiAgICAgICAgICAgICAgaW5zdGFuY2UubGVhdmVPbmVJdGVtLnN1YnNjcmliZSgoaXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2l0ZW0nICYmIGl0ZW0uZGlyZWN0aW9uID09PSB0aGlzLmNvbmZpZy5kaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIC4uLml0ZW0ubGlzdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGksIDEsIGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIFBsdWdpbk1hbmFnZXIuY3JlYXRlSG92ZXJDb21wb25lbnQoaXRlbUhvc3Qudmlld0NvbnRhaW5lclJlZiwgYm94SXRlbUNvbXBvbmVudFJlZiwgJ+agvOWtkOWuueWZqCcpO1xuICAgICAgICAgICAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUFjdGl2ZUNvbXBvbmVudCh0aGlzLCBpLCBib3hJdGVtQ29tcG9uZW50UmVmLCBpdGVtLnN0eWxlLCB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ2NvYXN0LWJveC1jb250YWluZXInLFxuICAgICAgICAgICAgICAgIGNhcHRpb246ICfmoLzlrZDlrrnlmagnXG4gICAgICAgICAgICAgIH0sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2JsYW5rJzpcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlKSB7XG4gICAgICAgICAgICAgIHRoaXMuY3JlYXRlQmxhbmtDb21wb25lbnQoaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCbGFua0NvbXBvbmVudChpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZjogYW55ID0gdGhpcy5pdGVtSG9zdHMuZ2V0KGluZGV4KT8udmlld0NvbnRhaW5lclJlZjtcbiAgICBjb25zdCBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZjogYW55ID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoSXRlbUJsYW5rQ29tcG9uZW50KTtcbiAgICBjb250YWluZXJCbGFua0NvbXBvbmVudFJlZi5pbnN0YW5jZS5vblJlbW92ZSA9ICgpID0+IHtcbiAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5saXN0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICB0aGlzLmxlYXZlT25lSXRlbS5lbWl0KHRoaXMuY29uZmlnLmxpc3RbMF0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBQbHVnaW5NYW5hZ2VyLmNyZWF0ZUhvdmVyQ29tcG9uZW50KHZpZXdDb250YWluZXJSZWYsIGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLCAn5Y2g5L2N5qC8Jyk7XG4gICAgY29uc3QgYWN0aXZlQ29tcG9uZW50UmVmID0gUGx1Z2luTWFuYWdlci5jcmVhdGVBY3RpdmVDb21wb25lbnQodGhpcywgaW5kZXgsIGNvbnRhaW5lckJsYW5rQ29tcG9uZW50UmVmLFxuICAgICAgdGhpcy5jb25maWcubGlzdFtpbmRleF0uc3R5bGUsIHtcbiAgICAgICAgbmFtZTogJ2NvYXN0LWJveC1jb250YWluZXInLFxuICAgICAgICBjYXB0aW9uOiAn5Y2g5L2N5qC8J1xuICAgICAgfSwgdGhpcy5jb25maWcubGlzdC5sZW5ndGggPiAxKTtcbiAgICBhY3RpdmVDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvd0RpdmlkZXIgPSB0cnVlO1xuICAgIGFjdGl2ZUNvbXBvbmVudFJlZi5pbnN0YW5jZS5zcGxpdEl0ZW0gPSAoZGlyZWN0aW9uOiAncm93JyB8ICdjb2x1bW4nKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb25maWcuZGlyZWN0aW9uID09PSBkaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXggKyAxLCAwLCB7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XG4gICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdGhpcy5jb25maWcuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3QucHVzaCh7dHlwZTogJ2JsYW5rJywgc3R5bGU6IHt9fSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdC5zcGxpY2UoaW5kZXgsIDEsIHtcbiAgICAgICAgICAgIHR5cGU6ICdpdGVtJyxcbiAgICAgICAgICAgIHN0eWxlOiB7fSxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgICAgICAgIGxpc3Q6IFt0aGlzLmNvbmZpZy5saXN0W2luZGV4XSwge3R5cGU6ICdibGFuaycsIHN0eWxlOiB7fX1dXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGNhbGNTdHlsZShpdGVtOiBhbnkpIHtcbiAgICBjb25zdCB3aWR0aCA9IGl0ZW0uc3R5bGU/LndpZHRoID8gaXRlbS5zdHlsZS53aWR0aCA6ICdhdXRvJztcbiAgICBjb25zdCBoZWlnaHQgPSBpdGVtLnN0eWxlPy5oZWlnaHQgPyBpdGVtLnN0eWxlLmhlaWdodCA6ICdhdXRvJztcbiAgICByZXR1cm4gdGhpcy5fY2FsY1N0eWxlKHRoaXMuY29uZmlnLmRpcmVjdGlvbiwgd2lkdGgsIGhlaWdodCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjU3R5bGUoZGlyZWN0aW9uOiBhbnksIHdpZHRoOiBzdHJpbmcsIGhlaWdodDogc3RyaW5nKSB7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3JvdycpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZsZXg6IHdpZHRoID09PSAnYXV0bycgPyAnMScgOiAnMCAwICcgKyB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICBwb2ludGVyRXZlbnRzOiB0aGlzLmJveENvbnRhaW5lci5lZGl0TW9kZSA/ICdub25lJyA6ICdhbGwnXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09ICdjb2x1bW4nKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aCxcbiAgICAgICAgZmxleDogaGVpZ2h0ID09PSAnYXV0bycgPyAnYXV0bycgOiAnMCAwICcgKyBoZWlnaHQsXG4gICAgICAgIHBvaW50ZXJFdmVudHM6IHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlID8gJ25vbmUnIDogJ2FsbCdcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvaW50ZXJFdmVudHM6IHRoaXMuYm94Q29udGFpbmVyLmVkaXRNb2RlID8gJ25vbmUnIDogJ2FsbCdcbiAgICB9O1xuICB9XG5cbiAgZHJhZ092ZXJDb21wb25lbnQ6IGFueTtcblxuICBvbkRyYWdNb3ZlKCRldmVudDogYW55KSB7XG4gICAgaWYgKCRldmVudC5mcm9tRGF0YSA9PT0gJGV2ZW50LnRvRGF0YSkge1xuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudD8uaW5zdGFuY2UoKT8uZWxlbWVudCgpPy5jbGFzc0xpc3Q/LnJlbW92ZSgnYWN0aXZlJyk7XG4gICAgICBkZWxldGUgdGhpcy5kcmFnT3ZlckNvbXBvbmVudDtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCRldmVudC50b0NvbXBvbmVudCAhPT0gdGhpcy5kcmFnT3ZlckNvbXBvbmVudCkge1xuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudD8uaW5zdGFuY2UoKT8uZWxlbWVudCgpPy5jbGFzc0xpc3Q/LnJlbW92ZSgnYWN0aXZlJyk7XG4gICAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50ID0gJGV2ZW50LnRvQ29tcG9uZW50O1xuICAgICAgdGhpcy5kcmFnT3ZlckNvbXBvbmVudC5pbnN0YW5jZSgpLmVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKTtcbiAgICB9XG4gIH1cblxuICBvbkRyYWdFbmQoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmRyYWdPdmVyQ29tcG9uZW50Py5pbnN0YW5jZSgpPy5lbGVtZW50KCk/LmNsYXNzTGlzdD8ucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICBkZWxldGUgdGhpcy5kcmFnT3ZlckNvbXBvbmVudDtcbiAgICBjb25zdCB0b0JveEl0ZW0gPSAkZXZlbnQudG9EYXRhLmJveEl0ZW07XG4gICAgY29uc3QgdG9JbmRleCA9ICRldmVudC50b0RhdGEuaW5kZXg7XG4gICAgY29uc3QgZnJvbUluZGV4ID0gJGV2ZW50LmZyb21EYXRhLmluZGV4O1xuICAgIGNvbnN0IGZyb21Cb3hJdGVtQ29uZmlnID0gdGhpcy5jb25maWcubGlzdFtmcm9tSW5kZXhdLmNvbmZpZztcbiAgICBpZiAoJGV2ZW50LnRvRGF0YS5pdGVtLnR5cGUgPT09ICdwbHVnaW4nKSB7XG4gICAgICB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uY29uZmlnID0gdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLmNvbmZpZztcbiAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdLmNvbmZpZyA9IGZyb21Cb3hJdGVtQ29uZmlnO1xuICAgIH0gZWxzZSBpZiAoJGV2ZW50LnRvRGF0YS5pdGVtLnR5cGUgPT09ICdibGFuaycpIHtcbiAgICAgIHRoaXMuY29uZmlnLmxpc3Quc3BsaWNlKGZyb21JbmRleCwgMSwge3R5cGU6ICdibGFuaycsIHN0eWxlOiB0aGlzLmNvbmZpZy5saXN0W2Zyb21JbmRleF0uc3R5bGV9KTtcbiAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgdG9Cb3hJdGVtLmNvbmZpZy5saXN0W3RvSW5kZXhdID0ge1xuICAgICAgICB0eXBlOiAncGx1Z2luJyxcbiAgICAgICAgc3R5bGU6IHRvQm94SXRlbS5jb25maWcubGlzdFt0b0luZGV4XS5zdHlsZSxcbiAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgbmFtZTogZnJvbUJveEl0ZW1Db25maWcubmFtZSxcbiAgICAgICAgICBwbHVnaW5Db25maWc6IGZyb21Cb3hJdGVtQ29uZmlnLnBsdWdpbkNvbmZpZyB8fCB7fVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICB0b0JveEl0ZW0ubG9hZCh0b0luZGV4KTtcbiAgICAkZXZlbnQuY2FuY2VsID0gdHJ1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb25maWcubGlzdDsgaW5kZXggYXMgaW5kZXhcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJveENvbnRhaW5lci5lZGl0TW9kZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdwbHVnaW4nXCI+XG4gICAgICA8ZHgtZHJhZ2dhYmxlIFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIntib3hJdGVtOiB0aGlzLCBpdGVtLCBpbmRleH1cIlxuICAgICAgICAgICAgICAgICAgICBoYW5kbGU9XCIuaWNvbi1kcmFnXCJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXA9XCJyc0JveENvbnRhaW5lckRyYWdHcm91cFwiXG4gICAgICAgICAgICAgICAgICAgIChvbkRyYWdNb3ZlKT1cIm9uRHJhZ01vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChvbkRyYWdFbmQpPVwib25EcmFnRW5kKCRldmVudClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2R4LWRyYWdnYWJsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS50eXBlID09PSAnaXRlbSdcIj5cbiAgICAgIDxkaXYgW25nU3R5bGVdPVwiY2FsY1N0eWxlKGl0ZW0pXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSByc0JveEl0ZW1Ib3N0IFtob3N0SWRdPVwiaW5kZXhcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2JsYW5rJ1wiPlxuICAgICAgPGR4LWRyYWdnYWJsZSBbbmdTdHlsZV09XCJjYWxjU3R5bGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJ7Ym94SXRlbTogdGhpcywgaXRlbSwgaW5kZXh9XCJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXA9XCJyc0JveENvbnRhaW5lckRyYWdHcm91cFwiXG4gICAgICAgICAgICAgICAgICAgIChvbkRyYWdTdGFydCk9XCIkZXZlbnQuY2FuY2VsID0gdHJ1ZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgcnNCb3hJdGVtSG9zdCBbaG9zdElkXT1cImluZGV4XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZHgtZHJhZ2dhYmxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFib3hDb250YWluZXIuZWRpdE1vZGVcIj5cbiAgICA8ZGl2IFtuZ1N0eWxlXT1cImNhbGNTdHlsZShpdGVtKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIHJzQm94SXRlbUhvc3QgW2hvc3RJZF09XCJpbmRleFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
2
|
import { FormService } from "./form.service";
|
|
3
|
-
import {
|
|
3
|
+
import { DxValidationGroupComponent } from "devextreme-angular";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./form.service";
|
|
6
6
|
import * as i2 from "@angular/common";
|
|
@@ -34,10 +34,7 @@ export class FormComponent {
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
submitForm($event) {
|
|
37
|
-
|
|
38
|
-
if (!result.isValid) { // TODO 异步校验可能存在问题,需进一步确认
|
|
39
|
-
this.submitCallback.emit({ success: false });
|
|
40
|
-
result.brokenRules[0].validator.element().scrollIntoView();
|
|
37
|
+
if (!this.validate()) {
|
|
41
38
|
return;
|
|
42
39
|
}
|
|
43
40
|
this.service.createOrUpdate(this.tenant, this.className, {
|
|
@@ -47,15 +44,26 @@ export class FormComponent {
|
|
|
47
44
|
this.submitCallback.emit(response);
|
|
48
45
|
});
|
|
49
46
|
}
|
|
47
|
+
validate() {
|
|
48
|
+
const result = this.validator.instance.validate();
|
|
49
|
+
if (!result.isValid) { // TODO 异步校验可能存在问题,需进一步确认
|
|
50
|
+
this.submitCallback.emit({ success: false });
|
|
51
|
+
// @ts-ignore
|
|
52
|
+
result.brokenRules[0].validator.element().scrollIntoView();
|
|
53
|
+
console.log(result);
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
50
58
|
submit() {
|
|
51
|
-
|
|
59
|
+
this.formSubmitter.instance.element().click();
|
|
52
60
|
}
|
|
53
61
|
}
|
|
54
62
|
FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, deps: [{ token: i1.FormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], ngImport: i0, template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}form dx-validation-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "model", "tabViewContainerRef"] }, { kind: "component", type: i5.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
|
|
63
|
+
FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], ngImport: i0, template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: [":host{padding:12px 24px 20px}:host form{display:flex;flex-flow:row nowrap}:host form dx-validation-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "model", "tabViewContainerRef"] }, { kind: "component", type: i5.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
|
|
56
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
|
|
57
65
|
type: Component,
|
|
58
|
-
args: [{ selector: 'rs-form', providers: [FormService], template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}form dx-validation-group{width:100%}\n"] }]
|
|
66
|
+
args: [{ selector: 'rs-form', providers: [FormService], template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: [":host{padding:12px 24px 20px}:host form{display:flex;flex-flow:row nowrap}:host form dx-validation-group{width:100%}\n"] }]
|
|
59
67
|
}], ctorParameters: function () { return [{ type: i1.FormService }]; }, propDecorators: { tenant: [{
|
|
60
68
|
type: Input
|
|
61
69
|
}], className: [{
|
|
@@ -66,10 +74,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
66
74
|
type: Input
|
|
67
75
|
}], template: [{
|
|
68
76
|
type: Input
|
|
77
|
+
}], validator: [{
|
|
78
|
+
type: ViewChild,
|
|
79
|
+
args: [DxValidationGroupComponent]
|
|
69
80
|
}], formSubmitter: [{
|
|
70
81
|
type: ViewChild,
|
|
71
82
|
args: ['formSubmitter']
|
|
72
83
|
}], submitCallback: [{
|
|
73
84
|
type: Output
|
|
74
85
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9mb3JtL2Zvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZm9ybS9mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQW9CLDBCQUEwQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBUWpGLE1BQU0sT0FBTyxhQUFhO0lBbUJ4QixZQUFvQixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBSHhDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6QyxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBR2hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsRyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztxQkFDcEcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25HLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxVQUFVLENBQUMsTUFBVztRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN2RCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ2QsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSx5QkFBeUI7WUFDOUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUMzQyxhQUFhO1lBQ2IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hELENBQUM7OzBHQW5FVSxhQUFhOzhGQUFiLGFBQWEsNkxBRmIsQ0FBQyxXQUFXLENBQUMscUVBZWIsMEJBQTBCLGlKQ3ZCdkMscVNBTUE7MkZESWEsYUFBYTtrQkFOekIsU0FBUzsrQkFDRSxTQUFTLGFBR1IsQ0FBQyxXQUFXLENBQUM7a0dBSXhCLE1BQU07c0JBREwsS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sR0FBRztzQkFERixLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSWlDLFNBQVM7c0JBQS9DLFNBQVM7dUJBQUMsMEJBQTBCO2dCQUNULGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFFMUIsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtU2VydmljZX0gZnJvbSBcIi4vZm9ybS5zZXJ2aWNlXCI7XG5pbXBvcnQge0R4QnV0dG9uQ29tcG9uZW50LCBEeFZhbGlkYXRpb25Hcm91cENvbXBvbmVudH0gZnJvbSBcImRldmV4dHJlbWUtYW5ndWxhclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0Zvcm1TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgdGVuYW50ITogYW55O1xuICBASW5wdXQoKVxuICBjbGFzc05hbWUhOiBhbnk7XG4gIEBJbnB1dCgpXG4gIG9pZD86IGFueTtcbiAgQElucHV0KClcbiAgY29weU9pZD86IGFueTtcbiAgQElucHV0KClcbiAgdGVtcGxhdGU/OiBhbnk7XG4gIGNvbmZpZzogYW55O1xuICBtb2RlbDogYW55O1xuICBAVmlld0NoaWxkKER4VmFsaWRhdGlvbkdyb3VwQ29tcG9uZW50KSB2YWxpZGF0b3IhOiBEeFZhbGlkYXRpb25Hcm91cENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnZm9ybVN1Ym1pdHRlcicpIGZvcm1TdWJtaXR0ZXIhOiBEeEJ1dHRvbkNvbXBvbmVudDtcbiAgQE91dHB1dCgpXG4gIHN1Ym1pdENhbGxiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGxvYWRpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IEZvcm1TZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc2VydmljZS5nZXRGb3JtVGVtcGxhdGVDb25maWcodGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLnRlbXBsYXRlKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5jb25maWcgPSByZXNwb25zZS5kYXRhLnRlbXBsYXRlO1xuICAgICAgaWYgKHRoaXMuY29weU9pZCB8fCB0aGlzLm9pZCkge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZ2V0T25lKHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwgdGhpcy5jb3B5T2lkIHx8IHRoaXMub2lkLCB0aGlzLnRlbXBsYXRlLCB0aGlzLmNvcHlPaWQpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmdldEluaXRNb2RlbEJ5VGVtcGxhdGUodGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLnRlbXBsYXRlKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHRoaXMubW9kZWwgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdWJtaXRGb3JtKCRldmVudDogYW55KSB7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZU9yVXBkYXRlKHRoaXMudGVuYW50LCB0aGlzLmNsYXNzTmFtZSwge1xuICAgICAgb2lkOiB0aGlzLm9pZCxcbiAgICAgIC4uLnRoaXMubW9kZWxcbiAgICB9KS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgdGhpcy5zdWJtaXRDYWxsYmFjay5lbWl0KHJlc3BvbnNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhbGlkYXRlKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsaWRhdG9yLmluc3RhbmNlLnZhbGlkYXRlKCk7XG4gICAgaWYgKCFyZXN1bHQuaXNWYWxpZCkgeyAvLyBUT0RPIOW8guatpeagoemqjOWPr+iDveWtmOWcqOmXrumimO+8jOmcgOi/m+S4gOatpeehruiupFxuICAgICAgdGhpcy5zdWJtaXRDYWxsYmFjay5lbWl0KHtzdWNjZXNzOiBmYWxzZX0pO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmVzdWx0LmJyb2tlblJ1bGVzWzBdLnZhbGlkYXRvci5lbGVtZW50KCkuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuZm9ybVN1Ym1pdHRlci5pbnN0YW5jZS5lbGVtZW50KCkuY2xpY2soKTtcbiAgfVxufVxuIiwiPGZvcm0+XG4gIDxkeC12YWxpZGF0aW9uLWdyb3VwICpuZ0lmPVwibW9kZWxcIj5cbiAgICA8cnMtYm94LWNvbnRhaW5lciBbY29uZmlnXT1cImNvbmZpZ1wiIFttb2RlbF09XCJtb2RlbFwiPjwvcnMtYm94LWNvbnRhaW5lcj5cbiAgICA8ZHgtYnV0dG9uICNmb3JtU3VibWl0dGVyIFt2aXNpYmxlXT1cImZhbHNlXCIgKG9uQ2xpY2spPVwic3VibWl0Rm9ybSgkZXZlbnQpXCIgW3VzZVN1Ym1pdEJlaGF2aW9yXT1cInRydWVcIj48L2R4LWJ1dHRvbj5cbiAgPC9keC12YWxpZGF0aW9uLWdyb3VwPlxuPC9mb3JtPlxuIl19
|
package/fesm2015/ngx-rs-ant.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import * as i2 from 'devextreme-angular/ui/number-box';
|
|
|
8
8
|
import * as i2$1 from 'devextreme-angular/ui/draggable';
|
|
9
9
|
import * as i3$2 from '@angular/forms';
|
|
10
10
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
11
|
-
import { DevExtremeModule, DxDataGridComponent } from 'devextreme-angular';
|
|
11
|
+
import { DevExtremeModule, DxDataGridComponent, DxValidationGroupComponent } from 'devextreme-angular';
|
|
12
12
|
import { HelperUtils, DevUIModule } from 'ng-devui';
|
|
13
13
|
import * as i1$1 from '@angular/common/http';
|
|
14
14
|
import CustomStore from 'devextreme/data/custom_store';
|
|
@@ -19,7 +19,6 @@ import * as i4 from 'devextreme-angular/ui/tooltip';
|
|
|
19
19
|
import * as i2$2 from '@angular/platform-browser';
|
|
20
20
|
import * as i2$3 from 'devextreme-angular/ui/button';
|
|
21
21
|
import * as i3$1 from 'devextreme-angular/ui/text-box';
|
|
22
|
-
import { trigger } from 'devextreme/events';
|
|
23
22
|
import * as i6 from 'devextreme-angular/ui/validation-group';
|
|
24
23
|
import * as i4$2 from 'devextreme-angular/ui/popover';
|
|
25
24
|
import notify from 'devextreme/ui/notify';
|
|
@@ -636,10 +635,10 @@ class BoxItemComponent {
|
|
|
636
635
|
}
|
|
637
636
|
}
|
|
638
637
|
BoxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
639
|
-
BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"
|
|
638
|
+
BoxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxItemComponent, selector: "rs-box-item", outputs: { leaveOneItem: "leaveOneItem" }, host: { properties: { "style.flex-direction": "this._direction", "style": "this._style" } }, viewQueries: [{ propertyName: "itemHosts", predicate: BoxItemHostDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\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: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$1.DxDraggableComponent, selector: "dx-draggable", inputs: ["autoScroll", "boundary", "clone", "container", "cursorOffset", "data", "dragDirection", "dragTemplate", "elementAttr", "group", "handle", "height", "rtlEnabled", "scrollSensitivity", "scrollSpeed", "width"], outputs: ["onDisposing", "onDragEnd", "onDragMove", "onDragStart", "onInitialized", "onOptionChanged", "autoScrollChange", "boundaryChange", "cloneChange", "containerChange", "cursorOffsetChange", "dataChange", "dragDirectionChange", "dragTemplateChange", "elementAttrChange", "groupChange", "handleChange", "heightChange", "rtlEnabledChange", "scrollSensitivityChange", "scrollSpeedChange", "widthChange"] }, { kind: "directive", type: BoxItemHostDirective, selector: "[rsBoxItemHost]", inputs: ["hostId"] }] });
|
|
640
639
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxItemComponent, decorators: [{
|
|
641
640
|
type: Component,
|
|
642
|
-
args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"
|
|
641
|
+
args: [{ selector: 'rs-box-item', template: "<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:row nowrap;pointer-events:all}:host dx-draggable,:host div{display:flex;flex-flow:row nowrap}:host dx-draggable.active,:host div.active{background-color:#d4d4d4}\n"] }]
|
|
643
642
|
}], propDecorators: { _direction: [{
|
|
644
643
|
type: HostBinding,
|
|
645
644
|
args: ['style.flex-direction']
|
|
@@ -1572,25 +1571,33 @@ class FormComponent {
|
|
|
1572
1571
|
});
|
|
1573
1572
|
}
|
|
1574
1573
|
submitForm($event) {
|
|
1575
|
-
|
|
1576
|
-
if (!result.isValid) { // TODO 异步校验可能存在问题,需进一步确认
|
|
1577
|
-
this.submitCallback.emit({ success: false });
|
|
1578
|
-
result.brokenRules[0].validator.element().scrollIntoView();
|
|
1574
|
+
if (!this.validate()) {
|
|
1579
1575
|
return;
|
|
1580
1576
|
}
|
|
1581
1577
|
this.service.createOrUpdate(this.tenant, this.className, Object.assign({ oid: this.oid }, this.model)).subscribe(response => {
|
|
1582
1578
|
this.submitCallback.emit(response);
|
|
1583
1579
|
});
|
|
1584
1580
|
}
|
|
1581
|
+
validate() {
|
|
1582
|
+
const result = this.validator.instance.validate();
|
|
1583
|
+
if (!result.isValid) { // TODO 异步校验可能存在问题,需进一步确认
|
|
1584
|
+
this.submitCallback.emit({ success: false });
|
|
1585
|
+
// @ts-ignore
|
|
1586
|
+
result.brokenRules[0].validator.element().scrollIntoView();
|
|
1587
|
+
console.log(result);
|
|
1588
|
+
return false;
|
|
1589
|
+
}
|
|
1590
|
+
return true;
|
|
1591
|
+
}
|
|
1585
1592
|
submit() {
|
|
1586
|
-
|
|
1593
|
+
this.formSubmitter.instance.element().click();
|
|
1587
1594
|
}
|
|
1588
1595
|
}
|
|
1589
1596
|
FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, deps: [{ token: FormService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1590
|
-
FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], ngImport: i0, template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}form dx-validation-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "model", "tabViewContainerRef"] }, { kind: "component", type: i2$3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
|
|
1597
|
+
FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], ngImport: i0, template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: [":host{padding:12px 24px 20px}:host form{display:flex;flex-flow:row nowrap}:host form dx-validation-group{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["editMode", "config", "model", "tabViewContainerRef"] }, { kind: "component", type: i2$3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
|
|
1591
1598
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
|
|
1592
1599
|
type: Component,
|
|
1593
|
-
args: [{ selector: 'rs-form', providers: [FormService], template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: ["form{display:flex;flex-flow:row nowrap}form dx-validation-group{width:100%}\n"] }]
|
|
1600
|
+
args: [{ selector: 'rs-form', providers: [FormService], template: "<form>\n <dx-validation-group *ngIf=\"model\">\n <rs-box-container [config]=\"config\" [model]=\"model\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm($event)\" [useSubmitBehavior]=\"true\"></dx-button>\n </dx-validation-group>\n</form>\n", styles: [":host{padding:12px 24px 20px}:host form{display:flex;flex-flow:row nowrap}:host form dx-validation-group{width:100%}\n"] }]
|
|
1594
1601
|
}], ctorParameters: function () { return [{ type: FormService }]; }, propDecorators: { tenant: [{
|
|
1595
1602
|
type: Input
|
|
1596
1603
|
}], className: [{
|
|
@@ -1601,6 +1608,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
1601
1608
|
type: Input
|
|
1602
1609
|
}], template: [{
|
|
1603
1610
|
type: Input
|
|
1611
|
+
}], validator: [{
|
|
1612
|
+
type: ViewChild,
|
|
1613
|
+
args: [DxValidationGroupComponent]
|
|
1604
1614
|
}], formSubmitter: [{
|
|
1605
1615
|
type: ViewChild,
|
|
1606
1616
|
args: ['formSubmitter']
|