@snabcentr/client-ui 4.14.4 → 4.14.6-profstroy
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/banner/sc-banner.component.d.ts +32 -3
- package/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.d.ts +3 -3
- package/catalog/input-quantity/sc-input-quantity.component.d.ts +17 -1
- package/esm2022/banner/sc-banner.component.mjs +52 -7
- package/esm2022/cart/sc-cart-add-products-from-csv-dialog/sc-cart-add-products-from-csv-dialog.component.mjs +5 -16
- package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +29 -6
- package/esm2022/helpers/sc-file-helper.mjs +29 -0
- package/esm2022/order/draft/helpers/sc-draft-list-helper.mjs +42 -0
- package/esm2022/order/draft/models/sc-i-draft-list-item.mjs +2 -0
- package/esm2022/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.mjs +68 -0
- package/esm2022/order/draft/profstroy/badge/sc-profstroy-badge.component.mjs +21 -0
- package/esm2022/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.mjs +31 -0
- package/esm2022/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.mjs +132 -0
- package/esm2022/order/draft/profstroy/enums/sc-profstroy-draft-state.mjs +32 -0
- package/esm2022/order/draft/profstroy/helpers/sc-profstroy-draft-helper.mjs +72 -0
- package/esm2022/order/draft/profstroy/index.mjs +8 -0
- package/esm2022/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.mjs +2 -0
- package/esm2022/order/draft/sc-draft.component.mjs +173 -10
- package/esm2022/order/index.mjs +5 -1
- package/esm2022/order/models/sc-i-order-items-group.mjs +2 -0
- package/esm2022/order/order-direction-items/sc-order-direction-items.component.mjs +7 -3
- package/esm2022/order/order-item/sc-order-item.component.mjs +14 -5
- package/esm2022/order/order-items-list/sc-order-items-list.component.mjs +60 -7
- package/esm2022/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.mjs +7 -3
- package/esm2022/order/order-items-list-by-stock/sc-order-items-list-by-stock.component.mjs +1 -1
- package/esm2022/pipes/sc-format-date.mjs +1 -1
- package/esm2022/providers/sc-date-formatter.mjs +1 -1
- package/fesm2022/snabcentr-client-ui.mjs +718 -44
- package/fesm2022/snabcentr-client-ui.mjs.map +1 -1
- package/helpers/sc-file-helper.d.ts +13 -0
- package/order/draft/helpers/sc-draft-list-helper.d.ts +22 -0
- package/order/draft/models/sc-i-draft-list-item.d.ts +14 -0
- package/order/draft/profstroy/actualization-panel/sc-profstroy-actualization-panel.component.d.ts +54 -0
- package/order/draft/profstroy/badge/sc-profstroy-badge.component.d.ts +12 -0
- package/order/draft/profstroy/badges/sc-profstroy-draft-badges.component.d.ts +21 -0
- package/order/draft/profstroy/create-dialog/sc-profstroy-draft-create-dialog.component.d.ts +58 -0
- package/order/draft/profstroy/enums/sc-profstroy-draft-state.d.ts +29 -0
- package/order/draft/profstroy/helpers/sc-profstroy-draft-helper.d.ts +26 -0
- package/order/draft/profstroy/index.d.ts +7 -0
- package/order/draft/profstroy/models/sc-i-profstroy-draft-state-view.d.ts +17 -0
- package/order/draft/sc-draft.component.d.ts +88 -1
- package/order/index.d.ts +4 -0
- package/order/models/sc-i-order-items-group.d.ts +22 -0
- package/order/order-direction-items/sc-order-direction-items.component.d.ts +5 -1
- package/order/order-item/sc-order-item.component.d.ts +9 -1
- package/order/order-items-list/sc-order-items-list.component.d.ts +23 -1
- package/order/order-items-list-by-directions/sc-order-items-list-by-directions.component.d.ts +5 -1
- package/package.json +2 -2
- package/pipes/sc-format-date.d.ts +1 -1
- package/providers/sc-date-formatter.d.ts +1 -1
- package/release_notes.tmp +2 -4
- package/styles/tailwind/tailwind.scss +16 -0
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject, model, output, signal } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
3
4
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
-
import { SC_ORDER_LOADER, ScOrderDraftsService, scOrderIsLoaded, ScRouteKeys, ScSeoService } from '@snabcentr/client-core';
|
|
5
|
-
import { TuiButton, TuiDialogService, TuiIcons } from '@taiga-ui/core';
|
|
5
|
+
import { SC_ORDER_LOADER, SC_UPDATE_INTERVAL, ScOrderDraftActualizationStatus, ScOrderDraftsService, scOrderIsLoaded, ScProfstroyOrderItem, ScRouteKeys, ScSeoService, } from '@snabcentr/client-core';
|
|
6
|
+
import { TuiAlertService, TuiButton, TuiDialogService, TuiIcons } from '@taiga-ui/core';
|
|
6
7
|
import { TUI_CONFIRM } from '@taiga-ui/kit';
|
|
7
|
-
import { distinctUntilChanged, filter, map, noop, switchMap } from 'rxjs';
|
|
8
|
+
import { catchError, distinctUntilChanged, EMPTY, filter, finalize, map, noop, switchMap, take, timer } from 'rxjs';
|
|
8
9
|
import { ScOrderAccessorDirective } from '../directives/sc-order-accessor.directive';
|
|
10
|
+
import { ScOrderItemsListComponent } from '../order-items-list/sc-order-items-list.component';
|
|
9
11
|
import { ScOrderItemsListByDirectionsComponent } from '../order-items-list-by-directions/sc-order-items-list-by-directions.component';
|
|
12
|
+
import { ScProfstroyActualizationPanelComponent } from './profstroy/actualization-panel/sc-profstroy-actualization-panel.component';
|
|
13
|
+
import { ScProfstroyDraftBadgesComponent } from './profstroy/badges/sc-profstroy-draft-badges.component';
|
|
10
14
|
import * as i0 from "@angular/core";
|
|
11
15
|
/**
|
|
12
16
|
* Компонент страницы черновика заказа (аналог корзины для одного черновика).
|
|
13
17
|
*/
|
|
14
18
|
export class ScDraftComponent {
|
|
19
|
+
/**
|
|
20
|
+
* Инициализирует экземпляр класса {@link ScDraftComponent}.
|
|
21
|
+
*/
|
|
15
22
|
constructor() {
|
|
16
23
|
/**
|
|
17
24
|
* Сервис маршрутизации.
|
|
@@ -25,6 +32,14 @@ export class ScDraftComponent {
|
|
|
25
32
|
* Сервис для работы с черновиками заказов.
|
|
26
33
|
*/
|
|
27
34
|
this.draftsService = inject(ScOrderDraftsService);
|
|
35
|
+
/**
|
|
36
|
+
* Интервалы обновления данных.
|
|
37
|
+
*/
|
|
38
|
+
this.updateInterval = inject(SC_UPDATE_INTERVAL);
|
|
39
|
+
/**
|
|
40
|
+
* Сервис уведомлений.
|
|
41
|
+
*/
|
|
42
|
+
this.alerts = inject(TuiAlertService);
|
|
28
43
|
/**
|
|
29
44
|
* Сигнал с данными текущего черновика заказа (из параметра orderId в URL).
|
|
30
45
|
*/
|
|
@@ -45,6 +60,47 @@ export class ScDraftComponent {
|
|
|
45
60
|
* Текущий ключ маршрута.
|
|
46
61
|
*/
|
|
47
62
|
this.isDraftPage = toSignal(this.route.data.pipe(map((data) => data['routes_key'] === ScRouteKeys.draft), distinctUntilChanged()), { initialValue: false });
|
|
63
|
+
/**
|
|
64
|
+
* Функция группировки позиций черновика Профстрой по группам из файла.
|
|
65
|
+
*/
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
67
|
+
this.groupByFileGroup = ScProfstroyOrderItem.getGroupTitle;
|
|
68
|
+
/**
|
|
69
|
+
* Признак черновика Профстрой.
|
|
70
|
+
*/
|
|
71
|
+
this.isProfstroy = computed(() => this.draft()?.isProfstroy === true);
|
|
72
|
+
/**
|
|
73
|
+
* Текущий момент для проверки срока актуализации. Обновляется по таймеру, пока открыт черновик Профстрой.
|
|
74
|
+
*/
|
|
75
|
+
this.now = signal(new Date());
|
|
76
|
+
/**
|
|
77
|
+
* Признак выполнения действия над черновиком Профстрой.
|
|
78
|
+
*/
|
|
79
|
+
this.busy = signal(false);
|
|
80
|
+
/**
|
|
81
|
+
* Признак, что можно менять состав черновика Профстрой.
|
|
82
|
+
*/
|
|
83
|
+
this.canEditProfstroy = computed(() => this.isDraftPage() && !this.busy() && this.draft()?.actualization?.isProcessing === false);
|
|
84
|
+
/**
|
|
85
|
+
* Позиции, выбранные для заказа из черновика Профстрой.
|
|
86
|
+
*/
|
|
87
|
+
this.selectedProfstroyItems = computed(() => {
|
|
88
|
+
const ids = new Set(this.selectedItemsIds());
|
|
89
|
+
return this.draft()?.products.filter((item) => item.isOrderable && ids.has(item.id)) ?? [];
|
|
90
|
+
});
|
|
91
|
+
/**
|
|
92
|
+
* Причина, по которой нельзя оформить заказ из черновика Профстрой, или пустая строка.
|
|
93
|
+
*/
|
|
94
|
+
this.profstroyOrderBlockReason = computed(() => {
|
|
95
|
+
const draft = this.draft();
|
|
96
|
+
if (!draft?.actualization?.isOrderAllowedAt(this.now())) {
|
|
97
|
+
return 'Оформление доступно после успешной актуализации.';
|
|
98
|
+
}
|
|
99
|
+
if (!draft.products.some((item) => item.isOrderable)) {
|
|
100
|
+
return 'В заявке нет позиций, которые могут попасть в заказ.';
|
|
101
|
+
}
|
|
102
|
+
return this.selectedProfstroyItems().length === 0 ? 'Выберите позиции для заказа.' : '';
|
|
103
|
+
});
|
|
48
104
|
/**
|
|
49
105
|
* Ссылка для автоматического управления уничтожением зависимостей.
|
|
50
106
|
*/
|
|
@@ -53,6 +109,8 @@ export class ScDraftComponent {
|
|
|
53
109
|
* Сервис установки SEO-данных приложения.
|
|
54
110
|
*/
|
|
55
111
|
this.seoService = inject(ScSeoService);
|
|
112
|
+
this.watchProfstroyExpiration();
|
|
113
|
+
this.watchProfstroyProcessing();
|
|
56
114
|
}
|
|
57
115
|
/** @inheritDoc */
|
|
58
116
|
ngOnInit() {
|
|
@@ -75,6 +133,27 @@ export class ScDraftComponent {
|
|
|
75
133
|
const ids = this.selectedItemsIds().filter((id) => direction.items.some((item) => item.id === id));
|
|
76
134
|
this.router.navigate(['orders', 'new', this.draft()?.id, direction.direction.id, 'draft'], { queryParams: { itemsIds: ids } }).catch(noop);
|
|
77
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Переход к оформлению заказа из черновика Профстрой по выбранным позициям.
|
|
138
|
+
*/
|
|
139
|
+
goToNewProfstroyOrder() {
|
|
140
|
+
const ids = this.selectedProfstroyItems().map((item) => item.id);
|
|
141
|
+
this.router.navigate(['orders', 'new', this.draft()?.id, 'profstroy'], { queryParams: { itemsIds: ids } }).catch(noop);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Запускает актуализацию черновика Профстрой.
|
|
145
|
+
*/
|
|
146
|
+
actualizeProfstroy() {
|
|
147
|
+
this.runProfstroyAction((draftId) => this.draftsService.actualizeProfstroy$(draftId));
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Запускает пересборку черновика Профстрой из файла после подтверждения.
|
|
151
|
+
*/
|
|
152
|
+
reloadProfstroy() {
|
|
153
|
+
this.confirm$('Собрать заявку заново?', 'Заявка будет собрана заново из загруженного файла. Изменённое количество и удалённые позиции будут потеряны. Продолжить?', 'Да, собрать заново').subscribe(() => {
|
|
154
|
+
this.runProfstroyAction((draftId) => this.draftsService.reloadProfstroy$(draftId));
|
|
155
|
+
});
|
|
156
|
+
}
|
|
78
157
|
/**
|
|
79
158
|
* Удаляет черновик и перенаправляет к списку черновиков.
|
|
80
159
|
*/
|
|
@@ -98,21 +177,105 @@ export class ScDraftComponent {
|
|
|
98
177
|
this.router.navigate(['/drafts']).catch(noop);
|
|
99
178
|
});
|
|
100
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Выполняет действие над черновиком Профстрой. Пока действие выполняется, остальные заблокированы.
|
|
182
|
+
* При ошибке показывает текст сервера и перезапрашивает черновик, так как его состояние могло смениться.
|
|
183
|
+
*
|
|
184
|
+
* @param action Функция, возвращающая запрос действия по идентификатору черновика.
|
|
185
|
+
*/
|
|
186
|
+
runProfstroyAction(action) {
|
|
187
|
+
const draftId = this.draft()?.id;
|
|
188
|
+
if (draftId === undefined || this.busy()) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.busy.set(true);
|
|
192
|
+
action(draftId)
|
|
193
|
+
.pipe(catchError((error) => {
|
|
194
|
+
this.showForbiddenError(error);
|
|
195
|
+
return this.draftsService.fetch$(draftId).pipe(catchError(() => EMPTY));
|
|
196
|
+
}), finalize(() => {
|
|
197
|
+
this.busy.set(false);
|
|
198
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
199
|
+
.subscribe((draft) => {
|
|
200
|
+
this.setDraftIfCurrent(draft);
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Показывает текст ошибки отказа в доступе. Остальные ошибки показывает перехватчик приложения.
|
|
205
|
+
*
|
|
206
|
+
* @param error Ошибка запроса.
|
|
207
|
+
*/
|
|
208
|
+
showForbiddenError(error) {
|
|
209
|
+
if (error instanceof HttpErrorResponse && error.status === HttpStatusCode.Forbidden) {
|
|
210
|
+
const { message } = (error.error ?? {});
|
|
211
|
+
this.alerts.open(message ?? 'Действие недоступно.', { appearance: 'negative' }).subscribe();
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Открывает подтверждение и возвращает {@link Observable}, который выдаёт значение только при согласии.
|
|
216
|
+
*
|
|
217
|
+
* @param label Заголовок.
|
|
218
|
+
* @param content Текст подтверждения.
|
|
219
|
+
* @param yes Текст кнопки согласия.
|
|
220
|
+
*/
|
|
221
|
+
confirm$(label, content, yes) {
|
|
222
|
+
return this.dialogService.open(TUI_CONFIRM, { label, data: { content, yes, no: 'Отмена' } }).pipe(filter(Boolean), takeUntilDestroyed(this.destroyRef));
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Обновляет черновик, если пришли данные того же черновика, который открыт сейчас.
|
|
226
|
+
*
|
|
227
|
+
* @param draft Полученные данные черновика.
|
|
228
|
+
*/
|
|
229
|
+
setDraftIfCurrent(draft) {
|
|
230
|
+
if (this.draft()?.id === draft.id) {
|
|
231
|
+
this.draft.set(draft);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Обновляет текущий момент по таймеру, пока открыт черновик Профстрой, чтобы истечение срока актуализации отражалось без перезагрузки.
|
|
236
|
+
*/
|
|
237
|
+
watchProfstroyExpiration() {
|
|
238
|
+
toObservable(this.isProfstroy)
|
|
239
|
+
.pipe(distinctUntilChanged(), switchMap((isProfstroy) => (isProfstroy ? timer(0, this.updateInterval.orderDraftExpiration) : EMPTY)), takeUntilDestroyed(this.destroyRef))
|
|
240
|
+
.subscribe(() => {
|
|
241
|
+
this.now.set(new Date());
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Пока черновик Профстрой в обработке, опрашивает его состояние лёгким запросом списка и после смены статуса перезапрашивает черновик целиком.
|
|
246
|
+
*/
|
|
247
|
+
watchProfstroyProcessing() {
|
|
248
|
+
toObservable(this.draft)
|
|
249
|
+
.pipe(map((draft) => (draft?.isProfstroy && draft.actualization?.isProcessing ? draft.id : null)), distinctUntilChanged(), switchMap((draftId) => draftId === null
|
|
250
|
+
? EMPTY
|
|
251
|
+
: this.draftsService.watchShortList$([draftId]).pipe(map((drafts) => drafts.find((item) => item.id === draftId)), filter((short) => short !== undefined && short.actualization?.status !== ScOrderDraftActualizationStatus.processing), take(1), switchMap(() => this.draftsService.fetch$(draftId).pipe(catchError(() => EMPTY))))), takeUntilDestroyed(this.destroyRef))
|
|
252
|
+
.subscribe((draft) => {
|
|
253
|
+
this.setDraftIfCurrent(draft);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
101
256
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScDraftComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
257
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ScDraftComponent, isStandalone: true, selector: "sc-draft", inputs: { draft: { classPropertyName: "draft", publicName: "draft", isSignal: true, isRequired: false, transformFunction: null }, selectedItemsIds: { classPropertyName: "selectedItemsIds", publicName: "selectedItemsIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { draft: "draftChange", selectedItemsIds: "selectedItemsIdsChange", deleteEvent: "deleteEvent" }, providers: [
|
|
103
258
|
{
|
|
104
259
|
provide: SC_ORDER_LOADER,
|
|
105
260
|
useExisting: ScOrderDraftsService,
|
|
106
261
|
},
|
|
107
|
-
], ngImport: i0, template: "@let items = draft()?.products;\n\n@if (items) {\n
|
|
262
|
+
], ngImport: i0, template: "@let currentDraft = draft();\n\n@if (currentDraft && currentDraft.isProfstroy) {\n <div class=\"flex flex-col gap-5\">\n <sc-profstroy-draft-badges\n [actualization]=\"currentDraft.actualization\"\n [now]=\"now()\"\n />\n\n <sc-profstroy-actualization-panel\n [draft]=\"currentDraft\"\n [now]=\"now()\"\n [busy]=\"busy() || !isDraftPage()\"\n (actualize)=\"actualizeProfstroy()\"\n (reload)=\"reloadProfstroy()\"\n />\n\n @if (currentDraft.products.length) {\n <sc-order-items-list\n scOrder\n [orderId]=\"currentDraft.id\"\n [items]=\"currentDraft.products\"\n [groupBy]=\"groupByFileGroup\"\n [markUnavailable]=\"true\"\n [useLinePrice]=\"true\"\n [editable]=\"canEditProfstroy()\"\n [selectable]=\"true\"\n (selectedItemsIdsChange)=\"selectedItemsIds.set($event)\"\n />\n } @else {\n <p class=\"text-base font-bold\">{{ currentDraft.actualization?.isProcessing ? '\u041F\u043E\u0437\u0438\u0446\u0438\u0438 \u043F\u043E\u044F\u0432\u044F\u0442\u0441\u044F \u043F\u043E\u0441\u043B\u0435 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u0444\u0430\u0439\u043B\u0430.' : '\u0412 \u0437\u0430\u044F\u0432\u043A\u0435 \u043D\u0435\u0442 \u043F\u043E\u0437\u0438\u0446\u0438\u0439.' }}</p>\n }\n\n <div class=\"flex flex-col items-center gap-x-2.5 gap-y-4 sm:flex-row sm:flex-wrap-reverse sm:items-start\">\n <button\n tuiButton\n appearance=\"secondary\"\n iconStart=\"@tui.trash-2\"\n [disabled]=\"busy()\"\n (click)=\"clearDraft()\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A\n </button>\n\n <div class=\"flex flex-col items-center gap-1 sm:ml-auto sm:items-end\">\n <button\n tuiButton\n type=\"button\"\n iconStart=\"@tui.shopping-cart\"\n [disabled]=\"busy() || !!profstroyOrderBlockReason()\"\n (click)=\"goToNewProfstroyOrder()\"\n >\n \u041E\u0444\u043E\u0440\u043C\u0438\u0442\u044C \u0437\u0430\u043A\u0430\u0437\n </button>\n @if (profstroyOrderBlockReason(); as reason) {\n <span class=\"text-body-s text-tui-text-02\">{{ reason }}</span>\n }\n </div>\n </div>\n </div>\n} @else {\n @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}\n", dependencies: [{ kind: "component", type: ScOrderItemsListByDirectionsComponent, selector: "sc-order-items-list-by-directions", inputs: ["items", "selectable", "editable", "useLinePrice", "showContinueButton", "continueButtonText", "selectedItemsIds"], outputs: ["continueClick", "selectedItemsIdsChange"] }, { kind: "directive", type: ScOrderAccessorDirective, selector: "[scOrder]", inputs: ["orderId"] }, { kind: "component", type: ScProfstroyActualizationPanelComponent, selector: "sc-profstroy-actualization-panel", inputs: ["draft", "now", "busy"], outputs: ["actualize", "reload"] }, { kind: "component", type: ScProfstroyDraftBadgesComponent, selector: "sc-profstroy-draft-badges", inputs: ["actualization", "now"] }, { kind: "component", type: ScOrderItemsListComponent, selector: "sc-order-items-list", inputs: ["selectable", "editable", "groupBy", "markUnavailable", "useLinePrice", "items"], outputs: ["selectedItemsIdsChange"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
108
263
|
}
|
|
109
264
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScDraftComponent, decorators: [{
|
|
110
265
|
type: Component,
|
|
111
|
-
args: [{ standalone: true, selector: 'sc-draft', imports: [
|
|
266
|
+
args: [{ standalone: true, selector: 'sc-draft', imports: [
|
|
267
|
+
ScOrderItemsListByDirectionsComponent,
|
|
268
|
+
ScOrderAccessorDirective,
|
|
269
|
+
ScProfstroyActualizationPanelComponent,
|
|
270
|
+
ScProfstroyDraftBadgesComponent,
|
|
271
|
+
ScOrderItemsListComponent,
|
|
272
|
+
TuiButton,
|
|
273
|
+
TuiIcons,
|
|
274
|
+
], providers: [
|
|
112
275
|
{
|
|
113
276
|
provide: SC_ORDER_LOADER,
|
|
114
277
|
useExisting: ScOrderDraftsService,
|
|
115
278
|
},
|
|
116
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let items = draft()?.products;\n\n@if (items) {\n
|
|
117
|
-
}] });
|
|
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==
|
|
279
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let currentDraft = draft();\n\n@if (currentDraft && currentDraft.isProfstroy) {\n <div class=\"flex flex-col gap-5\">\n <sc-profstroy-draft-badges\n [actualization]=\"currentDraft.actualization\"\n [now]=\"now()\"\n />\n\n <sc-profstroy-actualization-panel\n [draft]=\"currentDraft\"\n [now]=\"now()\"\n [busy]=\"busy() || !isDraftPage()\"\n (actualize)=\"actualizeProfstroy()\"\n (reload)=\"reloadProfstroy()\"\n />\n\n @if (currentDraft.products.length) {\n <sc-order-items-list\n scOrder\n [orderId]=\"currentDraft.id\"\n [items]=\"currentDraft.products\"\n [groupBy]=\"groupByFileGroup\"\n [markUnavailable]=\"true\"\n [useLinePrice]=\"true\"\n [editable]=\"canEditProfstroy()\"\n [selectable]=\"true\"\n (selectedItemsIdsChange)=\"selectedItemsIds.set($event)\"\n />\n } @else {\n <p class=\"text-base font-bold\">{{ currentDraft.actualization?.isProcessing ? '\u041F\u043E\u0437\u0438\u0446\u0438\u0438 \u043F\u043E\u044F\u0432\u044F\u0442\u0441\u044F \u043F\u043E\u0441\u043B\u0435 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u0444\u0430\u0439\u043B\u0430.' : '\u0412 \u0437\u0430\u044F\u0432\u043A\u0435 \u043D\u0435\u0442 \u043F\u043E\u0437\u0438\u0446\u0438\u0439.' }}</p>\n }\n\n <div class=\"flex flex-col items-center gap-x-2.5 gap-y-4 sm:flex-row sm:flex-wrap-reverse sm:items-start\">\n <button\n tuiButton\n appearance=\"secondary\"\n iconStart=\"@tui.trash-2\"\n [disabled]=\"busy()\"\n (click)=\"clearDraft()\"\n >\n \u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A\n </button>\n\n <div class=\"flex flex-col items-center gap-1 sm:ml-auto sm:items-end\">\n <button\n tuiButton\n type=\"button\"\n iconStart=\"@tui.shopping-cart\"\n [disabled]=\"busy() || !!profstroyOrderBlockReason()\"\n (click)=\"goToNewProfstroyOrder()\"\n >\n \u041E\u0444\u043E\u0440\u043C\u0438\u0442\u044C \u0437\u0430\u043A\u0430\u0437\n </button>\n @if (profstroyOrderBlockReason(); as reason) {\n <span class=\"text-body-s text-tui-text-02\">{{ reason }}</span>\n }\n </div>\n </div>\n </div>\n} @else {\n @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}\n" }]
|
|
280
|
+
}], ctorParameters: () => [] });
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZHJhZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL29yZGVyL2RyYWZ0L3NjLWRyYWZ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9kcmFmdC9zYy1kcmFmdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNILGVBQWUsRUFDZixrQkFBa0IsRUFHbEIsK0JBQStCLEVBQy9CLG9CQUFvQixFQUNwQixlQUFlLEVBRWYsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxZQUFZLEdBQ2YsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBYyxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVo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QyxDQUFDLEVBQ1AsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNwRixDQUNWLEVBQ0Qsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUN0QzthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBM1RRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLCtiQVJkO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFdBQVcsRUFBRSxvQkFBb0I7YUFDcEM7U0FDSiwwQkNqREwsOHlLQTBIQSw0Q0R0RlEscUNBQXFDLGlRQUNyQyx3QkFBd0IsMkVBQ3hCLHNDQUFzQyxpSkFDdEMsK0JBQStCLHdHQUMvQix5QkFBeUIsZ01BQ3pCLFNBQVM7OzRGQVdKLGdCQUFnQjtrQkFyQjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FFWDt3QkFDTCxxQ0FBcUM7d0JBQ3JDLHdCQUF3Qjt3QkFDeEIsc0NBQXNDO3dCQUN0QywrQkFBK0I7d0JBQy9CLHlCQUF5Qjt3QkFDekIsU0FBUzt3QkFDVCxRQUFRO3FCQUNYLGFBQ1U7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFdBQVcsRUFBRSxvQkFBb0I7eUJBQ3BDO3FCQUNKLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBTdGF0dXNDb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIERlc3Ryb3lSZWYsIGluamVjdCwgbW9kZWwsIE9uSW5pdCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgICBTQ19PUkRFUl9MT0FERVIsXG4gICAgU0NfVVBEQVRFX0lOVEVSVkFMLFxuICAgIFNjSUFwaUVycm9yUmVzcG9uc2UsXG4gICAgU2NPcmRlckRyYWZ0LFxuICAgIFNjT3JkZXJEcmFmdEFjdHVhbGl6YXRpb25TdGF0dXMsXG4gICAgU2NPcmRlckRyYWZ0c1NlcnZpY2UsXG4gICAgc2NPcmRlcklzTG9hZGVkLFxuICAgIFNjT3JkZXJJdGVtLFxuICAgIFNjUHJvZnN0cm95T3JkZXJJdGVtLFxuICAgIFNjUm91dGVLZXlzLFxuICAgIFNjU2VvU2VydmljZSxcbn0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBUdWlBbGVydFNlcnZpY2UsIFR1aUJ1dHRvbiwgVHVpRGlhbG9nU2VydmljZSwgVHVpSWNvbnMgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBUVUlfQ09ORklSTSB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIG5vb3AsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGFrZSwgdGltZXIgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NPcmRlckFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9zYy1vcmRlci1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2NPcmRlckl0ZW1zQnlEaXJlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvc2MtaS1jYXJ0LWl0ZW1zLWJ5LWRpcmVjdGlvbic7XG5pbXBvcnQgeyBTY09yZGVySXRlbXNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vb3JkZXItaXRlbXMtbGlzdC9zYy1vcmRlci1pdGVtcy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY09yZGVySXRlbXNMaXN0QnlEaXJlY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vb3JkZXItaXRlbXMtbGlzdC1ieS1kaXJlY3Rpb25zL3NjLW9yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2NQcm9mc3Ryb3lBY3R1YWxpemF0aW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3Byb2ZzdHJveS9hY3R1YWxpemF0aW9uLXBhbmVsL3NjLXByb2ZzdHJveS1hY3R1YWxpemF0aW9uLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY1Byb2ZzdHJveURyYWZ0QmFkZ2VzQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9mc3Ryb3kvYmFkZ2VzL3NjLXByb2ZzdHJveS1kcmFmdC1iYWRnZXMuY29tcG9uZW50JztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0YHRgtGA0LDQvdC40YbRiyDRh9C10YDQvdC+0LLQuNC60LAg0LfQsNC60LDQt9CwICjQsNC90LDQu9C+0LMg0LrQvtGA0LfQuNC90Ysg0LTQu9GPINC+0LTQvdC+0LPQviDRh9C10YDQvdC+0LLQuNC60LApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2MtZHJhZnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1kcmFmdC5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBTY09yZGVySXRlbXNMaXN0QnlEaXJlY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBTY09yZGVyQWNjZXNzb3JEaXJlY3RpdmUsXG4gICAgICAgIFNjUHJvZnN0cm95QWN0dWFsaXphdGlvblBhbmVsQ29tcG9uZW50LFxuICAgICAgICBTY1Byb2ZzdHJveURyYWZ0QmFkZ2VzQ29tcG9uZW50LFxuICAgICAgICBTY09yZGVySXRlbXNMaXN0Q29tcG9uZW50LFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUljb25zLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFNDX09SREVSX0xPQURFUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTY09yZGVyRHJhZnRzU2VydmljZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY0RyYWZ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LzQsNGA0YjRgNGD0YLQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0Y7RidC40Lkg0LTQvtGB0YLRg9C/INC6INC00LDQvdC90YvQvCDQviDQvNCw0YDRiNGA0YPRgtC1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINGH0LXRgNC90L7QstC40LrQsNC80Lgg0LfQsNC60LDQt9C+0LIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcmFmdHNTZXJ2aWNlID0gaW5qZWN0KFNjT3JkZXJEcmFmdHNTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3RgtC10YDQstCw0LvRiyDQvtCx0L3QvtCy0LvQtdC90LjRjyDQtNCw0L3QvdGL0YUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cGRhdGVJbnRlcnZhbCA9IGluamVjdChTQ19VUERBVEVfSU5URVJWQUwpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINGD0LLQtdC00L7QvNC70LXQvdC40LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHMgPSBpbmplY3QoVHVpQWxlcnRTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCh0LjQs9C90LDQuyDRgSDQtNCw0L3QvdGL0LzQuCDRgtC10LrRg9GJ0LXQs9C+INGH0LXRgNC90L7QstC40LrQsCDQt9Cw0LrQsNC30LAgKNC40Lcg0L/QsNGA0LDQvNC10YLRgNCwIG9yZGVySWQg0LIgVVJMKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZHJhZnQgPSBtb2RlbDxTY09yZGVyRHJhZnQgfCBudWxsPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0Ysg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZEl0ZW1zSWRzID0gbW9kZWw8c3RyaW5nW10+KFtdKTtcblxuICAgIC8qKlxuICAgICAqINCY0YHRgtC+0YfQvdC40Log0YHQvtCx0YvRgtC40Y8g0YPQtNCw0LvQtdC90LjRjyDQuNC70Lgg0L7RgtC80LXQvdGLINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlRXZlbnQgPSBvdXRwdXQoKTtcblxuICAgIC8qKlxuICAgICAqINCh0LXRgNCy0LjRgSDQtNC70Y8g0YDQsNCx0L7RgtGLINGBINC00LjQsNC70L7Qs9C+0LLRi9C80Lgg0L7QutC90LDQvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZSA9IGluamVjdDxUdWlEaWFsb2dTZXJ2aWNlPihUdWlEaWFsb2dTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCi0LXQutGD0YnQuNC5INC60LvRjtGHINC80LDRgNGI0YDRg9GC0LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRHJhZnRQYWdlID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMucm91dGUuZGF0YS5waXBlKFxuICAgICAgICAgICAgbWFwKChkYXRhKSA9PiAoZGF0YVsncm91dGVzX2tleSddIGFzIFNjUm91dGVLZXlzKSA9PT0gU2NSb3V0ZUtleXMuZHJhZnQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB7IGluaXRpYWxWYWx1ZTogZmFsc2UgfVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiDQpNGD0L3QutGG0LjRjyDQs9GA0YPQv9C/0LjRgNC+0LLQutC4INC/0L7Qt9C40YbQuNC5INGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0Lkg0L/QviDQs9GA0YPQv9C/0LDQvCDQuNC3INGE0LDQudC70LAuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuICAgIHByb3RlY3RlZCByZWFkb25seSBncm91cEJ5RmlsZUdyb3VwOiAoaXRlbTogU2NPcmRlckl0ZW0pID0+IHN0cmluZyA9IFNjUHJvZnN0cm95T3JkZXJJdGVtLmdldEdyb3VwVGl0bGU7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1Byb2ZzdHJveSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZHJhZnQoKT8uaXNQcm9mc3Ryb3kgPT09IHRydWUpO1xuXG4gICAgLyoqXG4gICAgICog0KLQtdC60YPRidC40Lkg0LzQvtC80LXQvdGCINC00LvRjyDQv9GA0L7QstC10YDQutC4INGB0YDQvtC60LAg0LDQutGC0YPQsNC70LjQt9Cw0YbQuNC4LiDQntCx0L3QvtCy0LvRj9C10YLRgdGPINC/0L4g0YLQsNC50LzQtdGA0YMsINC/0L7QutCwINC+0YLQutGA0YvRgiDRh9C10YDQvdC+0LLQuNC6INCf0YDQvtGE0YHRgtGA0L7QuS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm93ID0gc2lnbmFsKG5ldyBEYXRlKCkpO1xuXG4gICAgLyoqXG4gICAgICog0J/RgNC40LfQvdCw0Log0LLRi9C/0L7Qu9C90LXQvdC40Y8g0LTQtdC50YHRgtCy0LjRjyDQvdCw0LQg0YfQtdGA0L3QvtCy0LjQutC+0Lwg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBidXN5ID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LzQvtC20L3QviDQvNC10L3Rj9GC0Ywg0YHQvtGB0YLQsNCyINGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0LkuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbkVkaXRQcm9mc3Ryb3kgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzRHJhZnRQYWdlKCkgJiYgIXRoaXMuYnVzeSgpICYmIHRoaXMuZHJhZnQoKT8uYWN0dWFsaXphdGlvbj8uaXNQcm9jZXNzaW5nID09PSBmYWxzZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LfQuNGG0LjQuCwg0LLRi9Cx0YDQsNC90L3Ri9C1INC00LvRjyDQt9Cw0LrQsNC30LAg0LjQtyDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZFByb2ZzdHJveUl0ZW1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpZHMgPSBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRJdGVtc0lkcygpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5kcmFmdCgpPy5wcm9kdWN0cy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNPcmRlcmFibGUgJiYgaWRzLmhhcyhpdGVtLmlkKSkgPz8gW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjRh9C40L3QsCwg0L/QviDQutC+0YLQvtGA0L7QuSDQvdC10LvRjNC30Y8g0L7RhNC+0YDQvNC40YLRjCDQt9Cw0LrQsNC3INC40Lcg0YfQtdGA0L3QvtCy0LjQutCwINCf0YDQvtGE0YHRgtGA0L7QuSwg0LjQu9C4INC/0YPRgdGC0LDRjyDRgdGC0YDQvtC60LAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb2ZzdHJveU9yZGVyQmxvY2tSZWFzb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRyYWZ0ID0gdGhpcy5kcmFmdCgpO1xuXG4gICAgICAgIGlmICghZHJhZnQ/LmFjdHVhbGl6YXRpb24/LmlzT3JkZXJBbGxvd2VkQXQodGhpcy5ub3coKSkpIHtcbiAgICAgICAgICAgIHJldHVybiAn0J7RhNC+0YDQvNC70LXQvdC40LUg0LTQvtGB0YLRg9C/0L3QviDQv9C+0YHQu9C1INGD0YHQv9C10YjQvdC+0Lkg0LDQutGC0YPQsNC70LjQt9Cw0YbQuNC4Lic7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRyYWZ0LnByb2R1Y3RzLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaXNPcmRlcmFibGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ9CSINC30LDRj9Cy0LrQtSDQvdC10YIg0L/QvtC30LjRhtC40LksINC60L7RgtC+0YDRi9C1INC80L7Qs9GD0YIg0L/QvtC/0LDRgdGC0Ywg0LIg0LfQsNC60LDQty4nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRQcm9mc3Ryb3lJdGVtcygpLmxlbmd0aCA9PT0gMCA/ICfQktGL0LHQtdGA0LjRgtC1INC/0L7Qt9C40YbQuNC4INC00LvRjyDQt9Cw0LrQsNC30LAuJyA6ICcnO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICog0KHRgdGL0LvQutCwINC00LvRjyDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtCz0L4g0YPQv9GA0LDQstC70LXQvdC40Y8g0YPQvdC40YfRgtC+0LbQtdC90LjQtdC8INC30LDQstC40YHQuNC80L7RgdGC0LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0YPRgdGC0LDQvdC+0LLQutC4IFNFTy3QtNCw0L3QvdGL0YUg0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZW9TZXJ2aWNlOiBTY1Nlb1NlcnZpY2UgPSBpbmplY3QoU2NTZW9TZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NEcmFmdENvbXBvbmVudH0uXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLndhdGNoUHJvZnN0cm95RXhwaXJhdGlvbigpO1xuICAgICAgICB0aGlzLndhdGNoUHJvZnN0cm95UHJvY2Vzc2luZygpO1xuICAgIH1cblxuICAgIC8qKiBAaW5oZXJpdERvYyAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyYWZ0KCkpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZnRzU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXQkKE51bWJlci5wYXJzZUludCh0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnb3JkZXJJZCcpID8/ICcnLCAxMCkpXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKHNjT3JkZXJJc0xvYWRlZCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRyYWZ0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhZnQuc2V0KGRyYWZ0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZW9TZXJ2aWNlLnNldEJ5RGVmYXVsdEFzTm9JbmRleGVkKCfQp9C10YDQvdC+0LLQuNC60Lgg0LfQsNC60LDQt9C+0LInKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YXQvtC0INC6INC+0YTQvtGA0LzQu9C10L3QuNGOINC30LDQutCw0LfQsCDQv9C+INCy0YvQsdGA0LDQvdC90L7QvNGDINC90LDQv9GA0LDQstC70LXQvdC40Y4g0L/RgNC+0LTQsNC2LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRpcmVjdGlvbiDQk9GA0YPQv9C/0LAg0L/QvtC30LjRhtC40Lkg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ29Ub05ld09yZGVyKGRpcmVjdGlvbjogU2NPcmRlckl0ZW1zQnlEaXJlY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaWRzID0gdGhpcy5zZWxlY3RlZEl0ZW1zSWRzKCkuZmlsdGVyKChpZCkgPT4gZGlyZWN0aW9uLml0ZW1zLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGlkKSk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydvcmRlcnMnLCAnbmV3JywgdGhpcy5kcmFmdCgpPy5pZCwgZGlyZWN0aW9uLmRpcmVjdGlvbi5pZCwgJ2RyYWZ0J10sIHsgcXVlcnlQYXJhbXM6IHsgaXRlbXNJZHM6IGlkcyB9IH0pLmNhdGNoKG5vb3ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YXQvtC0INC6INC+0YTQvtGA0LzQu9C10L3QuNGOINC30LDQutCw0LfQsCDQuNC3INGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0Lkg0L/QviDQstGL0LHRgNCw0L3QvdGL0Lwg0L/QvtC30LjRhtC40Y/QvC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ29Ub05ld1Byb2ZzdHJveU9yZGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpZHMgPSB0aGlzLnNlbGVjdGVkUHJvZnN0cm95SXRlbXMoKS5tYXAoKGl0ZW0pID0+IGl0ZW0uaWQpO1xuXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnb3JkZXJzJywgJ25ldycsIHRoaXMuZHJhZnQoKT8uaWQsICdwcm9mc3Ryb3knXSwgeyBxdWVyeVBhcmFtczogeyBpdGVtc0lkczogaWRzIH0gfSkuY2F0Y2gobm9vcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0YPRgdC60LDQtdGCINCw0LrRgtGD0LDQu9C40LfQsNGG0LjRjiDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhY3R1YWxpemVQcm9mc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucnVuUHJvZnN0cm95QWN0aW9uKChkcmFmdElkKSA9PiB0aGlzLmRyYWZ0c1NlcnZpY2UuYWN0dWFsaXplUHJvZnN0cm95JChkcmFmdElkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JfQsNC/0YPRgdC60LDQtdGCINC/0LXRgNC10YHQsdC+0YDQutGDINGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0Lkg0LjQtyDRhNCw0LnQu9CwINC/0L7RgdC70LUg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlbG9hZFByb2ZzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtJChcbiAgICAgICAgICAgICfQodC+0LHRgNCw0YLRjCDQt9Cw0Y/QstC60YMg0LfQsNC90L7QstC+PycsXG4gICAgICAgICAgICAn0JfQsNGP0LLQutCwINCx0YPQtNC10YIg0YHQvtCx0YDQsNC90LAg0LfQsNC90L7QstC+INC40Lcg0LfQsNCz0YDRg9C20LXQvdC90L7Qs9C+INGE0LDQudC70LAuINCY0LfQvNC10L3RkdC90L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC4INGD0LTQsNC70ZHQvdC90YvQtSDQv9C+0LfQuNGG0LjQuCDQsdGD0LTRg9GCINC/0L7RgtC10YDRj9C90YsuINCf0YDQvtC00L7Qu9C20LjRgtGMPycsXG4gICAgICAgICAgICAn0JTQsCwg0YHQvtCx0YDQsNGC0Ywg0LfQsNC90L7QstC+J1xuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJ1blByb2ZzdHJveUFjdGlvbigoZHJhZnRJZCkgPT4gdGhpcy5kcmFmdHNTZXJ2aWNlLnJlbG9hZFByb2ZzdHJveSQoZHJhZnRJZCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDRh9C10YDQvdC+0LLQuNC6INC4INC/0LXRgNC10L3QsNC/0YDQsNCy0LvRj9C10YIg0Log0YHQv9C40YHQutGDINGH0LXRgNC90L7QstC40LrQvtCyLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjbGVhckRyYWZ0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGlkIH0gPSB0aGlzLmRyYWZ0KCkgPz8ge307XG5cbiAgICAgICAgaWYgKCFpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3Blbjxib29sZWFuPihUVUlfQ09ORklSTSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBg0KPQtNCw0LvQuNGC0Ywg0YfQtdGA0L3QvtCy0LjQuiDihJYke2lkfT9gLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYNCt0YLQviDQtNC10LnRgdGC0LLQuNC1INGD0LTQsNC70LjRgiDRh9C10YDQvdC+0LLQuNC6IOKEliR7aWR9LmAsXG4gICAgICAgICAgICAgICAgICAgIHllczogJ9CU0LAsINGD0LTQsNC70LjRgtGMJyxcbiAgICAgICAgICAgICAgICAgICAgbm86ICfQndC10YIsINC+0YHRgtCw0LLQuNGC0YwnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmRyYWZ0c1NlcnZpY2UuZGVsZXRlJChpZCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9kcmFmdHMnXSkuY2F0Y2gobm9vcCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0LTQtdC50YHRgtCy0LjQtSDQvdCw0LQg0YfQtdGA0L3QvtCy0LjQutC+0Lwg0J/RgNC+0YTRgdGC0YDQvtC5LiDQn9C+0LrQsCDQtNC10LnRgdGC0LLQuNC1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8sINC+0YHRgtCw0LvRjNC90YvQtSDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L3Riy5cbiAgICAgKiDQn9GA0Lgg0L7RiNC40LHQutC1INC/0L7QutCw0LfRi9Cy0LDQtdGCINGC0LXQutGB0YIg0YHQtdGA0LLQtdGA0LAg0Lgg0L/QtdGA0LXQt9Cw0L/RgNCw0YjQuNCy0LDQtdGCINGH0LXRgNC90L7QstC40LosINGC0LDQuiDQutCw0Log0LXQs9C+INGB0L7RgdGC0L7Rj9C90LjQtSDQvNC+0LPQu9C+INGB0LzQtdC90LjRgtGM0YHRjy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBhY3Rpb24g0KTRg9C90LrRhtC40Y8sINCy0L7Qt9Cy0YDQsNGJ0LDRjtGJ0LDRjyDQt9Cw0L/RgNC+0YEg0LTQtdC50YHRgtCy0LjRjyDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0YfQtdGA0L3QvtCy0LjQutCwLlxuICAgICAqL1xuICAgIHByaXZhdGUgcnVuUHJvZnN0cm95QWN0aW9uKGFjdGlvbjogKGRyYWZ0SWQ6IG51bWJlcikgPT4gT2JzZXJ2YWJsZTxTY09yZGVyRHJhZnQ+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRyYWZ0SWQgPSB0aGlzLmRyYWZ0KCk/LmlkO1xuXG4gICAgICAgIGlmIChkcmFmdElkID09PSB1bmRlZmluZWQgfHwgdGhpcy5idXN5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYnVzeS5zZXQodHJ1ZSk7XG5cbiAgICAgICAgYWN0aW9uKGRyYWZ0SWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dGb3JiaWRkZW5FcnJvcihlcnJvcik7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZHJhZnRzU2VydmljZS5mZXRjaCQoZHJhZnRJZCkucGlwZShjYXRjaEVycm9yKCgpID0+IEVNUFRZKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1c3kuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZHJhZnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERyYWZ0SWZDdXJyZW50KGRyYWZ0KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7QutCw0LfRi9Cy0LDQtdGCINGC0LXQutGB0YIg0L7RiNC40LHQutC4INC+0YLQutCw0LfQsCDQsiDQtNC+0YHRgtGD0L/QtS4g0J7RgdGC0LDQu9GM0L3Ri9C1INC+0YjQuNCx0LrQuCDQv9C+0LrQsNC30YvQstCw0LXRgiDQv9C10YDQtdGF0LLQsNGC0YfQuNC6INC/0YDQuNC70L7QttC10L3QuNGPLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVycm9yINCe0YjQuNCx0LrQsCDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNob3dGb3JiaWRkZW5FcnJvcihlcnJvcjogdW5rbm93bik6IHZvaWQge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSAmJiAoZXJyb3Iuc3RhdHVzIGFzIEh0dHBTdGF0dXNDb2RlKSA9PT0gSHR0cFN0YXR1c0NvZGUuRm9yYmlkZGVuKSB7XG4gICAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IChlcnJvci5lcnJvciA/PyB7fSkgYXMgUGFydGlhbDxTY0lBcGlFcnJvclJlc3BvbnNlPjtcblxuICAgICAgICAgICAgdGhpcy5hbGVydHMub3BlbihtZXNzYWdlID8/ICfQlNC10LnRgdGC0LLQuNC1INC90LXQtNC+0YHRgtGD0L/QvdC+LicsIHsgYXBwZWFyYW5jZTogJ25lZ2F0aXZlJyB9KS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0YLQutGA0YvQstCw0LXRgiDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjQtSDQuCDQstC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0sINC60L7RgtC+0YDRi9C5INCy0YvQtNCw0ZHRgiDQt9C90LDRh9C10L3QuNC1INGC0L7Qu9GM0LrQviDQv9GA0Lgg0YHQvtCz0LvQsNGB0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsYWJlbCDQl9Cw0LPQvtC70L7QstC+0LouXG4gICAgICogQHBhcmFtIGNvbnRlbnQg0KLQtdC60YHRgiDQv9C+0LTRgtCy0LXRgNC20LTQtdC90LjRjy5cbiAgICAgKiBAcGFyYW0geWVzINCi0LXQutGB0YIg0LrQvdC+0L/QutC4INGB0L7Qs9C70LDRgdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maXJtJChsYWJlbDogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIHllczogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZ1NlcnZpY2Uub3Blbjxib29sZWFuPihUVUlfQ09ORklSTSwgeyBsYWJlbCwgZGF0YTogeyBjb250ZW50LCB5ZXMsIG5vOiAn0J7RgtC80LXQvdCwJyB9IH0pLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J7QsdC90L7QstC70Y/QtdGCINGH0LXRgNC90L7QstC40LosINC10YHQu9C4INC/0YDQuNGI0LvQuCDQtNCw0L3QvdGL0LUg0YLQvtCz0L4g0LbQtSDRh9C10YDQvdC+0LLQuNC60LAsINC60L7RgtC+0YDRi9C5INC+0YLQutGA0YvRgiDRgdC10LnRh9Cw0YEuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZHJhZnQg0J/QvtC70YPRh9C10L3QvdGL0LUg0LTQsNC90L3Ri9C1INGH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldERyYWZ0SWZDdXJyZW50KGRyYWZ0OiBTY09yZGVyRHJhZnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZnQoKT8uaWQgPT09IGRyYWZ0LmlkKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWZ0LnNldChkcmFmdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0YLQtdC60YPRidC40Lkg0LzQvtC80LXQvdGCINC/0L4g0YLQsNC50LzQtdGA0YMsINC/0L7QutCwINC+0YLQutGA0YvRgiDRh9C10YDQvdC+0LLQuNC6INCf0YDQvtGE0YHRgtGA0L7QuSwg0YfRgtC+0LHRiyDQuNGB0YLQtdGH0LXQvdC40LUg0YHRgNC+0LrQsCDQsNC60YLRg9Cw0LvQuNC30LDRhtC40Lgg0L7RgtGA0LDQttCw0LvQvtGB0Ywg0LHQtdC3INC/0LXRgNC10LfQsNCz0YDRg9C30LrQuC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHdhdGNoUHJvZnN0cm95RXhwaXJhdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaXNQcm9mc3Ryb3kpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoaXNQcm9mc3Ryb3kpID0+IChpc1Byb2ZzdHJveSA/IHRpbWVyKDAsIHRoaXMudXBkYXRlSW50ZXJ2YWwub3JkZXJEcmFmdEV4cGlyYXRpb24pIDogRU1QVFkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub3cuc2V0KG5ldyBEYXRlKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0J/QvtC60LAg0YfQtdGA0L3QvtCy0LjQuiDQn9GA0L7RhNGB0YLRgNC+0Lkg0LIg0L7QsdGA0LDQsdC+0YLQutC1LCDQvtC/0YDQsNGI0LjQstCw0LXRgiDQtdCz0L4g0YHQvtGB0YLQvtGP0L3QuNC1INC70ZHQs9C60LjQvCDQt9Cw0L/RgNC+0YHQvtC8INGB0L/QuNGB0LrQsCDQuCDQv9C+0YHQu9C1INGB0LzQtdC90Ysg0YHRgtCw0YLRg9GB0LAg0L/QtdGA0LXQt9Cw0L/RgNCw0YjQuNCy0LDQtdGCINGH0LXRgNC90L7QstC40Log0YbQtdC70LjQutC+0LwuXG4gICAgICovXG4gICAgcHJpdmF0ZSB3YXRjaFByb2ZzdHJveVByb2Nlc3NpbmcoKTogdm9pZCB7XG4gICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmRyYWZ0KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChkcmFmdCkgPT4gKGRyYWZ0Py5pc1Byb2ZzdHJveSAmJiBkcmFmdC5hY3R1YWxpemF0aW9uPy5pc1Byb2Nlc3NpbmcgPyBkcmFmdC5pZCA6IG51bGwpKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoZHJhZnRJZCkgPT5cbiAgICAgICAgICAgICAgICAgICAgZHJhZnRJZCA9PT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBFTVBUWVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmRyYWZ0c1NlcnZpY2Uud2F0Y2hTaG9ydExpc3QkKFtkcmFmdElkXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoZHJhZnRzKSA9PiBkcmFmdHMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gZHJhZnRJZCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzaG9ydCkgPT4gc2hvcnQgIT09IHVuZGVmaW5lZCAmJiBzaG9ydC5hY3R1YWxpemF0aW9uPy5zdGF0dXMgIT09IFNjT3JkZXJEcmFmdEFjdHVhbGl6YXRpb25TdGF0dXMucHJvY2Vzc2luZyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZHJhZnRzU2VydmljZS5mZXRjaCQoZHJhZnRJZCkucGlwZShjYXRjaEVycm9yKCgpID0+IEVNUFRZKSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkcmFmdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RHJhZnRJZkN1cnJlbnQoZHJhZnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiQGxldCBjdXJyZW50RHJhZnQgPSBkcmFmdCgpO1xuXG5AaWYgKGN1cnJlbnREcmFmdCAmJiBjdXJyZW50RHJhZnQuaXNQcm9mc3Ryb3kpIHtcbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNVwiPlxuICAgICAgICA8c2MtcHJvZnN0cm95LWRyYWZ0LWJhZGdlc1xuICAgICAgICAgICAgW2FjdHVhbGl6YXRpb25dPVwiY3VycmVudERyYWZ0LmFjdHVhbGl6YXRpb25cIlxuICAgICAgICAgICAgW25vd109XCJub3coKVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPHNjLXByb2ZzdHJveS1hY3R1YWxpemF0aW9uLXBhbmVsXG4gICAgICAgICAgICBbZHJhZnRdPVwiY3VycmVudERyYWZ0XCJcbiAgICAgICAgICAgIFtub3ddPVwibm93KClcIlxuICAgICAgICAgICAgW2J1c3ldPVwiYnVzeSgpIHx8ICFpc0RyYWZ0UGFnZSgpXCJcbiAgICAgICAgICAgIChhY3R1YWxpemUpPVwiYWN0dWFsaXplUHJvZnN0cm95KClcIlxuICAgICAgICAgICAgKHJlbG9hZCk9XCJyZWxvYWRQcm9mc3Ryb3koKVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgQGlmIChjdXJyZW50RHJhZnQucHJvZHVjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICA8c2Mtb3JkZXItaXRlbXMtbGlzdFxuICAgICAgICAgICAgICAgIHNjT3JkZXJcbiAgICAgICAgICAgICAgICBbb3JkZXJJZF09XCJjdXJyZW50RHJhZnQuaWRcIlxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJjdXJyZW50RHJhZnQucHJvZHVjdHNcIlxuICAgICAgICAgICAgICAgIFtncm91cEJ5XT1cImdyb3VwQnlGaWxlR3JvdXBcIlxuICAgICAgICAgICAgICAgIFttYXJrVW5hdmFpbGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3VzZUxpbmVQcmljZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbZWRpdGFibGVdPVwiY2FuRWRpdFByb2ZzdHJveSgpXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRJdGVtc0lkc0NoYW5nZSk9XCJzZWxlY3RlZEl0ZW1zSWRzLnNldCgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkXCI+e3sgY3VycmVudERyYWZ0LmFjdHVhbGl6YXRpb24/LmlzUHJvY2Vzc2luZyA/ICfQn9C+0LfQuNGG0LjQuCDQv9C+0Y/QstGP0YLRgdGPINC/0L7RgdC70LUg0L7QsdGA0LDQsdC+0YLQutC4INGE0LDQudC70LAuJyA6ICfQkiDQt9Cw0Y/QstC60LUg0L3QtdGCINC/0L7Qt9C40YbQuNC5LicgfX08L3A+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLXgtMi41IGdhcC15LTQgc206ZmxleC1yb3cgc206ZmxleC13cmFwLXJldmVyc2Ugc206aXRlbXMtc3RhcnRcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnRyYXNoLTJcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidXN5KClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhckRyYWZ0KClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgINCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40LpcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTEgc206bWwtYXV0byBzbTppdGVtcy1lbmRcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS5zaG9wcGluZy1jYXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ1c3koKSB8fCAhIXByb2ZzdHJveU9yZGVyQmxvY2tSZWFzb24oKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvTmV3UHJvZnN0cm95T3JkZXIoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICDQntGE0L7RgNC80LjRgtGMINC30LDQutCw0LdcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICBAaWYgKHByb2ZzdHJveU9yZGVyQmxvY2tSZWFzb24oKTsgYXMgcmVhc29uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ib2R5LXMgdGV4dC10dWktdGV4dC0wMlwiPnt7IHJlYXNvbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG59IEBlbHNlIHtcbiAgICBAbGV0IGl0ZW1zID0gZHJhZnQoKT8ucHJvZHVjdHM7XG5cbiAgICBAaWYgKGl0ZW1zKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTVcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICA8c2Mtb3JkZXItaXRlbXMtbGlzdC1ieS1kaXJlY3Rpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICBzY09yZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJJZF09XCJkcmFmdCgpPy5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRhYmxlXT1cImlzRHJhZnRQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRJdGVtc0lkc0NoYW5nZSk9XCJzZWxlY3RlZEl0ZW1zSWRzLnNldCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjb250aW51ZUNsaWNrKT1cImdvVG9OZXdPcmRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvb3RlckFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ2FwLTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEcmFmdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXJ0PVwiQHR1aS50cmFzaC0yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40LpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3NjLW9yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucz5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWJhc2UgZm9udC1ib2xkXCI+0KfQtdGA0L3QvtCy0LjQuiDQv9GD0YHRgi48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvb3RlckFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBnYXAtMlwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEcmFmdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU3RhcnQ9XCJAdHVpLnRyYXNoLTJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCj0LTQsNC70LjRgtGMINGH0LXRgNC90L7QstC40LpcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTVcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIFsxLCAyLCAzLCA0XTsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHVpLXNrZWxldG9uIGZsZXggaC1bOC4yNXJlbV0gdy1mdWxsIG92ZXJmbG93LWhpZGRlbiByb3VuZGVkLXhsXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0dWktc2tlbGV0b24gaC0xMCB3LTQwIHJvdW5kZWQtbWRcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInR1aS1za2VsZXRvbiBoLTEwIHctMzYgcm91bmRlZC1tZFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/order/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './directives';
|
|
2
2
|
export * from './models/i-new-order-form';
|
|
3
3
|
export * from './models/sc-i-cart-items-by-direction';
|
|
4
|
+
export * from './models/sc-i-order-items-group';
|
|
4
5
|
export * from './order-direction-items/sc-order-direction-items.component';
|
|
5
6
|
export * from './order-form/sc-order-form.config';
|
|
6
7
|
export * from './order-form/sc-order-form.component';
|
|
@@ -8,7 +9,10 @@ export * from './order-item/sc-order-item.component';
|
|
|
8
9
|
export * from './order-items-list/sc-order-items-list.component';
|
|
9
10
|
export * from './order-items-list-by-directions/sc-order-items-list-by-directions.component';
|
|
10
11
|
export * from './order-items-list-by-stock/sc-order-items-list-by-stock.component';
|
|
12
|
+
export * from './draft/helpers/sc-draft-list-helper';
|
|
13
|
+
export * from './draft/models/sc-i-draft-list-item';
|
|
14
|
+
export * from './draft/profstroy';
|
|
11
15
|
export * from './draft/sc-draft.component';
|
|
12
16
|
export * from './sc-payment-status/sc-payment-status.component';
|
|
13
17
|
export * from './sc-order.module';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9pLW5ldy1vcmRlci1mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NjLWktY2FydC1pdGVtcy1ieS1kaXJlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvc2MtaS1vcmRlci1pdGVtcy1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLWRpcmVjdGlvbi1pdGVtcy9zYy1vcmRlci1kaXJlY3Rpb24taXRlbXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItZm9ybS9zYy1vcmRlci1mb3JtLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLWZvcm0vc2Mtb3JkZXItZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmRlci1pdGVtL3NjLW9yZGVyLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItaXRlbXMtbGlzdC9zYy1vcmRlci1pdGVtcy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucy9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItaXRlbXMtbGlzdC1ieS1zdG9jay9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LXN0b2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RyYWZ0L2hlbHBlcnMvc2MtZHJhZnQtbGlzdC1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFmdC9tb2RlbHMvc2MtaS1kcmFmdC1saXN0LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFmdC9wcm9mc3Ryb3knO1xuZXhwb3J0ICogZnJvbSAnLi9kcmFmdC9zYy1kcmFmdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1wYXltZW50LXN0YXR1cy9zYy1wYXltZW50LXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1vcmRlci5tb2R1bGUnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1pdGVtcy1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9tb2RlbHMvc2MtaS1vcmRlci1pdGVtcy1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NPcmRlckl0ZW0gfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LPRgNGD0L/Qv9C1INC/0L7Qt9C40YbQuNC5INC30LDQutCw0LfQsCAo0LrQvtGA0LfQuNC90YsgLyDRh9C10YDQvdC+0LLQuNC60LApLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU9yZGVySXRlbXNHcm91cCB7XG4gICAgLyoqXG4gICAgICog0J3QsNC30LLQsNC90LjQtSDQs9GA0YPQv9C/0YsuINCf0YPRgdGC0L7QtSwg0LXRgdC70Lgg0L/QvtC30LjRhtC40Lgg0L3QtSDQs9GA0YPQv9C/0LjRgNGD0Y7RgtGB0Y8uXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0J/QvtC30LjRhtC40Lgg0LPRgNGD0L/Qv9GLLlxuICAgICAqL1xuICAgIGl0ZW1zOiBTY09yZGVySXRlbVtdO1xuXG4gICAgLyoqXG4gICAgICog0JrQvtC70LjRh9C10YHRgtCy0L4g0L/QvtC30LjRhtC40Lkg0LPRgNGD0L/Qv9GLLCDQutC+0YLQvtGA0YvQtSDQvNC+0LPRg9GCINC/0L7Qv9Cw0YHRgtGMINCyINC30LDQutCw0LcuXG4gICAgICovXG4gICAgb3JkZXJhYmxlQ291bnQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0YPQvNC80LAg0L/QvtC30LjRhtC40Lkg0LPRgNGD0L/Qv9GLINCyINGA0YPQsdC70Y/RhS5cbiAgICAgKi9cbiAgICBzdW06IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -20,6 +20,10 @@ export class ScOrderDirectionItemsComponent {
|
|
|
20
20
|
* Включить выбор позиций чекбоксами.
|
|
21
21
|
*/
|
|
22
22
|
this.selectable = input(true);
|
|
23
|
+
/**
|
|
24
|
+
* Признак, что цена за единицу берётся из позиции, а не из текущей цены товара.
|
|
25
|
+
*/
|
|
26
|
+
this.useLinePrice = input(false);
|
|
23
27
|
/**
|
|
24
28
|
* Время обработки и принятия заказов (из настроек окружения приложения).
|
|
25
29
|
*/
|
|
@@ -30,10 +34,10 @@ export class ScOrderDirectionItemsComponent {
|
|
|
30
34
|
this.selectedItemsIdsChange = output();
|
|
31
35
|
}
|
|
32
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderDirectionItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScOrderDirectionItemsComponent, isStandalone: true, selector: "sc-order-direction-items", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, orderProcessingAcceptanceTime: { classPropertyName: "orderProcessingAcceptanceTime", publicName: "orderProcessingAcceptanceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedItemsIdsChange: "selectedItemsIdsChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-5\">\n <ul class=\"ml-4 list-disc text-tui-success-fill\">\n <li>\u0417\u0430\u044F\u0432\u043A\u0438 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u043D\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u043C\u043E\u0433\u043E \u0434\u043D\u044F \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B \u0441 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u043E\u0439 \u043D\u0430 \u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u0434\u043E {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B \u0438\u043B\u0438 \u0432 \u0441\u0443\u0431\u0431\u043E\u0442\u0443/\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435 \u0431\u0443\u0434\u0443\u0442 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u044B \u0432 \u0431\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438.</li>\n <li>\n \u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u043F\u0438\u0441\u043A\u043E\u043C \u043A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u043E\u0432 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\n <a\n tuiLink\n routerLink=\"/profile\"\n >\n \u043B\u0438\u0447\u043D\u043E\u043C \u043A\u0430\u0431\u0438\u043D\u0435\u0442\u0435\n </a>\n .\n </li>\n </ul>\n\n <div class=\"sub-title\">\u0421\u043E\u0441\u0442\u0430\u0432 \u0437\u0430\u043A\u0430\u0437\u0430</div>\n\n <sc-order-items-list-by-directions\n [items]=\"items()\"\n [editable]=\"editable()\"\n [selectable]=\"selectable()\"\n [showContinueButton]=\"false\"\n (selectedItemsIdsChange)=\"selectedItemsIdsChange.emit($event)\"\n >\n <ng-content\n select=\"[footerActions]\"\n ngProjectAs=\"[footerActions]\"\n />\n </sc-order-items-list-by-directions>\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemsListByDirectionsComponent, selector: "sc-order-items-list-by-directions", inputs: ["items", "selectable", "editable", "showContinueButton", "continueButtonText", "selectedItemsIds"], outputs: ["continueClick", "selectedItemsIdsChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ScOrderDirectionItemsComponent, isStandalone: true, selector: "sc-order-direction-items", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, useLinePrice: { classPropertyName: "useLinePrice", publicName: "useLinePrice", isSignal: true, isRequired: false, transformFunction: null }, orderProcessingAcceptanceTime: { classPropertyName: "orderProcessingAcceptanceTime", publicName: "orderProcessingAcceptanceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedItemsIdsChange: "selectedItemsIdsChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-5\">\n <ul class=\"ml-4 list-disc text-tui-success-fill\">\n <li>\u0417\u0430\u044F\u0432\u043A\u0438 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u043D\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u043C\u043E\u0433\u043E \u0434\u043D\u044F \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B \u0441 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u043E\u0439 \u043D\u0430 \u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u0434\u043E {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B \u0438\u043B\u0438 \u0432 \u0441\u0443\u0431\u0431\u043E\u0442\u0443/\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435 \u0431\u0443\u0434\u0443\u0442 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u044B \u0432 \u0431\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438.</li>\n <li>\n \u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u043F\u0438\u0441\u043A\u043E\u043C \u043A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u043E\u0432 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\n <a\n tuiLink\n routerLink=\"/profile\"\n >\n \u043B\u0438\u0447\u043D\u043E\u043C \u043A\u0430\u0431\u0438\u043D\u0435\u0442\u0435\n </a>\n .\n </li>\n </ul>\n\n <div class=\"sub-title\">\u0421\u043E\u0441\u0442\u0430\u0432 \u0437\u0430\u043A\u0430\u0437\u0430</div>\n\n <sc-order-items-list-by-directions\n [items]=\"items()\"\n [editable]=\"editable()\"\n [selectable]=\"selectable()\"\n [useLinePrice]=\"useLinePrice()\"\n [showContinueButton]=\"false\"\n (selectedItemsIdsChange)=\"selectedItemsIdsChange.emit($event)\"\n >\n <ng-content\n select=\"[footerActions]\"\n ngProjectAs=\"[footerActions]\"\n />\n </sc-order-items-list-by-directions>\n</div>\n", dependencies: [{ kind: "component", type: ScOrderItemsListByDirectionsComponent, selector: "sc-order-items-list-by-directions", inputs: ["items", "selectable", "editable", "useLinePrice", "showContinueButton", "continueButtonText", "selectedItemsIds"], outputs: ["continueClick", "selectedItemsIdsChange"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
38
|
}
|
|
35
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScOrderDirectionItemsComponent, decorators: [{
|
|
36
40
|
type: Component,
|
|
37
|
-
args: [{ standalone: true, selector: 'sc-order-direction-items', imports: [ScOrderItemsListByDirectionsComponent, RouterLink, TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-5\">\n <ul class=\"ml-4 list-disc text-tui-success-fill\">\n <li>\u0417\u0430\u044F\u0432\u043A\u0438 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u043D\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u043C\u043E\u0433\u043E \u0434\u043D\u044F \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B \u0441 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u043E\u0439 \u043D\u0430 \u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u0434\u043E {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B \u0438\u043B\u0438 \u0432 \u0441\u0443\u0431\u0431\u043E\u0442\u0443/\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435 \u0431\u0443\u0434\u0443\u0442 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u044B \u0432 \u0431\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438.</li>\n <li>\n \u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u043F\u0438\u0441\u043A\u043E\u043C \u043A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u043E\u0432 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\n <a\n tuiLink\n routerLink=\"/profile\"\n >\n \u043B\u0438\u0447\u043D\u043E\u043C \u043A\u0430\u0431\u0438\u043D\u0435\u0442\u0435\n </a>\n .\n </li>\n </ul>\n\n <div class=\"sub-title\">\u0421\u043E\u0441\u0442\u0430\u0432 \u0437\u0430\u043A\u0430\u0437\u0430</div>\n\n <sc-order-items-list-by-directions\n [items]=\"items()\"\n [editable]=\"editable()\"\n [selectable]=\"selectable()\"\n [showContinueButton]=\"false\"\n (selectedItemsIdsChange)=\"selectedItemsIdsChange.emit($event)\"\n >\n <ng-content\n select=\"[footerActions]\"\n ngProjectAs=\"[footerActions]\"\n />\n </sc-order-items-list-by-directions>\n</div>\n" }]
|
|
41
|
+
args: [{ standalone: true, selector: 'sc-order-direction-items', imports: [ScOrderItemsListByDirectionsComponent, RouterLink, TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-5\">\n <ul class=\"ml-4 list-disc text-tui-success-fill\">\n <li>\u0417\u0430\u044F\u0432\u043A\u0438 \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u043D\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u043B\u0430\u043D\u0438\u0440\u0443\u0435\u043C\u043E\u0433\u043E \u0434\u043D\u044F \u043F\u043E\u0441\u0442\u0430\u0432\u043A\u0438.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B \u0441 \u0434\u043E\u0441\u0442\u0430\u0432\u043A\u043E\u0439 \u043D\u0430 \u043F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A \u043F\u0440\u0438\u043D\u0438\u043C\u0430\u044E\u0442\u0441\u044F \u0434\u043E {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B.</li>\n <li>\u0417\u0430\u043A\u0430\u0437\u044B, \u0441\u043E\u0437\u0434\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435 {{ orderProcessingAcceptanceTime() }} \u043F\u044F\u0442\u043D\u0438\u0446\u044B \u0438\u043B\u0438 \u0432 \u0441\u0443\u0431\u0431\u043E\u0442\u0443/\u0432\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435 \u0431\u0443\u0434\u0443\u0442 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D\u044B \u0432 \u0431\u0443\u0434\u043D\u0438\u0435 \u0434\u043D\u0438.</li>\n <li>\n \u0423\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u0441\u043F\u0438\u0441\u043A\u043E\u043C \u043A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u043E\u0432 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\n <a\n tuiLink\n routerLink=\"/profile\"\n >\n \u043B\u0438\u0447\u043D\u043E\u043C \u043A\u0430\u0431\u0438\u043D\u0435\u0442\u0435\n </a>\n .\n </li>\n </ul>\n\n <div class=\"sub-title\">\u0421\u043E\u0441\u0442\u0430\u0432 \u0437\u0430\u043A\u0430\u0437\u0430</div>\n\n <sc-order-items-list-by-directions\n [items]=\"items()\"\n [editable]=\"editable()\"\n [selectable]=\"selectable()\"\n [useLinePrice]=\"useLinePrice()\"\n [showContinueButton]=\"false\"\n (selectedItemsIdsChange)=\"selectedItemsIdsChange.emit($event)\"\n >\n <ng-content\n select=\"[footerActions]\"\n ngProjectAs=\"[footerActions]\"\n />\n </sc-order-items-list-by-directions>\n</div>\n" }]
|
|
38
42
|
}] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItZGlyZWN0aW9uLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1kaXJlY3Rpb24taXRlbXMvc2Mtb3JkZXItZGlyZWN0aW9uLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9vcmRlci9vcmRlci1kaXJlY3Rpb24taXRlbXMvc2Mtb3JkZXItZGlyZWN0aW9uLWl0ZW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLCtFQUErRSxDQUFDOztBQUV0STs7R0FFRztBQVFILE1BQU0sT0FBTyw4QkFBOEI7SUFQM0M7UUFRSTs7V0FFRztRQUNhLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFpQixDQUFDO1FBRXhEOztXQUVHO1FBQ2EsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNhLGVBQVUsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFbEQ7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVyRDs7V0FFRztRQUNhLGtDQUE2QixHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUVsRTs7V0FFRztRQUNhLDJCQUFzQixHQUFHLE1BQU0sRUFBWSxDQUFDO0tBQy9EOytHQTlCWSw4QkFBOEI7bUdBQTlCLDhCQUE4QiwyMkJDakIzQywyNEVBaUNBLDRDRG5CYyxxQ0FBcUMsaVFBQUUsVUFBVSxvT0FBRSxPQUFPOzs0RkFHM0QsOEJBQThCO2tCQVAxQyxTQUFTO2lDQUNNLElBQUksWUFDTiwwQkFBMEIsV0FFM0IsQ0FBQyxxQ0FBcUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLG1CQUNwRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJ0BzbmFiY2VudHIvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgVHVpTGluayB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHsgU2NPcmRlckl0ZW1zTGlzdEJ5RGlyZWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL29yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucy9zYy1vcmRlci1pdGVtcy1saXN0LWJ5LWRpcmVjdGlvbnMuY29tcG9uZW50JztcblxuLyoqXG4gKiDQodC/0LjRgdC+0Log0YLQvtCy0LDRgNC+0LIg0LfQsNC60LDQt9CwINC/0L4g0L3QsNC/0YDQsNCy0LvQtdC90LjRjiDQv9GA0L7QtNCw0LYg0YEg0LLRi9Cx0L7RgNC+0Lwg0L/QvtC30LjRhtC40Lkg0LTQu9GPINC+0YTQvtGA0LzQu9C10L3QuNGPLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2Mtb3JkZXItZGlyZWN0aW9uLWl0ZW1zJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2Mtb3JkZXItZGlyZWN0aW9uLWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbU2NPcmRlckl0ZW1zTGlzdEJ5RGlyZWN0aW9uc0NvbXBvbmVudCwgUm91dGVyTGluaywgVHVpTGlua10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjT3JkZXJEaXJlY3Rpb25JdGVtc0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0KLQvtCy0LDRgNGLINC90LDQv9GA0LDQstC70LXQvdC40Y8uXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGl0ZW1zID0gaW5wdXQucmVxdWlyZWQ8U2NPcmRlckl0ZW1bXT4oKTtcblxuICAgIC8qKlxuICAgICAqINCg0LDQt9GA0LXRiNC40YLRjCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0L7Qt9C40YbQuNC5ICjQutC+0LvQuNGH0LXRgdGC0LLQviwg0YPQtNCw0LvQtdC90LjQtSkuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICog0JLQutC70Y7Rh9C40YLRjCDQstGL0LHQvtGAINC/0L7Qt9C40YbQuNC5INGH0LXQutCx0L7QutGB0LDQvNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiwg0YfRgtC+INGG0LXQvdCwINC30LAg0LXQtNC40L3QuNGG0YMg0LHQtdGA0ZHRgtGB0Y8g0LjQtyDQv9C+0LfQuNGG0LjQuCwg0LAg0L3QtSDQuNC3INGC0LXQutGD0YnQtdC5INGG0LXQvdGLINGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdXNlTGluZVByaWNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICog0JLRgNC10LzRjyDQvtCx0YDQsNCx0L7RgtC60Lgg0Lgg0L/RgNC40L3Rj9GC0LjRjyDQt9Cw0LrQsNC30L7QsiAo0LjQtyDQvdCw0YHRgtGA0L7QtdC6INC+0LrRgNGD0LbQtdC90LjRjyDQv9GA0LjQu9C+0LbQtdC90LjRjykuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IG9yZGVyUHJvY2Vzc2luZ0FjY2VwdGFuY2VUaW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC30LzQtdC90LXQvdC40LUg0LLRi9Cx0L7RgNCwINC/0L7Qt9C40YbQuNC5INC00LvRjyDQvtGE0L7RgNC80LvQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtc0lkc0NoYW5nZSA9IG91dHB1dDxzdHJpbmdbXT4oKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC01XCI+XG4gICAgPHVsIGNsYXNzPVwibWwtNCBsaXN0LWRpc2MgdGV4dC10dWktc3VjY2Vzcy1maWxsXCI+XG4gICAgICAgIDxsaT7Ql9Cw0Y/QstC60Lgg0L/RgNC40L3QuNC80LDRjtGC0YHRjyDQvdC1INC/0L7Qt9C00L3QtdC1IHt7IG9yZGVyUHJvY2Vzc2luZ0FjY2VwdGFuY2VUaW1lKCkgfX0g0L/Qu9Cw0L3QuNGA0YPQtdC80L7Qs9C+INC00L3RjyDQv9C+0YHRgtCw0LLQutC4LjwvbGk+XG4gICAgICAgIDxsaT7Ql9Cw0LrQsNC30Ysg0YEg0LTQvtGB0YLQsNCy0LrQvtC5INC90LAg0L/QvtC90LXQtNC10LvRjNC90LjQuiDQv9GA0LjQvdC40LzQsNGO0YLRgdGPINC00L4ge3sgb3JkZXJQcm9jZXNzaW5nQWNjZXB0YW5jZVRpbWUoKSB9fSDQv9GP0YLQvdC40YbRiy48L2xpPlxuICAgICAgICA8bGk+0JfQsNC60LDQt9GLLCDRgdC+0LfQtNCw0L3QvdGL0LUg0L/QvtC30LTQvdC10LUge3sgb3JkZXJQcm9jZXNzaW5nQWNjZXB0YW5jZVRpbWUoKSB9fSDQv9GP0YLQvdC40YbRiyDQuNC70Lgg0LIg0YHRg9Cx0LHQvtGC0YMv0LLQvtGB0LrRgNC10YHQtdC90YzQtSDQsdGD0LTRg9GCINC+0LHRgNCw0LHQvtGC0LDQvdGLINCyINCx0YPQtNC90LjQtSDQtNC90LguPC9saT5cbiAgICAgICAgPGxpPlxuICAgICAgICAgICAg0KPQv9GA0LDQstC70Y/RgtGMINGB0L/QuNGB0LrQvtC8INC60L7QvdGC0YDQsNCz0LXQvdGC0L7QsiDQstGLINC80L7QttC10YLQtSDQslxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgcm91dGVyTGluaz1cIi9wcm9maWxlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICDQu9C40YfQvdC+0Lwg0LrQsNCx0LjQvdC10YLQtVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgLlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG5cbiAgICA8ZGl2IGNsYXNzPVwic3ViLXRpdGxlXCI+0KHQvtGB0YLQsNCyINC30LDQutCw0LfQsDwvZGl2PlxuXG4gICAgPHNjLW9yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9uc1xuICAgICAgICBbaXRlbXNdPVwiaXRlbXMoKVwiXG4gICAgICAgIFtlZGl0YWJsZV09XCJlZGl0YWJsZSgpXCJcbiAgICAgICAgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZSgpXCJcbiAgICAgICAgW3VzZUxpbmVQcmljZV09XCJ1c2VMaW5lUHJpY2UoKVwiXG4gICAgICAgIFtzaG93Q29udGludWVCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgICAoc2VsZWN0ZWRJdGVtc0lkc0NoYW5nZSk9XCJzZWxlY3RlZEl0ZW1zSWRzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgc2VsZWN0PVwiW2Zvb3RlckFjdGlvbnNdXCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiW2Zvb3RlckFjdGlvbnNdXCJcbiAgICAgICAgLz5cbiAgICA8L3NjLW9yZGVyLWl0ZW1zLWxpc3QtYnktZGlyZWN0aW9ucz5cbjwvZGl2PlxuIl19
|