@hitsoft/kadooglu-keops 0.0.3 → 0.0.4

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.
Files changed (101) hide show
  1. package/config/enums/route-names.d.ts +2 -1
  2. package/esm2020/config/enums/route-names.mjs +1 -1
  3. package/esm2020/config/providers/route.provider.mjs +10 -1
  4. package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +12 -10
  5. package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +3 -3
  6. package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +86 -31
  7. package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +10 -10
  8. package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +10 -10
  9. package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +16 -16
  10. package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +8 -8
  11. package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +3 -7
  12. package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +4 -14
  13. package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +5 -6
  14. package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +7 -10
  15. package/esm2020/lib/features/item-classifications/components/item-classifications.component.mjs +199 -0
  16. package/esm2020/lib/features/item-classifications/hit-item-classifications-routing.module.mjs +29 -0
  17. package/esm2020/lib/features/item-classifications/hit-item-classifications.module.mjs +60 -0
  18. package/esm2020/lib/features/price-parameters/components/price-parameter-form-items.component.mjs +6 -6
  19. package/esm2020/lib/features/price-parameters/components/price-parameter-form-price-lists.component.mjs +6 -6
  20. package/esm2020/lib/features/price-parameters/components/price-parameter-form.component.mjs +114 -46
  21. package/esm2020/lib/features/price-parameters/components/price-parameter-price-update-preview-modal.component.mjs +26 -0
  22. package/esm2020/lib/features/price-parameters/components/price-parameters.component.mjs +24 -17
  23. package/esm2020/lib/features/price-parameters/hit-price-parameters.module.mjs +5 -2
  24. package/esm2020/lib/features/price-parameters/price-parameter-cost-match.service.mjs +3 -3
  25. package/esm2020/lib/features/price-parameters/price-parameter-form-data.service.mjs +1 -2
  26. package/esm2020/lib/features/price-parameters/price-parameter-lookups.service.mjs +5 -10
  27. package/esm2020/lib/features/price-parameters/price-parameter-price-update.service.mjs +119 -0
  28. package/esm2020/lib/features/settings/components/cost-settings.component.mjs +8 -4
  29. package/esm2020/lib/kadooglu-keops-routing.module.mjs +3 -1
  30. package/esm2020/lib/shared/amount-currency-input/amount-currency-input.component.mjs +5 -3
  31. package/esm2020/lib/shared/cost-item-classification.utils.mjs +5 -2
  32. package/esm2020/lib/utils/business-region.utils.mjs +12 -0
  33. package/esm2020/lib/utils/currency.utils.mjs +3 -1
  34. package/esm2020/proxy/business-region.enum.mjs +9 -0
  35. package/esm2020/proxy/controllers/index.mjs +2 -1
  36. package/esm2020/proxy/controllers/item-classification.service.mjs +42 -0
  37. package/esm2020/proxy/controllers/item.service.mjs +7 -3
  38. package/esm2020/proxy/controllers/price-list.service.mjs +5 -5
  39. package/esm2020/proxy/controllers/price-parameter.service.mjs +6 -1
  40. package/esm2020/proxy/cost-parameter-categories/dtos/models.mjs +1 -1
  41. package/esm2020/proxy/cost-parameters/dtos/models.mjs +1 -1
  42. package/esm2020/proxy/item-classifications/dtos/index.mjs +2 -0
  43. package/esm2020/proxy/item-classifications/dtos/models.mjs +2 -0
  44. package/esm2020/proxy/price-parameters/dtos/models.mjs +1 -1
  45. package/esm2020/proxy/public-api.mjs +3 -2
  46. package/esm2020/proxy/settings/models.mjs +1 -1
  47. package/fesm2015/hitsoft-kadooglu-keops-config.mjs +9 -0
  48. package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -1
  49. package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs +63 -14
  50. package/fesm2015/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
  51. package/fesm2015/hitsoft-kadooglu-keops.mjs +795 -287
  52. package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -1
  53. package/fesm2020/hitsoft-kadooglu-keops-config.mjs +9 -0
  54. package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -1
  55. package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs +63 -14
  56. package/fesm2020/hitsoft-kadooglu-keops-proxy.mjs.map +1 -1
  57. package/fesm2020/hitsoft-kadooglu-keops.mjs +776 -272
  58. package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -1
  59. package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +9 -7
  60. package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +16 -8
  61. package/lib/features/cost-calculation/engine/currency.utils.d.ts +2 -2
  62. package/lib/features/cost-calculation/engine/formulas.d.ts +2 -2
  63. package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +0 -1
  64. package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +1 -5
  65. package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +2 -2
  66. package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +1 -2
  67. package/lib/features/item-classifications/components/item-classifications.component.d.ts +66 -0
  68. package/lib/features/item-classifications/hit-item-classifications-routing.module.d.ts +7 -0
  69. package/lib/features/item-classifications/hit-item-classifications.module.d.ts +17 -0
  70. package/lib/features/price-parameters/components/price-parameter-form-items.component.d.ts +3 -3
  71. package/lib/features/price-parameters/components/price-parameter-form-price-lists.component.d.ts +3 -3
  72. package/lib/features/price-parameters/components/price-parameter-form.component.d.ts +16 -9
  73. package/lib/features/price-parameters/components/price-parameter-price-update-preview-modal.component.d.ts +11 -0
  74. package/lib/features/price-parameters/components/price-parameters.component.d.ts +5 -2
  75. package/lib/features/price-parameters/hit-price-parameters.module.d.ts +12 -11
  76. package/lib/features/price-parameters/price-parameter-cost-match.service.d.ts +2 -2
  77. package/lib/features/price-parameters/price-parameter-form-data.service.d.ts +0 -1
  78. package/lib/features/price-parameters/price-parameter-lookups.service.d.ts +0 -1
  79. package/lib/features/price-parameters/price-parameter-price-update.service.d.ts +30 -0
  80. package/lib/shared/amount-currency-input/amount-currency-input.component.d.ts +2 -2
  81. package/lib/shared/cost-item-classification.utils.d.ts +5 -1
  82. package/lib/utils/business-region.utils.d.ts +7 -0
  83. package/lib/utils/currency.utils.d.ts +1 -0
  84. package/package.json +1 -1
  85. package/proxy/business-region.enum.d.ts +6 -0
  86. package/proxy/controllers/index.d.ts +1 -0
  87. package/proxy/controllers/item-classification.service.d.ts +17 -0
  88. package/proxy/controllers/item.service.d.ts +3 -1
  89. package/proxy/controllers/price-list.service.d.ts +3 -2
  90. package/proxy/controllers/price-parameter.service.d.ts +2 -1
  91. package/proxy/cost-parameter-categories/dtos/models.d.ts +0 -4
  92. package/proxy/cost-parameters/dtos/models.d.ts +4 -3
  93. package/proxy/item-classifications/dtos/index.d.ts +1 -0
  94. package/proxy/item-classifications/dtos/models.d.ts +34 -0
  95. package/proxy/price-parameters/dtos/models.d.ts +38 -12
  96. package/proxy/public-api.d.ts +2 -1
  97. package/proxy/settings/models.d.ts +1 -0
  98. package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +0 -6
  99. package/esm2020/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +0 -8
  100. package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +0 -2
  101. package/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +0 -5
