barsa-develop-components 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +25 -0
  2. package/esm2020/barsa-develop-components.mjs +5 -0
  3. package/esm2020/lib/avatar/avatar.component.mjs +19 -0
  4. package/esm2020/lib/barcode-format-pipe.mjs +24 -0
  5. package/esm2020/lib/barcode-reader/barcode-reader.component.mjs +64 -0
  6. package/esm2020/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +82 -0
  7. package/esm2020/lib/barcode-reader-video/barcode-reader-video.component.mjs +66 -0
  8. package/esm2020/lib/barcode.service.mjs +330 -0
  9. package/esm2020/lib/barsa-develop-components.module.mjs +224 -0
  10. package/esm2020/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +50 -0
  11. package/esm2020/lib/card-content-line-chart/card-content-line-chart.component.mjs +38 -0
  12. package/esm2020/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +20 -0
  13. package/esm2020/lib/card-header-kpi/card-header-kpi.component.mjs +36 -0
  14. package/esm2020/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +46 -0
  15. package/esm2020/lib/checkbox-button/checkbox-button.component.mjs +23 -0
  16. package/esm2020/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +17 -0
  17. package/esm2020/lib/form-chart-content/form-chart-content.component.mjs +38 -0
  18. package/esm2020/lib/form-content-quick-view/form-content-quick-view.component.mjs +51 -0
  19. package/esm2020/lib/g4b-details/g4b-details.component.mjs +28 -0
  20. package/esm2020/lib/g4b-estelam/g4b-estelam.component.mjs +30 -0
  21. package/esm2020/lib/login-form/login-form.component.mjs +49 -0
  22. package/esm2020/lib/login-social-conncetions/login-social-conncetions.component.mjs +30 -0
  23. package/esm2020/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +48 -0
  24. package/esm2020/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +24 -0
  25. package/esm2020/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +23 -0
  26. package/esm2020/lib/models/models.mjs +2 -0
  27. package/esm2020/lib/models/person.mjs +2 -0
  28. package/esm2020/lib/pipes/datasource-to-flow-item.mjs +22 -0
  29. package/esm2020/lib/pipes/index.mjs +3 -0
  30. package/esm2020/lib/pipes/mo-list-to-flow-item.pipe.mjs +22 -0
  31. package/esm2020/lib/query-string-form-observable/query-string-form-observable.component.mjs +37 -0
  32. package/esm2020/lib/query-string-observable/query-string-observable.component.mjs +22 -0
  33. package/esm2020/lib/report-line-chart-view/report-line-chart-view.component.mjs +13 -0
  34. package/esm2020/lib/report-tab-view/report-tab-view.component.mjs +27 -0
  35. package/esm2020/lib/resend-verification-code/resend-verification-code.component.mjs +59 -0
  36. package/esm2020/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +28 -0
  37. package/esm2020/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +110 -0
  38. package/esm2020/lib/service-desk-header/service-desk-header.component.mjs +229 -0
  39. package/esm2020/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +147 -0
  40. package/esm2020/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +22 -0
  41. package/esm2020/lib/setting-form/setting-form.component.mjs +66 -0
  42. package/esm2020/lib/tab-process-view/tab-process-view.component.mjs +41 -0
  43. package/esm2020/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +15 -0
  44. package/esm2020/lib/timer-count-down/timer-count-down.component.mjs +79 -0
  45. package/esm2020/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +25 -0
  46. package/esm2020/lib/ui-num-rate/ui-num-rate.component.mjs +18 -0
  47. package/esm2020/lib/ui-person/ui-person.component.mjs +160 -0
  48. package/esm2020/lib/ui-person/ui-person.pipe.mjs +40 -0
  49. package/esm2020/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +17 -0
  50. package/esm2020/lib/ui-text-field-search/ui-text-field-search.component.mjs +30 -0
  51. package/esm2020/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +70 -0
  52. package/esm2020/public-api.mjs +47 -0
  53. package/fesm2015/barsa-develop-components.mjs +2368 -0
  54. package/fesm2015/barsa-develop-components.mjs.map +1 -0
  55. package/fesm2020/barsa-develop-components.mjs +2344 -0
  56. package/fesm2020/barsa-develop-components.mjs.map +1 -0
  57. package/index.d.ts +5 -0
  58. package/lib/avatar/avatar.component.d.ts +9 -0
  59. package/lib/barcode-format-pipe.d.ts +7 -0
  60. package/lib/barcode-reader/barcode-reader.component.d.ts +19 -0
  61. package/lib/barcode-reader-dialog/barcode-reader-dialog.component.d.ts +32 -0
  62. package/lib/barcode-reader-video/barcode-reader-video.component.d.ts +22 -0
  63. package/lib/barcode.service.d.ts +98 -0
  64. package/lib/barsa-develop-components.module.d.ts +94 -0
  65. package/lib/card-content-image-and-title/card-content-image-and-title.component.d.ts +21 -0
  66. package/lib/card-content-line-chart/card-content-line-chart.component.d.ts +9 -0
  67. package/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.d.ts +6 -0
  68. package/lib/card-header-kpi/card-header-kpi.component.d.ts +14 -0
  69. package/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.d.ts +23 -0
  70. package/lib/checkbox-button/checkbox-button.component.d.ts +13 -0
  71. package/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.d.ts +8 -0
  72. package/lib/form-chart-content/form-chart-content.component.d.ts +9 -0
  73. package/lib/form-content-quick-view/form-content-quick-view.component.d.ts +13 -0
  74. package/lib/g4b-details/g4b-details.component.d.ts +9 -0
  75. package/lib/g4b-estelam/g4b-estelam.component.d.ts +11 -0
  76. package/lib/login-form/login-form.component.d.ts +15 -0
  77. package/lib/login-social-conncetions/login-social-conncetions.component.d.ts +12 -0
  78. package/lib/micro-proccess-flow/micro-proccess-flow.component.d.ts +22 -0
  79. package/lib/micro-process-flow-view/micro-process-flow-view.component.d.ts +14 -0
  80. package/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.d.ts +9 -0
  81. package/lib/models/models.d.ts +19 -0
  82. package/lib/models/person.d.ts +10 -0
  83. package/lib/pipes/datasource-to-flow-item.d.ts +10 -0
  84. package/lib/pipes/index.d.ts +2 -0
  85. package/lib/pipes/mo-list-to-flow-item.pipe.d.ts +10 -0
  86. package/lib/query-string-form-observable/query-string-form-observable.component.d.ts +13 -0
  87. package/lib/query-string-observable/query-string-observable.component.d.ts +9 -0
  88. package/lib/report-line-chart-view/report-line-chart-view.component.d.ts +7 -0
  89. package/lib/report-tab-view/report-tab-view.component.d.ts +15 -0
  90. package/lib/resend-verification-code/resend-verification-code.component.d.ts +18 -0
  91. package/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.d.ts +15 -0
  92. package/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.d.ts +26 -0
  93. package/lib/service-desk-header/service-desk-header.component.d.ts +57 -0
  94. package/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.d.ts +39 -0
  95. package/lib/service-desk-view-of-services/service-desk-view-of-services.component.d.ts +12 -0
  96. package/lib/setting-form/setting-form.component.d.ts +23 -0
  97. package/lib/tab-process-view/tab-process-view.component.d.ts +19 -0
  98. package/lib/table-view-vertical-columns/table-view-vertical-columns.component.d.ts +6 -0
  99. package/lib/timer-count-down/timer-count-down.component.d.ts +15 -0
  100. package/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.d.ts +9 -0
  101. package/lib/ui-num-rate/ui-num-rate.component.d.ts +8 -0
  102. package/lib/ui-person/ui-person.component.d.ts +31 -0
  103. package/lib/ui-person/ui-person.pipe.d.ts +7 -0
  104. package/lib/ui-pictures-carousel/ui-pictures-carousel.component.d.ts +6 -0
  105. package/lib/ui-text-field-search/ui-text-field-search.component.d.ts +14 -0
  106. package/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.d.ts +25 -0
  107. package/package.json +31 -0
  108. package/public-api.d.ts +43 -0
