@snabcentr/client-ui 3.51.7 → 3.51.8
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/esm2022/order/draft/sc-draft.component.mjs +3 -3
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +7 -5
- package/esm2022/providers/sc-dialog-service.providers.mjs +1 -1
- package/fesm2022/snabcentr-client-ui.mjs +8 -6
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/order/draft/sc-draft.component.d.ts +1 -1
- package/order/order-items-list/sc-order-items-list.component.d.ts +3 -1
- package/package.json +1 -1
- package/providers/sc-dialog-service.providers.d.ts +3 -1
|
@@ -26,7 +26,7 @@ export class ScDraftComponent {
|
|
|
26
26
|
*/
|
|
27
27
|
this.draftsService = inject(ScOrderDraftsService);
|
|
28
28
|
/**
|
|
29
|
-
* Сигнал с данными текущего черновика заказа (из параметра
|
|
29
|
+
* Сигнал с данными текущего черновика заказа (из параметра orderId в URL).
|
|
30
30
|
*/
|
|
31
31
|
this.draft = model(null);
|
|
32
32
|
/**
|
|
@@ -58,7 +58,7 @@ export class ScDraftComponent {
|
|
|
58
58
|
ngOnInit() {
|
|
59
59
|
if (!this.draft()) {
|
|
60
60
|
this.draftsService
|
|
61
|
-
.get$(Number.parseInt(this.route.snapshot.paramMap.get('
|
|
61
|
+
.get$(Number.parseInt(this.route.snapshot.paramMap.get('orderId') ?? '', 10))
|
|
62
62
|
.pipe(filter(scOrderIsLoaded), takeUntilDestroyed(this.destroyRef))
|
|
63
63
|
.subscribe((draft) => {
|
|
64
64
|
this.draft.set(draft);
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
115
115
|
},
|
|
116
116
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let items = draft()?.products;\n\n@if (items) {\n <div class=\"flex flex-col gap-12\">\n <div class=\"flex flex-col gap-5\">\n @if (items.length) {\n <sc-order-items-list-by-directions\n scOrder\n [orderId]=\"draft()?.id\"\n [items]=\"items\"\n [editable]=\"isDraftPage()\"\n [selectable]=\"true\"\n (selectedItemsIdsChange)=\"selectedItemsIds.set($event)\"\n (continueClick)=\"goToNewOrder($event)\"\n >\n <div\n footerActions\n class=\"flex gap-2\"\n >\n <button\n tuiButton\n appearance=\"secondary\"\n (click)=\"clearDraft()\"\n iconStart=\"@tui.trash-2\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A\n </button>\n </div>\n </sc-order-items-list-by-directions>\n } @else {\n <p class=\"text-base font-bold\">\u0427\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u043F\u0443\u0441\u0442.</p>\n <div\n footerActions\n class=\"flex gap-2\"\n >\n <button\n tuiButton\n appearance=\"secondary\"\n (click)=\"clearDraft()\"\n iconStart=\"@tui.trash-2\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A\n </button>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"flex flex-col gap-12\">\n <div class=\"flex flex-col gap-5\">\n @for (item of [1, 2, 3, 4]; track item) {\n <div class=\"tui-skeleton flex h-[8.25rem] w-full overflow-hidden rounded-xl\"></div>\n }\n <div class=\"flex gap-2\">\n <div class=\"tui-skeleton h-10 w-40 rounded-md\"></div>\n <div class=\"tui-skeleton h-10 w-36 rounded-md\"></div>\n </div>\n </div>\n </div>\n}\n" }]
|
|
117
117
|
}] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZHJhZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL2RyYWZ0L3NjLWRyYWZ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9kcmFmdC9zYy1kcmFmdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixvQkFBb0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pJLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOztBQUV0STs7R0FFRztBQWNILE1BQU0sT0FBTyxnQkFBZ0I7SUFiN0I7UUFjSTs7V0FFRztRQUNjLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekM7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RTtnQkFDRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsR0FBRztnQkFDL0MsR0FBRyxFQUFFLGFBQWE7Z0JBQ2xCLEVBQUUsRUFBRSxlQUFlO2FBQ3RCO1NBQ0osQ0FBQzthQUNELElBQUksQ0FDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQy9DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0E3R1EsZ0JBQWdCO21HQUFoQixnQkFBZ0IsK2JBUmQ7WUFDUDtnQkFDSSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsV0FBVyxFQUFFLG9CQUFvQjthQUNwQztTQUNKLDBCQ3pCTCw0NUVBNERBLDRDRHpDYyxxQ0FBcUMsaVBBQUUsd0JBQXdCLDJFQUFFLFNBQVM7OzRGQVMzRSxnQkFBZ0I7a0JBYjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FFWCxDQUFDLHFDQUFxQyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsYUFDcEY7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFdBQVcsRUFBRSxvQkFBb0I7eUJBQ3BDO3FCQUNKLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNDX09SREVSX0xPQURFUiwgU2NPcmRlckRyYWZ0LCBTY09yZGVyRHJhZnRzU2VydmljZSwgc2NPcmRlcklzTG9hZGVkLCBTY1JvdXRlS2V5cywgU2NTZW9TZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aURpYWxvZ1NlcnZpY2UsIFR1aUljb25zIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVFVJX0NPTkZJUk0gfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgbm9vcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjT3JkZXJBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2Mtb3JkZXItYWNjZXNzb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNjT3JkZXJJdGVtc0J5RGlyZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3NjLWktY2FydC1pdGVtcy1ieS1kaXJlY3Rpb24nO1xuaW1wb3J0IHsgU2NPcmRlckl0ZW1zTGlzdEJ5RGlyZWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL29yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucy9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnMuY29tcG9uZW50JztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YHRgtGA0LDQvdC40YbRiyDRh9C10YDQvdC+0LLQuNC60LAg0LfQsNC60LDQt9CwICjQsNC90LDQu9C+0LMg0LrQvtGA0LfQuNC90Ysg0LTQu9GPINC+0LTQvdC+0LPQviDRh9C10YDQvdC+0LLQuNC60LApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtZHJhZnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1kcmFmdC5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1NjT3JkZXJJdGVtc0xpc3RCeURpcmVjdGlvbnNDb21wb25lbnQsIFNjT3JkZXJBY2Nlc3NvckRpcmVjdGl2ZSwgVHVpQnV0dG9uLCBUdWlJY29uc10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFNDX09SREVSX0xPQURFUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTY09yZGVyRHJhZnRzU2VydmljZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0RyYWZ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0Y7RidC40Lkg0LTQvtGB0YLRg9C/INC6INC00LDQvdC90YvQvCDQviDQvNCw0YDRiNGA0YPRgtC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINGH0LXRgNC90L7QstC40LrQsNC80Lgg0LfQsNC60LDQt9C+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFmdHNTZXJ2aWNlID0gaW5qZWN0KFNjT3JkZXJEcmFmdHNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDRgSDQtNCw0L3QvdGL0LzQuCDRgtC10LrRg9GJ0LXQs9C+INGH0LXRgNC90L7QstC40LrQsCDQt9Cw0LrQsNC30LAgKNC40Lcg0L/QsNGA0LDQvNC10YLRgNCwIG9mZmVySWQg0LIgVVJMKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZHJhZnQgPSBtb2RlbDxTY09yZGVyRHJhZnQgfCBudWxsPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEl0ZW1zSWRzID0gbW9kZWw8c3RyaW5nW10+KFtdKTtcblxuICAgIC8qKlxuICAgICAqINCY0YHRgtC+0YfQvdC40Log0YHQvtCx0YvRgtC40Y8g0YPQtNCw0LvQtdC90LjRjyDQuNC70Lgg0L7RgtC80LXQvdGLINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlRXZlbnQgPSBvdXRwdXQoKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC00LjQsNC70L7Qs9C+0LLRi9C80Lgg0L7QutC90LDQvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZSA9IGluamVjdDxUdWlEaWFsb2dTZXJ2aWNlPihUdWlEaWFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCi0LXQutGD0YnQuNC5INC60LvRjtGHINC80LDRgNGI0YDRg9GC0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRHJhZnRQYWdlID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMucm91dGUuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKChkYXRhKSA9PiAoZGF0YVsncm91dGVzX2tleSddIGFzIFNjUm91dGVLZXlzKSA9PT0gU2NSb3V0ZUtleXMuZHJhZnQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB7IGluaXRpYWxWYWx1ZTogZmFsc2UgfVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0LTQu9GPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDRg9C/0YDQsNCy0LvQtdC90LjRjyDRg9C90LjRh9GC0L7QttC10L3QuNC10Lwg0LfQsNCy0LjRgdC40LzQvtGB0YLQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDRg9GB0YLQsNC90L7QstC60LggU0VPLdC00LDQvdC90YvRhSDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlb1NlcnZpY2U6IFNjU2VvU2VydmljZSA9IGluamVjdChTY1Nlb1NlcnZpY2UpO1xuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZHJhZnQoKSkge1xuICAgICAgICAgICAgdGhpcy5kcmFmdHNTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldCQoTnVtYmVyLnBhcnNlSW50KHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdvZmZlcklkJykgPz8gJycsIDEwKSlcbiAgICAgICAgICAgICAgICAucGlwZShmaWx0ZXIoc2NPcmRlcklzTG9hZGVkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZHJhZnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmFmdC5zZXQoZHJhZnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlb1NlcnZpY2Uuc2V0QnlEZWZhdWx0QXNOb0luZGV4ZWQoJ9Cn0LXRgNC90L7QstC40LrQuCDQt9Cw0LrQsNC30L7QsicpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXRhdC+0LQg0Log0L7RhNC+0YDQvNC70LXQvdC40Y4g0LfQsNC60LDQt9CwINC/0L4g0LLRi9Cx0YDQsNC90L3QvtC80YMg0L3QsNC/0YDQsNCy0LvQtdC90LjRjiDQv9GA0L7QtNCw0LYuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uINCT0YDRg9C/0L/QsCDQv9C+0LfQuNGG0LjQuSDQv9C+INC90LDQv9GA0LDQstC70LXQvdC40Y4g0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnb1RvTmV3T3JkZXIoZGlyZWN0aW9uOiBTY09yZGVySXRlbXNCeURpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBpZHMgPSB0aGlzLnNlbGVjdGVkSXRlbXNJZHMoKS5maWx0ZXIoKGlkKSA9PiBkaXJlY3Rpb24uaXRlbXMuc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpKTtcblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ29yZGVycycsICduZXcnLCB0aGlzLmRyYWZ0KCk/LmlkLCBkaXJlY3Rpb24uZGlyZWN0aW9uLmlkLCAnZHJhZnQnXSwgeyBxdWVyeVBhcmFtczogeyBpdGVtc0lkczogaWRzIH0gfSkuY2F0Y2gobm9vcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0YfQtdGA0L3QvtCy0LjQuiDQuCDQv9C10YDQtdC90LDQv9GA0LDQstC70Y/QtdGCINC6INGB0L/QuNGB0LrRgyDRh9C10YDQvdC+0LLQuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY2xlYXJEcmFmdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpZCB9ID0gdGhpcy5kcmFmdCgpID8/IHt9O1xuXG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW48Ym9vbGVhbj4oVFVJX0NPTkZJUk0sIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogYNCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40Log4oSWJHtpZH0/YCxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGDQrdGC0L4g0LTQtdC50YHRgtCy0LjQtSDRg9C00LDQu9C40YIg0YfQtdGA0L3QvtCy0LjQuiDihJYke2lkfS5gLFxuICAgICAgICAgICAgICAgICAgICB5ZXM6ICfQlNCwLCDRg9C00LDQu9C40YLRjCcsXG4gICAgICAgICAgICAgICAgICAgIG5vOiAn0J3QtdGCLCDQvtGB0YLQsNCy0LjRgtGMJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5kcmFmdHNTZXJ2aWNlLmRlbGV0ZSQoaWQpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWxldGVFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZHJhZnRzJ10pLmNhdGNoKG5vb3ApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBpdGVtcyA9IGRyYWZ0KCk/LnByb2R1Y3RzO1xuXG5AaWYgKGl0ZW1zKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgICAgICAgICBAaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxzYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgc2NPcmRlclxuICAgICAgICAgICAgICAgICAgICBbb3JkZXJJZF09XCJkcmFmdCgpPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJpc0RyYWZ0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW1zSWRzQ2hhbmdlKT1cInNlbGVjdGVkSXRlbXNJZHMuc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoY29udGludWVDbGljayk9XCJnb1RvTmV3T3JkZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJBY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRHJhZnQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS50cmFzaC0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQo9C00LDQu9C40YLRjCDRh9C10YDQvdC+0LLQuNC6XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnM+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj7Qp9C10YDQvdC+0LLQuNC6INC/0YPRgdGCLjwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZvb3RlckFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC0yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEcmFmdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkudHJhc2gtMlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgINCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40LpcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIFsxLCAyLCAzLCA0XTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gZmxleCBoLVs4LjI1cmVtXSB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGxcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR1aS1za2VsZXRvbiBoLTEwIHctNDAgcm91bmRlZC1tZFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gaC0xMCB3LTM2IHJvdW5kZWQtbWRcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZHJhZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL2RyYWZ0L3NjLWRyYWZ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9kcmFmdC9zYy1kcmFmdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFnQixvQkFBb0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pJLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOztBQUV0STs7R0FFRztBQWNILE1BQU0sT0FBTyxnQkFBZ0I7SUFiN0I7UUFjSTs7V0FFRztRQUNjLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekM7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RTtnQkFDRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsR0FBRztnQkFDL0MsR0FBRyxFQUFFLGFBQWE7Z0JBQ2xCLEVBQUUsRUFBRSxlQUFlO2FBQ3RCO1NBQ0osQ0FBQzthQUNELElBQUksQ0FDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQy9DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzsrR0E3R1EsZ0JBQWdCO21HQUFoQixnQkFBZ0IsK2JBUmQ7WUFDUDtnQkFDSSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsV0FBVyxFQUFFLG9CQUFvQjthQUNwQztTQUNKLDBCQ3pCTCw0NUVBNERBLDRDRHpDYyxxQ0FBcUMsaVBBQUUsd0JBQXdCLDJFQUFFLFNBQVM7OzRGQVMzRSxnQkFBZ0I7a0JBYjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FFWCxDQUFDLHFDQUFxQyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsYUFDcEY7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFdBQVcsRUFBRSxvQkFBb0I7eUJBQ3BDO3FCQUNKLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBtb2RlbCwgT25Jbml0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNDX09SREVSX0xPQURFUiwgU2NPcmRlckRyYWZ0LCBTY09yZGVyRHJhZnRzU2VydmljZSwgc2NPcmRlcklzTG9hZGVkLCBTY1JvdXRlS2V5cywgU2NTZW9TZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b24sIFR1aURpYWxvZ1NlcnZpY2UsIFR1aUljb25zIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVFVJX0NPTkZJUk0gfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgbm9vcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjT3JkZXJBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2Mtb3JkZXItYWNjZXNzb3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNjT3JkZXJJdGVtc0J5RGlyZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3NjLWktY2FydC1pdGVtcy1ieS1kaXJlY3Rpb24nO1xuaW1wb3J0IHsgU2NPcmRlckl0ZW1zTGlzdEJ5RGlyZWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL29yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucy9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnMuY29tcG9uZW50JztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YHRgtGA0LDQvdC40YbRiyDRh9C10YDQvdC+0LLQuNC60LAg0LfQsNC60LDQt9CwICjQsNC90LDQu9C+0LMg0LrQvtGA0LfQuNC90Ysg0LTQu9GPINC+0LTQvdC+0LPQviDRh9C10YDQvdC+0LLQuNC60LApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtZHJhZnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1kcmFmdC5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1NjT3JkZXJJdGVtc0xpc3RCeURpcmVjdGlvbnNDb21wb25lbnQsIFNjT3JkZXJBY2Nlc3NvckRpcmVjdGl2ZSwgVHVpQnV0dG9uLCBUdWlJY29uc10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFNDX09SREVSX0xPQURFUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTY09yZGVyRHJhZnRzU2VydmljZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0RyYWZ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0Y7RidC40Lkg0LTQvtGB0YLRg9C/INC6INC00LDQvdC90YvQvCDQviDQvNCw0YDRiNGA0YPRgtC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINGH0LXRgNC90L7QstC40LrQsNC80Lgg0LfQsNC60LDQt9C+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFmdHNTZXJ2aWNlID0gaW5qZWN0KFNjT3JkZXJEcmFmdHNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDRgSDQtNCw0L3QvdGL0LzQuCDRgtC10LrRg9GJ0LXQs9C+INGH0LXRgNC90L7QstC40LrQsCDQt9Cw0LrQsNC30LAgKNC40Lcg0L/QsNGA0LDQvNC10YLRgNCwIG9yZGVySWQg0LIgVVJMKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZHJhZnQgPSBtb2RlbDxTY09yZGVyRHJhZnQgfCBudWxsPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEl0ZW1zSWRzID0gbW9kZWw8c3RyaW5nW10+KFtdKTtcblxuICAgIC8qKlxuICAgICAqINCY0YHRgtC+0YfQvdC40Log0YHQvtCx0YvRgtC40Y8g0YPQtNCw0LvQtdC90LjRjyDQuNC70Lgg0L7RgtC80LXQvdGLINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlRXZlbnQgPSBvdXRwdXQoKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC00LjQsNC70L7Qs9C+0LLRi9C80Lgg0L7QutC90LDQvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZSA9IGluamVjdDxUdWlEaWFsb2dTZXJ2aWNlPihUdWlEaWFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCi0LXQutGD0YnQuNC5INC60LvRjtGHINC80LDRgNGI0YDRg9GC0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRHJhZnRQYWdlID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMucm91dGUuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKChkYXRhKSA9PiAoZGF0YVsncm91dGVzX2tleSddIGFzIFNjUm91dGVLZXlzKSA9PT0gU2NSb3V0ZUtleXMuZHJhZnQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB7IGluaXRpYWxWYWx1ZTogZmFsc2UgfVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQodGB0YvQu9C60LAg0LTQu9GPINCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC+0LPQviDRg9C/0YDQsNCy0LvQtdC90LjRjyDRg9C90LjRh9GC0L7QttC10L3QuNC10Lwg0LfQsNCy0LjRgdC40LzQvtGB0YLQtdC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDRg9GB0YLQsNC90L7QstC60LggU0VPLdC00LDQvdC90YvRhSDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlb1NlcnZpY2U6IFNjU2VvU2VydmljZSA9IGluamVjdChTY1Nlb1NlcnZpY2UpO1xuXG4gICAgLyoqIEBpbmhlcml0RG9jICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZHJhZnQoKSkge1xuICAgICAgICAgICAgdGhpcy5kcmFmdHNTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmdldCQoTnVtYmVyLnBhcnNlSW50KHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdvcmRlcklkJykgPz8gJycsIDEwKSlcbiAgICAgICAgICAgICAgICAucGlwZShmaWx0ZXIoc2NPcmRlcklzTG9hZGVkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZHJhZnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmFmdC5zZXQoZHJhZnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlb1NlcnZpY2Uuc2V0QnlEZWZhdWx0QXNOb0luZGV4ZWQoJ9Cn0LXRgNC90L7QstC40LrQuCDQt9Cw0LrQsNC30L7QsicpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXRhdC+0LQg0Log0L7RhNC+0YDQvNC70LXQvdC40Y4g0LfQsNC60LDQt9CwINC/0L4g0LLRi9Cx0YDQsNC90L3QvtC80YMg0L3QsNC/0YDQsNCy0LvQtdC90LjRjiDQv9GA0L7QtNCw0LYuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uINCT0YDRg9C/0L/QsCDQv9C+0LfQuNGG0LjQuSDQv9C+INC90LDQv9GA0LDQstC70LXQvdC40Y4g0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnb1RvTmV3T3JkZXIoZGlyZWN0aW9uOiBTY09yZGVySXRlbXNCeURpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBpZHMgPSB0aGlzLnNlbGVjdGVkSXRlbXNJZHMoKS5maWx0ZXIoKGlkKSA9PiBkaXJlY3Rpb24uaXRlbXMuc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gaWQpKTtcblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ29yZGVycycsICduZXcnLCB0aGlzLmRyYWZ0KCk/LmlkLCBkaXJlY3Rpb24uZGlyZWN0aW9uLmlkLCAnZHJhZnQnXSwgeyBxdWVyeVBhcmFtczogeyBpdGVtc0lkczogaWRzIH0gfSkuY2F0Y2gobm9vcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0YfQtdGA0L3QvtCy0LjQuiDQuCDQv9C10YDQtdC90LDQv9GA0LDQstC70Y/QtdGCINC6INGB0L/QuNGB0LrRgyDRh9C10YDQvdC+0LLQuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY2xlYXJEcmFmdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBpZCB9ID0gdGhpcy5kcmFmdCgpID8/IHt9O1xuXG4gICAgICAgIGlmICghaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgICAgICAgLm9wZW48Ym9vbGVhbj4oVFVJX0NPTkZJUk0sIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogYNCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40Log4oSWJHtpZH0/YCxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGDQrdGC0L4g0LTQtdC50YHRgtCy0LjQtSDRg9C00LDQu9C40YIg0YfQtdGA0L3QvtCy0LjQuiDihJYke2lkfS5gLFxuICAgICAgICAgICAgICAgICAgICB5ZXM6ICfQlNCwLCDRg9C00LDQu9C40YLRjCcsXG4gICAgICAgICAgICAgICAgICAgIG5vOiAn0J3QtdGCLCDQvtGB0YLQsNCy0LjRgtGMJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5kcmFmdHNTZXJ2aWNlLmRlbGV0ZSQoaWQpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWxldGVFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZHJhZnRzJ10pLmNhdGNoKG5vb3ApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBpdGVtcyA9IGRyYWZ0KCk/LnByb2R1Y3RzO1xuXG5AaWYgKGl0ZW1zKSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgICAgICAgICBAaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxzYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgc2NPcmRlclxuICAgICAgICAgICAgICAgICAgICBbb3JkZXJJZF09XCJkcmFmdCgpPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtlZGl0YWJsZV09XCJpc0RyYWZ0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW1zSWRzQ2hhbmdlKT1cInNlbGVjdGVkSXRlbXNJZHMuc2V0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoY29udGludWVDbGljayk9XCJnb1RvTmV3T3JkZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBmb290ZXJBY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyRHJhZnQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS50cmFzaC0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQo9C00LDQu9C40YLRjCDRh9C10YDQvdC+0LLQuNC6XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnM+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj7Qp9C10YDQvdC+0LLQuNC6INC/0YPRgdGCLjwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGZvb3RlckFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC0yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEcmFmdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkudHJhc2gtMlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgINCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40LpcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxufSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTEyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIFsxLCAyLCAzLCA0XTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gZmxleCBoLVs4LjI1cmVtXSB3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuIHJvdW5kZWQteGxcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR1aS1za2VsZXRvbiBoLTEwIHctNDAgcm91bmRlZC1tZFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gaC0xMCB3LTM2IHJvdW5kZWQtbWRcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==
|
|
@@ -164,10 +164,12 @@ export class ScOrderItemsListComponent {
|
|
|
164
164
|
* Открывает модальное окно описания товара.
|
|
165
165
|
*
|
|
166
166
|
* @param product Товар/услуга, описание которой необходимо отобразить.
|
|
167
|
+
* @param orderItem Единичная позиция товара/услуги в заказе, для которой необходимо открыть конфигуратор.
|
|
168
|
+
* @param orderId Идентификатор заказа, в котором необходимо открыть конфигуратор.
|
|
167
169
|
*/
|
|
168
|
-
openProductInfoDialog(product) {
|
|
170
|
+
openProductInfoDialog(product, orderItem, orderId) {
|
|
169
171
|
if (this.scDialogService.openProductInfoDialog) {
|
|
170
|
-
this.scDialogService.openProductInfoDialog(product);
|
|
172
|
+
this.scDialogService.openProductInfoDialog(product, orderItem, orderId);
|
|
171
173
|
}
|
|
172
174
|
}
|
|
173
175
|
/**
|
|
@@ -194,13 +196,13 @@ export class ScOrderItemsListComponent {
|
|
|
194
196
|
this.scDialogService.openPriceHistoryChartDialog(product);
|
|
195
197
|
}
|
|
196
198
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScOrderItemsListComponent, isStandalone: true, selector: "sc-order-items-list", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { selectedItemsIdsChange: "selectedItemsIdsChange" }, ngImport: i0, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product)\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemComponent, selector: "sc-order-item", inputs: ["isShowEditControls"], outputs: ["clickSettings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: TuiCurrencyPipe, name: "tuiCurrency" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiFormatNumberPipe, name: "tuiFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScOrderItemsListComponent, isStandalone: true, selector: "sc-order-items-list", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { selectedItemsIdsChange: "selectedItemsIdsChange" }, ngImport: i0, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product, item, orderOptions?.orderId())\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemComponent, selector: "sc-order-item", inputs: ["isShowEditControls"], outputs: ["clickSettings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: TuiCurrencyPipe, name: "tuiCurrency" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiFormatNumberPipe, name: "tuiFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
198
200
|
}
|
|
199
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListComponent, decorators: [{
|
|
200
202
|
type: Component,
|
|
201
|
-
args: [{ standalone: true, selector: 'sc-order-items-list', imports: [ScOrderItemComponent, ReactiveFormsModule, TuiCheckbox, TuiButton, TuiButtonLoading, TuiCurrencyPipe, AsyncPipe, TuiFormatNumberPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product)\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n" }]
|
|
203
|
+
args: [{ standalone: true, selector: 'sc-order-items-list', imports: [ScOrderItemComponent, ReactiveFormsModule, TuiCheckbox, TuiButton, TuiButtonLoading, TuiCurrencyPipe, AsyncPipe, TuiFormatNumberPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product, item, orderOptions?.orderId())\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n" }]
|
|
202
204
|
}], propDecorators: { items: [{
|
|
203
205
|
type: Input,
|
|
204
206
|
args: [{ required: true }]
|
|
205
207
|
}] } });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvb3JkZXItaXRlbXMtbGlzdC9zYy1vcmRlci1pdGVtcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtcy1saXN0L3NjLW9yZGVyLWl0ZW1zLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFxRCxNQUFNLHdCQUF3QixDQUFDO0FBQzVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JELE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsTUFB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LENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hILENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLDJCQUEyQixDQUFDLE9BQStCO1FBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQzsrR0FwTlEseUJBQXlCO21HQUF6Qix5QkFBeUIsMGhCQzVCdEMsa21HQStEQSw0Q0R0Q2Msb0JBQW9CLHFIQUFFLG1CQUFtQixxd0JBQUUsV0FBVyxvR0FBRSxTQUFTLG9JQUFFLGdCQUFnQixrSEFBRSxlQUFlLCtDQUFFLFNBQVMseUNBQUUsbUJBQW1COzs0RkFHckkseUJBQXlCO2tCQVByQyxTQUFTO2lDQUNNLElBQUksWUFDTixxQkFBcUIsV0FFdEIsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLENBQUMsbUJBQzlILHVCQUF1QixDQUFDLE1BQU07OEJBd0YzQyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvdXRwdXRGcm9tT2JzZXJ2YWJsZSwgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNDX09SREVSX0xPQURFUiwgU2NJT3JkZXJFZGl0b3JMb2FkZXIsIFNjSU9yZGVyTG9hZGVyLCBTY09yZGVySXRlbSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpQ3VycmVuY3lQaXBlIH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpRm9ybWF0TnVtYmVyUGlwZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUNoZWNrYm94IH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgbWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdFNjUHJpY2VDYXJkIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBJU2NEaWFsb2dTZXJ2aWNlLCBTQ19ESUFMT0dfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19PUkRFUl9PUFRJT05TLCBTY09yZGVyT3B0aW9ucyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2Mtb3JkZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBTY09yZGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL29yZGVyLWl0ZW0vc2Mtb3JkZXItaXRlbS5jb21wb25lbnQnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRgdC/0LjRgdC60LAg0YLQvtCy0LDRgNC+0LIg0LrQvtGA0LfQuNC90YssINC30LDQutCw0LfQsCDQuNC70Lgg0YfQtdGA0L3QvtCy0LjQutCwLlxuICog0J/QvtC30LjRhtC40Lgg0YDQsNC30LHQuNGC0YsuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdzYy1vcmRlci1pdGVtcy1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtb3JkZXItaXRlbXMtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1NjT3JkZXJJdGVtQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUdWlDaGVja2JveCwgVHVpQnV0dG9uLCBUdWlCdXR0b25Mb2FkaW5nLCBUdWlDdXJyZW5jeVBpcGUsIEFzeW5jUGlwZSwgVHVpRm9ybWF0TnVtYmVyUGlwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjT3JkZXJJdGVtc0xpc3RDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCS0L3Rg9GC0YDQtdC90L3QuNC5INGB0LjQs9C90LDQuyDRgdC/0LjRgdC60LAg0Y3Qu9C10LzQtdC90YLQvtCyINC60L7RgNC30LjQvdGLICjRgtC+0LLQsNGA0L7QsikuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGl0ZW1zU2lnbmFsID0gc2lnbmFsPFNjT3JkZXJJdGVtW10+KFtdKTtcblxuICAgIC8qKlxuICAgICAqINCS0LrQu9GO0YfQuNGC0Ywg0LLRi9Cx0L7RgCDQv9C+0LfQuNGG0LjQuSDRh9C10LrQsdC+0LrRgdCw0LzQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0YWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gICAgLyoqXG4gICAgICog0JLQutC70Y7Rh9C40YLRjCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqINCS0L3Rg9GC0YDQtdC90L3Rj9GPINCz0YDRg9C/0L/QsCDRhNC+0YDQvNGLINC00LvRjyDQstGL0LHQvtGA0LAg0L/QvtC30LjRhtC40LkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlbGVjdGlvbkZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXA8UmVjb3JkPHN0cmluZywgRm9ybUNvbnRyb2w8Ym9vbGVhbj4+Pih7fSk7XG5cbiAgICAvKipcbiAgICAgKiDQntC/0YbQuNC4INC30LDQutCw0LfQsCAo0YfQtdGA0L3QvtCy0LjQutCwKS4g0J/RgNC10LTQvtGB0YLQsNCy0LvRj9C10YLRgdGPINC00LjRgNC10LrRgtC40LLQvtC5IHtAbGluayBTY09yZGVyQWNjZXNzb3JEaXJlY3RpdmV9INCyINC60L7QvdGC0LXQutGB0YLQtSDRh9C10YDQvdC+0LLQuNC60LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9yZGVyT3B0aW9ucyA9IGluamVjdDxTY09yZGVyT3B0aW9ucz4oU0NfT1JERVJfT1BUSU9OUywgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpdGVtc0lkcyA9IHRvU2lnbmFsKHRoaXMuc2VsZWN0aW9uRm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKG1hcCgodmFsdWUpID0+IE9iamVjdC5lbnRyaWVzPGJvb2xlYW4+KHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSkpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogW10sXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC40LPQvdCw0Lsg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtCyINCy0YvQsdGA0LDQvdC90YvRhSDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtc0lkcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0YWJsZSA9IHRoaXMuc2VsZWN0YWJsZSgpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zSWRzKClcbiAgICAgICAgICAgIC5maWx0ZXIoKFssIGNoZWNrZWRdKSA9PiAhc2VsZWN0YWJsZSB8fCBjaGVja2VkKVxuICAgICAgICAgICAgLm1hcCgoW2tleV0pID0+IGtleSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtSDQv9GA0Lgg0LjQt9C80LXQvdC10L3QuNC4INCy0YvQsdC+0YDQsCDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtc0lkc0NoYW5nZSA9IG91dHB1dEZyb21PYnNlcnZhYmxlKHRvT2JzZXJ2YWJsZSh0aGlzLnNlbGVjdGVkSXRlbXNJZHMpKTtcblxuICAgIC8qKlxuICAgICAqINCh0YPQvNC80LAg0YHRgtC+0LjQvNC+0YHRgtC4INCy0YvQsdGA0LDQvdC90YvRhSDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VtU2VsZWN0ZWRJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1zU2lnbmFsKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbXNJZHMgPSB0aGlzLnNlbGVjdGVkSXRlbXNJZHMoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0YWJsZSA9IHRoaXMuc2VsZWN0YWJsZSgpO1xuXG4gICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+ICFzZWxlY3RhYmxlIHx8IHNlbGVjdGVkSXRlbXNJZHMuaW5jbHVkZXMoaXRlbS5pZCkpLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IFNjT3JkZXJJdGVtKSA9PiBzdW0gKyBpdGVtLmNvc3RSdWIsIDApO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC/0L7Qu9GD0YfQtdC90LjRjyDQuCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQt9Cw0LrQsNC30LAgKNC60L7RgNC30LjQvdCwIC8g0LfQsNC60LDQtyAvINGH0LXRgNC90L7QstC40LogPSDQt9Cw0LrQsNC3KS5cbiAgICAgKiDQn9GA0LXQtNC+0YHRgtCw0LLQu9GP0LXRgtGB0Y8g0YDQvtC00LjRgtC10LvQtdC8INGH0LXRgNC10Lcg0YLQvtC60LXQvSB7QGxpbmsgU0NfT1JERVJfTE9BREVSfSAo0YDQtdCw0LvQuNC30LDRhtC40Y8ge0BsaW5rIFNjSU9yZGVyTG9hZGVyfSkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9yZGVySXRlbXNMaXN0TG9hZGVyID0gaW5qZWN0PFNjSU9yZGVyTG9hZGVyIHwgU2NJT3JkZXJFZGl0b3JMb2FkZXI+KFNDX09SREVSX0xPQURFUik7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INC80L7QttC90L4g0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbkVkaXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmVkaXRhYmxlKCkgJiYgJ3VwZGF0ZVByb2R1Y3QkJyBpbiB0aGlzLm9yZGVySXRlbXNMaXN0TG9hZGVyKTtcblxuICAgIC8qKlxuICAgICAqINCh0YHRi9C70LrQsCDQtNC70Y8g0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7Qs9C+INGD0L/RgNCw0LLQu9C10L3QuNGPINGD0L3QuNGH0YLQvtC20LXQvdC40LXQvCDQt9Cw0LLQuNGB0LjQvNC+0YHRgtC10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LTQuNCw0LvQvtCz0L7QstGL0LzQuCDQvtC60L3QsNC80LguXG4gICAgICog0J/RgNC10LTQvtGB0YLQsNCy0LvRj9C10YLRgdGPINGA0L7QtNC40YLQtdC70LXQvCDRh9C10YDQtdC3INGC0L7QutC10L0ge0BsaW5rIFNDX0RJQUxPR19TRVJWSUNFX1RPS0VOfS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjRGlhbG9nU2VydmljZSA9IGluamVjdDxJU2NEaWFsb2dTZXJ2aWNlPihTQ19ESUFMT0dfU0VSVklDRV9UT0tFTik7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0Y3Qu9C10LzQtdC90YLQvtCyINC60L7RgNC30LjQvdGLICjRgtC+0LLQsNGA0L7QsikuINCf0YDQuCDRg9GB0YLQsNC90L7QstC60LUg0YHQuNC90YXRgNC+0L3QvdC+INC+0LHQvdC+0LLQu9GP0LXRgiDQutC+0L3RgtGA0L7Qu9GLINCy0YvQsdC+0YDQsCDQsiDRhNC+0YDQvNC1LlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBTY09yZGVySXRlbVtdKSB7XG4gICAgICAgIHRoaXMuaXRlbXNTaWduYWwuc2V0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5zeW5jU2VsZWN0aW9uQ29udHJvbHMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC40L3RhdGA0L7QvdC40LfQuNGA0YPQtdGCINC60L7QvdGC0YDQvtC70Ysg0YTQvtGA0LzRiyDQstGL0LHQvtGA0LAg0YEg0YLQtdC60YPRidC40Lwg0YHQv9C40YHQutC+0Lwg0YLQvtCy0LDRgNC+0LI6INGD0LTQsNC70Y/QtdGCINC60L7QvdGC0YDQvtC70Ysg0LTQu9GPINC+0YLRgdGD0YLRgdGC0LLRg9GO0YnQuNGFIGlkLCDQtNC+0LHQsNCy0LvRj9C10YIg0LTQu9GPINC90L7QstGL0YUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzeW5jU2VsZWN0aW9uQ29udHJvbHMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RhYmxlKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtcyA9IHRoaXMuaXRlbXNTaWduYWwoKTtcbiAgICAgICAgY29uc3QgY3VycmVudElkcyA9IG5ldyBTZXQoY3VycmVudEl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5pZCkpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0aW9uRm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWN1cnJlbnRJZHMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Gb3JtR3JvdXAucmVtb3ZlQ29udHJvbChuYW1lIGFzIG5ldmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY3VycmVudEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3Rpb25Gb3JtR3JvdXAuY29udGFpbnMoaXRlbS5pZCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkZvcm1Hcm91cC5hZGRDb250cm9sKGl0ZW0uaWQsIG5ldyBGb3JtQ29udHJvbCh0cnVlLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0L/QvtC30LjRhtC40Y4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSDQn9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAg0LTQu9GPINGD0LTQsNC70LXQvdC40Y8uXG4gICAgICogQHBhcmFtIHByaWNlQ2FyZCDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGRlbGV0ZUl0ZW0oaXRlbTogU2NPcmRlckl0ZW0sIHByaWNlQ2FyZDogQWJzdHJhY3RTY1ByaWNlQ2FyZCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2FuRWRpdCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBwcmljZUNhcmQuc2hvd0xvYWRlci5zZXQodHJ1ZSk7XG5cbiAgICAgICAgKHRoaXMub3JkZXJJdGVtc0xpc3RMb2FkZXIgYXMgU2NJT3JkZXJFZGl0b3JMb2FkZXIpXG4gICAgICAgICAgICAuZGVsZXRlUHJvZHVjdCQoaXRlbSwgdGhpcy5vcmRlck9wdGlvbnM/Lm9yZGVySWQoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwcmljZUNhcmQucXVhbnRpdHlDb250cm9sLnBhdGNoVmFsdWUoaXRlbS5xdWFudGl0eSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwcmljZUNhcmQuc2hvd0xvYWRlci5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINC60L7Qu9C40YfQtdGB0YLQstC+INGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdRdWFudGl0eSDQndC+0LLQvtC1INC30L3QsNGH0LXQvdC40LUg0LrQvtC70LjRh9C10YHRgtCy0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqIEBwYXJhbSBwcmljZUNhcmQg0JrQvtC80L/QvtC90LXQvdGCINC60LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwYXRjaEl0ZW0obmV3UXVhbnRpdHk6IG51bWJlciB8IG51bGwsIHByaWNlQ2FyZDogQWJzdHJhY3RTY1ByaWNlQ2FyZCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY2FuRWRpdCgpIHx8ICFwcmljZUNhcmQub3JkZXJJdGVtIHx8ICFwcmljZUNhcmQucHJvZHVjdCB8fCAhbmV3UXVhbnRpdHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaWNlQ2FyZC5zaG93TG9hZGVyLnNldCh0cnVlKTtcblxuICAgICAgICAodGhpcy5vcmRlckl0ZW1zTGlzdExvYWRlciBhcyBTY0lPcmRlckVkaXRvckxvYWRlcilcbiAgICAgICAgICAgIC51cGRhdGVQcm9kdWN0JChwcmljZUNhcmQub3JkZXJJdGVtLmlkLCB7IHF1YW50aXR5OiBuZXdRdWFudGl0eSB9LCB0aGlzLm9yZGVyT3B0aW9ucz8ub3JkZXJJZCgpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICAgICAgICAgIHByaWNlQ2FyZC5xdWFudGl0eUNvbnRyb2wucGF0Y2hWYWx1ZShwcmljZUNhcmQub3JkZXJJdGVtIS5xdWFudGl0eSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBwcmljZUNhcmQuc2hvd0xvYWRlci5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9Cy0LDQtdGCINC80L7QtNCw0LvRjNC90L7QtSDQvtC60L3QviDQvtC/0LjRgdCw0L3QuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCi0L7QstCw0YAv0YPRgdC70YPQs9CwLCDQvtC/0LjRgdCw0L3QuNC1INC60L7RgtC+0YDQvtC5INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvcGVuUHJvZHVjdEluZm9EaWFsb2cocHJvZHVjdDogU2NPcmRlckl0ZW1bJ3Byb2R1Y3QnXSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zY0RpYWxvZ1NlcnZpY2Uub3BlblByb2R1Y3RJbmZvRGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLnNjRGlhbG9nU2VydmljZS5vcGVuUHJvZHVjdEluZm9EaWFsb2cocHJvZHVjdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0LLQsNC10YIg0LzQvtC00LDQu9GM0L3QvtC1INC+0LrQvdC+INC40LfQvNC10L3QtdC90LjRjyDRgtC+0LLQsNGA0LAg0LjQu9C4INC10LPQviDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb3BlblNldHRpbmdzRGlhbG9nKGl0ZW06IFNjT3JkZXJJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ29uZmlndXJhdG9yID0gQm9vbGVhbihpdGVtLmNvbmZpZ3VyYXRvcik7XG4gICAgICAgIGNvbnN0IHsgaXNMaW5lYXIgfSA9IGl0ZW0ucHJvZHVjdC51bml0O1xuXG4gICAgICAgIGlmIChpc0NvbmZpZ3VyYXRvcikge1xuICAgICAgICAgICAgdGhpcy5zY0RpYWxvZ1NlcnZpY2Uub3BlbkNvbmZpZ3VyYXRvckRpYWxvZyhpdGVtLnByb2R1Y3QsIGl0ZW0sIHRoaXMub3JkZXJPcHRpb25zPy5vcmRlcklkKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzTGluZWFyKSB7XG4gICAgICAgICAgICB0aGlzLnNjRGlhbG9nU2VydmljZS5vcGVuQWRkT3JFZGl0aW5nQ2FydEl0ZW1EaWFsb2coaXRlbS5wcm9kdWN0LCBpdGVtLCB0aGlzLm9yZGVyT3B0aW9ucz8ub3JkZXJJZCgpLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvQstCw0LXRgiDQtNC40LDQu9C+0LPQvtCy0L7QtSDQvtC60L3QviBcItCT0YDQsNGE0LjQuiDQuNC30LzQtdC90LXQvdC40Y8g0YHRgtC+0LjQvNC+0YHRgtC4XCIg0LTQu9GPINGC0L7QstCw0YDQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9kdWN0INCi0L7QstCw0YAv0YPRgdC70YPQs9CwLCDQtNC70Y8g0LrQvtGC0L7RgNC+0LPQviDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjCDQs9GA0LDRhNC40Log0LjQt9C80LXQvdC10L3QuNGPINGB0YLQvtC40LzQvtGB0YLQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgb3BlblByaWNlSGlzdG9yeUNoYXJ0RGlhbG9nKHByb2R1Y3Q6IFNjT3JkZXJJdGVtWydwcm9kdWN0J10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY0RpYWxvZ1NlcnZpY2Uub3BlblByaWNlSGlzdG9yeUNoYXJ0RGlhbG9nKHByb2R1Y3QpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBbZm9ybUdyb3VwXT1cInNlbGVjdGlvbkZvcm1Hcm91cFwiXG4gICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCJcbj5cbiAgICA8IS0tINCT0YDRg9C/0L/RiyDRgtC+0LLQsNGA0L7QsiDQv9C+INC90LDQv9GA0LDQstC70LXQvdC40Y/QvCDQv9GA0L7QtNCw0LYuIC0tPlxuXG4gICAgQGZvciAoaXRlbSBvZiBpdGVtc1NpZ25hbCgpOyB0cmFjayBpdGVtLmlkKSB7XG4gICAgICAgIEBpZiAoJGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJtdC1hdXRvIGgtcHggdy1mdWxsIGJnLXR1aS1jbGVhclwiIC8+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgIEBsZXQgaXNBY3RpdmUgPSAhc2VsZWN0YWJsZSgpIHx8IHNlbGVjdGlvbkZvcm1Hcm91cC5nZXQoaXRlbS5pZCk/LnZhbHVlO1xuXG4gICAgICAgICAgICA8IS0tINCn0LXQutCx0L7QutGBINCy0YvQsdC+0YDQsCDRgtC+0LLQsNGA0LAuIC0tPlxuICAgICAgICAgICAgQGlmIChzZWxlY3RhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHVpQ2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW1Db21wb25lbnQuc2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uaWRcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDwhLS0g0JrQsNGA0YLQvtGH0LrQsCDRgtC+0LLQsNGA0LAuIC0tPlxuICAgICAgICAgICAgPHNjLW9yZGVyLWl0ZW1cbiAgICAgICAgICAgICAgICAjaXRlbUNvbXBvbmVudFxuICAgICAgICAgICAgICAgIFtwcm9kdWN0XT1cIml0ZW0ucHJvZHVjdFwiXG4gICAgICAgICAgICAgICAgW29yZGVySXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICBbc2hvd1F1YW50aXR5Q29udHJvbF09XCJjYW5FZGl0KCkgJiYgIWl0ZW0uY29uZmlndXJhdG9yXCJcbiAgICAgICAgICAgICAgICBbaXNTaG93RWRpdENvbnRyb2xzXT1cImNhbkVkaXQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICAgICAgICBbY2xhc3Mub3BhY2l0eS02MF09XCJzZWxlY3RhYmxlKCkgJiYgIXNlbGVjdGlvbkZvcm1Hcm91cC5nZXQoaXRlbS5pZCk/LnZhbHVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tDYXJkRXZlbnQpPVwib3BlblByb2R1Y3RJbmZvRGlhbG9nKGl0ZW0ucHJvZHVjdClcIlxuICAgICAgICAgICAgICAgIChxdWFudGl0eVZhbHVlQ2hhbmdlcyk9XCJwYXRjaEl0ZW0oJGV2ZW50LCBpdGVtQ29tcG9uZW50KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrUHJpY2VIaXN0b3J5RXZlbnQpPVwib3BlblByaWNlSGlzdG9yeUNoYXJ0RGlhbG9nKGl0ZW0ucHJvZHVjdClcIlxuICAgICAgICAgICAgICAgIChjbGlja1NldHRpbmdzKT1cIm9wZW5TZXR0aW5nc0RpYWxvZyhpdGVtKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwiIWlzQWN0aXZlXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDwhLS0g0JrQvdC+0L/QutCwINGD0LTQsNC70LXQvdC40Y8g0YLQvtCy0LDRgNCwLiAtLT5cbiAgICAgICAgICAgIEBpZiAoY2FuRWRpdCgpKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkudHJhc2hcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlSXRlbShpdGVtLCBpdGVtQ29tcG9uZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIml0ZW1Db21wb25lbnQuc2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0xIHRvcC0xIGxnOiFyZWxhdGl2ZSBsZzpsZWZ0LTAgbGc6dG9wLTAgbGc6IXNlbGYtY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0g0KTRg9GC0LXRgCDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWVuZCBnYXAtMi41XCI+XG4gICAgICAgIEBsZXQgdG90YWxTdW0gPSBzdW1TZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgIDwhLS0g0JjRgtC+0LPQvtCy0LDRjyDRgdGD0LzQvNCwLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj7QmNGC0L7Qs9C+OiB7eyB0b3RhbFN1bSB8IHR1aUZvcm1hdE51bWJlcjogeyBwcmVjaXNpb246IDIsIGRlY2ltYWxTZXBhcmF0b3I6ICcuJywgcm91bmRpbmc6ICdjZWlsJyB9IHwgYXN5bmMgfX0ge3sgJ1JVQicgfCB0dWlDdXJyZW5jeSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbXMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvb3JkZXItaXRlbXMtbGlzdC9zYy1vcmRlci1pdGVtcy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1pdGVtcy1saXN0L3NjLW9yZGVyLWl0ZW1zLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFxRCxNQUFNLHdCQUF3QixDQUFDO0FBQzVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JELE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsTUFB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QUE4QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEgsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sMkJBQTJCLENBQUMsT0FBK0I7UUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDOytHQXROUSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwaEJDNUJ0Qyxpb0dBK0RBLDRDRHRDYyxvQkFBb0IscUhBQUUsbUJBQW1CLHF3QkFBRSxXQUFXLG9HQUFFLFNBQVMsb0lBQUUsZ0JBQWdCLGtIQUFFLGVBQWUsK0NBQUUsU0FBUyx5Q0FBRSxtQkFBbUI7OzRGQUdySSx5QkFBeUI7a0JBUHJDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLHFCQUFxQixXQUV0QixDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxtQkFDOUgsdUJBQXVCLENBQUMsTUFBTTs4QkF3RjNDLEtBQUs7c0JBRFIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuXG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5wdXQsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlLCB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0NfT1JERVJfTE9BREVSLCBTY0lPcmRlckVkaXRvckxvYWRlciwgU2NJT3JkZXJMb2FkZXIsIFNjT3JkZXJJdGVtIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlDdXJyZW5jeVBpcGUgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlGb3JtYXROdW1iZXJQaXBlIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgVHVpQnV0dG9uTG9hZGluZywgVHVpQ2hlY2tib3ggfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFic3RyYWN0U2NQcmljZUNhcmQgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IElTY0RpYWxvZ1NlcnZpY2UsIFNDX0RJQUxPR19TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzJztcbmltcG9ydCB7IFNDX09SREVSX09QVElPTlMsIFNjT3JkZXJPcHRpb25zIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9zYy1vcmRlci1vcHRpb25zJztcbmltcG9ydCB7IFNjT3JkZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vb3JkZXItaXRlbS9zYy1vcmRlci1pdGVtLmNvbXBvbmVudCc7XG5cbi8qKlxuICog0JrQvtC80L/QvtC90LXQvdGCINGB0L/QuNGB0LrQsCDRgtC+0LLQsNGA0L7QsiDQutC+0YDQt9C40L3Riywg0LfQsNC60LDQt9CwINC40LvQuCDRh9C10YDQvdC+0LLQuNC60LAuXG4gKiDQn9C+0LfQuNGG0LjQuCDRgNCw0LfQsdC40YLRiy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3NjLW9yZGVyLWl0ZW1zLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1vcmRlci1pdGVtcy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbU2NPcmRlckl0ZW1Db21wb25lbnQsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFR1aUNoZWNrYm94LCBUdWlCdXR0b24sIFR1aUJ1dHRvbkxvYWRpbmcsIFR1aUN1cnJlbmN5UGlwZSwgQXN5bmNQaXBlLCBUdWlGb3JtYXROdW1iZXJQaXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NPcmRlckl0ZW1zTGlzdENvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0JLQvdGD0YLRgNC10L3QvdC40Lkg0YHQuNCz0L3QsNC7INGB0L/QuNGB0LrQsCDRjdC70LXQvNC10L3RgtC+0LIg0LrQvtGA0LfQuNC90YsgKNGC0L7QstCw0YDQvtCyKS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXNTaWduYWwgPSBzaWduYWw8U2NPcmRlckl0ZW1bXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICog0JLQutC70Y7Rh9C40YLRjCDQstGL0LHQvtGAINC/0L7Qt9C40YbQuNC5INGH0LXQutCx0L7QutGB0LDQvNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiDQktC60LvRjtGH0LjRgtGMINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUg0L/QvtC30LjRhtC40LkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICog0JLQvdGD0YLRgNC10L3QvdGP0Y8g0LPRgNGD0L/Qv9CwINGE0L7RgNC80Ysg0LTQu9GPINCy0YvQsdC+0YDQsCDQv9C+0LfQuNGG0LjQuS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0aW9uRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cDxSZWNvcmQ8c3RyaW5nLCBGb3JtQ29udHJvbDxib29sZWFuPj4+KHt9KTtcblxuICAgIC8qKlxuICAgICAqINCe0L/RhtC40Lgg0LfQsNC60LDQt9CwICjRh9C10YDQvdC+0LLQuNC60LApLiDQn9GA0LXQtNC+0YHRgtCw0LLQu9GP0LXRgtGB0Y8g0LTQuNGA0LXQutGC0LjQstC+0Lkge0BsaW5rIFNjT3JkZXJBY2Nlc3NvckRpcmVjdGl2ZX0g0LIg0LrQvtC90YLQtdC60YHRgtC1INGH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3JkZXJPcHRpb25zID0gaW5qZWN0PFNjT3JkZXJPcHRpb25zPihTQ19PUkRFUl9PUFRJT05TLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRiyDQstGL0LHRgNCw0L3QvdGL0YUg0L/QvtC30LjRhtC40LkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGl0ZW1zSWRzID0gdG9TaWduYWwodGhpcy5zZWxlY3Rpb25Gb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUobWFwKCh2YWx1ZSkgPT4gT2JqZWN0LmVudHJpZXM8Ym9vbGVhbj4odmFsdWUgYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pKSksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBbXSxcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC+0LIg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEl0ZW1zSWRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RhYmxlID0gdGhpcy5zZWxlY3RhYmxlKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNJZHMoKVxuICAgICAgICAgICAgLmZpbHRlcigoWywgY2hlY2tlZF0pID0+ICFzZWxlY3RhYmxlIHx8IGNoZWNrZWQpXG4gICAgICAgICAgICAubWFwKChba2V5XSkgPT4ga2V5KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqINCS0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1INC/0YDQuCDQuNC30LzQtdC90LXQvdC40Lgg0LLRi9Cx0L7RgNCwINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEl0ZW1zSWRzQ2hhbmdlID0gb3V0cHV0RnJvbU9ic2VydmFibGUodG9PYnNlcnZhYmxlKHRoaXMuc2VsZWN0ZWRJdGVtc0lkcykpO1xuXG4gICAgLyoqXG4gICAgICog0KHRg9C80LzQsCDRgdGC0L7QuNC80L7RgdGC0Lgg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzdW1TZWxlY3RlZEl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXNTaWduYWwoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtc0lkcyA9IHRoaXMuc2VsZWN0ZWRJdGVtc0lkcygpO1xuICAgICAgICBjb25zdCBzZWxlY3RhYmxlID0gdGhpcy5zZWxlY3RhYmxlKCk7XG5cbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gIXNlbGVjdGFibGUgfHwgc2VsZWN0ZWRJdGVtc0lkcy5pbmNsdWRlcyhpdGVtLmlkKSkucmVkdWNlKChzdW06IG51bWJlciwgaXRlbTogU2NPcmRlckl0ZW0pID0+IHN1bSArIGl0ZW0uY29zdFJ1YiwgMCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0L/QvtC70YPRh9C10L3QuNGPINC4INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0YHQv9C40YHQutCwINGC0L7QstCw0YDQvtCyINC30LDQutCw0LfQsCAo0LrQvtGA0LfQuNC90LAgLyDQt9Cw0LrQsNC3IC8g0YfQtdGA0L3QvtCy0LjQuiA9INC30LDQutCw0LcpLlxuICAgICAqINCf0YDQtdC00L7RgdGC0LDQstC70Y/QtdGC0YHRjyDRgNC+0LTQuNGC0LXQu9C10Lwg0YfQtdGA0LXQtyDRgtC+0LrQtdC9IHtAbGluayBTQ19PUkRFUl9MT0FERVJ9ICjRgNC10LDQu9C40LfQsNGG0LjRjyB7QGxpbmsgU2NJT3JkZXJMb2FkZXJ9KS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3JkZXJJdGVtc0xpc3RMb2FkZXIgPSBpbmplY3Q8U2NJT3JkZXJMb2FkZXIgfCBTY0lPcmRlckVkaXRvckxvYWRlcj4oU0NfT1JERVJfTE9BREVSKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LzQvtC20L3QviDRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQv9C+0LfQuNGG0LjQuC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuRWRpdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZWRpdGFibGUoKSAmJiAndXBkYXRlUHJvZHVjdCQnIGluIHRoaXMub3JkZXJJdGVtc0xpc3RMb2FkZXIpO1xuXG4gICAgLyoqXG4gICAgICog0KHRgdGL0LvQutCwINC00LvRjyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtCz0L4g0YPQv9GA0LDQstC70LXQvdC40Y8g0YPQvdC40YfRgtC+0LbQtdC90LjQtdC8INC30LDQstC40YHQuNC80L7RgdGC0LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQtNC40LDQu9C+0LPQvtCy0YvQvNC4INC+0LrQvdCw0LzQuC5cbiAgICAgKiDQn9GA0LXQtNC+0YHRgtCw0LLQu9GP0LXRgtGB0Y8g0YDQvtC00LjRgtC10LvQtdC8INGH0LXRgNC10Lcg0YLQvtC60LXQvSB7QGxpbmsgU0NfRElBTE9HX1NFUlZJQ0VfVE9LRU59LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2NEaWFsb2dTZXJ2aWNlID0gaW5qZWN0PElTY0RpYWxvZ1NlcnZpY2U+KFNDX0RJQUxPR19TRVJWSUNFX1RPS0VOKTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LrQvtGA0LfQuNC90YsgKNGC0L7QstCw0YDQvtCyKS4g0J/RgNC4INGD0YHRgtCw0L3QvtCy0LrQtSDRgdC40L3RhdGA0L7QvdC90L4g0L7QsdC90L7QstC70Y/QtdGCINC60L7QvdGC0YDQvtC70Ysg0LLRi9Cx0L7RgNCwINCyINGE0L7RgNC80LUuXG4gICAgICovXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBzZXQgaXRlbXModmFsdWU6IFNjT3JkZXJJdGVtW10pIHtcbiAgICAgICAgdGhpcy5pdGVtc1NpZ25hbC5zZXQodmFsdWUpO1xuICAgICAgICB0aGlzLnN5bmNTZWxlY3Rpb25Db250cm9scygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0LjQvdGF0YDQvtC90LjQt9C40YDRg9C10YIg0LrQvtC90YLRgNC+0LvRiyDRhNC+0YDQvNGLINCy0YvQsdC+0YDQsCDRgSDRgtC10LrRg9GJ0LjQvCDRgdC/0LjRgdC60L7QvCDRgtC+0LLQsNGA0L7Qsjog0YPQtNCw0LvRj9C10YIg0LrQvtC90YLRgNC+0LvRiyDQtNC70Y8g0L7RgtGB0YPRgtGB0YLQstGD0Y7RidC40YUgaWQsINC00L7QsdCw0LLQu9GP0LXRgiDQtNC70Y8g0L3QvtCy0YvRhS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN5bmNTZWxlY3Rpb25Db250cm9scygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGFibGUoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW1zID0gdGhpcy5pdGVtc1NpZ25hbCgpO1xuICAgICAgICBjb25zdCBjdXJyZW50SWRzID0gbmV3IFNldChjdXJyZW50SXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLmlkKSk7XG5cbiAgICAgICAgT2JqZWN0LmtleXModGhpcy5zZWxlY3Rpb25Gb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgICAgIGlmICghY3VycmVudElkcy5oYXMobmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkZvcm1Hcm91cC5yZW1vdmVDb250cm9sKG5hbWUgYXMgbmV2ZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjdXJyZW50SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGlvbkZvcm1Hcm91cC5jb250YWlucyhpdGVtLmlkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woaXRlbS5pZCwgbmV3IEZvcm1Db250cm9sKHRydWUsIHsgbm9uTnVsbGFibGU6IHRydWUgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQv9C+0LfQuNGG0LjRji5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCf0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsCDQtNC70Y8g0YPQtNCw0LvQtdC90LjRjy5cbiAgICAgKiBAcGFyYW0gcHJpY2VDYXJkINCa0L7QvNC/0L7QvdC10L3RgiDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZGVsZXRlSXRlbShpdGVtOiBTY09yZGVySXRlbSwgcHJpY2VDYXJkOiBBYnN0cmFjdFNjUHJpY2VDYXJkKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jYW5FZGl0KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaWNlQ2FyZC5zaG93TG9hZGVyLnNldCh0cnVlKTtcblxuICAgICAgICAodGhpcy5vcmRlckl0ZW1zTGlzdExvYWRlciBhcyBTY0lPcmRlckVkaXRvckxvYWRlcilcbiAgICAgICAgICAgIC5kZWxldGVQcm9kdWN0JChpdGVtLCB0aGlzLm9yZGVyT3B0aW9ucz8ub3JkZXJJZCgpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHByaWNlQ2FyZC5xdWFudGl0eUNvbnRyb2wucGF0Y2hWYWx1ZShpdGVtLnF1YW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHByaWNlQ2FyZC5zaG93TG9hZGVyLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LrQvtC70LjRh9C10YHRgtCy0L4g0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld1F1YW50aXR5INCd0L7QstC+0LUg0LfQvdCw0YfQtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgtC+0LLQsNGA0LAuXG4gICAgICogQHBhcmFtIHByaWNlQ2FyZCDQmtC+0LzQv9C+0L3QtdC90YIg0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhdGNoSXRlbShuZXdRdWFudGl0eTogbnVtYmVyIHwgbnVsbCwgcHJpY2VDYXJkOiBBYnN0cmFjdFNjUHJpY2VDYXJkKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jYW5FZGl0KCkgfHwgIXByaWNlQ2FyZC5vcmRlckl0ZW0gfHwgIXByaWNlQ2FyZC5wcm9kdWN0IHx8ICFuZXdRdWFudGl0eSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJpY2VDYXJkLnNob3dMb2FkZXIuc2V0KHRydWUpO1xuXG4gICAgICAgICh0aGlzLm9yZGVySXRlbXNMaXN0TG9hZGVyIGFzIFNjSU9yZGVyRWRpdG9yTG9hZGVyKVxuICAgICAgICAgICAgLnVwZGF0ZVByb2R1Y3QkKHByaWNlQ2FyZC5vcmRlckl0ZW0uaWQsIHsgcXVhbnRpdHk6IG5ld1F1YW50aXR5IH0sIHRoaXMub3JkZXJPcHRpb25zPy5vcmRlcklkKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgICAgICAgICAgcHJpY2VDYXJkLnF1YW50aXR5Q29udHJvbC5wYXRjaFZhbHVlKHByaWNlQ2FyZC5vcmRlckl0ZW0hLnF1YW50aXR5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHByaWNlQ2FyZC5zaG93TG9hZGVyLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0LLQsNC10YIg0LzQvtC00LDQu9GM0L3QvtC1INC+0LrQvdC+INC+0L/QuNGB0LDQvdC40Y8g0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0KLQvtCy0LDRgC/Rg9GB0LvRg9Cz0LAsINC+0L/QuNGB0LDQvdC40LUg0LrQvtGC0L7RgNC+0Lkg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0YwuXG4gICAgICogQHBhcmFtIG9yZGVySXRlbSDQldC00LjQvdC40YfQvdCw0Y8g0L/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuCDQsiDQt9Cw0LrQsNC30LUsINC00LvRjyDQutC+0YLQvtGA0L7QuSDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0LrRgNGL0YLRjCDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YAuXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLCDQsiDQutC+0YLQvtGA0L7QvCDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0LrRgNGL0YLRjCDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIG9wZW5Qcm9kdWN0SW5mb0RpYWxvZyhwcm9kdWN0OiBTY09yZGVySXRlbVsncHJvZHVjdCddLCBvcmRlckl0ZW0/OiBTY09yZGVySXRlbSwgb3JkZXJJZD86IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zY0RpYWxvZ1NlcnZpY2Uub3BlblByb2R1Y3RJbmZvRGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLnNjRGlhbG9nU2VydmljZS5vcGVuUHJvZHVjdEluZm9EaWFsb2cocHJvZHVjdCwgb3JkZXJJdGVtLCBvcmRlcklkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvQstCw0LXRgiDQvNC+0LTQsNC70YzQvdC+0LUg0L7QutC90L4g0LjQt9C80LXQvdC10L3QuNGPINGC0L7QstCw0YDQsCDQuNC70Lgg0LXQs9C+INC60L7QvdGE0LjQs9GD0YDQsNGC0L7RgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW0g0J/QvtC30LjRhtC40Y8g0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvcGVuU2V0dGluZ3NEaWFsb2coaXRlbTogU2NPcmRlckl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNDb25maWd1cmF0b3IgPSBCb29sZWFuKGl0ZW0uY29uZmlndXJhdG9yKTtcbiAgICAgICAgY29uc3QgeyBpc0xpbmVhciB9ID0gaXRlbS5wcm9kdWN0LnVuaXQ7XG5cbiAgICAgICAgaWYgKGlzQ29uZmlndXJhdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnNjRGlhbG9nU2VydmljZS5vcGVuQ29uZmlndXJhdG9yRGlhbG9nKGl0ZW0ucHJvZHVjdCwgaXRlbSwgdGhpcy5vcmRlck9wdGlvbnM/Lm9yZGVySWQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNMaW5lYXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2NEaWFsb2dTZXJ2aWNlLm9wZW5BZGRPckVkaXRpbmdDYXJ0SXRlbURpYWxvZyhpdGVtLnByb2R1Y3QsIGl0ZW0sIHRoaXMub3JkZXJPcHRpb25zPy5vcmRlcklkKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9Cy0LDQtdGCINC00LjQsNC70L7Qs9C+0LLQvtC1INC+0LrQvdC+IFwi0JPRgNCw0YTQuNC6INC40LfQvNC10L3QtdC90LjRjyDRgdGC0L7QuNC80L7RgdGC0LhcIiDQtNC70Y8g0YLQvtCy0LDRgNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0KLQvtCy0LDRgC/Rg9GB0LvRg9Cz0LAsINC00LvRjyDQutC+0YLQvtGA0L7Qs9C+INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQvtCx0YDQsNC30LjRgtGMINCz0YDQsNGE0LjQuiDQuNC30LzQtdC90LXQvdC40Y8g0YHRgtC+0LjQvNC+0YHRgtC4LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBvcGVuUHJpY2VIaXN0b3J5Q2hhcnREaWFsb2cocHJvZHVjdDogU2NPcmRlckl0ZW1bJ3Byb2R1Y3QnXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjRGlhbG9nU2VydmljZS5vcGVuUHJpY2VIaXN0b3J5Q2hhcnREaWFsb2cocHJvZHVjdCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFtmb3JtR3JvdXBdPVwic2VsZWN0aW9uRm9ybUdyb3VwXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTVcIlxuPlxuICAgIDwhLS0g0JPRgNGD0L/Qv9GLINGC0L7QstCw0YDQvtCyINC/0L4g0L3QsNC/0YDQsNCy0LvQtdC90LjRj9C8INC/0YDQvtC00LDQti4gLS0+XG5cbiAgICBAZm9yIChpdGVtIG9mIGl0ZW1zU2lnbmFsKCk7IHRyYWNrIGl0ZW0uaWQpIHtcbiAgICAgICAgQGlmICgkaW5kZXggIT09IDApIHtcbiAgICAgICAgICAgIDxociBjbGFzcz1cIm10LWF1dG8gaC1weCB3LWZ1bGwgYmctdHVpLWNsZWFyXCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCByZWxhdGl2ZVwiPlxuICAgICAgICAgICAgQGxldCBpc0FjdGl2ZSA9ICFzZWxlY3RhYmxlKCkgfHwgc2VsZWN0aW9uRm9ybUdyb3VwLmdldChpdGVtLmlkKT8udmFsdWU7XG5cbiAgICAgICAgICAgIDwhLS0g0KfQtdC60LHQvtC60YEg0LLRi9Cx0L7RgNCwINGC0L7QstCw0YDQsC4gLS0+XG4gICAgICAgICAgICBAaWYgKHNlbGVjdGFibGUoKSkge1xuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0dWlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbUNvbXBvbmVudC5zaG93TG9hZGVyKClcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiaXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPCEtLSDQmtCw0YDRgtC+0YfQutCwINGC0L7QstCw0YDQsC4gLS0+XG4gICAgICAgICAgICA8c2Mtb3JkZXItaXRlbVxuICAgICAgICAgICAgICAgICNpdGVtQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgW3Byb2R1Y3RdPVwiaXRlbS5wcm9kdWN0XCJcbiAgICAgICAgICAgICAgICBbb3JkZXJJdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgIFtzaG93UXVhbnRpdHlDb250cm9sXT1cImNhbkVkaXQoKSAmJiAhaXRlbS5jb25maWd1cmF0b3JcIlxuICAgICAgICAgICAgICAgIFtpc1Nob3dFZGl0Q29udHJvbHNdPVwiY2FuRWRpdCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBkdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5vcGFjaXR5LTYwXT1cInNlbGVjdGFibGUoKSAmJiAhc2VsZWN0aW9uRm9ybUdyb3VwLmdldChpdGVtLmlkKT8udmFsdWVcIlxuICAgICAgICAgICAgICAgIChjbGlja0NhcmRFdmVudCk9XCJvcGVuUHJvZHVjdEluZm9EaWFsb2coaXRlbS5wcm9kdWN0LCBpdGVtLCBvcmRlck9wdGlvbnM/Lm9yZGVySWQoKSlcIlxuICAgICAgICAgICAgICAgIChxdWFudGl0eVZhbHVlQ2hhbmdlcyk9XCJwYXRjaEl0ZW0oJGV2ZW50LCBpdGVtQ29tcG9uZW50KVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrUHJpY2VIaXN0b3J5RXZlbnQpPVwib3BlblByaWNlSGlzdG9yeUNoYXJ0RGlhbG9nKGl0ZW0ucHJvZHVjdClcIlxuICAgICAgICAgICAgICAgIChjbGlja1NldHRpbmdzKT1cIm9wZW5TZXR0aW5nc0RpYWxvZyhpdGVtKVwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvaW50ZXItZXZlbnRzLW5vbmVdPVwiIWlzQWN0aXZlXCJcbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDwhLS0g0JrQvdC+0L/QutCwINGD0LTQsNC70LXQvdC40Y8g0YLQvtCy0LDRgNCwLiAtLT5cbiAgICAgICAgICAgIEBpZiAoY2FuRWRpdCgpKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGljb25TdGFydD1cIkB0dWkudHJhc2hcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlSXRlbShpdGVtLCBpdGVtQ29tcG9uZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cIml0ZW1Db21wb25lbnQuc2hvd0xvYWRlcigpXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCIhYWJzb2x1dGUgbGVmdC0xIHRvcC0xIGxnOiFyZWxhdGl2ZSBsZzpsZWZ0LTAgbGc6dG9wLTAgbGc6IXNlbGYtY2VudGVyXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDwhLS0g0KTRg9GC0LXRgCDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIuIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWVuZCBnYXAtMi41XCI+XG4gICAgICAgIEBsZXQgdG90YWxTdW0gPSBzdW1TZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgIDwhLS0g0JjRgtC+0LPQvtCy0LDRjyDRgdGD0LzQvNCwLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtYmFzZSBmb250LWJvbGRcIj7QmNGC0L7Qs9C+OiB7eyB0b3RhbFN1bSB8IHR1aUZvcm1hdE51bWJlcjogeyBwcmVjaXNpb246IDIsIGRlY2ltYWxTZXBhcmF0b3I6ICcuJywgcm91bmRpbmc6ICdjZWlsJyB9IHwgYXN5bmMgfX0ge3sgJ1JVQicgfCB0dWlDdXJyZW5jeSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -3,4 +3,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
3
3
|
* Токен для внедрения сервиса диалоговых окон.
|
|
4
4
|
*/
|
|
5
5
|
export const SC_DIALOG_SERVICE_TOKEN = new InjectionToken('IScDialogService');
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGlhbG9nLXNlcnZpY2UucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL3Byb3ZpZGVycy9zYy1kaWFsb2ctc2VydmljZS5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQThDL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTY09yZGVySXRlbSwgU2NQcm9kdWN0IH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlEaWFsb2dDb250ZXh0IH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vKipcbiAqINCY0L3RgtC10YDRhNC10LnRgSDRgdC10YDQstC40YHQsCDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC00LjQsNC70L7Qs9C+0LLRi9C80Lgg0L7QutC90LDQvNC4INGC0L7QstCw0YDQvtCyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTY0RpYWxvZ1NlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvQstCw0LXRgiDQvNC+0LTQsNC70YzQvdC+0LUg0L7QutC90L4g0L7Qv9C40YHQsNC90LjRjyDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQotC+0LLQsNGAL9GD0YHQu9GD0LPQsCwg0L7Qv9C40YHQsNC90LjQtSDQutC+0YLQvtGA0L7QuSDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0L7QsdGA0LDQt9C40YLRjC5cbiAgICAgKiBAcGFyYW0gb3JkZXJJdGVtINCV0LTQuNC90LjRh9C90LDRjyDQv9C+0LfQuNGG0LjRjyDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4INCyINC30LDQutCw0LfQtSwg0LTQu9GPINC60L7RgtC+0YDQvtC5INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQutGA0YvRgtGMINC60L7QvdGE0LjQs9GD0YDQsNGC0L7RgC5cbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAsINCyINC60L7RgtC+0YDQvtC8INC90LXQvtCx0YXQvtC00LjQvNC+INC+0YLQutGA0YvRgtGMINC60L7QvdGE0LjQs9GD0YDQsNGC0L7RgC5cbiAgICAgKiBAcGFyYW0gZGlhbG9nQ29udGV4dCDQodGB0YvQu9C60LAg0L3QsCDQutC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINC60L7RgtC+0YDQvtC1INC90LXQvtCx0YXQvtC00LjQvNC+INC30LDQutGA0YvRgtGMINC/0LXRgNC10LQg0LLRi9C/0L7Qu9C90LXQvdC40LXQvCDRhNGD0L3QutGG0LjQuC5cbiAgICAgKi9cbiAgICBvcGVuUHJvZHVjdEluZm9EaWFsb2c/KHByb2R1Y3Q6IFNjUHJvZHVjdCwgb3JkZXJJdGVtPzogU2NPcmRlckl0ZW0sIG9yZGVySWQ/OiBudW1iZXIsIGRpYWxvZ0NvbnRleHQ/OiBUdWlEaWFsb2dDb250ZXh0KTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvQstCw0LXRgiDQvNC+0LTQsNC70YzQvdC+0LUg0L7QutC90L4g0LjQt9C80LXQvdC10L3QuNGPINGC0L7QstCw0YDQsCDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YDQsCDQsiDQutC+0YDQt9C40L3QtS/Qt9Cw0LrQsNC30LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1LlxuICAgICAqIEBwYXJhbSBvcmRlckl0ZW0g0JXQtNC40L3QuNGH0L3QsNGPINC/0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0Lgg0LIg0LfQsNC60LDQt9C1LCDQtNC70Y8g0LrQvtGC0L7RgNC+0Lkg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC60YDRi9GC0Ywg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGALlxuICAgICAqIEBwYXJhbSBvcmRlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC60YDRi9GC0Ywg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGALlxuICAgICAqIEBwYXJhbSBkaWFsb2dDb250ZXh0INCh0YHRi9C70LrQsCDQvdCwINC60L7QvdGC0LXQutGB0YIg0LTQuNCw0LvQvtCz0L7QstC+0LPQviDQvtC60L3QsCwg0LrQvtGC0L7RgNC+0LUg0L3QtdC+0LHRhdC+0LTQuNC80L4g0LfQsNC60YDRi9GC0Ywg0L/QtdGA0LXQtCDQstGL0L/QvtC70L3QtdC90LjQtdC8INGE0YPQvdC60YbQuNC4LlxuICAgICAqL1xuICAgIG9wZW5Db25maWd1cmF0b3JEaWFsb2cocHJvZHVjdDogU2NQcm9kdWN0LCBvcmRlckl0ZW0/OiBTY09yZGVySXRlbSwgb3JkZXJJZD86IG51bWJlciwgZGlhbG9nQ29udGV4dD86IFR1aURpYWxvZ0NvbnRleHQpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICog0J7RgtC60YDRi9Cy0LDQtdGCINC80L7QtNCw0LvRjNC90L7QtSDQvtC60L3QviDQtNC+0LHQsNCy0LvQtdC90LjRjy/RgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPINGC0L7QstCw0YDQsCDQsiDQutC+0YDQt9C40L3QtS/Qt9Cw0LrQsNC30LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQlNCw0L3QvdGL0LUg0L4g0YLQvtCy0LDRgNC1LlxuICAgICAqIEBwYXJhbSBvcmRlckl0ZW0g0JXQtNC40L3QuNGH0L3QsNGPINC/0L7Qt9C40YbQuNGPINGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0Lgg0LIg0LfQsNC60LDQt9C1LCDQtNC70Y8g0LrQvtGC0L7RgNC+0Lkg0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC60YDRi9GC0Ywg0LTQuNCw0LvQvtCzINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8uXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLCDQsiDQutC+0YLQvtGA0L7QvCDQvdC10L7QsdGF0L7QtNC40LzQviDQvtGC0LrRgNGL0YLRjCDQtNC40LDQu9C+0LMg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjRjy5cbiAgICAgKiBAcGFyYW0gZnJvbVJlY29tbWVuZGF0aW9uINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LTQuNCw0LvQvtCzINC+0YLQutGA0YvRgiDQuNC3INGA0LXQutC+0LzQtdC90LTQsNGG0LjQuS5cbiAgICAgKi9cbiAgICBvcGVuQWRkT3JFZGl0aW5nQ2FydEl0ZW1EaWFsb2cocHJvZHVjdDogU2NQcm9kdWN0LCBvcmRlckl0ZW0/OiBTY09yZGVySXRlbSwgb3JkZXJJZD86IG51bWJlciwgZnJvbVJlY29tbWVuZGF0aW9uPzogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiDQntGC0LrRgNGL0LLQsNC10YIg0LTQuNCw0LvQvtCz0L7QstC+0LUg0L7QutC90L4gXCLQk9GA0LDRhNC40Log0LjQt9C80LXQvdC10L3QuNGPINGB0YLQvtC40LzQvtGB0YLQuFwiINC00LvRjyDRgtC+0LLQsNGA0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvZHVjdCDQotC+0LLQsNGAL9GD0YHQu9GD0LPQsCwg0LTQu9GPINC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LPRgNCw0YTQuNC6INC40LfQvNC10L3QtdC90LjRjyDRgdGC0L7QuNC80L7RgdGC0LguXG4gICAgICovXG4gICAgb3BlblByaWNlSGlzdG9yeUNoYXJ0RGlhbG9nKHByb2R1Y3Q6IFNjUHJvZHVjdCk6IHZvaWQ7XG59XG5cbi8qKlxuICog0KLQvtC60LXQvSDQtNC70Y8g0LLQvdC10LTRgNC10L3QuNGPINGB0LXRgNCy0LjRgdCwINC00LjQsNC70L7Qs9C+0LLRi9GFINC+0LrQvtC9LlxuICovXG5leHBvcnQgY29uc3QgU0NfRElBTE9HX1NFUlZJQ0VfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNjRGlhbG9nU2VydmljZT4oJ0lTY0RpYWxvZ1NlcnZpY2UnKTtcbiJdfQ==
|
|
@@ -7457,10 +7457,12 @@ class ScOrderItemsListComponent {
|
|
|
7457
7457
|
* Открывает модальное окно описания товара.
|
|
7458
7458
|
*
|
|
7459
7459
|
* @param product Товар/услуга, описание которой необходимо отобразить.
|
|
7460
|
+
* @param orderItem Единичная позиция товара/услуги в заказе, для которой необходимо открыть конфигуратор.
|
|
7461
|
+
* @param orderId Идентификатор заказа, в котором необходимо открыть конфигуратор.
|
|
7460
7462
|
*/
|
|
7461
|
-
openProductInfoDialog(product) {
|
|
7463
|
+
openProductInfoDialog(product, orderItem, orderId) {
|
|
7462
7464
|
if (this.scDialogService.openProductInfoDialog) {
|
|
7463
|
-
this.scDialogService.openProductInfoDialog(product);
|
|
7465
|
+
this.scDialogService.openProductInfoDialog(product, orderItem, orderId);
|
|
7464
7466
|
}
|
|
7465
7467
|
}
|
|
7466
7468
|
/**
|
|
@@ -7487,11 +7489,11 @@ class ScOrderItemsListComponent {
|
|
|
7487
7489
|
this.scDialogService.openPriceHistoryChartDialog(product);
|
|
7488
7490
|
}
|
|
7489
7491
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7490
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScOrderItemsListComponent, isStandalone: true, selector: "sc-order-items-list", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { selectedItemsIdsChange: "selectedItemsIdsChange" }, ngImport: i0, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product)\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemComponent, selector: "sc-order-item", inputs: ["isShowEditControls"], outputs: ["clickSettings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: TuiCurrencyPipe, name: "tuiCurrency" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiFormatNumberPipe, name: "tuiFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7492
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScOrderItemsListComponent, isStandalone: true, selector: "sc-order-items-list", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: true, transformFunction: null } }, outputs: { selectedItemsIdsChange: "selectedItemsIdsChange" }, ngImport: i0, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product, item, orderOptions?.orderId())\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemComponent, selector: "sc-order-item", inputs: ["isShowEditControls"], outputs: ["clickSettings"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "pipe", type: TuiCurrencyPipe, name: "tuiCurrency" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiFormatNumberPipe, name: "tuiFormatNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7491
7493
|
}
|
|
7492
7494
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderItemsListComponent, decorators: [{
|
|
7493
7495
|
type: Component,
|
|
7494
|
-
args: [{ standalone: true, selector: 'sc-order-items-list', imports: [ScOrderItemComponent, ReactiveFormsModule, TuiCheckbox, TuiButton, TuiButtonLoading, TuiCurrencyPipe, AsyncPipe, TuiFormatNumberPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product)\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n" }]
|
|
7496
|
+
args: [{ standalone: true, selector: 'sc-order-items-list', imports: [ScOrderItemComponent, ReactiveFormsModule, TuiCheckbox, TuiButton, TuiButtonLoading, TuiCurrencyPipe, AsyncPipe, TuiFormatNumberPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [formGroup]=\"selectionFormGroup\"\n class=\"flex flex-col gap-5\"\n>\n <!-- \u0413\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432 \u043F\u043E \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u043C \u043F\u0440\u043E\u0434\u0430\u0436. -->\n\n @for (item of itemsSignal(); track item.id) {\n @if ($index !== 0) {\n <hr class=\"mt-auto h-px w-full bg-tui-clear\" />\n }\n\n <div class=\"flex items-center gap-4 relative\">\n @let isActive = !selectable() || selectionFormGroup.get(item.id)?.value;\n\n <!-- \u0427\u0435\u043A\u0431\u043E\u043A\u0441 \u0432\u044B\u0431\u043E\u0440\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (selectable()) {\n <input\n tuiCheckbox\n [disabled]=\"itemComponent.showLoader()\"\n type=\"checkbox\"\n size=\"m\"\n [formControlName]=\"item.id\"\n />\n }\n\n <!-- \u041A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u0442\u043E\u0432\u0430\u0440\u0430. -->\n <sc-order-item\n #itemComponent\n [product]=\"item.product\"\n [orderItem]=\"item\"\n [showQuantityControl]=\"canEdit() && !item.configurator\"\n [isShowEditControls]=\"canEdit()\"\n class=\"w-full duration-200\"\n [class.opacity-60]=\"selectable() && !selectionFormGroup.get(item.id)?.value\"\n (clickCardEvent)=\"openProductInfoDialog(item.product, item, orderOptions?.orderId())\"\n (quantityValueChanges)=\"patchItem($event, itemComponent)\"\n (clickPriceHistoryEvent)=\"openPriceHistoryChartDialog(item.product)\"\n (clickSettings)=\"openSettingsDialog(item)\"\n [class.pointer-events-none]=\"!isActive\"\n />\n\n <!-- \u041A\u043D\u043E\u043F\u043A\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0442\u043E\u0432\u0430\u0440\u0430. -->\n @if (canEdit()) {\n <button\n tuiIconButton\n iconStart=\"@tui.trash\"\n (click)=\"deleteItem(item, itemComponent)\"\n [loading]=\"itemComponent.showLoader()\"\n size=\"s\"\n appearance=\"secondary\"\n class=\"!absolute left-1 top-1 lg:!relative lg:left-0 lg:top-0 lg:!self-center\"\n ></button>\n }\n </div>\n }\n\n <!-- \u0424\u0443\u0442\u0435\u0440 \u0433\u0440\u0443\u043F\u043F\u044B \u0442\u043E\u0432\u0430\u0440\u043E\u0432. -->\n <div class=\"flex flex-col items-end gap-2.5\">\n @let totalSum = sumSelectedItems();\n <!-- \u0418\u0442\u043E\u0433\u043E\u0432\u0430\u044F \u0441\u0443\u043C\u043C\u0430. -->\n <div class=\"text-base font-bold\">\u0418\u0442\u043E\u0433\u043E: {{ totalSum | tuiFormatNumber: { precision: 2, decimalSeparator: '.', rounding: 'ceil' } | async }} {{ 'RUB' | tuiCurrency }}</div>\n </div>\n</div>\n" }]
|
|
7495
7497
|
}], propDecorators: { items: [{
|
|
7496
7498
|
type: Input,
|
|
7497
7499
|
args: [{ required: true }]
|
|
@@ -7655,7 +7657,7 @@ class ScDraftComponent {
|
|
|
7655
7657
|
*/
|
|
7656
7658
|
this.draftsService = inject(ScOrderDraftsService);
|
|
7657
7659
|
/**
|
|
7658
|
-
* Сигнал с данными текущего черновика заказа (из параметра
|
|
7660
|
+
* Сигнал с данными текущего черновика заказа (из параметра orderId в URL).
|
|
7659
7661
|
*/
|
|
7660
7662
|
this.draft = model(null);
|
|
7661
7663
|
/**
|
|
@@ -7687,7 +7689,7 @@ class ScDraftComponent {
|
|
|
7687
7689
|
ngOnInit() {
|
|
7688
7690
|
if (!this.draft()) {
|
|
7689
7691
|
this.draftsService
|
|
7690
|
-
.get$(Number.parseInt(this.route.snapshot.paramMap.get('
|
|
7692
|
+
.get$(Number.parseInt(this.route.snapshot.paramMap.get('orderId') ?? '', 10))
|
|
7691
7693
|
.pipe(filter(scOrderIsLoaded), takeUntilDestroyed(this.destroyRef))
|
|
7692
7694
|
.subscribe((draft) => {
|
|
7693
7695
|
this.draft.set(draft);
|