@@ -0,0 +1,199 @@
1
+ import { Component } from '@angular/core';
2
+ import { forkJoin, timer } from 'rxjs';
3
+ import { finalize, switchMap, takeWhile } from 'rxjs/operators';
4
+ import { BUSINESS_REGION_OPTIONS } from '../../../utils/business-region.utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@hitsoft/kadooglu-keops/proxy";
7
+ import * as i2 from "@abp/ng.theme.shared";
8
+ import * as i3 from "@abp/ng.core";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@angular/forms";
11
+ import * as i6 from "@abp/ng.components/page";
12
+ import * as i7 from "devextreme-angular";
13
+ import * as i8 from "devextreme-angular/ui/nested";
14
+ export class ItemClassificationsComponent {
15
+ constructor(service, itemPackageTypeService, itemPackageGroupService, itemProductTypeService, toaster, localization) {
16
+ this.service = service;
17
+ this.itemPackageTypeService = itemPackageTypeService;
18
+ this.itemPackageGroupService = itemPackageGroupService;
19
+ this.itemProductTypeService = itemProductTypeService;
20
+ this.toaster = toaster;
21
+ this.localization = localization;
22
+ this.kinds = [
23
+ { labelKey: 'Keops::ItemClassifications:Kind:PackagingMaterials', prefix: '04' },
24
+ { labelKey: 'Keops::ItemClassifications:Kind:TradeGoods', prefix: '05' },
25
+ ];
26
+ this.selectedPrefix = '';
27
+ this.loading = false;
28
+ this.saving = false;
29
+ this.saveProgress = { processed: 0, total: 0 };
30
+ this.rows = [];
31
+ this.packageTypes = [];
32
+ this.packageGroups = [];
33
+ this.productTypes = [];
34
+ this.regions = [];
35
+ this.costGroups = [];
36
+ this.packagingMaterials = [];
37
+ this.changes = [];
38
+ this.selectedKeys = [];
39
+ // Toplu doldur panel değerleri
40
+ this.bulkPaketTuru = null;
41
+ this.bulkPaketGrubu = null;
42
+ this.bulkUrunTipi = null;
43
+ this.bulkRegion = null;
44
+ this.bulkCostGroup = null;
45
+ this.bulkPckMat = null;
46
+ this.regions = BUSINESS_REGION_OPTIONS.map(option => ({
47
+ value: option.value,
48
+ name: this.localization.instant(option.label),
49
+ }));
50
+ }
51
+ ngOnDestroy() {
52
+ this.saveSub?.unsubscribe();
53
+ }
54
+ get hasKind() {
55
+ return !!this.selectedPrefix;
56
+ }
57
+ onKindChange() {
58
+ this.rows = [];
59
+ if (this.selectedPrefix) {
60
+ this.load();
61
+ }
62
+ else {
63
+ this.resetState();
64
+ }
65
+ }
66
+ load(selectAfter = []) {
67
+ this.loading = true;
68
+ forkJoin({
69
+ rows: this.service.getList(this.selectedPrefix),
70
+ packageTypes: this.itemPackageTypeService.getList(),
71
+ packageGroups: this.itemPackageGroupService.getList(),
72
+ productTypes: this.itemProductTypeService.getList(),
73
+ costCategories: this.service.getCostCategories(),
74
+ packagingMaterials: this.service.getPackagingMaterials(),
75
+ })
76
+ .pipe(finalize(() => (this.loading = false)))
77
+ .subscribe(({ rows, packageTypes, packageGroups, productTypes, costCategories, packagingMaterials }) => {
78
+ this.rows = rows;
79
+ this.packageTypes = packageTypes.filter(x => x.isActive);
80
+ this.packageGroups = packageGroups.filter(x => x.isActive);
81
+ this.productTypes = productTypes.filter(x => x.isActive);
82
+ this.costGroups = costCategories;
83
+ this.packagingMaterials = packagingMaterials;
84
+ this.resetState();
85
+ this.selectedKeys = selectAfter;
86
+ });
87
+ }
88
+ resetState() {
89
+ this.changes = [];
90
+ this.selectedKeys = [];
91
+ this.bulkPaketTuru = null;
92
+ this.bulkPaketGrubu = null;
93
+ this.bulkUrunTipi = null;
94
+ this.bulkRegion = null;
95
+ this.bulkCostGroup = null;
96
+ this.bulkPckMat = null;
97
+ }
98
+ /** Grid'in yerleşik batch "kaydet/geri al" (disk/revert) düğmelerini gizler. */
99
+ onToolbarPreparing(e) {
100
+ const items = e?.toolbarOptions?.items;
101
+ if (Array.isArray(items)) {
102
+ e.toolbarOptions.items = items.filter((i) => i.name !== 'saveButton' && i.name !== 'revertButton');
103
+ }
104
+ }
105
+ applyBulk() {
106
+ if (!this.selectedKeys.length) {
107
+ return;
108
+ }
109
+ if (this.bulkPaketTuru) {
110
+ this.applyValueToSelected('paketTuruCode', this.bulkPaketTuru);
111
+ }
112
+ if (this.bulkPaketGrubu) {
113
+ this.applyValueToSelected('paketGrubuCode', this.bulkPaketGrubu);
114
+ }
115
+ if (this.bulkUrunTipi) {
116
+ this.applyValueToSelected('urunTipiCode', this.bulkUrunTipi);
117
+ }
118
+ if (this.bulkRegion) {
119
+ this.applyValueToSelected('region', this.bulkRegion);
120
+ }
121
+ if (this.bulkCostGroup) {
122
+ this.applyValueToSelected('costGroupCode', this.bulkCostGroup);
123
+ }
124
+ if (this.bulkPckMat) {
125
+ this.applyValueToSelected('pckMatCode', this.bulkPckMat);
126
+ }
127
+ }
128
+ /** Seçili satırların ilgili kolonuna değeri batch-change olarak yazar (sayfadan bağımsız, key bazlı). */
129
+ applyValueToSelected(field, value) {
130
+ const next = this.changes.map(c => ({ ...c, data: { ...c.data } }));
131
+ for (const key of this.selectedKeys) {
132
+ let change = next.find(c => c.type === 'update' && c.key === key);
133
+ if (!change) {
134
+ change = { type: 'update', key, data: {} };
135
+ next.push(change);
136
+ }
137
+ change.data[field] = value;
138
+ }
139
+ this.changes = next;
140
+ }
141
+ save() {
142
+ const updates = this.changes.filter(c => c.type === 'update');
143
+ if (updates.length === 0 || this.saving) {
144
+ return;
145
+ }
146
+ const byKey = new Map(this.rows.map(r => [r.itemCode, r]));
147
+ const input = updates.map(change => {
148
+ const merged = { ...(byKey.get(change.key) ?? {}), ...change.data };
149
+ return {
150
+ itemCode: change.key,
151
+ paketTuruCode: merged.paketTuruCode ?? '',
152
+ paketGrubuCode: merged.paketGrubuCode ?? '',
153
+ urunTipiCode: merged.urunTipiCode ?? '',
154
+ region: merged.region,
155
+ costGroupCode: merged.costGroupCode ?? '',
156
+ pckMatCode: merged.pckMatCode ?? '',
157
+ };
158
+ });
159
+ this.saving = true;
160
+ this.saveProgress = { processed: 0, total: input.length };
161
+ this.service.startSave(input).subscribe({
162
+ next: jobId => this.pollStatus(jobId),
163
+ error: () => (this.saving = false),
164
+ });
165
+ }
166
+ pollStatus(jobId) {
167
+ this.saveSub?.unsubscribe();
168
+ this.saveSub = timer(0, 1500)
169
+ .pipe(switchMap(() => this.service.getSaveStatus(jobId)), takeWhile(status => !status.completed, true))
170
+ .subscribe({
171
+ next: status => {
172
+ this.saveProgress = { processed: status.processed, total: status.total };
173
+ if (status.completed) {
174
+ this.onSaveCompleted(status);
175
+ }
176
+ },
177
+ error: () => (this.saving = false),
178
+ });
179
+ }
180
+ onSaveCompleted(status) {
181
+ this.saving = false;
182
+ const failed = status.failed ?? [];
183
+ if (failed.length === 0) {
184
+ this.toaster.success(this.localization.instant('Keops::ItemClassifications:SaveDoneAll', `${status.succeeded}`));
185
+ }
186
+ else {
187
+ this.toaster.warn(this.localization.instant('Keops::ItemClassifications:SavePartial', `${status.succeeded}`, `${failed.length}`));
188
+ }
189
+ const failedKeys = failed.map(f => f.itemCode).filter(Boolean);
190
+ this.load(failedKeys);
191
+ }
192
+ }
193
+ ItemClassificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ItemClassificationsComponent, deps: [{ token: i1.ItemClassificationService }, { token: i1.ItemPackageTypeService }, { token: i1.ItemPackageGroupService }, { token: i1.ItemProductTypeService }, { token: i2.ToasterService }, { token: i3.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
194
+ ItemClassificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ItemClassificationsComponent, selector: "lib-item-classifications", ngImport: i0, template: "<abp-page [title]=\"'Keops::ItemClassifications:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end align-items-center mx-0\" id=\"ItemClassificationsToolbar\">\r\n <div *ngIf=\"saving\" class=\"col-auto pt-0 pt-md-2 text-muted\">\r\n <span class=\"spinner-border spinner-border-sm me-1\"></span>\r\n {{ 'Keops::ItemClassifications:Saving' | abpLocalization }}\r\n {{ saveProgress.processed }}/{{ saveProgress.total }}\r\n </div>\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ItemClassifications.Update'\"\r\n id=\"save\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!changes.length || saving\"\r\n (click)=\"save()\"\r\n >\r\n <i class=\"fa fa-check me-1\"></i>\r\n <span>{{ 'Keops::ItemClassifications:Save' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ItemClassificationsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-12 col-md-4\">\r\n <label for=\"kind\" class=\"form-label\">\r\n {{ 'Keops::ItemClassifications:Kind' | abpLocalization }}\r\n </label>\r\n <select\r\n id=\"kind\"\r\n class=\"form-select\"\r\n [(ngModel)]=\"selectedPrefix\"\r\n (ngModelChange)=\"onKindChange()\"\r\n >\r\n <option value=\"\">--</option>\r\n <option *ngFor=\"let kind of kinds\" [value]=\"kind.prefix\">\r\n {{ kind.labelKey | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!hasKind\" class=\"text-muted\">\r\n {{ 'Keops::ItemClassifications:SelectKind' | abpLocalization }}\r\n </div>\r\n\r\n <!-- Toplu doldur paneli -->\r\n <div *ngIf=\"hasKind\" class=\"border rounded p-2 mb-3 bg-light\">\r\n <div class=\"row g-2 align-items-end\">\r\n <div class=\"col-12 col-md-auto\">\r\n <span class=\"badge bg-secondary\">\r\n {{ 'Keops::ItemClassifications:Selected' | abpLocalization }}: {{ selectedKeys.length }}\r\n </span>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:PackageType' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"packageTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkPaketTuru\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:PackageGroup' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"packageGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkPaketGrubu\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:ProductType' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"productTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkUrunTipi\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:Region' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"regions\"\r\n valueExpr=\"value\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkRegion\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:CostGroup' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"costGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkCostGroup\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:PackagingMaterial' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"packagingMaterials\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkPckMat\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-12 col-md-auto d-flex gap-2\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-outline-primary\"\r\n [disabled]=\"!selectedKeys.length\"\r\n (click)=\"applyBulk()\"\r\n >\r\n <i class=\"fa fa-arrow-down me-1\"></i>\r\n {{ 'Keops::ItemClassifications:ApplyToSelected' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <dx-data-grid\r\n *ngIf=\"hasKind\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"rows\"\r\n keyExpr=\"itemCode\"\r\n columnResizingMode=\"widget\"\r\n [(selectedRowKeys)]=\"selectedKeys\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n >\r\n <dxo-selection mode=\"multiple\" showCheckBoxesMode=\"always\" [allowSelectAll]=\"true\"></dxo-selection>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"20\"></dxo-paging>\r\n <dxo-editing\r\n mode=\"batch\"\r\n [allowUpdating]=\"true\"\r\n [allowAdding]=\"false\"\r\n [allowDeleting]=\"false\"\r\n [useIcons]=\"true\"\r\n [(changes)]=\"changes\"\r\n ></dxo-editing>\r\n\r\n <dxi-column\r\n dataField=\"itemCode\"\r\n [allowEditing]=\"false\"\r\n width=\"140\"\r\n caption=\"{{ 'Keops::ItemClassifications:ItemCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"itemName\"\r\n [allowEditing]=\"false\"\r\n caption=\"{{ 'Keops::ItemClassifications:ItemName' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupCode\"\r\n dataType=\"number\"\r\n [allowEditing]=\"false\"\r\n width=\"110\"\r\n caption=\"{{ 'Keops::ItemClassifications:GroupCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupName\"\r\n [allowEditing]=\"false\"\r\n caption=\"{{ 'Keops::ItemClassifications:GroupName' | abpLocalization }}\"\r\n ></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"paketTuruCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:PackageType' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"packageTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"paketGrubuCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:PackageGroup' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"packageGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"urunTipiCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:ProductType' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"productTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"region\"\r\n caption=\"{{ 'Keops::ItemClassifications:Region' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"regions\"\r\n valueExpr=\"value\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"costGroupCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:CostGroup' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"costGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"pckMatCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:PackagingMaterial' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"packagingMaterials\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i6.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i6.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i8.DxoEditingComponent, selector: "dxo-editing", inputs: ["allowAdding", "allowDeleting", "allowUpdating", "changes", "confirmDelete", "editColumnName", "editRowKey", "form", "mode", "newRowPosition", "popup", "refreshMode", "selectTextOnEditStart", "startEditAction", "texts", "useIcons", "allowAddShape", "allowChangeConnection", "allowChangeConnectorPoints", "allowChangeConnectorText", "allowChangeShapeText", "allowDeleteConnector", "allowDeleteShape", "allowMoveShape", "allowResizeShape", "allowDependencyAdding", "allowDependencyDeleting", "allowResourceAdding", "allowResourceDeleting", "allowResourceUpdating", "allowTaskAdding", "allowTaskDeleting", "allowTaskResourceUpdating", "allowTaskUpdating", "enabled", "allowDragging", "allowResizing", "allowTimeZoneEditing"], outputs: ["changesChange", "editColumnNameChange", "editRowKeyChange"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "component", type: i8.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i7.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ItemClassificationsComponent, decorators: [{
196
+ type: Component,
197
+ args: [{ selector: 'lib-item-classifications', template: "<abp-page [title]=\"'Keops::ItemClassifications:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end align-items-center mx-0\" id=\"ItemClassificationsToolbar\">\r\n <div *ngIf=\"saving\" class=\"col-auto pt-0 pt-md-2 text-muted\">\r\n <span class=\"spinner-border spinner-border-sm me-1\"></span>\r\n {{ 'Keops::ItemClassifications:Saving' | abpLocalization }}\r\n {{ saveProgress.processed }}/{{ saveProgress.total }}\r\n </div>\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ItemClassifications.Update'\"\r\n id=\"save\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n [disabled]=\"!changes.length || saving\"\r\n (click)=\"save()\"\r\n >\r\n <i class=\"fa fa-check me-1\"></i>\r\n <span>{{ 'Keops::ItemClassifications:Save' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ItemClassificationsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-12 col-md-4\">\r\n <label for=\"kind\" class=\"form-label\">\r\n {{ 'Keops::ItemClassifications:Kind' | abpLocalization }}\r\n </label>\r\n <select\r\n id=\"kind\"\r\n class=\"form-select\"\r\n [(ngModel)]=\"selectedPrefix\"\r\n (ngModelChange)=\"onKindChange()\"\r\n >\r\n <option value=\"\">--</option>\r\n <option *ngFor=\"let kind of kinds\" [value]=\"kind.prefix\">\r\n {{ kind.labelKey | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!hasKind\" class=\"text-muted\">\r\n {{ 'Keops::ItemClassifications:SelectKind' | abpLocalization }}\r\n </div>\r\n\r\n <!-- Toplu doldur paneli -->\r\n <div *ngIf=\"hasKind\" class=\"border rounded p-2 mb-3 bg-light\">\r\n <div class=\"row g-2 align-items-end\">\r\n <div class=\"col-12 col-md-auto\">\r\n <span class=\"badge bg-secondary\">\r\n {{ 'Keops::ItemClassifications:Selected' | abpLocalization }}: {{ selectedKeys.length }}\r\n </span>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:PackageType' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"packageTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkPaketTuru\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:PackageGroup' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"packageGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkPaketGrubu\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:ProductType' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"productTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkUrunTipi\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:Region' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"regions\"\r\n valueExpr=\"value\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkRegion\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:CostGroup' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"costGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkCostGroup\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-6 col-md-3\">\r\n <label class=\"form-label mb-1\">\r\n {{ 'Keops::ItemClassifications:PackagingMaterial' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n [dataSource]=\"packagingMaterials\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"bulkPckMat\"\r\n placeholder=\"--\"\r\n ></dx-select-box>\r\n </div>\r\n <div class=\"col-12 col-md-auto d-flex gap-2\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-outline-primary\"\r\n [disabled]=\"!selectedKeys.length\"\r\n (click)=\"applyBulk()\"\r\n >\r\n <i class=\"fa fa-arrow-down me-1\"></i>\r\n {{ 'Keops::ItemClassifications:ApplyToSelected' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <dx-data-grid\r\n *ngIf=\"hasKind\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"rows\"\r\n keyExpr=\"itemCode\"\r\n columnResizingMode=\"widget\"\r\n [(selectedRowKeys)]=\"selectedKeys\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n >\r\n <dxo-selection mode=\"multiple\" showCheckBoxesMode=\"always\" [allowSelectAll]=\"true\"></dxo-selection>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"20\"></dxo-paging>\r\n <dxo-editing\r\n mode=\"batch\"\r\n [allowUpdating]=\"true\"\r\n [allowAdding]=\"false\"\r\n [allowDeleting]=\"false\"\r\n [useIcons]=\"true\"\r\n [(changes)]=\"changes\"\r\n ></dxo-editing>\r\n\r\n <dxi-column\r\n dataField=\"itemCode\"\r\n [allowEditing]=\"false\"\r\n width=\"140\"\r\n caption=\"{{ 'Keops::ItemClassifications:ItemCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"itemName\"\r\n [allowEditing]=\"false\"\r\n caption=\"{{ 'Keops::ItemClassifications:ItemName' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupCode\"\r\n dataType=\"number\"\r\n [allowEditing]=\"false\"\r\n width=\"110\"\r\n caption=\"{{ 'Keops::ItemClassifications:GroupCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupName\"\r\n [allowEditing]=\"false\"\r\n caption=\"{{ 'Keops::ItemClassifications:GroupName' | abpLocalization }}\"\r\n ></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"paketTuruCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:PackageType' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"packageTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"paketGrubuCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:PackageGroup' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"packageGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"urunTipiCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:ProductType' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"productTypes\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"region\"\r\n caption=\"{{ 'Keops::ItemClassifications:Region' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"regions\"\r\n valueExpr=\"value\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"costGroupCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:CostGroup' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"costGroups\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"pckMatCode\"\r\n caption=\"{{ 'Keops::ItemClassifications:PackagingMaterial' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"packagingMaterials\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n [allowClearing]=\"true\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n" }]
198
+ }], ctorParameters: function () { return [{ type: i1.ItemClassificationService }, { type: i1.ItemPackageTypeService }, { type: i1.ItemPackageGroupService }, { type: i1.ItemProductTypeService }, { type: i2.ToasterService }, { type: i3.LocalizationService }]; } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1jbGFzc2lmaWNhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9pdGVtLWNsYXNzaWZpY2F0aW9ucy9jb21wb25lbnRzL2l0ZW0tY2xhc3NpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvaXRlbS1jbGFzc2lmaWNhdGlvbnMvY29tcG9uZW50cy9pdGVtLWNsYXNzaWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWdCaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFpQi9FLE1BQU0sT0FBTyw0QkFBNEI7SUFnQ3ZDLFlBQ21CLE9BQWtDLEVBQ2xDLHNCQUE4QyxFQUM5Qyx1QkFBZ0QsRUFDaEQsc0JBQThDLEVBQzlDLE9BQXVCLEVBQ3ZCLFlBQWlDO1FBTGpDLFlBQU8sR0FBUCxPQUFPLENBQTJCO1FBQ2xDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQXJDM0MsVUFBSyxHQUFlO1lBQzNCLEVBQUUsUUFBUSxFQUFF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QUFNLEVBQUUsQ0FDbkIsQ0FDRixDQUFDO1NBQ0g7UUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7O3lIQXBOVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixnRUNyQ3pDLGdqWEFrU0E7MkZEN1BhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgVG9hc3RlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBJdGVtQ2xhc3NpZmljYXRpb25TZXJ2aWNlLFxyXG4gIEl0ZW1DbGFzc2lmaWNhdGlvbkR0byxcclxuICBJdGVtQ2xhc3NpZmljYXRpb25TYXZlRHRvLFxyXG4gIEl0ZW1DbGFzc2lmaWNhdGlvblNhdmVTdGF0dXNEdG8sXHJcbiAgSXRlbVBhY2thZ2VUeXBlU2VydmljZSxcclxuICBJdGVtUGFja2FnZUdyb3VwU2VydmljZSxcclxuICBJdGVtUHJvZHVjdFR5cGVTZXJ2aWNlLFxyXG4gIEl0ZW1QYWNrYWdlVHlwZUR0byxcclxuICBJdGVtUGFja2FnZUdyb3VwRHRvLFxyXG4gIEl0ZW1Qcm9kdWN0VHlwZUR0byxcclxuICBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG8sXHJcbiAgQnVzaW5lc3NSZWdpb24sXHJcbiAgUGFja2FnaW5nTWF0ZXJpYWxEdG8sXHJcbn0gZnJvbSAnQGhpdHNvZnQva2Fkb29nbHUta2VvcHMvcHJveHknO1xyXG5pbXBvcnQgeyBCVVNJTkVTU19SRUdJT05fT1BUSU9OUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2J1c2luZXNzLXJlZ2lvbi51dGlscyc7XHJcblxyXG5pbnRlcmZhY2UgSXRlbUtpbmQge1xyXG4gIGxhYmVsS2V5OiBzdHJpbmc7XHJcbiAgcHJlZml4OiBzdHJpbmc7XHJcbn1cclxuXHJcbmludGVyZmFjZSBCYXRjaENoYW5nZSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGRhdGE6IFBhcnRpYWw8SXRlbUNsYXNzaWZpY2F0aW9uRHRvPjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItaXRlbS1jbGFzc2lmaWNhdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pdGVtLWNsYXNzaWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJdGVtQ2xhc3NpZmljYXRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICByZWFkb25seSBraW5kczogSXRlbUtpbmRbXSA9IFtcclxuICAgIHsgbGFiZWxLZXk6ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpLaW5kOlBhY2thZ2luZ01hdGVyaWFscycsIHByZWZpeDogJzA0JyB9LFxyXG4gICAgeyBsYWJlbEtleTogJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOktpbmQ6VHJhZGVHb29kcycsIHByZWZpeDogJzA1JyB9LFxyXG4gIF07XHJcblxyXG4gIHNlbGVjdGVkUHJlZml4ID0gJyc7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHNhdmluZyA9IGZhbHNlO1xyXG4gIHNhdmVQcm9ncmVzcyA9IHsgcHJvY2Vzc2VkOiAwLCB0b3RhbDogMCB9O1xyXG5cclxuICByb3dzOiBJdGVtQ2xhc3NpZmljYXRpb25EdG9bXSA9IFtdO1xyXG4gIHBhY2thZ2VUeXBlczogSXRlbVBhY2thZ2VUeXBlRHRvW10gPSBbXTtcclxuICBwYWNrYWdlR3JvdXBzOiBJdGVtUGFja2FnZUdyb3VwRHRvW10gPSBbXTtcclxuICBwcm9kdWN0VHlwZXM6IEl0ZW1Qcm9kdWN0VHlwZUR0b1tdID0gW107XHJcbiAgcmVnaW9uczogeyB2YWx1ZTogQnVzaW5lc3NSZWdpb247IG5hbWU6IHN0cmluZyB9W10gPSBbXTtcclxuICBjb3N0R3JvdXBzOiBDb3N0UGFyYW1ldGVyQ2F0ZWdvcnlEdG9bXSA9IFtdO1xyXG4gIHBhY2thZ2luZ01hdGVyaWFsczogUGFja2FnaW5nTWF0ZXJpYWxEdG9bXSA9IFtdO1xyXG4gIGNoYW5nZXM6IEJhdGNoQ2hhbmdlW10gPSBbXTtcclxuXHJcbiAgc2VsZWN0ZWRLZXlzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAvLyBUb3BsdSBkb2xkdXIgcGFuZWwgZGXEn2VybGVyaVxyXG4gIGJ1bGtQYWtldFR1cnU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGJ1bGtQYWtldEdydWJ1OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBidWxrVXJ1blRpcGk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGJ1bGtSZWdpb246IEJ1c2luZXNzUmVnaW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgYnVsa0Nvc3RHcm91cDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgYnVsa1Bja01hdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgc2F2ZVN1Yj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IEl0ZW1DbGFzc2lmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1QYWNrYWdlVHlwZVNlcnZpY2U6IEl0ZW1QYWNrYWdlVHlwZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1QYWNrYWdlR3JvdXBTZXJ2aWNlOiBJdGVtUGFja2FnZUdyb3VwU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXRlbVByb2R1Y3RUeXBlU2VydmljZTogSXRlbVByb2R1Y3RUeXBlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RlcjogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsaXphdGlvbjogTG9jYWxpemF0aW9uU2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMucmVnaW9ucyA9IEJVU0lORVNTX1JFR0lPTl9PUFRJT05TLm1hcChvcHRpb24gPT4gKHtcclxuICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcclxuICAgICAgbmFtZTogdGhpcy5sb2NhbGl6YXRpb24uaW5zdGFudChvcHRpb24ubGFiZWwpLFxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNhdmVTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzS2luZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuc2VsZWN0ZWRQcmVmaXg7XHJcbiAgfVxyXG5cclxuICBvbktpbmRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkUHJlZml4KSB7XHJcbiAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZXNldFN0YXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkKHNlbGVjdEFmdGVyOiBzdHJpbmdbXSA9IFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgZm9ya0pvaW4oe1xyXG4gICAgICByb3dzOiB0aGlzLnNlcnZpY2UuZ2V0TGlzdCh0aGlzLnNlbGVjdGVkUHJlZml4KSxcclxuICAgICAgcGFja2FnZVR5cGVzOiB0aGlzLml0ZW1QYWNrYWdlVHlwZVNlcnZpY2UuZ2V0TGlzdCgpLFxyXG4gICAgICBwYWNrYWdlR3JvdXBzOiB0aGlzLml0ZW1QYWNrYWdlR3JvdXBTZXJ2aWNlLmdldExpc3QoKSxcclxuICAgICAgcHJvZHVjdFR5cGVzOiB0aGlzLml0ZW1Qcm9kdWN0VHlwZVNlcnZpY2UuZ2V0TGlzdCgpLFxyXG4gICAgICBjb3N0Q2F0ZWdvcmllczogdGhpcy5zZXJ2aWNlLmdldENvc3RDYXRlZ29yaWVzKCksXHJcbiAgICAgIHBhY2thZ2luZ01hdGVyaWFsczogdGhpcy5zZXJ2aWNlLmdldFBhY2thZ2luZ01hdGVyaWFscygpLFxyXG4gICAgfSlcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHsgcm93cywgcGFja2FnZVR5cGVzLCBwYWNrYWdlR3JvdXBzLCBwcm9kdWN0VHlwZXMsIGNvc3RDYXRlZ29yaWVzLCBwYWNrYWdpbmdNYXRlcmlhbHMgfSkgPT4ge1xyXG4gICAgICAgIHRoaXMucm93cyA9IHJvd3M7XHJcbiAgICAgICAgdGhpcy5wYWNrYWdlVHlwZXMgPSBwYWNrYWdlVHlwZXMuZmlsdGVyKHggPT4geC5pc0FjdGl2ZSk7XHJcbiAgICAgICAgdGhpcy5wYWNrYWdlR3JvdXBzID0gcGFja2FnZUdyb3Vwcy5maWx0ZXIoeCA9PiB4LmlzQWN0aXZlKTtcclxuICAgICAgICB0aGlzLnByb2R1Y3RUeXBlcyA9IHByb2R1Y3RUeXBlcy5maWx0ZXIoeCA9PiB4LmlzQWN0aXZlKTtcclxuICAgICAgICB0aGlzLmNvc3RHcm91cHMgPSBjb3N0Q2F0ZWdvcmllcztcclxuICAgICAgICB0aGlzLnBhY2thZ2luZ01hdGVyaWFscyA9IHBhY2thZ2luZ01hdGVyaWFscztcclxuICAgICAgICB0aGlzLnJlc2V0U3RhdGUoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkS2V5cyA9IHNlbGVjdEFmdGVyO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRTdGF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlcyA9IFtdO1xyXG4gICAgdGhpcy5zZWxlY3RlZEtleXMgPSBbXTtcclxuICAgIHRoaXMuYnVsa1Bha2V0VHVydSA9IG51bGw7XHJcbiAgICB0aGlzLmJ1bGtQYWtldEdydWJ1ID0gbnVsbDtcclxuICAgIHRoaXMuYnVsa1VydW5UaXBpID0gbnVsbDtcclxuICAgIHRoaXMuYnVsa1JlZ2lvbiA9IG51bGw7XHJcbiAgICB0aGlzLmJ1bGtDb3N0R3JvdXAgPSBudWxsO1xyXG4gICAgdGhpcy5idWxrUGNrTWF0ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKiBHcmlkJ2luIHllcmxlxZ9payBiYXRjaCBcImtheWRldC9nZXJpIGFsXCIgKGRpc2svcmV2ZXJ0KSBkw7zEn21lbGVyaW5pIGdpemxlci4gKi9cclxuICBvblRvb2xiYXJQcmVwYXJpbmcoZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtcyA9IGU/LnRvb2xiYXJPcHRpb25zPy5pdGVtcztcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1zKSkge1xyXG4gICAgICBlLnRvb2xiYXJPcHRpb25zLml0ZW1zID0gaXRlbXMuZmlsdGVyKFxyXG4gICAgICAgIChpOiBhbnkpID0+IGkubmFtZSAhPT0gJ3NhdmVCdXR0b24nICYmIGkubmFtZSAhPT0gJ3JldmVydEJ1dHRvbicsXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseUJ1bGsoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRLZXlzLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5idWxrUGFrZXRUdXJ1KSB7XHJcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZVRvU2VsZWN0ZWQoJ3Bha2V0VHVydUNvZGUnLCB0aGlzLmJ1bGtQYWtldFR1cnUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYnVsa1Bha2V0R3J1YnUpIHtcclxuICAgICAgdGhpcy5hcHBseVZhbHVlVG9TZWxlY3RlZCgncGFrZXRHcnVidUNvZGUnLCB0aGlzLmJ1bGtQYWtldEdydWJ1KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmJ1bGtVcnVuVGlwaSkge1xyXG4gICAgICB0aGlzLmFwcGx5VmFsdWVUb1NlbGVjdGVkKCd1cnVuVGlwaUNvZGUnLCB0aGlzLmJ1bGtVcnVuVGlwaSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5idWxrUmVnaW9uKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZVRvU2VsZWN0ZWQoJ3JlZ2lvbicsIHRoaXMuYnVsa1JlZ2lvbik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5idWxrQ29zdEdyb3VwKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZVRvU2VsZWN0ZWQoJ2Nvc3RHcm91cENvZGUnLCB0aGlzLmJ1bGtDb3N0R3JvdXApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYnVsa1Bja01hdCkge1xyXG4gICAgICB0aGlzLmFwcGx5VmFsdWVUb1NlbGVjdGVkKCdwY2tNYXRDb2RlJywgdGhpcy5idWxrUGNrTWF0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBTZcOnaWxpIHNhdMSxcmxhcsSxbiBpbGdpbGkga29sb251bmEgZGXEn2VyaSBiYXRjaC1jaGFuZ2Ugb2xhcmFrIHlhemFyIChzYXlmYWRhbiBiYcSfxLFtc8Sxeiwga2V5IGJhemzEsSkuICovXHJcbiAgcHJpdmF0ZSBhcHBseVZhbHVlVG9TZWxlY3RlZChmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXh0OiBCYXRjaENoYW5nZVtdID0gdGhpcy5jaGFuZ2VzLm1hcChjID0+ICh7IC4uLmMsIGRhdGE6IHsgLi4uYy5kYXRhIH0gfSkpO1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgdGhpcy5zZWxlY3RlZEtleXMpIHtcclxuICAgICAgbGV0IGNoYW5nZSA9IG5leHQuZmluZChjID0+IGMudHlwZSA9PT0gJ3VwZGF0ZScgJiYgYy5rZXkgPT09IGtleSk7XHJcbiAgICAgIGlmICghY2hhbmdlKSB7XHJcbiAgICAgICAgY2hhbmdlID0geyB0eXBlOiAndXBkYXRlJywga2V5LCBkYXRhOiB7fSB9O1xyXG4gICAgICAgIG5leHQucHVzaChjaGFuZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIChjaGFuZ2UuZGF0YSBhcyBhbnkpW2ZpZWxkXSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VzID0gbmV4dDtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBjb25zdCB1cGRhdGVzID0gdGhpcy5jaGFuZ2VzLmZpbHRlcihjID0+IGMudHlwZSA9PT0gJ3VwZGF0ZScpO1xyXG4gICAgaWYgKHVwZGF0ZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuc2F2aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBieUtleSA9IG5ldyBNYXAodGhpcy5yb3dzLm1hcChyID0+IFtyLml0ZW1Db2RlLCByXSkpO1xyXG4gICAgY29uc3QgaW5wdXQ6IEl0ZW1DbGFzc2lmaWNhdGlvblNhdmVEdG9bXSA9IHVwZGF0ZXMubWFwKGNoYW5nZSA9PiB7XHJcbiAgICAgIGNvbnN0IG1lcmdlZCA9IHsgLi4uKGJ5S2V5LmdldChjaGFuZ2Uua2V5KSA/PyB7fSksIC4uLmNoYW5nZS5kYXRhIH07XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaXRlbUNvZGU6IGNoYW5nZS5rZXksXHJcbiAgICAgICAgcGFrZXRUdXJ1Q29kZTogbWVyZ2VkLnBha2V0VHVydUNvZGUgPz8gJycsXHJcbiAgICAgICAgcGFrZXRHcnVidUNvZGU6IG1lcmdlZC5wYWtldEdydWJ1Q29kZSA/PyAnJyxcclxuICAgICAgICB1cnVuVGlwaUNvZGU6IG1lcmdlZC51cnVuVGlwaUNvZGUgPz8gJycsXHJcbiAgICAgICAgcmVnaW9uOiBtZXJnZWQucmVnaW9uLFxyXG4gICAgICAgIGNvc3RHcm91cENvZGU6IG1lcmdlZC5jb3N0R3JvdXBDb2RlID8/ICcnLFxyXG4gICAgICAgIHBja01hdENvZGU6IG1lcmdlZC5wY2tNYXRDb2RlID8/ICcnLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zYXZlUHJvZ3Jlc3MgPSB7IHByb2Nlc3NlZDogMCwgdG90YWw6IGlucHV0Lmxlbmd0aCB9O1xyXG5cclxuICAgIHRoaXMuc2VydmljZS5zdGFydFNhdmUoaW5wdXQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGpvYklkID0+IHRoaXMucG9sbFN0YXR1cyhqb2JJZCksXHJcbiAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5zYXZpbmcgPSBmYWxzZSksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcG9sbFN0YXR1cyhqb2JJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNhdmVTdWI/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNhdmVTdWIgPSB0aW1lcigwLCAxNTAwKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlLmdldFNhdmVTdGF0dXMoam9iSWQpKSxcclxuICAgICAgICB0YWtlV2hpbGUoc3RhdHVzID0+ICFzdGF0dXMuY29tcGxldGVkLCB0cnVlKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiBzdGF0dXMgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zYXZlUHJvZ3Jlc3MgPSB7IHByb2Nlc3NlZDogc3RhdHVzLnByb2Nlc3NlZCwgdG90YWw6IHN0YXR1cy50b3RhbCB9O1xyXG4gICAgICAgICAgaWYgKHN0YXR1cy5jb21wbGV0ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5vblNhdmVDb21wbGV0ZWQoc3RhdHVzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5zYXZpbmcgPSBmYWxzZSksXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNhdmVDb21wbGV0ZWQoc3RhdHVzOiBJdGVtQ2xhc3NpZmljYXRpb25TYXZlU3RhdHVzRHRvKTogdm9pZCB7XHJcbiAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xyXG4gICAgY29uc3QgZmFpbGVkID0gc3RhdHVzLmZhaWxlZCA/PyBbXTtcclxuXHJcbiAgICBpZiAoZmFpbGVkLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcyhcclxuICAgICAgICB0aGlzLmxvY2FsaXphdGlvbi5pbnN0YW50KCdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpTYXZlRG9uZUFsbCcsIGAke3N0YXR1cy5zdWNjZWVkZWR9YCksXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvYXN0ZXIud2FybihcclxuICAgICAgICB0aGlzLmxvY2FsaXphdGlvbi5pbnN0YW50KFxyXG4gICAgICAgICAgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlNhdmVQYXJ0aWFsJyxcclxuICAgICAgICAgIGAke3N0YXR1cy5zdWNjZWVkZWR9YCxcclxuICAgICAgICAgIGAke2ZhaWxlZC5sZW5ndGh9YCxcclxuICAgICAgICApLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhaWxlZEtleXMgPSBmYWlsZWQubWFwKGYgPT4gZi5pdGVtQ29kZSEpLmZpbHRlcihCb29sZWFuKTtcclxuICAgIHRoaXMubG9hZChmYWlsZWRLZXlzKTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgYWxpZ24taXRlbXMtY2VudGVyIG14LTBcIiBpZD1cIkl0ZW1DbGFzc2lmaWNhdGlvbnNUb29sYmFyXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzYXZpbmdcIiBjbGFzcz1cImNvbC1hdXRvIHB0LTAgcHQtbWQtMiB0ZXh0LW11dGVkXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSBtZS0xXCI+PC9zcGFuPlxyXG4gICAgICAgIHt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpTYXZpbmcnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAge3sgc2F2ZVByb2dyZXNzLnByb2Nlc3NlZCB9fS97eyBzYXZlUHJvZ3Jlc3MudG90YWwgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtYXV0byBweC0xIHB0LTAgcHQtbWQtMiBwZS0wXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKmFicFBlcm1pc3Npb249XCInS2VvcHNJdGVtTWFzdGVyRGF0YS5JdGVtQ2xhc3NpZmljYXRpb25zLlVwZGF0ZSdcIlxyXG4gICAgICAgICAgaWQ9XCJzYXZlXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFjaGFuZ2VzLmxlbmd0aCB8fCBzYXZpbmdcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVjayBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgaWQ9XCJJdGVtQ2xhc3NpZmljYXRpb25zV3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbWItM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwia2luZFwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgIHt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpLaW5kJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8c2VsZWN0XHJcbiAgICAgICAgICAgICAgaWQ9XCJraW5kXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0XCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkUHJlZml4XCJcclxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbktpbmRDaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+LS08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBraW5kIG9mIGtpbmRzXCIgW3ZhbHVlXT1cImtpbmQucHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgICB7eyBraW5kLmxhYmVsS2V5IHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGFzS2luZFwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlNlbGVjdEtpbmQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gVG9wbHUgZG9sZHVyIHBhbmVsaSAtLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGFzS2luZFwiIGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQgcC0yIG1iLTMgYmctbGlnaHRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0yIGFsaWduLWl0ZW1zLWVuZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC1hdXRvXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy1zZWNvbmRhcnlcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpTZWxlY3RlZCcgfCBhYnBMb2NhbGl6YXRpb24gfX06IHt7IHNlbGVjdGVkS2V5cy5sZW5ndGggfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpQYWNrYWdlVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94XHJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJwYWNrYWdlVHlwZXNcIlxyXG4gICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiY29kZVwiXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RXhwcj1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYnVsa1Bha2V0VHVydVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIi0tXCJcclxuICAgICAgICAgICAgICA+PC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02IGNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0xXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6UGFja2FnZUdyb3VwJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3hcclxuICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInBhY2thZ2VHcm91cHNcIlxyXG4gICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiY29kZVwiXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RXhwcj1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYnVsa1Bha2V0R3J1YnVcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCItLVwiXHJcbiAgICAgICAgICAgICAgPjwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlByb2R1Y3RUeXBlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3hcclxuICAgICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInByb2R1Y3RUeXBlc1wiXHJcbiAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlFeHByPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbc2VhcmNoRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJidWxrVXJ1blRpcGlcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCItLVwiXHJcbiAgICAgICAgICAgICAgPjwvZHgtc2VsZWN0LWJveD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNiBjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAge3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlJlZ2lvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94XHJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJyZWdpb25zXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlRXhwcj1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlFeHByPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbc2VhcmNoRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJidWxrUmVnaW9uXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiLS1cIlxyXG4gICAgICAgICAgICAgID48L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpDb3N0R3JvdXAnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZHgtc2VsZWN0LWJveFxyXG4gICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiY29zdEdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlFeHByPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbc2VhcmNoRW5hYmxlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJidWxrQ29zdEdyb3VwXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiLS1cIlxyXG4gICAgICAgICAgICAgID48L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTYgY29sLW1kLTNcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgIHt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpQYWNrYWdpbmdNYXRlcmlhbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkeC1zZWxlY3QtYm94XHJcbiAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJwYWNrYWdpbmdNYXRlcmlhbHNcIlxyXG4gICAgICAgICAgICAgICAgdmFsdWVFeHByPVwiY29kZVwiXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5RXhwcj1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgW3NlYXJjaEVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbc2hvd0NsZWFyQnV0dG9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYnVsa1Bja01hdFwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIi0tXCJcclxuICAgICAgICAgICAgICA+PC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtYXV0byBkLWZsZXggZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFzZWxlY3RlZEtleXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUJ1bGsoKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1hcnJvdy1kb3duIG1lLTFcIj48L2k+XHJcbiAgICAgICAgICAgICAgICB7eyAnS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6QXBwbHlUb1NlbGVjdGVkJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZHgtZGF0YS1ncmlkXHJcbiAgICAgICAgICAqbmdJZj1cImhhc0tpbmRcIlxyXG4gICAgICAgICAgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICAgIFtzaG93Um93TGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbaG92ZXJTdGF0ZUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJyb3dzXCJcclxuICAgICAgICAgIGtleUV4cHI9XCJpdGVtQ29kZVwiXHJcbiAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgICAgWyhzZWxlY3RlZFJvd0tleXMpXT1cInNlbGVjdGVkS2V5c1wiXHJcbiAgICAgICAgICAob25Ub29sYmFyUHJlcGFyaW5nKT1cIm9uVG9vbGJhclByZXBhcmluZygkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZHhvLXNlbGVjdGlvbiBtb2RlPVwibXVsdGlwbGVcIiBzaG93Q2hlY2tCb3hlc01vZGU9XCJhbHdheXNcIiBbYWxsb3dTZWxlY3RBbGxdPVwidHJ1ZVwiPjwvZHhvLXNlbGVjdGlvbj5cclxuICAgICAgICAgIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICAgICAgICAgIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8taGVhZGVyLWZpbHRlcj5cclxuICAgICAgICAgIDxkeG8tc2VhcmNoLXBhbmVsXHJcbiAgICAgICAgICAgIFt3aWR0aF09XCIyMDBcIlxyXG4gICAgICAgICAgICBbdmlzaWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBYnBVaTo6U2VhcmNoJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICA+PC9keG8tc2VhcmNoLXBhbmVsPlxyXG4gICAgICAgICAgPGR4by1wYWdlclxyXG4gICAgICAgICAgICBbdmlzaWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJbMTAsIDIwLCA1MF1cIlxyXG4gICAgICAgICAgICBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9keG8tcGFnZXI+XHJcbiAgICAgICAgICA8ZHhvLXBhZ2luZyBbcGFnZVNpemVdPVwiMjBcIj48L2R4by1wYWdpbmc+XHJcbiAgICAgICAgICA8ZHhvLWVkaXRpbmdcclxuICAgICAgICAgICAgbW9kZT1cImJhdGNoXCJcclxuICAgICAgICAgICAgW2FsbG93VXBkYXRpbmddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0FkZGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFthbGxvd0RlbGV0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW3VzZUljb25zXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbKGNoYW5nZXMpXT1cImNoYW5nZXNcIlxyXG4gICAgICAgICAgPjwvZHhvLWVkaXRpbmc+XHJcblxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwiaXRlbUNvZGVcIlxyXG4gICAgICAgICAgICBbYWxsb3dFZGl0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxNDBcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOkl0ZW1Db2RlJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwiaXRlbU5hbWVcIlxyXG4gICAgICAgICAgICBbYWxsb3dFZGl0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpJdGVtTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgPjwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIGRhdGFGaWVsZD1cImdyb3VwQ29kZVwiXHJcbiAgICAgICAgICAgIGRhdGFUeXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgW2FsbG93RWRpdGluZ109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIHdpZHRoPVwiMTEwXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpHcm91cENvZGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJncm91cE5hbWVcIlxyXG4gICAgICAgICAgICBbYWxsb3dFZGl0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdLZW9wczo6SXRlbUNsYXNzaWZpY2F0aW9uczpHcm91cE5hbWUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID48L2R4aS1jb2x1bW4+XHJcblxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwicGFrZXRUdXJ1Q29kZVwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6UGFja2FnZVR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGR4by1sb29rdXBcclxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJwYWNrYWdlVHlwZXNcIlxyXG4gICAgICAgICAgICAgIHZhbHVlRXhwcj1cImNvZGVcIlxyXG4gICAgICAgICAgICAgIGRpc3BsYXlFeHByPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgW2FsbG93Q2xlYXJpbmddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2R4by1sb29rdXA+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJwYWtldEdydWJ1Q29kZVwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6UGFja2FnZUdyb3VwJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkeG8tbG9va3VwXHJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwicGFja2FnZUdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgdmFsdWVFeHByPVwiY29kZVwiXHJcbiAgICAgICAgICAgICAgZGlzcGxheUV4cHI9XCJuYW1lXCJcclxuICAgICAgICAgICAgICBbYWxsb3dDbGVhcmluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvZHhvLWxvb2t1cD5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIGRhdGFGaWVsZD1cInVydW5UaXBpQ29kZVwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6UHJvZHVjdFR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGR4by1sb29rdXBcclxuICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJwcm9kdWN0VHlwZXNcIlxyXG4gICAgICAgICAgICAgIHZhbHVlRXhwcj1cImNvZGVcIlxyXG4gICAgICAgICAgICAgIGRpc3BsYXlFeHByPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgW2FsbG93Q2xlYXJpbmddPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2R4by1sb29rdXA+XHJcbiAgICAgICAgICA8L2R4aS1jb2x1bW4+XHJcbiAgICAgICAgICA8ZHhpLWNvbHVtblxyXG4gICAgICAgICAgICBkYXRhRmllbGQ9XCJyZWdpb25cIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlJlZ2lvbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZHhvLWxvb2t1cFxyXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cInJlZ2lvbnNcIlxyXG4gICAgICAgICAgICAgIHZhbHVlRXhwcj1cInZhbHVlXCJcclxuICAgICAgICAgICAgICBkaXNwbGF5RXhwcj1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgIFthbGxvd0NsZWFyaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICA+PC9keG8tbG9va3VwPlxyXG4gICAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwiY29zdEdyb3VwQ29kZVwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6Okl0ZW1DbGFzc2lmaWNhdGlvbnM6Q29zdEdyb3VwJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkeG8tbG9va3VwXHJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiY29zdEdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgdmFsdWVFeHByPVwiY29kZVwiXHJcbiAgICAgICAgICAgICAgZGlzcGxheUV4cHI9XCJuYW1lXCJcclxuICAgICAgICAgICAgICBbYWxsb3dDbGVhcmluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgPjwvZHhvLWxvb2t1cD5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIGRhdGFGaWVsZD1cInBja01hdENvZGVcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpJdGVtQ2xhc3NpZmljYXRpb25zOlBhY2thZ2luZ01hdGVyaWFsJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkeG8tbG9va3VwXHJcbiAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwicGFja2FnaW5nTWF0ZXJpYWxzXCJcclxuICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJjb2RlXCJcclxuICAgICAgICAgICAgICBkaXNwbGF5RXhwcj1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgIFthbGxvd0NsZWFyaW5nXT1cInRydWVcIlxyXG4gICAgICAgICAgICA+PC9keG8tbG9va3VwPlxyXG4gICAgICAgICAgPC9keGktY29sdW1uPlxyXG4gICAgICAgIDwvZHgtZGF0YS1ncmlkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { AuthGuard, PermissionGuard } from '@abp/ng.core';
4
+ import { ItemClassificationsComponent } from './components/item-classifications.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ const routes = [
8
+ {
9
+ path: '',
10
+ component: ItemClassificationsComponent,
11
+ canActivate: [AuthGuard, PermissionGuard],
12
+ data: {
13
+ requiredPolicy: 'KeopsItemMasterData.ItemClassifications',
14
+ },
15
+ },
16
+ ];
17
+ export class HitItemClassificationsRoutingModule {
18
+ }
19
+ HitItemClassificationsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ HitItemClassificationsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
21
+ HitItemClassificationsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsRoutingModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [RouterModule.forChild(routes)],
26
+ exports: [RouterModule],
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWl0ZW0tY2xhc3NpZmljYXRpb25zLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9pdGVtLWNsYXNzaWZpY2F0aW9ucy9oaXQtaXRlbS1jbGFzc2lmaWNhdGlvbnMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7OztBQUUzRixNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLDRCQUE0QjtRQUN2QyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSx5Q0FBeUM7U0FDMUQ7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sbUNBQW1DOztnSUFBbkMsbUNBQW1DO2lJQUFuQyxtQ0FBbUMsd0NBRnBDLFlBQVk7aUlBRVgsbUNBQW1DLFlBSHBDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsbUNBQW1DO2tCQUovQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSXRlbUNsYXNzaWZpY2F0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pdGVtLWNsYXNzaWZpY2F0aW9ucy5jb21wb25lbnQnO1xyXG5cclxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXHJcbiAge1xyXG4gICAgcGF0aDogJycsXHJcbiAgICBjb21wb25lbnQ6IEl0ZW1DbGFzc2lmaWNhdGlvbnNDb21wb25lbnQsXHJcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcclxuICAgIGRhdGE6IHtcclxuICAgICAgcmVxdWlyZWRQb2xpY3k6ICdLZW9wc0l0ZW1NYXN0ZXJEYXRhLkl0ZW1DbGFzc2lmaWNhdGlvbnMnLFxyXG4gICAgfSxcclxuICB9LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0SXRlbUNsYXNzaWZpY2F0aW9uc1JvdXRpbmdNb2R1bGUge31cclxuIl19
@@ -0,0 +1,60 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { CoreModule } from '@abp/ng.core';
5
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
6
+ import { PageModule } from '@abp/ng.components/page';
7
+ import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
8
+ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
9
+ import { ItemClassificationsComponent } from './components/item-classifications.component';
10
+ import { HitItemClassificationsRoutingModule } from './hit-item-classifications-routing.module';
11
+ import { DxDataGridModule, DxSelectBoxModule } from 'devextreme-angular';
12
+ import * as i0 from "@angular/core";
13
+ export class HitItemClassificationsModule {
14
+ }
15
+ HitItemClassificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ HitItemClassificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsModule, declarations: [ItemClassificationsComponent], imports: [CommonModule,
17
+ FormsModule,
18
+ ReactiveFormsModule,
19
+ CoreModule,
20
+ ThemeSharedModule,
21
+ PageModule,
22
+ CommercialUiModule,
23
+ NgbDropdownModule,
24
+ HitItemClassificationsRoutingModule,
25
+ DxDataGridModule,
26
+ DxSelectBoxModule] });
27
+ HitItemClassificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsModule, imports: [CommonModule,
28
+ FormsModule,
29
+ ReactiveFormsModule,
30
+ CoreModule,
31
+ ThemeSharedModule,
32
+ PageModule,
33
+ CommercialUiModule,
34
+ NgbDropdownModule,
35
+ HitItemClassificationsRoutingModule,
36
+ DxDataGridModule,
37
+ DxSelectBoxModule] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemClassificationsModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ declarations: [ItemClassificationsComponent],
42
+ imports: [
43
+ CommonModule,
44
+ FormsModule,
45
+ ReactiveFormsModule,
46
+ CoreModule,
47
+ ThemeSharedModule,
48
+ PageModule,
49
+ CommercialUiModule,
50
+ NgbDropdownModule,
51
+ HitItemClassificationsRoutingModule,
52
+ DxDataGridModule,
53
+ DxSelectBoxModule,
54
+ ],
55
+ }]
56
+ }] });
57
+ export function loadHitItemClassificationsModuleAsChild() {
58
+ return Promise.resolve(HitItemClassificationsModule);
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWl0ZW0tY2xhc3NpZmljYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvaXRlbS1jbGFzc2lmaWNhdGlvbnMvaGl0LWl0ZW0tY2xhc3NpZmljYXRpb25zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDM0YsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBa0J6RSxNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzBIQUE1Qiw0QkFBNEIsaUJBZnhCLDRCQUE0QixhQUV6QyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQyxnQkFBZ0I7UUFDaEIsaUJBQWlCOzBIQUdSLDRCQUE0QixZQWJyQyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQyxnQkFBZ0I7UUFDaEIsaUJBQWlCOzJGQUdSLDRCQUE0QjtrQkFoQnhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQzVDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsVUFBVTt3QkFDVixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsbUNBQW1DO3dCQUNuQyxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7aUJBQ0Y7O0FBR0QsTUFBTSxVQUFVLHVDQUF1QztJQUNyRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgUGFnZU1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuY29tcG9uZW50cy9wYWdlJztcclxuaW1wb3J0IHsgQ29tbWVyY2lhbFVpTW9kdWxlIH0gZnJvbSAnQHZvbG8vYWJwLmNvbW1lcmNpYWwubmcudWknO1xyXG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgSXRlbUNsYXNzaWZpY2F0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pdGVtLWNsYXNzaWZpY2F0aW9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIaXRJdGVtQ2xhc3NpZmljYXRpb25zUm91dGluZ01vZHVsZSB9IGZyb20gJy4vaGl0LWl0ZW0tY2xhc3NpZmljYXRpb25zLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgRHhEYXRhR3JpZE1vZHVsZSwgRHhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtJdGVtQ2xhc3NpZmljYXRpb25zQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICBQYWdlTW9kdWxlLFxyXG4gICAgQ29tbWVyY2lhbFVpTW9kdWxlLFxyXG4gICAgTmdiRHJvcGRvd25Nb2R1bGUsXHJcbiAgICBIaXRJdGVtQ2xhc3NpZmljYXRpb25zUm91dGluZ01vZHVsZSxcclxuICAgIER4RGF0YUdyaWRNb2R1bGUsXHJcbiAgICBEeFNlbGVjdEJveE1vZHVsZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGl0SXRlbUNsYXNzaWZpY2F0aW9uc01vZHVsZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRIaXRJdGVtQ2xhc3NpZmljYXRpb25zTW9kdWxlQXNDaGlsZCgpIHtcclxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKEhpdEl0ZW1DbGFzc2lmaWNhdGlvbnNNb2R1bGUpO1xyXG59XHJcbiJdfQ==
@@ -7,7 +7,7 @@ import * as i4 from "@abp/ng.core";
7
7
  export class PriceParameterItemsTabComponent {
8
8
  constructor(priceListService) {
9
9
  this.priceListService = priceListService;
10
- this.cpRegionCode = null;
10
+ this.businessRegion = null;
11
11
  this.cpGroupCode = null;
12
12
  this.items = [];
13
13
  this.loading = false;
@@ -16,12 +16,12 @@ export class PriceParameterItemsTabComponent {
16
16
  this.load();
17
17
  }
18
18
  load() {
19
- if (!this.cpRegionCode || !this.cpGroupCode) {
19
+ if (!this.businessRegion || !this.cpGroupCode) {
20
20
  this.items = [];
21
21
  return;
22
22
  }
23
23
  this.loading = true;
24
- this.priceListService.getItems(this.cpRegionCode, this.cpGroupCode).subscribe({
24
+ this.priceListService.getItems(this.businessRegion, this.cpGroupCode).subscribe({
25
25
  next: items => {
26
26
  this.items = items ?? [];
27
27
  this.loading = false;
@@ -31,13 +31,13 @@ export class PriceParameterItemsTabComponent {
31
31
  }
32
32
  }
33
33
  PriceParameterItemsTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PriceParameterItemsTabComponent, deps: [{ token: i1.PriceListService }], target: i0.ɵɵFactoryTarget.Component });
34
- PriceParameterItemsTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PriceParameterItemsTabComponent, selector: "lib-price-parameter-items-tab", inputs: { cpRegionCode: "cpRegionCode", cpGroupCode: "cpGroupCode" }, usesOnChanges: true, ngImport: i0, template: "<dx-data-grid\r\n class=\"mt-3\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"itemCode\"\r\n columnResizingMode=\"widget\"\r\n [noDataText]=\"'Keops::PriceParameters:NoData' | abpLocalization\"\r\n>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"240\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50, 100]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"20\"></dxo-paging>\r\n\r\n <dxi-column\r\n dataField=\"itemCode\"\r\n width=\"200\"\r\n caption=\"{{ 'Keops::PriceParameters:ItemCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"itemName\"\r\n caption=\"{{ 'Keops::PriceParameters:ItemName' | abpLocalization }}\"\r\n ></dxi-column>\r\n</dx-data-grid>\r\n", dependencies: [{ kind: "component", type: i2.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i3.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i3.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i3.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i3.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i3.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i3.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
34
+ PriceParameterItemsTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PriceParameterItemsTabComponent, selector: "lib-price-parameter-items-tab", inputs: { businessRegion: "businessRegion", cpGroupCode: "cpGroupCode" }, usesOnChanges: true, ngImport: i0, template: "<dx-data-grid\r\n class=\"mt-3\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"itemCode\"\r\n columnResizingMode=\"widget\"\r\n [noDataText]=\"'Keops::PriceParameters:NoData' | abpLocalization\"\r\n>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"240\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50, 100]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"20\"></dxo-paging>\r\n\r\n <dxi-column\r\n dataField=\"itemCode\"\r\n width=\"200\"\r\n caption=\"{{ 'Keops::PriceParameters:ItemCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"itemName\"\r\n caption=\"{{ 'Keops::PriceParameters:ItemName' | abpLocalization }}\"\r\n ></dxi-column>\r\n</dx-data-grid>\r\n", dependencies: [{ kind: "component", type: i2.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i3.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i3.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i3.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i3.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i3.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i3.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PriceParameterItemsTabComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'lib-price-parameter-items-tab', template: "<dx-data-grid\r\n class=\"mt-3\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"itemCode\"\r\n columnResizingMode=\"widget\"\r\n [noDataText]=\"'Keops::PriceParameters:NoData' | abpLocalization\"\r\n>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"240\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50, 100]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"20\"></dxo-paging>\r\n\r\n <dxi-column\r\n dataField=\"itemCode\"\r\n width=\"200\"\r\n caption=\"{{ 'Keops::PriceParameters:ItemCode' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"itemName\"\r\n caption=\"{{ 'Keops::PriceParameters:ItemName' | abpLocalization }}\"\r\n ></dxi-column>\r\n</dx-data-grid>\r\n" }]
38
- }], ctorParameters: function () { return [{ type: i1.PriceListService }]; }, propDecorators: { cpRegionCode: [{
38
+ }], ctorParameters: function () { return [{ type: i1.PriceListService }]; }, propDecorators: { businessRegion: [{
39
39
  type: Input
40
40
  }], cpGroupCode: [{
41
41
  type: Input
42
42
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9wcmljZS1wYXJhbWV0ZXJzL2NvbXBvbmVudHMvcHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9wcmljZS1wYXJhbWV0ZXJzL2NvbXBvbmVudHMvcHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU81RCxNQUFNLE9BQU8sK0JBQStCO0lBTzFDLFlBQTZCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTnRELGlCQUFZLEdBQWtCLElBQUksQ0FBQztRQUNuQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFM0MsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFDL0IsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUVrRCxDQUFDO0lBRW5FLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEhBM0JVLCtCQUErQjtnSEFBL0IsK0JBQStCLGdLQ1A1Qyw2dkNBdUNBOzJGRGhDYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0UsK0JBQStCO3VHQUloQyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJpY2VMaXN0SXRlbUR0bywgUHJpY2VMaXN0U2VydmljZSB9IGZyb20gJ0BoaXRzb2Z0L2thZG9vZ2x1LWtlb3BzL3Byb3h5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXByaWNlLXBhcmFtZXRlci1pdGVtcy10YWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcmljZS1wYXJhbWV0ZXItZm9ybS1pdGVtcy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmljZVBhcmFtZXRlckl0ZW1zVGFiQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBjcFJlZ2lvbkNvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGNwR3JvdXBDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgaXRlbXM6IFByaWNlTGlzdEl0ZW1EdG9bXSA9IFtdO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcmljZUxpc3RTZXJ2aWNlOiBQcmljZUxpc3RTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNwUmVnaW9uQ29kZSB8fCAhdGhpcy5jcEdyb3VwQ29kZSkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gW107XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wcmljZUxpc3RTZXJ2aWNlLmdldEl0ZW1zKHRoaXMuY3BSZWdpb25Db2RlLCB0aGlzLmNwR3JvdXBDb2RlKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBpdGVtcyA9PiB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zID8/IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZHgtZGF0YS1ncmlkXHJcbiAgY2xhc3M9XCJtdC0zXCJcclxuICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICBbcm93QWx0ZXJuYXRpb25FbmFibGVkXT1cInRydWVcIlxyXG4gIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcclxuICBrZXlFeHByPVwiaXRlbUNvZGVcIlxyXG4gIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgW25vRGF0YVRleHRdPVwiJ0tlb3BzOjpQcmljZVBhcmFtZXRlcnM6Tm9EYXRhJyB8IGFicExvY2FsaXphdGlvblwiXHJcbj5cclxuICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gIDxkeG8tc2VhcmNoLXBhbmVsXHJcbiAgICBbd2lkdGhdPVwiMjQwXCJcclxuICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIidBYnBVaTo6U2VhcmNoJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgPjwvZHhvLXNlYXJjaC1wYW5lbD5cclxuICA8ZHhvLXBhZ2VyXHJcbiAgICBbdmlzaWJsZV09XCJ0cnVlXCJcclxuICAgIFtzaG93SW5mb109XCJ0cnVlXCJcclxuICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxMCwgMjAsIDUwLCAxMDBdXCJcclxuICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgPjwvZHhvLXBhZ2VyPlxyXG4gIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIyMFwiPjwvZHhvLXBhZ2luZz5cclxuXHJcbiAgPGR4aS1jb2x1bW5cclxuICAgIGRhdGFGaWVsZD1cIml0ZW1Db2RlXCJcclxuICAgIHdpZHRoPVwiMjAwXCJcclxuICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OlByaWNlUGFyYW1ldGVyczpJdGVtQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gID48L2R4aS1jb2x1bW4+XHJcbiAgPGR4aS1jb2x1bW5cclxuICAgIGRhdGFGaWVsZD1cIml0ZW1OYW1lXCJcclxuICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OlByaWNlUGFyYW1ldGVyczpJdGVtTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gID48L2R4aS1jb2x1bW4+XHJcbjwvZHgtZGF0YS1ncmlkPlxyXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9wcmljZS1wYXJhbWV0ZXJzL2NvbXBvbmVudHMvcHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9wcmljZS1wYXJhbWV0ZXJzL2NvbXBvbmVudHMvcHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7OztBQU81RCxNQUFNLE9BQU8sK0JBQStCO0lBTzFDLFlBQTZCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTnRELG1CQUFjLEdBQTBCLElBQUksQ0FBQztRQUM3QyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFFM0MsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFDL0IsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUVrRCxDQUFDO0lBRW5FLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sSUFBSTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM5RSxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEhBM0JVLCtCQUErQjtnSEFBL0IsK0JBQStCLG9LQ1A1Qyw2dkNBdUNBOzJGRGhDYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0UsK0JBQStCO3VHQUloQyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnVzaW5lc3NSZWdpb24sIFByaWNlTGlzdEl0ZW1EdG8sIFByaWNlTGlzdFNlcnZpY2UgfSBmcm9tICdAaGl0c29mdC9rYWRvb2dsdS1rZW9wcy9wcm94eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1wcmljZS1wYXJhbWV0ZXItaXRlbXMtdGFiJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJpY2UtcGFyYW1ldGVyLWZvcm0taXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJpY2VQYXJhbWV0ZXJJdGVtc1RhYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgYnVzaW5lc3NSZWdpb246IEJ1c2luZXNzUmVnaW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgY3BHcm91cENvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBpdGVtczogUHJpY2VMaXN0SXRlbUR0b1tdID0gW107XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByaWNlTGlzdFNlcnZpY2U6IFByaWNlTGlzdFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuYnVzaW5lc3NSZWdpb24gfHwgIXRoaXMuY3BHcm91cENvZGUpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucHJpY2VMaXN0U2VydmljZS5nZXRJdGVtcyh0aGlzLmJ1c2luZXNzUmVnaW9uLCB0aGlzLmNwR3JvdXBDb2RlKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBpdGVtcyA9PiB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zID8/IFtdO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZHgtZGF0YS1ncmlkXHJcbiAgY2xhc3M9XCJtdC0zXCJcclxuICBbY29sdW1uQXV0b1dpZHRoXT1cInRydWVcIlxyXG4gIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gIFtob3ZlclN0YXRlRW5hYmxlZF09XCJ0cnVlXCJcclxuICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICBbcm93QWx0ZXJuYXRpb25FbmFibGVkXT1cInRydWVcIlxyXG4gIFtkYXRhU291cmNlXT1cIml0ZW1zXCJcclxuICBrZXlFeHByPVwiaXRlbUNvZGVcIlxyXG4gIGNvbHVtblJlc2l6aW5nTW9kZT1cIndpZGdldFwiXHJcbiAgW25vRGF0YVRleHRdPVwiJ0tlb3BzOjpQcmljZVBhcmFtZXRlcnM6Tm9EYXRhJyB8IGFicExvY2FsaXphdGlvblwiXHJcbj5cclxuICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gIDxkeG8tc2VhcmNoLXBhbmVsXHJcbiAgICBbd2lkdGhdPVwiMjQwXCJcclxuICAgIFt2aXNpYmxlXT1cInRydWVcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cIidBYnBVaTo6U2VhcmNoJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgPjwvZHhvLXNlYXJjaC1wYW5lbD5cclxuICA8ZHhvLXBhZ2VyXHJcbiAgICBbdmlzaWJsZV09XCJ0cnVlXCJcclxuICAgIFtzaG93SW5mb109XCJ0cnVlXCJcclxuICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxMCwgMjAsIDUwLCAxMDBdXCJcclxuICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgIFtzaG93TmF2aWdhdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgPjwvZHhvLXBhZ2VyPlxyXG4gIDxkeG8tcGFnaW5nIFtwYWdlU2l6ZV09XCIyMFwiPjwvZHhvLXBhZ2luZz5cclxuXHJcbiAgPGR4aS1jb2x1bW5cclxuICAgIGRhdGFGaWVsZD1cIml0ZW1Db2RlXCJcclxuICAgIHdpZHRoPVwiMjAwXCJcclxuICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OlByaWNlUGFyYW1ldGVyczpJdGVtQ29kZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gID48L2R4aS1jb2x1bW4+XHJcbiAgPGR4aS1jb2x1bW5cclxuICAgIGRhdGFGaWVsZD1cIml0ZW1OYW1lXCJcclxuICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OlByaWNlUGFyYW1ldGVyczpJdGVtTmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gID48L2R4aS1jb2x1bW4+XHJcbjwvZHgtZGF0YS1ncmlkPlxyXG4iXX0=