@@ -0,0 +1,147 @@
1
+ import { Component, ChangeDetectionStrategy, ViewChild, ViewChildren } from '@angular/core';
2
+ import { BarsaApi, FormPropsBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-sap-ui";
6
+ import * as i3 from "@fundamental-ngx/core/dynamic-page";
7
+ import * as i4 from "@fundamental-ngx/core/icon";
8
+ import * as i5 from "@fundamental-ngx/core/layout-grid";
9
+ import * as i6 from "@fundamental-ngx/core/tabs";
10
+ import * as i7 from "barsa-novin-ray-core";
11
+ export class ServiceDeskServcieDetailComponent extends FormPropsBaseComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.moByCaption = {};
15
+ this.fieldsCaption = [];
16
+ this.value = '';
17
+ this.israhnamayTasviri = false;
18
+ }
19
+ ngOnInit() {
20
+ super.ngOnInit();
21
+ const $FieldDict = this.fieldDict;
22
+ if (!$FieldDict) {
23
+ return;
24
+ }
25
+ this._prepare($FieldDict, this.mo);
26
+ }
27
+ onDownload(item) {
28
+ if (item.Attachment) {
29
+ BarsaApi.Common.File.DownloadFileId(item.Attachment.Files[0].Id);
30
+ }
31
+ }
32
+ ngAfterViewInit() {
33
+ super.ngAfterViewInit();
34
+ this.alignTablesTr();
35
+ }
36
+ onKhadamatMortabet(item) {
37
+ BarsaApi.Bw.Form.Show({
38
+ MoId: item.Id,
39
+ TypeDefId: this.khadamatmortabetReport.TypeDefId,
40
+ MoContext: { ReportId: this.khadamatmortabetReport.ReportId }
41
+ });
42
+ }
43
+ alignTablesTr() {
44
+ setTimeout(() => {
45
+ const tablesRef = this.tablesRef.toArray();
46
+ const firstTableEl = tablesRef[0].nativeElement;
47
+ const secondTableEl = tablesRef[1].nativeElement;
48
+ const trFirstTable = firstTableEl.querySelectorAll('tr');
49
+ const trSecondTable = secondTableEl.querySelectorAll('tr');
50
+ trFirstTable.forEach((tr, index) => {
51
+ if (index < trSecondTable.length) {
52
+ const trSecond = trSecondTable[index];
53
+ if (tr.offsetHeight > trSecond.offsetHeight) {
54
+ trSecond.style.height = `${tr.offsetHeight}px`;
55
+ }
56
+ else {
57
+ tr.style.height = `${trSecond.offsetHeight}px`;
58
+ }
59
+ }
60
+ });
61
+ }, 0);
62
+ }
63
+ _prepare($FieldDict, mo) {
64
+ Object.keys($FieldDict).forEach((key) => {
65
+ const fieldName = $FieldDict[key];
66
+ const item = { caption: key, fieldName };
67
+ if (key === 'آدرس سایت' ||
68
+ (typeof mo[fieldName] === 'string' &&
69
+ (mo[fieldName].startsWith('https://') || mo[fieldName].startsWith('http://')))) {
70
+ item.type = 'Link';
71
+ }
72
+ if (typeof mo[fieldName] === 'object') {
73
+ if (mo[fieldName].$Type === 'Common.MetaObjectListWeb') {
74
+ item.type = 'MoList';
75
+ }
76
+ else if (mo[fieldName].Ext) {
77
+ item.type = 'Image';
78
+ }
79
+ else if (mo[fieldName].Files) {
80
+ item.type = 'Files';
81
+ }
82
+ else {
83
+ item.type = 'Relation';
84
+ }
85
+ }
86
+ this.fieldsCaption.push(item);
87
+ });
88
+ this.rahnamayTasviri = this._sanitizer.bypassSecurityTrustResourceUrl(mo[$FieldDict['راهنمای تصویری']]);
89
+ if (this.rahnamayTasviri) {
90
+ this.israhnamayTasviri = true;
91
+ }
92
+ const filteredControls = this.fieldsCaption.filter((c) => c.caption !== 'شرایط اخذ خدمت' &&
93
+ c.caption !== 'مراحل اخذ خدمت' &&
94
+ c.caption !== 'SLA و راهنمای خدمت' &&
95
+ c.caption !== 'جنس مجوز' &&
96
+ c.caption !== 'مجوز وابسته' &&
97
+ c.caption !== 'نوع خدمت' &&
98
+ c.caption !== 'لینک خدمت' &&
99
+ c.caption !== 'گروه خدمت' &&
100
+ c.caption !== 'خدمات مرتبط' &&
101
+ c.caption !== 'تصوير فلوچارت' &&
102
+ c.caption !== 'ضوابط خاص اخذ خدمت' &&
103
+ c.caption !== 'راهنمای تصویری' &&
104
+ c.caption !== 'مدارک مورد نیاز اخذ خدمت' &&
105
+ c.caption !== 'پیشنیازهای اخذ خدمت' &&
106
+ c.caption !== 'بیانیه خدمت' &&
107
+ c.caption !== 'واحدهای سازمانی ارائه دهنده' &&
108
+ // c.caption != 'نیاز به استعلام از دستگاههای دیگر' &&
109
+ c.caption !== 'استعلام سازمان ها' &&
110
+ // c.caption != 'سایت جداگانه' &&
111
+ // c.caption != 'سامانه' &&
112
+ // c.caption != 'نیاز به پرداخت هزینه' &&
113
+ c.caption !== 'گروه ساختار' &&
114
+ c.caption !== 'هزینه های خدمت' &&
115
+ c.caption !== 'عناوین مرتبط' &&
116
+ c.caption !== 'فایل شناسنامه خدمت' &&
117
+ c.caption !== 'مبانی قانونی ارائه خدمت' &&
118
+ c.caption !== 'تعریف خدمت' &&
119
+ c.caption !== 'تصویر فلوچارت' &&
120
+ c.caption !== 'سوالات متداول' &&
121
+ // c.caption != 'نیاز به مراجعه حضوری' &&
122
+ // c.caption != 'توضیح مراجعه حضوری' &&
123
+ c.caption !== 'عنوان' &&
124
+ c.caption !== 'کد خدمت');
125
+ const controlCount = filteredControls.length;
126
+ const controlCountMiddle = Math.ceil(filteredControls.length / 2);
127
+ this.firstArray = filteredControls.slice(0, controlCountMiddle);
128
+ this.secondArray = filteredControls.slice(controlCountMiddle, controlCount);
129
+ this.khadamatmortabet = mo[$FieldDict['خدمات مرتبط']]?.MoDataList ?? [];
130
+ this.filteredControls = filteredControls;
131
+ this.khadamatmortabetReport = mo[$FieldDict['خدمات مرتبط']];
132
+ this.isOdd = controlCount % 2 === 0;
133
+ }
134
+ }
135
+ ServiceDeskServcieDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskServcieDetailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
136
+ ServiceDeskServcieDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ServiceDeskServcieDetailComponent, selector: "bdc-service-desk-servcie-detail", viewQueries: [{ propertyName: "tabContainerRef", first: true, predicate: ["tabContainerRef"], descendants: true }, { propertyName: "tablesRef", predicate: ["tablesRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\n <fd-tab-list\n [collapseOverflow]=\"true\"\n [stackContent]=\"false\"\n maxContentHeight=\"auto\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n #tablist\n >\n <fd-tab title=\"\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A\" selected>\n <fd-dynamic-page-content>\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: firstArray,\n showKhadamatMortabet: isOdd,\n classNames: 'firstTable'\n }\n \"\n >\n </ng-container>\n </div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: secondArray,\n showKhadamatMortabet: !isOdd,\n classNames: 'secondTable'\n }\n \"\n >\n </ng-container>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0645\u062F\u0627\u0631\u0643 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n caption=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n caption=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94 as configUi\"\n caption=\"\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94 as configUi\"\n caption=\"\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\" *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"configUi\"\n caption=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n </fd-tab-list>\n\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\n</fd-dynamic-page>\n\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\n <ng-container *ngFor=\"let controlItem of array\">\n <tr>\n <th>{{ controlItem.caption }}</th>\n <td>\n <ng-container [ngSwitch]=\"controlItem.type\">\n <ng-container *ngSwitchCase=\"'Link'\">\n <a target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{\n mo[controlItem.fieldName]\n }}</a></ng-container\n >\n <ng-container *ngSwitchCase=\"'Relation'\">\n {{ controlItem.fieldName | val: mo:true }}</ng-container\n >\n <ng-container *ngSwitchCase=\"'MoList'\">\n <div *ngFor=\"let item of mo[controlItem.fieldName]?.MoDataList\" class=\"links\">\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Image'\"> {{ mo[controlItem.fieldName].Ext }}</ng-container>\n <ng-container *ngSwitchCase=\"'Files'\"> {{ mo[controlItem.fieldName].Files }}</ng-container>\n <ng-container *ngSwitchDefault>\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] }}\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"showKhadamatMortabet\">\n <tr>\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\n <td>\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\n </div>\n </td>\n </tr>\n </ng-container>\n </table>\n</ng-template>\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i3.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i3.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i3.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i4.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i5.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i5.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: i6.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i6.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "pipe", type: i7.MoValuePipe, name: "val" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i7.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskServcieDetailComponent, decorators: [{
138
+ type: Component,
139
+ args: [{ selector: 'bdc-service-desk-servcie-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dynamic-page [size]=\"isMobile ? 'small' : 'large'\">\n <fd-tab-list\n [collapseOverflow]=\"true\"\n [stackContent]=\"false\"\n maxContentHeight=\"auto\"\n [expandOverflowText]=\"'More' | bbbTranslate\"\n #tablist\n >\n <fd-tab title=\"\u0634\u0646\u0627\u0633\u0646\u0627\u0645\u0647 \u062E\u062F\u0645\u062A\" selected>\n <fd-dynamic-page-content>\n <fd-layout-grid class=\"row\" style=\"margin: 0\">\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: firstArray,\n showKhadamatMortabet: isOdd,\n classNames: 'firstTable'\n }\n \"\n >\n </ng-container>\n </div>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"6\" [colLg]=\"6\" [colXl]=\"6\" style=\"padding: 0\">\n <ng-container\n *ngTemplateOutlet=\"\n renderTable;\n context: {\n $implicit: secondArray,\n showKhadamatMortabet: !isOdd,\n classNames: 'secondTable'\n }\n \"\n >\n </ng-container>\n </div>\n </fd-layout-grid>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u067E\u06CC\u0634\u0646\u06CC\u0627\u0632\u0647\u0627\u06CC \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u0634\u0631\u0627\u064A\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0634\u0631\u0627\u06CC\u0637 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u0631\u0627\u062D\u0644 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0645\u062F\u0627\u0631\u0643 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <div class=\"anwser merge\" [innerHTML]=\"'\u0645\u062F\u0627\u0631\u06A9 \u0645\u0648\u0631\u062F \u0646\u06CC\u0627\u0632 \u0627\u062E\u0630 \u062E\u062F\u0645\u062A' | val: mo\"></div>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n caption=\"\u0647\u0632\u06CC\u0646\u0647 \u0647\u0627\u06CC \u062E\u062F\u0645\u062A\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\"\n caption=\"\u0645\u0628\u0627\u0646\u06CC \u0642\u0627\u0646\u0648\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062E\u062F\u0645\u062A\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647 \u062E\u062F\u0645\u062A\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647' | controlUi: layout94 as configUi\"\n caption=\"\u0648\u0627\u062D\u062F\u0647\u0627\u06CC \u0633\u0627\u0632\u0645\u0627\u0646\u06CC \u0627\u0631\u0627\u0626\u0647 \u062F\u0647\u0646\u062F\u0647\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n\n <fd-tab title=\"\u062F\u0633\u062A\u06AF\u0627\u0647 \u0647\u0627\u06CC \u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u062F\u0647\u0646\u062F\u0647\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"'\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627' | controlUi: layout94 as configUi\"\n caption=\"\u0627\u0633\u062A\u0639\u0644\u0627\u0645 \u0633\u0627\u0632\u0645\u0627\u0646 \u0647\u0627\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n <fd-tab title=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\" *ngIf=\"'SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A' | controlUi: layout94 as configUi\">\n <fd-dynamic-page-content>\n <bsu-layout-control\n *ngIf=\"configUi\"\n caption=\"SLA \u0648 \u0631\u0627\u0647\u0646\u0645\u0627\u06CC \u062E\u062F\u0645\u062A\"\n [config]=\"configUi\"\n ></bsu-layout-control>\n </fd-dynamic-page-content>\n </fd-tab>\n </fd-tab-list>\n\n <fd-dynamic-page-footer> </fd-dynamic-page-footer>\n</fd-dynamic-page>\n\n<ng-template #renderTable let-array let-showKhadamatMortabet=\"showKhadamatMortabet\" let-classNames=\"classNames\">\n <table #tablesRef class=\"table-grid\" [ngClass]=\"classNames\">\n <ng-container *ngFor=\"let controlItem of array\">\n <tr>\n <th>{{ controlItem.caption }}</th>\n <td>\n <ng-container [ngSwitch]=\"controlItem.type\">\n <ng-container *ngSwitchCase=\"'Link'\">\n <a target=\"_blank\" [href]=\"mo[controlItem.fieldName]\">{{\n mo[controlItem.fieldName]\n }}</a></ng-container\n >\n <ng-container *ngSwitchCase=\"'Relation'\">\n {{ controlItem.fieldName | val: mo:true }}</ng-container\n >\n <ng-container *ngSwitchCase=\"'MoList'\">\n <div *ngFor=\"let item of mo[controlItem.fieldName]?.MoDataList\" class=\"links\">\n <fd-icon class=\"fd-icon-link\" [glyph]=\"'chain-link'\" style=\"color: #0854a0\"></fd-icon>\n <!-- <fd-icon class=\"fd-icon-link\" [glyph]=\"'pdf-attachment'\"></fd-icon> -->\n <a (click)=\"onDownload(item)\">{{ item.$Caption }}</a>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'Image'\"> {{ mo[controlItem.fieldName].Ext }}</ng-container>\n <ng-container *ngSwitchCase=\"'Files'\"> {{ mo[controlItem.fieldName].Files }}</ng-container>\n <ng-container *ngSwitchDefault>\n {{ mo[controlItem.fieldName + '$Caption'] || mo[controlItem.fieldName] }}\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-container>\n <ng-container *ngIf=\"showKhadamatMortabet\">\n <tr>\n <th>\u062E\u062F\u0645\u0627\u062A \u0645\u0631\u062A\u0628\u0637</th>\n <td>\n <div class=\"links\" *ngFor=\"let item of khadamatmortabet\">\n <a (click)=\"onKhadamatMortabet(item)\">{{ item.$Caption }}</a>\n </div>\n </td>\n </tr>\n </ng-container>\n </table>\n</ng-template>\n", styles: ["table{background-color:var(--sapBaseColor)}.cell{font-size:14px}.bod{border-bottom:1px solid gray;border-right:1px solid gray;height:30px;line-height:30px}.bod :first{border-right:0;border-bottom:0}.anwser{line-height:30px;padding:10px;text-align:justify}.box{padding:0 40px 10px 10px;line-height:30px;display:flex;flex-direction:column;column-count:2;flex-wrap:wrap;height:180px;overflow:hidden}.faq-item-link{font-size:16px;padding-right:25px;cursor:pointer;color:gray}.faq-item-link a{color:gray;cursor:pointer}.faq-item-link a:hover{text-decoration:underline!important}.law-page-header{background:#fff;color:#0854a0;font-size:1.3rem;font-weight:500;padding:5px 15px}.wrapper{border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor, #d9d9d9)}table.table-grid{font-family:arial,sans-serif;border-collapse:collapse;width:100%;direction:rtl}.table-grid td,.table-grid th{border:1px solid grey;text-align:left;padding:12px 8px;text-align:right}.table-grid th{background-color:#e2e2e2;font-size:.825rem;font-weight:500;vertical-align:middle;width:150px;font-family:IRANYekanDigits}.table-grid td{font-size:.825rem;vertical-align:middle;font-family:IRANYekanDigits}@media only screen and (max-width: 992px){.secondTable tr:first-child td,.secondTable tr:first-child th{border-top:0}}@media only screen and (min-width: 992px){.secondTable th{border-right:0}}.fd-icon{font-size:2rem;color:#0854a0;padding-left:10px}.links a{line-height:25px;cursor:pointer;display:inline;color:#32363a;vertical-align:top}.links a:hover{text-decoration:underline!important;color:#000}.fd-icon-link{font-size:1rem;padding-left:5px}.VideoGuide{max-width:1280px;margin:0 auto;width:auto;text-align:center}.h_iframe-aparat_embed_frame{position:relative}.h_iframe-aparat_embed_frame .ratio{display:block;width:100%;height:auto}.h_iframe-aparat_embed_frame iframe{position:absolute;top:0;left:0;width:100%;height:100%}\n"] }]
140
+ }], propDecorators: { tabContainerRef: [{
141
+ type: ViewChild,
142
+ args: ['tabContainerRef']
143
+ }], tablesRef: [{
144
+ type: ViewChildren,
145
+ args: ['tablesRef']
146
+ }] } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXNlcnZjaWUtZGV0YWlsL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWdELHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVF0SCxNQUFNLE9BQU8saUNBQWtDLFNBQVEsc0JBQXNCO0lBTjdFOztRQWFJLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBS2pCLGtCQUFhLEdBQWlCLEVBQUUsQ0FBQztRQUNqQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0tBOEg3QjtJQTFIRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNiLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQUk7UUFDWCxJQUFJLElBQUksQ0FBQyxV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VSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDekMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OzhIQTVJUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw4UkNqQjlDLGlxU0E4SkE7MkZEN0lhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07OEJBR2pCLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNELFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFyc2FBcGksIEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBGb3JtUHJvcHNCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2stc2VydmNpZS1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlcnZpY2UtZGVzay1zZXJ2Y2llLWRldGFpbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VEZXNrU2VydmNpZURldGFpbENvbXBvbmVudCBleHRlbmRzIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RhYkNvbnRhaW5lclJlZicpIHRhYkNvbnRhaW5lclJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkcmVuKCd0YWJsZXNSZWYnKSB0YWJsZXNSZWY6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICBmaWx0ZXJlZENvbnRyb2xzOiBGaWVsZHNJbmZvW107XG4gICAgZmlyc3RBcnJheTogRmllbGRzSW5mb1tdO1xuICAgIHNlY29uZEFycmF5OiBGaWVsZHNJbmZvW107XG4gICAgdmFsdWVTaGFyaEtoZWRtYXQ6IGFueTtcbiAgICBtb0J5Q2FwdGlvbiA9IHt9O1xuICAgIGtoYWRhbWF0bW9ydGFiZXQ6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICBzZXJ2aWNlczogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcbiAgICBjb250cm9sQ291bnQ6IG51bWJlcjtcbiAgICBpc09kZDogYm9vbGVhbjtcbiAgICBmaWVsZHNDYXB0aW9uOiBGaWVsZHNJbmZvW10gPSBbXTtcbiAgICB2YWx1ZSA9ICcnO1xuICAgIHJhaG5hbWF5VGFzdmlyaTogYW55O1xuICAgIGlzcmFobmFtYXlUYXN2aXJpID0gZmFsc2U7XG4gICAgc2VsZWN0ZWRUYWI6IG51bWJlcjtcbiAgICBraGFkYW1hdG1vcnRhYmV0UmVwb3J0OiB7IFJlcG9ydElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH07XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICBjb25zdCAkRmllbGREaWN0ID0gdGhpcy5maWVsZERpY3Q7XG4gICAgICAgIGlmICghJEZpZWxkRGljdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3ByZXBhcmUoJEZpZWxkRGljdCwgdGhpcy5tbyk7XG4gICAgfVxuXG4gICAgb25Eb3dubG9hZChpdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtLkF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5GaWxlLkRvd25sb2FkRmlsZUlkKGl0ZW0uQXR0YWNobWVudC5GaWxlc1swXS5JZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB0aGlzLmFsaWduVGFibGVzVHIoKTtcbiAgICB9XG4gICAgb25LaGFkYW1hdE1vcnRhYmV0KGl0ZW0pOiB2b2lkIHtcbiAgICAgICAgQmFyc2FBcGkuQncuRm9ybS5TaG93KHtcbiAgICAgICAgICAgIE1vSWQ6IGl0ZW0uSWQsXG4gICAgICAgICAgICBUeXBlRGVmSWQ6IHRoaXMua2hhZGFtYXRtb3J0YWJldFJlcG9ydC5UeXBlRGVmSWQsXG4gICAgICAgICAgICBNb0NvbnRleHQ6IHsgUmVwb3J0SWQ6IHRoaXMua2hhZGFtYXRtb3J0YWJldFJlcG9ydC5SZXBvcnRJZCB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwcml2YXRlIGFsaWduVGFibGVzVHIoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFibGVzUmVmID0gdGhpcy50YWJsZXNSZWYudG9BcnJheSgpO1xuICAgICAgICAgICAgY29uc3QgZmlyc3RUYWJsZUVsID0gdGFibGVzUmVmWzBdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRUYWJsZUVsID0gdGFibGVzUmVmWzFdLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGNvbnN0IHRyRmlyc3RUYWJsZSA9IGZpcnN0VGFibGVFbC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpO1xuICAgICAgICAgICAgY29uc3QgdHJTZWNvbmRUYWJsZSA9IHNlY29uZFRhYmxlRWwucXVlcnlTZWxlY3RvckFsbCgndHInKTtcblxuICAgICAgICAgICAgdHJGaXJzdFRhYmxlLmZvckVhY2goKHRyLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA8IHRyU2Vjb25kVGFibGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyU2Vjb25kID0gdHJTZWNvbmRUYWJsZVtpbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGlmICh0ci5vZmZzZXRIZWlnaHQgPiB0clNlY29uZC5vZmZzZXRIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyU2Vjb25kLnN0eWxlLmhlaWdodCA9IGAke3RyLm9mZnNldEhlaWdodH1weGA7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ci5zdHlsZS5oZWlnaHQgPSBgJHt0clNlY29uZC5vZmZzZXRIZWlnaHR9cHhgO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbiAgICBwcml2YXRlIF9wcmVwYXJlKCRGaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIE9iamVjdC5rZXlzKCRGaWVsZERpY3QpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGROYW1lID0gJEZpZWxkRGljdFtrZXldO1xuICAgICAgICAgICAgY29uc3QgaXRlbTogRmllbGRzSW5mbyA9IHsgY2FwdGlvbjoga2V5LCBmaWVsZE5hbWUgfTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBrZXkgPT09ICfYotiv2LHYsyDYs9in24zYqicgfHxcbiAgICAgICAgICAgICAgICAodHlwZW9mIG1vW2ZpZWxkTmFtZV0gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgICAgICAgIChtb1tmaWVsZE5hbWVdLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgbW9bZmllbGROYW1lXS5zdGFydHNXaXRoKCdodHRwOi8vJykpKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ0xpbmsnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiBtb1tmaWVsZE5hbWVdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIGlmIChtb1tmaWVsZE5hbWVdLiRUeXBlID09PSAnQ29tbW9uLk1ldGFPYmplY3RMaXN0V2ViJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnR5cGUgPSAnTW9MaXN0JztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vW2ZpZWxkTmFtZV0uRXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdJbWFnZSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtb1tmaWVsZE5hbWVdLkZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udHlwZSA9ICdGaWxlcyc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS50eXBlID0gJ1JlbGF0aW9uJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpZWxkc0NhcHRpb24ucHVzaChpdGVtKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmFobmFtYXlUYXN2aXJpID0gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChtb1skRmllbGREaWN0WyfYsdin2YfZhtmF2KfbjCDYqti12YjbjNix24wnXV0pO1xuICAgICAgICBpZiAodGhpcy5yYWhuYW1heVRhc3ZpcmkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNyYWhuYW1heVRhc3ZpcmkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkQ29udHJvbHMgPSB0aGlzLmZpZWxkc0NhcHRpb24uZmlsdGVyKFxuICAgICAgICAgICAgKGMpID0+XG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2LTYsdin24zYtyDYp9iu2LAg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAnU0xBINmIINix2KfZh9mG2YXYp9uMINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9is2YbYsyDZhdis2YjYsicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZhdis2YjYsiDZiNin2KjYs9iq2YcnICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YbZiNi5INiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mE24zZhtqpINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qv2LHZiNmHINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9iu2K/Zhdin2Kog2YXYsdiq2KjYtycgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqti12YjZitixINmB2YTZiNqG2KfYsdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9i22YjYp9io2Lcg2K7Yp9i1INin2K7YsCDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYsdin2YfZhtmF2KfbjCDYqti12YjbjNix24wnICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2YXYr9in2LHaqSDZhdmI2LHYryDZhtuM2KfYsiDYp9iu2LAg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2b7bjNi02YbbjNin2LLZh9in24wg2KfYrtiwINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9io24zYp9mG24zZhyDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfZhtuM2KfYsiDYqNmHINin2LPYqti52YTYp9mFINin2LIg2K/Ys9iq2q/Yp9mH2YfYp9uMINiv24zar9ixJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9in2LPYqti52YTYp9mFINiz2KfYstmF2KfZhiDZh9inJyAmJlxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2LPYp9uM2Kog2KzYr9in2q/Yp9mG2YcnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfYs9in2YXYp9mG2YcnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfZhtuM2KfYsiDYqNmHINm+2LHYr9in2K7YqiDZh9iy24zZhtmHJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qv2LHZiNmHINiz2KfYrtiq2KfYsScgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYudmG2KfZiNuM2YYg2YXYsdiq2KjYtycgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfZgdin24zZhCDYtNmG2KfYs9mG2KfZhdmHINiu2K/ZhdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9mF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KonICYmXG4gICAgICAgICAgICAgICAgYy5jYXB0aW9uICE9PSAn2KrYudix24zZgSDYrtiv2YXYqicgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYqti12YjbjNixINmB2YTZiNqG2KfYsdiqJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9iz2YjYp9mE2KfYqiDZhdiq2K/Yp9mI2YQnICYmXG4gICAgICAgICAgICAgICAgLy8gYy5jYXB0aW9uICE9ICfZhtuM2KfYsiDYqNmHINmF2LHYp9is2LnZhyDYrdi22YjYsduMJyAmJlxuICAgICAgICAgICAgICAgIC8vIGMuY2FwdGlvbiAhPSAn2KrZiNi224zYrSDZhdix2KfYrNi52Ycg2K3YttmI2LHbjCcgJiZcbiAgICAgICAgICAgICAgICBjLmNhcHRpb24gIT09ICfYudmG2YjYp9mGJyAmJlxuICAgICAgICAgICAgICAgIGMuY2FwdGlvbiAhPT0gJ9qp2K8g2K7Yr9mF2KonXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xDb3VudCA9IGZpbHRlcmVkQ29udHJvbHMubGVuZ3RoO1xuICAgICAgICBjb25zdCBjb250cm9sQ291bnRNaWRkbGUgPSBNYXRoLmNlaWwoZmlsdGVyZWRDb250cm9scy5sZW5ndGggLyAyKTtcbiAgICAgICAgdGhpcy5maXJzdEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZSgwLCBjb250cm9sQ291bnRNaWRkbGUpO1xuICAgICAgICB0aGlzLnNlY29uZEFycmF5ID0gZmlsdGVyZWRDb250cm9scy5zbGljZShjb250cm9sQ291bnRNaWRkbGUsIGNvbnRyb2xDb3VudCk7XG4gICAgICAgIHRoaXMua2hhZGFtYXRtb3J0YWJldCA9IG1vWyRGaWVsZERpY3RbJ9iu2K/Zhdin2Kog2YXYsdiq2KjYtyddXT8uTW9EYXRhTGlzdCA/PyBbXTtcbiAgICAgICAgdGhpcy5maWx0ZXJlZENvbnRyb2xzID0gZmlsdGVyZWRDb250cm9scztcbiAgICAgICAgdGhpcy5raGFkYW1hdG1vcnRhYmV0UmVwb3J0ID0gbW9bJEZpZWxkRGljdFsn2K7Yr9mF2KfYqiDZhdix2KrYqNi3J11dO1xuXG4gICAgICAgIHRoaXMuaXNPZGQgPSBjb250cm9sQ291bnQgJSAyID09PSAwO1xuICAgIH1cbn1cbmludGVyZmFjZSBGaWVsZHNJbmZvIHtcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGNhcHRpb246IHN0cmluZztcbiAgICBmaWVsZE5hbWU6IHN0cmluZztcbn1cbiIsIjxmZC1keW5hbWljLXBhZ2UgW3NpemVdPVwiaXNNb2JpbGUgPyAnc21hbGwnIDogJ2xhcmdlJ1wiPlxuICAgIDxmZC10YWItbGlzdFxuICAgICAgICBbY29sbGFwc2VPdmVyZmxvd109XCJ0cnVlXCJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJmYWxzZVwiXG4gICAgICAgIG1heENvbnRlbnRIZWlnaHQ9XCJhdXRvXCJcbiAgICAgICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAjdGFibGlzdFxuICAgID5cbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cIti02YbYp9iz2YbYp9mF2Ycg2K7Yr9mF2KpcIiBzZWxlY3RlZD5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZmQtbGF5b3V0LWdyaWQgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbjogMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiNlwiIFtjb2xMZ109XCI2XCIgW2NvbFhsXT1cIjZcIiBzdHlsZT1cInBhZGRpbmc6IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJUYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmaXJzdEFycmF5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0toYWRhbWF0TW9ydGFiZXQ6IGlzT2RkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lczogJ2ZpcnN0VGFibGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiNlwiIFtjb2xMZ109XCI2XCIgW2NvbFhsXT1cIjZcIiBzdHlsZT1cInBhZGRpbmc6IDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJUYWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZWNvbmRBcnJheSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dLaGFkYW1hdE1vcnRhYmV0OiAhaXNPZGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzOiAnc2Vjb25kVGFibGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZmQtbGF5b3V0LWdyaWQ+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItm+24zYtNmG24zYp9iy2YfYp9uMINin2K7YsCDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbndzZXIgbWVyZ2VcIiBbaW5uZXJIVE1MXT1cIifZvtuM2LTZhtuM2KfYstmH2KfbjCDYp9iu2LAg2K7Yr9mF2KonIHwgdmFsOiBtb1wiPjwvZGl2PlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCLYtNix2KfZiti3INin2K7YsCDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbndzZXIgbWVyZ2VcIiBbaW5uZXJIVE1MXT1cIifYtNix2KfbjNi3INin2K7YsCDYrtiv2YXYqicgfCB2YWw6IG1vXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KpcIj5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW53c2VyIG1lcmdlXCIgW2lubmVySFRNTF09XCIn2YXYsdin2K3ZhCDYp9iu2LAg2K7Yr9mF2KonIHwgdmFsOiBtb1wiPjwvZGl2PlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG5cbiAgICAgICAgPGZkLXRhYiB0aXRsZT1cItmF2K/Yp9ix2YMg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFud3NlciBtZXJnZVwiIFtpbm5lckhUTUxdPVwiJ9mF2K/Yp9ix2qkg2YXZiNix2K8g2YbbjNin2LIg2KfYrtiwINiu2K/ZhdiqJyB8IHZhbDogbW9cIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuXG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCLZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIn2YfYstuM2YbZhyDZh9in24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCLZh9iy24zZhtmHINmH2KfbjCDYrtiv2YXYqlwiXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnVWlcIlxuICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgIDwvZmQtdGFiPlxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqlwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIn2YXYqNin2YbbjCDZgtin2YbZiNmG24wg2KfYsdin2KbZhyDYrtiv2YXYqicgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbj1cItmF2KjYp9mG24wg2YLYp9mG2YjZhtuMINin2LHYp9im2Ycg2K7Yr9mF2KpcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2YjYp9it2K/Zh9in24wg2KfYsdin2KbZhyDYr9mH2YbYr9mHINiu2K/ZhdiqXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YcnIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCLZiNin2K3Yr9mH2KfbjCDYs9in2LLZhdin2YbbjCDYp9ix2KfYptmHINiv2YfZhtiv2YdcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cblxuICAgICAgICA8ZmQtdGFiIHRpdGxlPVwi2K/Ys9iq2q/Yp9mHINmH2KfbjCDYp9iz2KrYudmE2KfZhSDYr9mH2YbYr9mHXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifYp9iz2KrYudmE2KfZhSDYs9in2LLZhdin2YYg2YfYpycgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbj1cItin2LPYqti52YTYp9mFINiz2KfYstmF2KfZhiDZh9inXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDxmZC10YWIgdGl0bGU9XCJTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KpcIiAqbmdJZj1cIidTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KonIHwgY29udHJvbFVpOiBsYXlvdXQ5NCBhcyBjb25maWdVaVwiPlxuICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWdVaVwiXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb249XCJTTEEg2Ygg2LHYp9mH2YbZhdin24wg2K7Yr9mF2KpcIlxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1VpXCJcbiAgICAgICAgICAgICAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICA8L2ZkLXRhYj5cbiAgICA8L2ZkLXRhYi1saXN0PlxuXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1mb290ZXI+IDwvZmQtZHluYW1pYy1wYWdlLWZvb3Rlcj5cbjwvZmQtZHluYW1pYy1wYWdlPlxuXG48bmctdGVtcGxhdGUgI3JlbmRlclRhYmxlIGxldC1hcnJheSBsZXQtc2hvd0toYWRhbWF0TW9ydGFiZXQ9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiIGxldC1jbGFzc05hbWVzPVwiY2xhc3NOYW1lc1wiPlxuICAgIDx0YWJsZSAjdGFibGVzUmVmIGNsYXNzPVwidGFibGUtZ3JpZFwiIFtuZ0NsYXNzXT1cImNsYXNzTmFtZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29udHJvbEl0ZW0gb2YgYXJyYXlcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGg+e3sgY29udHJvbEl0ZW0uY2FwdGlvbiB9fTwvdGg+XG4gICAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjb250cm9sSXRlbS50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTGluaydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBbaHJlZl09XCJtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9hPjwvbmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInUmVsYXRpb24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY29udHJvbEl0ZW0uZmllbGROYW1lIHwgdmFsOiBtbzp0cnVlIH19PC9uZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidNb0xpc3QnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb1tjb250cm9sSXRlbS5maWVsZE5hbWVdPy5Nb0RhdGFMaXN0XCIgY2xhc3M9XCJsaW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cImZkLWljb24tbGlua1wiIFtnbHlwaF09XCInY2hhaW4tbGluaydcIiBzdHlsZT1cImNvbG9yOiAjMDg1NGEwXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxmZC1pY29uIGNsYXNzPVwiZmQtaWNvbi1saW5rXCIgW2dseXBoXT1cIidwZGYtYXR0YWNobWVudCdcIj48L2ZkLWljb24+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSAoY2xpY2spPVwib25Eb3dubG9hZChpdGVtKVwiPnt7IGl0ZW0uJENhcHRpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidJbWFnZSdcIj4ge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5FeHQgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidGaWxlcydcIj4ge3sgbW9bY29udHJvbEl0ZW0uZmllbGROYW1lXS5GaWxlcyB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZSArICckQ2FwdGlvbiddIHx8IG1vW2NvbnRyb2xJdGVtLmZpZWxkTmFtZV0gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93S2hhZGFtYXRNb3J0YWJldFwiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0aD7Yrtiv2YXYp9iqINmF2LHYqtio2Lc8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmtzXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Yga2hhZGFtYXRtb3J0YWJldFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cIm9uS2hhZGFtYXRNb3J0YWJldChpdGVtKVwiPnt7IGl0ZW0uJENhcHRpb24gfX08L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RhYmxlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-novin-ray-core";
6
+ import * as i3 from "@fundamental-ngx/core/icon";
7
+ import * as i4 from "@fundamental-ngx/core/layout-grid";
8
+ export class ServiceDeskViewOfServicesComponent extends ReportViewBaseComponent {
9
+ ngOnInit() {
10
+ super.ngOnInit();
11
+ this.fieldIcon = this.viewSetting.FieldIcon;
12
+ this.fieldTitle = this.viewSetting.FieldTitle;
13
+ this.fieldDynamicCommand = this.viewSetting.FieldDynamicCommand;
14
+ }
15
+ }
16
+ ServiceDeskViewOfServicesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskViewOfServicesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
17
+ ServiceDeskViewOfServicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ServiceDeskViewOfServicesComponent, selector: "bdc-service-desk-view-of-services", usesInheritance: true, ngImport: i0, template: "<div class=\"services\">\n <div class=\"service-list\">\n <fd-layout-grid>\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"3\"\n [colLg]=\"3\"\n [colXl]=\"3\"\n *ngFor=\"let mo of moDataList; let i = index\"\n >\n <div class=\"item\">\n <a [dynCommand]=\"fieldDynamicCommand | rval: mo:allColumns\" [mo]=\"mo\">\n <span class=\"item-icon\">\n <fd-icon glyph=\"product\"></fd-icon>\n </span>\n <span class=\"item-content\"> {{ fieldTitle | rval: mo:allColumns | bbbTranslate }}</span>\n <span class=\"item-icon-arrow\">\n <fd-icon [glyph]=\"fieldIcon || 'add'\"></fd-icon>\n </span>\n </a>\n </div>\n </div>\n </fd-layout-grid>\n </div>\n</div>\n", styles: [":host .b-b{padding-right:5px;padding-top:5px}.item{position:relative}.item a{background:#0078d7;cursor:pointer;display:flex;padding:10px 5px;flex-direction:column;cursor:pointer!important}.item a:hover{background:#67b4f3}fd-icon{font-size:1.25rem;color:#fff}.item .item-content{color:#fff;margin-left:35px;margin-right:25px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.item .item-icon{position:absolute;right:5px;top:5px}.item .item-icon-arrow{position:absolute;left:16px;top:9px}.item .item-icon-arrow fd-icon{font-size:1rem;color:#fff}.exe_cell{margin-top:10px;padding:0 5px}.service-list{margin-top:20px}@media only screen and (max-width: 1200px){.services{margin:0 5rem}}.exe_cell:nth-child(1),.exe_cell:nth-child(2),.exe_cell:nth-child(3),.exe_cell:nth-child(4){margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i4.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ServiceDeskViewOfServicesComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'bdc-service-desk-view-of-services', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"services\">\n <div class=\"service-list\">\n <fd-layout-grid>\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"3\"\n [colLg]=\"3\"\n [colXl]=\"3\"\n *ngFor=\"let mo of moDataList; let i = index\"\n >\n <div class=\"item\">\n <a [dynCommand]=\"fieldDynamicCommand | rval: mo:allColumns\" [mo]=\"mo\">\n <span class=\"item-icon\">\n <fd-icon glyph=\"product\"></fd-icon>\n </span>\n <span class=\"item-content\"> {{ fieldTitle | rval: mo:allColumns | bbbTranslate }}</span>\n <span class=\"item-icon-arrow\">\n <fd-icon [glyph]=\"fieldIcon || 'add'\"></fd-icon>\n </span>\n </a>\n </div>\n </div>\n </fd-layout-grid>\n </div>\n</div>\n", styles: [":host .b-b{padding-right:5px;padding-top:5px}.item{position:relative}.item a{background:#0078d7;cursor:pointer;display:flex;padding:10px 5px;flex-direction:column;cursor:pointer!important}.item a:hover{background:#67b4f3}fd-icon{font-size:1.25rem;color:#fff}.item .item-content{color:#fff;margin-left:35px;margin-right:25px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative}.item .item-icon{position:absolute;right:5px;top:5px}.item .item-icon-arrow{position:absolute;left:16px;top:9px}.item .item-icon-arrow fd-icon{font-size:1rem;color:#fff}.exe_cell{margin-top:10px;padding:0 5px}.service-list{margin-top:20px}@media only screen and (max-width: 1200px){.services{margin:0 5rem}}.exe_cell:nth-child(1),.exe_cell:nth-child(2),.exe_cell:nth-child(3),.exe_cell:nth-child(4){margin-top:10px}\n"] }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUy9ELE1BQU0sT0FBTyxrQ0FDVCxTQUFRLHVCQUF5RDtJQU1qRSxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztJQUNwRSxDQUFDOzsrSEFaUSxrQ0FBa0M7bUhBQWxDLGtDQUFrQyxnR0NWL0Msay9CQXlCQTsyRkRmYSxrQ0FBa0M7a0JBTjlDLFNBQVM7K0JBQ0ksbUNBQW1DLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlRGVza1ZpZXdPZlNlcnZpY2VzU2V0dGluZyB9IGZyb20gJy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXJ2aWNlLWRlc2stdmlldy1vZi1zZXJ2aWNlcycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlRGVza1ZpZXdPZlNlcnZpY2VzQ29tcG9uZW50XHJcbiAgICBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFNlcnZpY2VEZXNrVmlld09mU2VydmljZXNTZXR0aW5nPlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gICAgZmllbGRJY29uOiBzdHJpbmc7XHJcbiAgICBmaWVsZFRpdGxlOiBzdHJpbmc7XHJcbiAgICBmaWVsZER5bmFtaWNDb21tYW5kOiBzdHJpbmc7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuZmllbGRJY29uID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZEljb247XHJcbiAgICAgICAgdGhpcy5maWVsZFRpdGxlID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZFRpdGxlO1xyXG4gICAgICAgIHRoaXMuZmllbGREeW5hbWljQ29tbWFuZCA9IHRoaXMudmlld1NldHRpbmcuRmllbGREeW5hbWljQ29tbWFuZDtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VydmljZXNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1saXN0XCI+XG4gICAgICAgIDxmZC1sYXlvdXQtZ3JpZD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCJcbiAgICAgICAgICAgICAgICBbY29sTWRdPVwiM1wiXG4gICAgICAgICAgICAgICAgW2NvbExnXT1cIjNcIlxuICAgICAgICAgICAgICAgIFtjb2xYbF09XCIzXCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdDsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGEgW2R5bkNvbW1hbmRdPVwiZmllbGREeW5hbWljQ29tbWFuZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnNcIiBbbW9dPVwibW9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJwcm9kdWN0XCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWNvbnRlbnRcIj4ge3sgZmllbGRUaXRsZSB8IHJ2YWw6IG1vOmFsbENvbHVtbnMgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0taWNvbi1hcnJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJmaWVsZEljb24gfHwgJ2FkZCdcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { takeUntil } from 'rxjs/operators';
3
+ import { FormBaseComponent, FormPanelService } from 'barsa-novin-ray-core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "barsa-novin-ray-core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "barsa-sap-ui";
8
+ import * as i4 from "@fundamental-ngx/core/button";
9
+ import * as i5 from "@fundamental-ngx/core/dynamic-side-content";
10
+ export class SettingFormComponent extends FormBaseComponent {
11
+ constructor(_formPanelService, portalService) {
12
+ super(_formPanelService);
13
+ this._formPanelService = _formPanelService;
14
+ this.portalService = portalService;
15
+ this.deviceSize = 'xl';
16
+ this.selectedSetting = false;
17
+ this.groupSettingFieldCaption = 'گروه تنظیمات2';
18
+ this.objectSettingFieldCaption = 'شی تنظیمات';
19
+ }
20
+ ngOnInit() {
21
+ super.ngOnInit();
22
+ this.rtl$ = this.portalService.rtl$;
23
+ this.portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((deviceSize) => {
24
+ switch (deviceSize) {
25
+ case 's':
26
+ this.deviceSize = 'sm';
27
+ break;
28
+ case 'm':
29
+ this.deviceSize = 'md';
30
+ break;
31
+ default:
32
+ this.deviceSize = 'xl';
33
+ }
34
+ });
35
+ }
36
+ ngAfterViewInit() {
37
+ super.ngAfterViewInit();
38
+ const fieldUi = Object.values(this.listFieldUi).find((c) => c.Setting.ControlFieldCaption === this.groupSettingFieldCaption);
39
+ if (fieldUi) {
40
+ fieldUi.viewerControl.on({
41
+ rowselect: this._setSelectedSetting.bind(this)
42
+ });
43
+ }
44
+ this._groupSettingControlUi = fieldUi;
45
+ }
46
+ ngOnDestroy() {
47
+ super.ngOnDestroy();
48
+ if (this._groupSettingControlUi) {
49
+ this._groupSettingControlUi.viewerControl.un('rowselect', this._setSelectedSetting);
50
+ }
51
+ }
52
+ onSettingClick() { }
53
+ onBack() {
54
+ this.selectedSetting = false;
55
+ }
56
+ _setSelectedSetting() {
57
+ this.selectedSetting = true;
58
+ }
59
+ }
60
+ SettingFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SettingFormComponent, deps: [{ token: i1.FormPanelService }, { token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Component });
61
+ SettingFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: SettingFormComponent, selector: "bdc-setting-form", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mo$ | async as mo; else loading\">\n <ng-container *ngIf=\"layout94$ | async as layout\">\n <div *ngIf=\"deviceSize === 'sm'; else sideContent\" style=\"display: flex; flex-direction: column\">\n <div *ngIf=\"selectedSetting\" style=\"width: 100%\">\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\n (click)=\"onBack()\"\n ></button>\n </div>\n\n <div [class.hide]=\"selectedSetting\">\n <ng-container\n *ngTemplateOutlet=\"\n renderSetting;\n context: {\n $implicit: layout,\n isMobile: true\n }\n \"\n ></ng-container>\n </div>\n <div [class.hide]=\"!selectedSetting\">\n <ng-container\n *ngTemplateOutlet=\"\n renderForm;\n context: {\n $implicit: layout,\n isMobile: true\n }\n \"\n ></ng-container>\n </div>\n </div>\n <ng-template #sideContent>\n <fd-dynamic-side-content [size]=\"deviceSize\">\n <fd-dynamic-side-content-side>\n <ng-container\n *ngTemplateOutlet=\"\n renderSetting;\n context: {\n $implicit: layout,\n isMobile: false\n }\n \"\n ></ng-container>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main>\n <ng-container\n *ngTemplateOutlet=\"\n renderForm;\n context: {\n $implicit: layout,\n isMobile: false\n }\n \"\n ></ng-container>\n </fd-dynamic-side-content-main>\n </fd-dynamic-side-content>\n </ng-template>\n </ng-container>\n <ng-template #renderForm let-layout let-isMobile=\"isMobile\">\n <bsu-layout-control\n *ngIf=\"objectSettingFieldCaption | controlUi: layout as layoutConfig\"\n (click)=\"onSettingClick()\"\n class=\"form-setting\"\n [class.is-mobile]=\"isMobile\"\n [caption]=\"objectSettingFieldCaption\"\n [config]=\"layoutConfig\"\n [focus]=\"true\"\n ></bsu-layout-control>\n </ng-template>\n <ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\n <bsu-layout-control\n *ngIf=\"groupSettingFieldCaption | controlUi: layout as layoutConfig\"\n class=\"list-setting\"\n [class.is-mobile]=\"isMobile\"\n [caption]=\"groupSettingFieldCaption\"\n [config]=\"layoutConfig\"\n ></bsu-layout-control>\n </ng-template>\n</ng-container>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n", styles: [":host{width:100%}:host ::ng-deep bsu-ulv-context-menu,:host ::ng-deep li button{display:none}.list-setting{height:100%;border-left:1px solid #ccc}.list-setting ::ng-deep bnrc-field-ui{height:100%;padding:0}.list-setting.is-mobile{border:none}.form-setting{height:100%;padding-top:5px}.form-setting ::ng-deep bnrc-field-ui{height:100%!important}fd-dynamic-side-content{height:100%}fd-dynamic-side-content-main{overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "marginTop"] }, { kind: "component", type: i3.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.DynamicSideContentComponent, selector: "fd-dynamic-side-content", inputs: ["position", "size", "id"] }, { kind: "component", type: i5.DynamicSideContentSideComponent, selector: "fd-dynamic-side-content-side", inputs: ["id"] }, { kind: "component", type: i5.DynamicSideContentMainComponent, selector: "fd-dynamic-side-content-main", inputs: ["id"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: SettingFormComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'bdc-setting-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container *ngIf=\"mo$ | async as mo; else loading\">\n <ng-container *ngIf=\"layout94$ | async as layout\">\n <div *ngIf=\"deviceSize === 'sm'; else sideContent\" style=\"display: flex; flex-direction: column\">\n <div *ngIf=\"selectedSetting\" style=\"width: 100%\">\n <button\n fd-button\n [fdType]=\"'transparent'\"\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\n (click)=\"onBack()\"\n ></button>\n </div>\n\n <div [class.hide]=\"selectedSetting\">\n <ng-container\n *ngTemplateOutlet=\"\n renderSetting;\n context: {\n $implicit: layout,\n isMobile: true\n }\n \"\n ></ng-container>\n </div>\n <div [class.hide]=\"!selectedSetting\">\n <ng-container\n *ngTemplateOutlet=\"\n renderForm;\n context: {\n $implicit: layout,\n isMobile: true\n }\n \"\n ></ng-container>\n </div>\n </div>\n <ng-template #sideContent>\n <fd-dynamic-side-content [size]=\"deviceSize\">\n <fd-dynamic-side-content-side>\n <ng-container\n *ngTemplateOutlet=\"\n renderSetting;\n context: {\n $implicit: layout,\n isMobile: false\n }\n \"\n ></ng-container>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main>\n <ng-container\n *ngTemplateOutlet=\"\n renderForm;\n context: {\n $implicit: layout,\n isMobile: false\n }\n \"\n ></ng-container>\n </fd-dynamic-side-content-main>\n </fd-dynamic-side-content>\n </ng-template>\n </ng-container>\n <ng-template #renderForm let-layout let-isMobile=\"isMobile\">\n <bsu-layout-control\n *ngIf=\"objectSettingFieldCaption | controlUi: layout as layoutConfig\"\n (click)=\"onSettingClick()\"\n class=\"form-setting\"\n [class.is-mobile]=\"isMobile\"\n [caption]=\"objectSettingFieldCaption\"\n [config]=\"layoutConfig\"\n [focus]=\"true\"\n ></bsu-layout-control>\n </ng-template>\n <ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\n <bsu-layout-control\n *ngIf=\"groupSettingFieldCaption | controlUi: layout as layoutConfig\"\n class=\"list-setting\"\n [class.is-mobile]=\"isMobile\"\n [caption]=\"groupSettingFieldCaption\"\n [config]=\"layoutConfig\"\n ></bsu-layout-control>\n </ng-template>\n</ng-container>\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n", styles: [":host{width:100%}:host ::ng-deep bsu-ulv-context-menu,:host ::ng-deep li button{display:none}.list-setting{height:100%;border-left:1px solid #ccc}.list-setting ::ng-deep bnrc-field-ui{height:100%;padding:0}.list-setting.is-mobile{border:none}.form-setting{height:100%;padding-top:5px}.form-setting ::ng-deep bnrc-field-ui{height:100%!important}fd-dynamic-side-content{height:100%}fd-dynamic-side-content-main{overflow-y:auto}\n"] }]
65
+ }], ctorParameters: function () { return [{ type: i1.FormPanelService }, { type: i1.PortalService }]; } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NldHRpbmctZm9ybS9zZXR0aW5nLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2V0dGluZy1mb3JtL3NldHRpbmctZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVMxRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsaUJBQWlCO0lBT3ZELFlBQXNCLGlCQUFtQyxFQUFVLGFBQTRCO1FBQzNGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRFAsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTi9GLGVBQVUsR0FBdUIsSUFBSSxDQUFDO1FBQ3RDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXhCLDZCQUF3QixHQUFHLGVBQWUsQ0FBQztRQUMzQyw4QkFBeUIsR0FBRyxZQUFZLENBQUM7SUFJekMsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RGLFFBQVEsVUFBVSxFQUFFO2dCQUNoQixLQUFLLEdBQUc7b0JBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1YsS0FBSyxHQUFHO29CQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUN2QixNQUFNO2dCQUNWO29CQUNJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQzlCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBUSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3JELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUUsQ0FBQztRQUNGLElBQUksT0FBTyxFQUFFO1lBQ1QsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNqRCxDQUFDLENBQUM7U0FDTjtRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLENBQUM7SUFDMUMsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3ZGO0lBQ0wsQ0FBQztJQUNELGNBQWMsS0FBVSxDQUFDO0lBQ3pCLE1BQU07UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBQ0QsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQzs7aUhBbERRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDJDQUZsQixDQUFDLGdCQUFnQixDQUFDLGlEQ1ZqQywyM0dBc0ZBOzJGRDFFYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtQmFzZUNvbXBvbmVudCwgRm9ybVBhbmVsU2VydmljZSwgUG9ydGFsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtc2V0dGluZy1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZXR0aW5nLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtGb3JtUGFuZWxTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBTZXR0aW5nRm9ybUNvbXBvbmVudCBleHRlbmRzIEZvcm1CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIGRldmljZVNpemU6ICd4bCcgfCAnbWQnIHwgJ3NtJyA9ICd4bCc7XG4gICAgc2VsZWN0ZWRTZXR0aW5nID0gZmFsc2U7XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBncm91cFNldHRpbmdGaWVsZENhcHRpb24gPSAn2q/YsdmI2Ycg2KrZhti424zZhdin2KoyJztcbiAgICBvYmplY3RTZXR0aW5nRmllbGRDYXB0aW9uID0gJ9i024wg2KrZhti424zZhdin2KonO1xuICAgIHByaXZhdGUgX2dyb3VwU2V0dGluZ0NvbnRyb2xVaTogYW55O1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSwgcHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKF9mb3JtUGFuZWxTZXJ2aWNlKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMucnRsJCA9IHRoaXMucG9ydGFsU2VydmljZS5ydGwkO1xuICAgICAgICB0aGlzLnBvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZGV2aWNlU2l6ZSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChkZXZpY2VTaXplKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9ICdzbSc7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ20nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRldmljZVNpemUgPSAnbWQnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRldmljZVNpemUgPSAneGwnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgY29uc3QgZmllbGRVaTogYW55ID0gT2JqZWN0LnZhbHVlcyh0aGlzLmxpc3RGaWVsZFVpKS5maW5kKFxuICAgICAgICAgICAgKGM6IGFueSkgPT4gYy5TZXR0aW5nLkNvbnRyb2xGaWVsZENhcHRpb24gPT09IHRoaXMuZ3JvdXBTZXR0aW5nRmllbGRDYXB0aW9uXG4gICAgICAgICk7XG4gICAgICAgIGlmIChmaWVsZFVpKSB7XG4gICAgICAgICAgICBmaWVsZFVpLnZpZXdlckNvbnRyb2wub24oe1xuICAgICAgICAgICAgICAgIHJvd3NlbGVjdDogdGhpcy5fc2V0U2VsZWN0ZWRTZXR0aW5nLmJpbmQodGhpcylcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2dyb3VwU2V0dGluZ0NvbnRyb2xVaSA9IGZpZWxkVWk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICBpZiAodGhpcy5fZ3JvdXBTZXR0aW5nQ29udHJvbFVpKSB7XG4gICAgICAgICAgICB0aGlzLl9ncm91cFNldHRpbmdDb250cm9sVWkudmlld2VyQ29udHJvbC51bigncm93c2VsZWN0JywgdGhpcy5fc2V0U2VsZWN0ZWRTZXR0aW5nKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvblNldHRpbmdDbGljaygpOiB2b2lkIHt9XG4gICAgb25CYWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2V0dGluZyA9IGZhbHNlO1xuICAgIH1cbiAgICBfc2V0U2VsZWN0ZWRTZXR0aW5nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2V0dGluZyA9IHRydWU7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vJCB8IGFzeW5jIGFzIG1vOyBlbHNlIGxvYWRpbmdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGF5b3V0OTQkIHwgYXN5bmMgYXMgbGF5b3V0XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJkZXZpY2VTaXplID09PSAnc20nOyBlbHNlIHNpZGVDb250ZW50XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRTZXR0aW5nXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCIocnRsJCB8IGFzeW5jKSEhID8gJ2Fycm93LWxlZnQnIDogJ2Fycm93LXJpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkJhY2soKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgW2NsYXNzLmhpZGVdPVwic2VsZWN0ZWRTZXR0aW5nXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyU2V0dGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBbY2xhc3MuaGlkZV09XCIhc2VsZWN0ZWRTZXR0aW5nXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyRm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzaWRlQ29udGVudD5cbiAgICAgICAgICAgIDxmZC1keW5hbWljLXNpZGUtY29udGVudCBbc2l6ZV09XCJkZXZpY2VTaXplXCI+XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtc2lkZS1jb250ZW50LXNpZGU+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyU2V0dGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbGF5b3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9mZC1keW5hbWljLXNpZGUtY29udGVudC1zaWRlPlxuICAgICAgICAgICAgICAgIDxmZC1keW5hbWljLXNpZGUtY29udGVudC1tYWluPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckZvcm07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2JpbGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtbWFpbj5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNyZW5kZXJGb3JtIGxldC1sYXlvdXQgbGV0LWlzTW9iaWxlPVwiaXNNb2JpbGVcIj5cbiAgICAgICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICAgICAgKm5nSWY9XCJvYmplY3RTZXR0aW5nRmllbGRDYXB0aW9uIHwgY29udHJvbFVpOiBsYXlvdXQgYXMgbGF5b3V0Q29uZmlnXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNldHRpbmdDbGljaygpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZXR0aW5nXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1tb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICAgICAgW2NhcHRpb25dPVwib2JqZWN0U2V0dGluZ0ZpZWxkQ2FwdGlvblwiXG4gICAgICAgICAgICBbY29uZmlnXT1cImxheW91dENvbmZpZ1wiXG4gICAgICAgICAgICBbZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVuZGVyU2V0dGluZyBsZXQtbGF5b3V0IGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCI+XG4gICAgICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcbiAgICAgICAgICAgICpuZ0lmPVwiZ3JvdXBTZXR0aW5nRmllbGRDYXB0aW9uIHwgY29udHJvbFVpOiBsYXlvdXQgYXMgbGF5b3V0Q29uZmlnXCJcbiAgICAgICAgICAgIGNsYXNzPVwibGlzdC1zZXR0aW5nXCJcbiAgICAgICAgICAgIFtjbGFzcy5pcy1tb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICAgICAgW2NhcHRpb25dPVwiZ3JvdXBTZXR0aW5nRmllbGRDYXB0aW9uXCJcbiAgICAgICAgICAgIFtjb25maWddPVwibGF5b3V0Q29uZmlnXCJcbiAgICAgICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
2
+ import { takeUntil } from 'rxjs/operators';
3
+ import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
4
+ import { TabListComponent } from '@fundamental-ngx/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@fundamental-ngx/core/tabs";
8
+ import * as i3 from "barsa-novin-ray-core";
9
+ export class TabProcessViewComponent extends ReportViewBaseComponent {
10
+ ngOnInit() {
11
+ super.ngOnInit();
12
+ this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';
13
+ this.fieldTitle = this.viewSetting.FieldTitle;
14
+ this.fieldSubtitle = this.viewSetting.FieldSubtitle;
15
+ this.fieldIcon = this.viewSetting.FieldIcon;
16
+ this.defaultIcon = this.viewSetting.DefaultIcon;
17
+ this._ulvMainService.moDataList$.pipe(takeUntil(this._onDestroy$)).subscribe((moDataList) => {
18
+ if (moDataList) {
19
+ const selectedIndex = moDataList.findIndex((c) => c.$IsChecked);
20
+ if (this.tabList && selectedIndex > -1) {
21
+ setTimeout(() => this.tabList.tabPanels.toArray()[selectedIndex].open(true), 0);
22
+ }
23
+ }
24
+ });
25
+ }
26
+ onTabChange(e) {
27
+ const index = this.moDataList.findIndex((c) => c.Id === e.id);
28
+ const mo = this.moDataList[index];
29
+ super.onRowCheck({ mo, index });
30
+ }
31
+ }
32
+ TabProcessViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TabProcessViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
+ TabProcessViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TabProcessViewComponent, selector: "bdc-tab-process-view", viewQueries: [{ propertyName: "tabList", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-tab-list mode=\"process\" (selectedTabChange)=\"onTabChange($event)\">\r\n <fd-tab\r\n *ngFor=\"let item of moDataList; let index = index; let last = last\"\r\n [id]=\"item.Id\"\r\n [active]=\"item.$IsChecked\"\r\n >\r\n <ng-template fd-tab-title-template>\r\n <span\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process>\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n</fd-tab-list>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "expandOverflowText", "defaultTab", "selectDefaultOnTabsChange"], outputs: ["selectedTabChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i2.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i2.TabTitleDirective, selector: "[fdTabTitleTemplate], [fd-tab-title-template]" }, { kind: "component", type: i2.TabIconComponent, selector: "[fd-tab-icon]", inputs: ["class", "icon"] }, { kind: "directive", type: i2.TabLabelDirective, selector: "[fdTabLabel], [fd-tab-label]" }, { kind: "directive", type: i2.TabProcessDirective, selector: "[fdTabProcess], [fd-tab-process]" }, { kind: "pipe", type: i3.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TabProcessViewComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'bdc-tab-process-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-tab-list mode=\"process\" (selectedTabChange)=\"onTabChange($event)\">\r\n <fd-tab\r\n *ngFor=\"let item of moDataList; let index = index; let last = last\"\r\n [id]=\"item.Id\"\r\n [active]=\"item.$IsChecked\"\r\n >\r\n <ng-template fd-tab-title-template>\r\n <span\r\n fd-tab-icon\r\n [icon]=\"(fieldIcon | rval: item:allColumns) ? (fieldIcon | rval: item:allColumns) : defaultIcon\"\r\n ></span>\r\n <div fd-tab-process>\r\n <span fd-tab-label>{{ fieldTitle | rval: item:allColumns }}</span>\r\n <span fd-tab-label>{{ fieldSubtitle | rval: item:allColumns }}</span>\r\n </div>\r\n </ng-template>\r\n </fd-tab>\r\n</fd-tab-list>\r\n" }]
37
+ }], propDecorators: { tabList: [{
38
+ type: ViewChild,
39
+ args: [TabListComponent]
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90YWItcHJvY2Vzcy12aWV3L3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFiLXByb2Nlc3Mtdmlldy90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQXFCLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBTzVFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBOEM7SUFVdkYsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEYsSUFBSSxVQUFVLEVBQUU7Z0JBQ1osTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFO29CQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNuRjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLENBQW9CO1FBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDOztvSEEvQlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIscUdBQ3JCLGdCQUFnQix1RUNiL0Isb3hCQWtCQTsyRkROYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OEJBR2xCLE9BQU87c0JBQW5DLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBUYWJQcm9jZXNzVmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWxzJztcbmltcG9ydCB7IFRhYkxpc3RDb21wb25lbnQsIFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmRjLXRhYi1wcm9jZXNzLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFiUHJvY2Vzc1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUYWJQcm9jZXNzVmlld1NldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKFRhYkxpc3RDb21wb25lbnQpIHRhYkxpc3Q6IFRhYkxpc3RDb21wb25lbnQ7XG4gICAgZmllbGRUaXRsZTogc3RyaW5nO1xuICAgIGZpZWxkSWNvbjogc3RyaW5nO1xuICAgIGZpZWxkU3RhdGU6IHN0cmluZztcbiAgICBtb2RlOiBzdHJpbmc7XG4gICAgYXJyb3dSaWdodDogc3RyaW5nO1xuICAgIGZpZWxkU3VidGl0bGU6IHN0cmluZztcbiAgICBkZWZhdWx0SWNvbjogc3RyaW5nO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuYXJyb3dSaWdodCA9IHRoaXMucnRsID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdyc7XG4gICAgICAgIHRoaXMuZmllbGRUaXRsZSA9IHRoaXMudmlld1NldHRpbmcuRmllbGRUaXRsZTtcbiAgICAgICAgdGhpcy5maWVsZFN1YnRpdGxlID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZFN1YnRpdGxlO1xuICAgICAgICB0aGlzLmZpZWxkSWNvbiA9IHRoaXMudmlld1NldHRpbmcuRmllbGRJY29uO1xuICAgICAgICB0aGlzLmRlZmF1bHRJY29uID0gdGhpcy52aWV3U2V0dGluZy5EZWZhdWx0SWNvbjtcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UubW9EYXRhTGlzdCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW9EYXRhTGlzdCkgPT4ge1xuICAgICAgICAgICAgaWYgKG1vRGF0YUxpc3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gbW9EYXRhTGlzdC5maW5kSW5kZXgoKGMpID0+IGMuJElzQ2hlY2tlZCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFiTGlzdCAmJiBzZWxlY3RlZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRhYkxpc3QudGFiUGFuZWxzLnRvQXJyYXkoKVtzZWxlY3RlZEluZGV4XS5vcGVuKHRydWUpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uVGFiQ2hhbmdlKGU6IFRhYlBhbmVsQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy5JZCA9PT0gZS5pZCk7XG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0W2luZGV4XTtcbiAgICAgICAgc3VwZXIub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG59XG4iLCI8ZmQtdGFiLWxpc3QgbW9kZT1cInByb2Nlc3NcIiAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPGZkLXRhYlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vRGF0YUxpc3Q7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIlxyXG4gICAgICAgIFtpZF09XCJpdGVtLklkXCJcclxuICAgICAgICBbYWN0aXZlXT1cIml0ZW0uJElzQ2hlY2tlZFwiXHJcbiAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZkLXRhYi10aXRsZS10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGZkLXRhYi1pY29uXHJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCIoZmllbGRJY29uIHwgcnZhbDogaXRlbTphbGxDb2x1bW5zKSA/IChmaWVsZEljb24gfCBydmFsOiBpdGVtOmFsbENvbHVtbnMpIDogZGVmYXVsdEljb25cIlxyXG4gICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGZkLXRhYi1wcm9jZXNzPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtdGFiLWxhYmVsPnt7IGZpZWxkVGl0bGUgfCBydmFsOiBpdGVtOmFsbENvbHVtbnMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC10YWItbGFiZWw+e3sgZmllbGRTdWJ0aXRsZSB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZmQtdGFiPlxyXG48L2ZkLXRhYi1saXN0PlxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ReportViewBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-sap-ui";
6
+ import * as i3 from "@fundamental-ngx/core/table";
7
+ export class TableViewVerticalColumnsComponent extends ReportViewBaseComponent {
8
+ }
9
+ TableViewVerticalColumnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableViewVerticalColumnsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
+ TableViewVerticalColumnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TableViewVerticalColumnsComponent, selector: "bdc-table-view-vertical-columns", usesInheritance: true, ngImport: i0, template: "<table fd-table>\n <tbody fd-table-body>\n <tr fd-table-row *ngFor=\"let column of columns\">\n <th fd-table-cell>\n <strong>{{ column.Alias }}:</strong>\n </th>\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\n <td\n fd-table-cell\n #tdEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"tdEl\"\n [mo]=\"mo\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [editMode]=\"false\"\n [isChecked]=\"false\"\n [isNewInlineMo]=\"false\"\n [index]=\"index\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [formLayoutShowLabel]=\"false\"\n [deviceSize]=\"deviceSize\"\n ></bsu-column-renderer>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["column", "mo", "index", "editMode", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "rtl", "deviceName", "deviceSize"] }, { kind: "directive", type: i2.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "mo", "hostEl", "dbName"] }, { kind: "component", type: i3.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i3.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i3.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i3.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TableViewVerticalColumnsComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'bdc-table-view-vertical-columns', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table fd-table>\n <tbody fd-table-body>\n <tr fd-table-row *ngFor=\"let column of columns\">\n <th fd-table-cell>\n <strong>{{ column.Alias }}:</strong>\n </th>\n <ng-container *ngFor=\"let mo of moDataList; let index = index\">\n <td\n fd-table-cell\n #tdEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [hostEl]=\"tdEl\"\n [mo]=\"mo\"\n [dbName]=\"column.Name\"\n >\n <bsu-column-renderer\n [mo]=\"mo\"\n [column]=\"column\"\n [editMode]=\"false\"\n [isChecked]=\"false\"\n [isNewInlineMo]=\"false\"\n [index]=\"index\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [formLayoutShowLabel]=\"false\"\n [deviceSize]=\"deviceSize\"\n ></bsu-column-renderer>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n" }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlldy12ZXJ0aWNhbC1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy90YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFibGUtdmlldy12ZXJ0aWNhbC1jb2x1bW5zL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFReEYsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHVCQUFnRDs7OEhBQTFGLGlDQUFpQztrSEFBakMsaUNBQWlDLDhGQ1Q5Qyw4c0NBZ0NBOzJGRHZCYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0ksaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy10YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlVmlld1ZlcnRpY2FsQ29sdW1uc0NvbXBvbmVudCBleHRlbmRzIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiB7fVxuIiwiPHRhYmxlIGZkLXRhYmxlPlxuICAgIDx0Ym9keSBmZC10YWJsZS1ib2R5PlxuICAgICAgICA8dHIgZmQtdGFibGUtcm93ICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBjb2x1bW4uQWxpYXMgfX06PC9zdHJvbmc+XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdDsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgICAgZmQtdGFibGUtY2VsbFxuICAgICAgICAgICAgICAgICAgICAjdGRFbFxuICAgICAgICAgICAgICAgICAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgICAgICAgICAgICAgW2hvc3RFbF09XCJ0ZEVsXCJcbiAgICAgICAgICAgICAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgICAgICAgICAgICAgW2RiTmFtZV09XCJjb2x1bW4uTmFtZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YnN1LWNvbHVtbi1yZW5kZXJlclxuICAgICAgICAgICAgICAgICAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNDaGVja2VkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc05ld0lubGluZU1vXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtTGF5b3V0U2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9ic3UtY29sdW1uLXJlbmRlcmVyPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90cj5cbiAgICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==