barsa-develop-components 1.0.455 → 1.0.457

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 (153) hide show
  1. package/fesm2022/barsa-develop-components.mjs +3774 -0
  2. package/fesm2022/barsa-develop-components.mjs.map +1 -0
  3. package/index.d.ts +5 -5
  4. package/lib/accept-reject/accept-reject.component.d.ts +28 -28
  5. package/lib/avatar/avatar.component.d.ts +12 -12
  6. package/lib/barcode-format-pipe.d.ts +7 -7
  7. package/lib/barcode-reader/barcode-reader.component.d.ts +19 -19
  8. package/lib/barcode-reader-dialog/barcode-reader-dialog.component.d.ts +32 -32
  9. package/lib/barcode-reader-video/barcode-reader-video.component.d.ts +22 -22
  10. package/lib/barcode.service.d.ts +98 -98
  11. package/lib/barsa-develop-components.module.d.ts +120 -117
  12. package/lib/barsa-document-list-item/barsa-document-list-item.component.d.ts +39 -39
  13. package/lib/barsa-documents/barsa-documents.component.d.ts +47 -47
  14. package/lib/barsa-geographic-location/barsa-geographic-location.component.d.ts +46 -46
  15. package/lib/card-content-image-and-title/card-content-image-and-title.component.d.ts +18 -18
  16. package/lib/card-content-line-chart/card-content-line-chart.component.d.ts +9 -9
  17. package/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.d.ts +6 -6
  18. package/lib/card-header-kpi/card-header-kpi.component.d.ts +14 -14
  19. package/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.d.ts +23 -23
  20. package/lib/checkbox-button/checkbox-button.component.d.ts +13 -13
  21. package/lib/column-chip/column-chip.component.d.ts +17 -0
  22. package/lib/column-form-viewer/column-form-viewer.component.d.ts +30 -30
  23. package/lib/column-progressbar/column-progressbar.component.d.ts +41 -0
  24. package/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.d.ts +8 -8
  25. package/lib/footer/footer.component.d.ts +15 -15
  26. package/lib/form-card/form-card.component.d.ts +8 -8
  27. package/lib/form-chart-content/form-chart-content.component.d.ts +9 -9
  28. package/lib/form-content-quick-view/form-content-quick-view.component.d.ts +18 -18
  29. package/lib/form-report-view/form-report-view.component.d.ts +13 -13
  30. package/lib/form-report-view-item/form-report-view-item.component.d.ts +15 -15
  31. package/lib/g4b-details/g4b-details.component.d.ts +9 -9
  32. package/lib/g4b-estelam/g4b-estelam.component.d.ts +11 -11
  33. package/lib/geographic-location/geographic-location.component.d.ts +34 -34
  34. package/lib/login-form/login-form.component.d.ts +12 -12
  35. package/lib/login-social-conncetions/login-social-conncetions.component.d.ts +12 -12
  36. package/lib/master-detail-card-form/master-detail-card-form.component.d.ts +8 -8
  37. package/lib/media-file-uploader/media-file-uploader.component.d.ts +52 -52
  38. package/lib/micro-proccess-flow/micro-proccess-flow.component.d.ts +28 -28
  39. package/lib/micro-process-flow-view/micro-process-flow-view.component.d.ts +14 -14
  40. package/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.d.ts +9 -9
  41. package/lib/models/document-item.d.ts +19 -19
  42. package/lib/models/documents-setting.d.ts +11 -11
  43. package/lib/models/form-report-view-setting.d.ts +7 -7
  44. package/lib/models/index.d.ts +7 -7
  45. package/lib/models/micro-process-flow-view-setting.d.ts +8 -8
  46. package/lib/models/person.d.ts +10 -10
  47. package/lib/models/service-desk-view-of-services-setting.d.ts +6 -6
  48. package/lib/models/tab-process-view-setting.d.ts +7 -7
  49. package/lib/pipes/datasource-to-flow-item.d.ts +10 -10
  50. package/lib/pipes/index.d.ts +2 -2
  51. package/lib/pipes/mo-list-to-flow-item.pipe.d.ts +10 -10
  52. package/lib/query-string-form-observable/query-string-form-observable.component.d.ts +13 -13
  53. package/lib/query-string-observable/query-string-observable.component.d.ts +9 -9
  54. package/lib/report-button-view/report-button-view.component.d.ts +12 -12
  55. package/lib/report-line-chart-view/report-line-chart-view.component.d.ts +7 -7
  56. package/lib/report-tab-view/report-tab-view.component.d.ts +15 -15
  57. package/lib/resend-verification-code/resend-verification-code.component.d.ts +19 -18
  58. package/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.d.ts +15 -15
  59. package/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.d.ts +26 -26
  60. package/lib/service-desk-header/service-desk-header.component.d.ts +61 -63
  61. package/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.d.ts +39 -39
  62. package/lib/service-desk-view-of-services/service-desk-view-of-services.component.d.ts +16 -16
  63. package/lib/setting-form/setting-form.component.d.ts +20 -20
  64. package/lib/subform-in-row-report/subform-in-row-report.component.d.ts +22 -21
  65. package/lib/tab-process-view/tab-process-view.component.d.ts +20 -20
  66. package/lib/table-view-vertical-columns/table-view-vertical-columns.component.d.ts +6 -6
  67. package/lib/timer-count-down/timer-count-down.component.d.ts +16 -15
  68. package/lib/token-report-view/token-report-view.component.d.ts +15 -15
  69. package/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.d.ts +9 -9
  70. package/lib/ui-num-rate/ui-num-rate.component.d.ts +9 -9
  71. package/lib/ui-person/ui-person.component.d.ts +31 -31
  72. package/lib/ui-person/ui-person.pipe.d.ts +7 -7
  73. package/lib/ui-pictures-carousel/ui-pictures-carousel.component.d.ts +6 -6
  74. package/lib/ui-text-field-search/ui-text-field-search.component.d.ts +17 -17
  75. package/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.d.ts +25 -25
  76. package/package.json +5 -13
  77. package/public-api.d.ts +60 -58
  78. package/esm2020/barsa-develop-components.mjs +0 -5
  79. package/esm2020/lib/accept-reject/accept-reject.component.mjs +0 -69
  80. package/esm2020/lib/avatar/avatar.component.mjs +0 -29
  81. package/esm2020/lib/barcode-format-pipe.mjs +0 -24
  82. package/esm2020/lib/barcode-reader/barcode-reader.component.mjs +0 -62
  83. package/esm2020/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +0 -82
  84. package/esm2020/lib/barcode-reader-video/barcode-reader-video.component.mjs +0 -66
  85. package/esm2020/lib/barcode.service.mjs +0 -330
  86. package/esm2020/lib/barsa-develop-components.module.mjs +0 -284
  87. package/esm2020/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +0 -104
  88. package/esm2020/lib/barsa-documents/barsa-documents.component.mjs +0 -173
  89. package/esm2020/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +0 -174
  90. package/esm2020/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +0 -51
  91. package/esm2020/lib/card-content-line-chart/card-content-line-chart.component.mjs +0 -38
  92. package/esm2020/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +0 -20
  93. package/esm2020/lib/card-header-kpi/card-header-kpi.component.mjs +0 -41
  94. package/esm2020/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +0 -46
  95. package/esm2020/lib/checkbox-button/checkbox-button.component.mjs +0 -23
  96. package/esm2020/lib/column-form-viewer/column-form-viewer.component.mjs +0 -88
  97. package/esm2020/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +0 -18
  98. package/esm2020/lib/footer/footer.component.mjs +0 -44
  99. package/esm2020/lib/form-card/form-card.component.mjs +0 -18
  100. package/esm2020/lib/form-chart-content/form-chart-content.component.mjs +0 -38
  101. package/esm2020/lib/form-content-quick-view/form-content-quick-view.component.mjs +0 -102
  102. package/esm2020/lib/form-report-view/form-report-view.component.mjs +0 -26
  103. package/esm2020/lib/form-report-view-item/form-report-view-item.component.mjs +0 -45
  104. package/esm2020/lib/g4b-details/g4b-details.component.mjs +0 -28
  105. package/esm2020/lib/g4b-estelam/g4b-estelam.component.mjs +0 -30
  106. package/esm2020/lib/geographic-location/geographic-location.component.mjs +0 -88
  107. package/esm2020/lib/login-form/login-form.component.mjs +0 -55
  108. package/esm2020/lib/login-social-conncetions/login-social-conncetions.component.mjs +0 -30
  109. package/esm2020/lib/master-detail-card-form/master-detail-card-form.component.mjs +0 -17
  110. package/esm2020/lib/media-file-uploader/media-file-uploader.component.mjs +0 -238
  111. package/esm2020/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +0 -53
  112. package/esm2020/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +0 -24
  113. package/esm2020/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +0 -23
  114. package/esm2020/lib/models/document-item.mjs +0 -2
  115. package/esm2020/lib/models/documents-setting.mjs +0 -2
  116. package/esm2020/lib/models/form-report-view-setting.mjs +0 -2
  117. package/esm2020/lib/models/index.mjs +0 -8
  118. package/esm2020/lib/models/micro-process-flow-view-setting.mjs +0 -2
  119. package/esm2020/lib/models/person.mjs +0 -2
  120. package/esm2020/lib/models/service-desk-view-of-services-setting.mjs +0 -2
  121. package/esm2020/lib/models/tab-process-view-setting.mjs +0 -2
  122. package/esm2020/lib/pipes/datasource-to-flow-item.mjs +0 -22
  123. package/esm2020/lib/pipes/index.mjs +0 -3
  124. package/esm2020/lib/pipes/mo-list-to-flow-item.pipe.mjs +0 -22
  125. package/esm2020/lib/query-string-form-observable/query-string-form-observable.component.mjs +0 -37
  126. package/esm2020/lib/query-string-observable/query-string-observable.component.mjs +0 -22
  127. package/esm2020/lib/report-button-view/report-button-view.component.mjs +0 -38
  128. package/esm2020/lib/report-line-chart-view/report-line-chart-view.component.mjs +0 -13
  129. package/esm2020/lib/report-tab-view/report-tab-view.component.mjs +0 -28
  130. package/esm2020/lib/resend-verification-code/resend-verification-code.component.mjs +0 -59
  131. package/esm2020/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +0 -28
  132. package/esm2020/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +0 -110
  133. package/esm2020/lib/service-desk-header/service-desk-header.component.mjs +0 -236
  134. package/esm2020/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +0 -142
  135. package/esm2020/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +0 -37
  136. package/esm2020/lib/setting-form/setting-form.component.mjs +0 -64
  137. package/esm2020/lib/subform-in-row-report/subform-in-row-report.component.mjs +0 -65
  138. package/esm2020/lib/tab-process-view/tab-process-view.component.mjs +0 -49
  139. package/esm2020/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +0 -16
  140. package/esm2020/lib/timer-count-down/timer-count-down.component.mjs +0 -98
  141. package/esm2020/lib/token-report-view/token-report-view.component.mjs +0 -27
  142. package/esm2020/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +0 -25
  143. package/esm2020/lib/ui-num-rate/ui-num-rate.component.mjs +0 -29
  144. package/esm2020/lib/ui-person/ui-person.component.mjs +0 -160
  145. package/esm2020/lib/ui-person/ui-person.pipe.mjs +0 -40
  146. package/esm2020/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +0 -17
  147. package/esm2020/lib/ui-text-field-search/ui-text-field-search.component.mjs +0 -42
  148. package/esm2020/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +0 -70
  149. package/esm2020/public-api.mjs +0 -62
  150. package/fesm2015/barsa-develop-components.mjs +0 -3660
  151. package/fesm2015/barsa-develop-components.mjs.map +0 -1
  152. package/fesm2020/barsa-develop-components.mjs +0 -3625
  153. package/fesm2020/barsa-develop-components.mjs.map +0 -1
@@ -1,173 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Optional } from '@angular/core';
2
- import { FilesValidationHelper, LinearListHelper, ReportViewBaseComponent, UploadService } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "barsa-novin-ray-core";
5
- import * as i2 from "@fundamental-ngx/core";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@fundamental-ngx/core/table";
8
- import * as i5 from "../barsa-document-list-item/barsa-document-list-item.component";
9
- export class BarsaDocumentsComponent extends ReportViewBaseComponent {
10
- constructor(_el, _cdr, _renderer2, _findColumnByDbName, _ulvMainService, _portalService, _dialogService, _uploadService) {
11
- super(_el, _cdr, _renderer2, _findColumnByDbName, _ulvMainService, _portalService, _uploadService);
12
- this._el = _el;
13
- this._cdr = _cdr;
14
- this._renderer2 = _renderer2;
15
- this._findColumnByDbName = _findColumnByDbName;
16
- this._ulvMainService = _ulvMainService;
17
- this._portalService = _portalService;
18
- this._dialogService = _dialogService;
19
- this._uploadService = _uploadService;
20
- }
21
- get documentItems() {
22
- if (this.customFieldInfo) {
23
- return this.customFieldInfo.DocumentItems.MoDataList;
24
- }
25
- else {
26
- return this.viewSetting.FilesSetting.DocumentItems.MoDataList;
27
- }
28
- }
29
- ngOnInit() {
30
- super.ngOnInit();
31
- const { moDataList, viewSetting, allColumns } = this;
32
- this._initColumnField(allColumns, viewSetting);
33
- this._subscribeOnUploadFile(this.fileColumn);
34
- this._mapDocumentItem(moDataList, this.documentItems);
35
- this._checkMandatory();
36
- }
37
- ngOnChanges(changes) {
38
- super.ngOnChanges(changes);
39
- const { moDataList } = changes;
40
- if (moDataList && !moDataList.firstChange) {
41
- if (moDataList && !moDataList.firstChange) {
42
- this._mapDocumentItem(moDataList.currentValue, this.documentItems);
43
- this.detectChanges();
44
- }
45
- }
46
- }
47
- ngAfterViewInit() {
48
- super.ngAfterViewInit();
49
- setTimeout(() => {
50
- for (let i = 0; i < this.documentItems.length - this.moDataList.length; i++) {
51
- this.createNewMo.emit();
52
- }
53
- });
54
- }
55
- onFileSelection(files, documentItem, mo) {
56
- this.selectedMo = mo;
57
- this._uploadFile(files, documentItem);
58
- }
59
- onRemoveFile(file, mo) {
60
- const fileDbName = this.fileColumn.Name;
61
- let files = mo[fileDbName].Files;
62
- if (file.IsNew) {
63
- files = files.filter((c) => c.Id !== file.Id);
64
- }
65
- else {
66
- const existFile = files.find((c) => c.Id === file.Id);
67
- existFile.IsDeleted = true;
68
- }
69
- mo[fileDbName].Files = [...files];
70
- this._updateMo(mo);
71
- }
72
- onStatusChanged(e, mo) {
73
- mo[this.statusColumn.Name] = e.value;
74
- mo[this.rejectedReasonColumn.Name] = e.rejectedText;
75
- this._updateMo(mo);
76
- }
77
- onRejectedTextChange(text, mo) {
78
- mo[this.rejectedReasonColumn.Name] = text;
79
- this._updateMo(mo);
80
- }
81
- _checkMandatory() {
82
- const moDataList = this.moDataList;
83
- const items = this.documentItems.filter((c) => c.IsRequired);
84
- let mandatory = items.length > 0;
85
- const mandatory2 = items
86
- .map((item) => moDataList.find((c) => c[this.keyColumn.Name] === item.ItemKey))
87
- .filter((item) => item)
88
- .some((mo) => mo[this.fileColumn.Name].Files.filter((c) => !c.IsDeleted).length === 0);
89
- mandatory = mandatory && mandatory2;
90
- this.mandatory.emit(mandatory);
91
- }
92
- _mapDocumentItem(moDataList, documentItems) {
93
- const keyName = this.keyColumn.Name;
94
- moDataList.forEach((mo, index) => {
95
- let documentItem = documentItems.find((c) => c.ItemKey === mo[keyName]); // find setting that matches with mo by itemKey
96
- if (documentItem) {
97
- mo.$documentItem = documentItem;
98
- }
99
- else {
100
- documentItem = documentItems.find((item) => moDataList.map((c) => c[keyName]).indexOf(item.ItemKey) < 0); // find a setting has not have $RelatedMo yet
101
- if (documentItem) {
102
- mo[keyName] = documentItem.ItemKey;
103
- mo.$documentItem = documentItem;
104
- this.updateMo.emit(mo);
105
- }
106
- }
107
- });
108
- }
109
- _initColumnField(allColumns, viewSetting) {
110
- const keyColumn = this._findColumnByDbName.transform(allColumns, viewSetting.ItemKeyField);
111
- const fileColumn = this._findColumnByDbName.transform(allColumns, viewSetting.FileField);
112
- const acceptedColumn = this._findColumnByDbName.transform(allColumns, viewSetting.AcceptedField);
113
- const rejectedReasonColumn = this._findColumnByDbName.transform(allColumns, viewSetting.RejectedReasonField);
114
- const statusColumn = this._findColumnByDbName.transform(allColumns, viewSetting.StatusField);
115
- !keyColumn && this._columnNotExistsInReport(viewSetting.ItemKeyField);
116
- !fileColumn && this._columnNotExistsInReport(viewSetting.FileField);
117
- !rejectedReasonColumn && this._columnNotExistsInReport(viewSetting.RejectedReasonField);
118
- !acceptedColumn && this._columnNotExistsInReport(viewSetting.AcceptedField);
119
- !statusColumn && this._columnNotExistsInReport(viewSetting.StatusField);
120
- keyColumn && (this.keyColumn = keyColumn);
121
- fileColumn && (this.fileColumn = fileColumn);
122
- acceptedColumn && (this.acceptedColumn = acceptedColumn);
123
- rejectedReasonColumn && (this.rejectedReasonColumn = rejectedReasonColumn);
124
- statusColumn && (this.statusColumn = statusColumn);
125
- }
126
- _subscribeOnUploadFile(fileColumn) {
127
- this._filesValidationHelper = new FilesValidationHelper(0, 0, 0);
128
- if (this._uploadService) {
129
- this._createLinearHelper(this._uploadService, this._filesValidationHelper, fileColumn.FieldDefId);
130
- this.uploadingState$ = this._uploadService.uploadingState$;
131
- }
132
- else {
133
- throw new Error('UploadService not provided.');
134
- }
135
- this._linearHelper.newFileUploaded$.subscribe((file) => {
136
- const mo = this.moDataList.find((c) => c.Id === this.selectedMo.Id);
137
- if (mo) {
138
- mo[fileColumn.Name].Files = [...mo[fileColumn.Name].Files, file];
139
- this._updateMo(mo);
140
- }
141
- });
142
- }
143
- _updateMo(mo) {
144
- mo.$NewInlineMo = undefined;
145
- if (mo.$State === 'Unchanged') {
146
- mo.$State = 'Modified';
147
- }
148
- this.updateMo.emit(mo);
149
- this._checkMandatory();
150
- }
151
- _createLinearHelper(uploadService, filesValidationHelper, fieldDefId) {
152
- this._linearHelper = new LinearListHelper(uploadService, filesValidationHelper, fieldDefId);
153
- }
154
- _uploadFile(files, documentItem) {
155
- const filesValidationHelper = this._filesValidationHelper;
156
- filesValidationHelper.maxFileCount = +documentItem.MaxFileCount;
157
- filesValidationHelper.maxFileSize = +documentItem.EachFileSize;
158
- filesValidationHelper.maxTotalFileSize = +documentItem.MaxFileSize;
159
- this._linearHelper.uploadToServer(files, documentItem.Title);
160
- }
161
- _columnNotExistsInReport(columnCaption) {
162
- throw new Error(`can not find ${columnCaption} column in report.please add it to report columns.`);
163
- }
164
- }
165
- BarsaDocumentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaDocumentsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.FindColumnByDbNamePipe }, { token: i1.UlvMainService }, { token: i1.PortalService }, { token: i2.DialogService }, { token: i1.UploadService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
166
- BarsaDocumentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaDocumentsComponent, selector: "bdc-barsa-documents", providers: [UploadService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- <ul fd-list [byline]=\"true\" fdCompact [selection]=\"false\"> -->\n<table fd-table aria-label=\"Default\" [allCellsFocusable]=\"true\" [noBorderX]=\"true\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>{{ '\u0639\u06A9\u0633' | bbbTranslate }}</th>\n <th fd-table-cell style=\"min-width: 140px; width: auto\">{{ '\u0646\u0648\u0639 \u0645\u062F\u0631\u06A9' | bbbTranslate }}</th>\n <th fd-table-cell style=\"width: 99%\">{{ '\u0627\u0644\u0635\u0627\u0642 \u0641\u0627\u06CC\u0644' | bbbTranslate }}</th>\n <th fd-table-cell></th>\n <th fd-table-cell style=\"width: 400px; min-width: 400px; max-width: 400px\">{{ '\u0648\u0636\u0639\u06CC\u062A' | bbbTranslate }}</th>\n </tr>\n </thead>\n <tbody fd-table-body>\n <ng-container *ngFor=\"let mo of moDataList; trackBy: _trackByRow\">\n <bdc-barsa-document-list-item\n *ngIf=\"mo.$documentItem\"\n [documentItem]=\"mo.$documentItem\"\n [accepted]=\"mo[acceptedColumn.Name]\"\n [files]=\"mo[fileColumn.Name].Files\"\n [uploadingState]=\"(uploadingState$ | async)!!\"\n [rejectedReason]=\"mo[rejectedReasonColumn.Name]\"\n [fileDbName]=\"fileColumn.Name\"\n [status]=\"+mo[statusColumn.Name]\"\n [deviceSize]=\"deviceSize\"\n [readonly]=\"!access.Edit\"\n [deviceSize]=\"deviceSize\"\n (removeFile)=\"onRemoveFile($event, mo)\"\n (fileSelectionChange)=\"onFileSelection($event, mo.$documentItem, mo)\"\n (rejectTextChange)=\"onRejectedTextChange($event, mo)\"\n (statusChanged)=\"onStatusChanged($event, mo)\"\n ></bdc-barsa-document-list-item>\n </ng-container>\n <!-- </ul> -->\n </tbody>\n</table>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "directive", type: i4.TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4.TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: i4.TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: i4.TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "tabindex", "hoverable", "fitContent", "noPadding", "noData", "key", "cellFocusedEventAnnouncer"] }, { kind: "component", type: i5.BarsaDocumentListItemComponent, selector: "bdc-barsa-document-list-item", inputs: ["documentItem", "deviceSize", "files", "accepted", "rejectedReason", "readonly", "status", "uploadingState"], outputs: ["statusChanged", "rejectTextChange", "fileSelectionChange", "removeFile", "fullscreen", "download", "downloadAll"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaDocumentsComponent, decorators: [{
168
- type: Component,
169
- args: [{ selector: 'bdc-barsa-documents', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], template: "<!-- <ul fd-list [byline]=\"true\" fdCompact [selection]=\"false\"> -->\n<table fd-table aria-label=\"Default\" [allCellsFocusable]=\"true\" [noBorderX]=\"true\">\n <thead fd-table-header>\n <tr fd-table-row>\n <th fd-table-cell>{{ '\u0639\u06A9\u0633' | bbbTranslate }}</th>\n <th fd-table-cell style=\"min-width: 140px; width: auto\">{{ '\u0646\u0648\u0639 \u0645\u062F\u0631\u06A9' | bbbTranslate }}</th>\n <th fd-table-cell style=\"width: 99%\">{{ '\u0627\u0644\u0635\u0627\u0642 \u0641\u0627\u06CC\u0644' | bbbTranslate }}</th>\n <th fd-table-cell></th>\n <th fd-table-cell style=\"width: 400px; min-width: 400px; max-width: 400px\">{{ '\u0648\u0636\u0639\u06CC\u062A' | bbbTranslate }}</th>\n </tr>\n </thead>\n <tbody fd-table-body>\n <ng-container *ngFor=\"let mo of moDataList; trackBy: _trackByRow\">\n <bdc-barsa-document-list-item\n *ngIf=\"mo.$documentItem\"\n [documentItem]=\"mo.$documentItem\"\n [accepted]=\"mo[acceptedColumn.Name]\"\n [files]=\"mo[fileColumn.Name].Files\"\n [uploadingState]=\"(uploadingState$ | async)!!\"\n [rejectedReason]=\"mo[rejectedReasonColumn.Name]\"\n [fileDbName]=\"fileColumn.Name\"\n [status]=\"+mo[statusColumn.Name]\"\n [deviceSize]=\"deviceSize\"\n [readonly]=\"!access.Edit\"\n [deviceSize]=\"deviceSize\"\n (removeFile)=\"onRemoveFile($event, mo)\"\n (fileSelectionChange)=\"onFileSelection($event, mo.$documentItem, mo)\"\n (rejectTextChange)=\"onRejectedTextChange($event, mo)\"\n (statusChanged)=\"onStatusChanged($event, mo)\"\n ></bdc-barsa-document-list-item>\n </ng-container>\n <!-- </ul> -->\n </tbody>\n</table>\n", styles: [":host{display:block}\n"] }]
170
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1.FindColumnByDbNamePipe }, { type: i1.UlvMainService }, { type: i1.PortalService }, { type: i2.DialogService }, { type: i1.UploadService, decorators: [{
171
- type: Optional
172
- }] }]; } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2JhcnNhLWRvY3VtZW50cy9iYXJzYS1kb2N1bWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyc2EtZG9jdW1lbnRzL2JhcnNhLWRvY3VtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFJVCxRQUFRLEVBR1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBRXZCLGFBQWEsRUFNaEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVc5QixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQXlDO0lBWWxGLFlBQ2MsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLG1CQUEyQyxFQUMzQyxlQUErQixFQUMvQixjQUE2QixFQUM3QixjQUE2QixFQUNqQixjQUE4QjtRQUVwRCxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVR6RixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNqQixtQkFBYyxHQUFk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SEE3S1EsdUJBQXVCO3dHQUF2Qix1QkFBdUIsOENBRnJCLENBQUMsYUFBYSxDQUFDLHNFQ2pDOUIsdTREQWtDQTsyRkRDYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUM7OzBCQXNCckIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGaWxlc1ZhbGlkYXRpb25IZWxwZXIsXG4gICAgTGluZWFyTGlzdEhlbHBlcixcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgVXBsb2FkU2VydmljZSxcbiAgICBGaWxlQXR0YWNobWVudEluZm8sXG4gICAgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIFVsdk1haW5TZXJ2aWNlLFxuICAgIElVcGxvYWRpbmdTdGF0ZVxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEb2N1bWVudEl0ZW0sIERvY3VtZW50c1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy1iYXJzYS1kb2N1bWVudHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1kb2N1bWVudHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWRvY3VtZW50cy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1VwbG9hZFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhRG9jdW1lbnRzQ29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8RG9jdW1lbnRzU2V0dGluZz4gaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAga2V5Q29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xuICAgIGZpbGVDb2x1bW46IFJlcG9ydFZpZXdDb2x1bW47XG4gICAgc3RhdHVzQ29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xuICAgIHJlamVjdGVkUmVhc29uQ29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xuICAgIGFjY2VwdGVkQ29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uO1xuICAgIHNlbGVjdGVkTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgdXBsb2FkaW5nU3RhdGUkOiBPYnNlcnZhYmxlPElVcGxvYWRpbmdTdGF0ZT47XG5cbiAgICBwcm90ZWN0ZWQgX2ZpbGVzVmFsaWRhdGlvbkhlbHBlcjogRmlsZXNWYWxpZGF0aW9uSGVscGVyO1xuICAgIHByb3RlY3RlZCBfbGluZWFySGVscGVyOiBMaW5lYXJMaXN0SGVscGVyO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJvdGVjdGVkIF9maW5kQ29sdW1uQnlEYk5hbWU6IEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXG4gICAgICAgIHByb3RlY3RlZCBfdWx2TWFpblNlcnZpY2U6IFVsdk1haW5TZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlPzogVXBsb2FkU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihfZWwsIF9jZHIsIF9yZW5kZXJlcjIsIF9maW5kQ29sdW1uQnlEYk5hbWUsIF91bHZNYWluU2VydmljZSwgX3BvcnRhbFNlcnZpY2UsIF91cGxvYWRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBnZXQgZG9jdW1lbnRJdGVtcygpOiBBcnJheTxEb2N1bWVudEl0ZW0+IHtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tRmllbGRJbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21GaWVsZEluZm8uRG9jdW1lbnRJdGVtcy5Nb0RhdGFMaXN0IGFzIEFycmF5PERvY3VtZW50SXRlbT47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52aWV3U2V0dGluZy5GaWxlc1NldHRpbmcuRG9jdW1lbnRJdGVtcy5Nb0RhdGFMaXN0IGFzIEFycmF5PERvY3VtZW50SXRlbT47XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IHsgbW9EYXRhTGlzdCwgdmlld1NldHRpbmcsIGFsbENvbHVtbnMgfSA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5faW5pdENvbHVtbkZpZWxkKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nKTtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlT25VcGxvYWRGaWxlKHRoaXMuZmlsZUNvbHVtbik7XG4gICAgICAgIHRoaXMuX21hcERvY3VtZW50SXRlbShtb0RhdGFMaXN0LCB0aGlzLmRvY3VtZW50SXRlbXMpO1xuICAgICAgICB0aGlzLl9jaGVja01hbmRhdG9yeSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGNvbnN0IHsgbW9EYXRhTGlzdCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKG1vRGF0YUxpc3QgJiYgIW1vRGF0YUxpc3QuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIGlmIChtb0RhdGFMaXN0ICYmICFtb0RhdGFMaXN0LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbWFwRG9jdW1lbnRJdGVtKG1vRGF0YUxpc3QuY3VycmVudFZhbHVlLCB0aGlzLmRvY3VtZW50SXRlbXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmRvY3VtZW50SXRlbXMubGVuZ3RoIC0gdGhpcy5tb0RhdGFMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVOZXdNby5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBvbkZpbGVTZWxlY3Rpb24oZmlsZXM6IEZpbGVbXSwgZG9jdW1lbnRJdGVtOiBEb2N1bWVudEl0ZW0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNbyA9IG1vO1xuICAgICAgICB0aGlzLl91cGxvYWRGaWxlKGZpbGVzLCBkb2N1bWVudEl0ZW0pO1xuICAgIH1cbiAgICBvblJlbW92ZUZpbGUoZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvLCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWxlRGJOYW1lID0gdGhpcy5maWxlQ29sdW1uLk5hbWU7XG4gICAgICAgIGxldCBmaWxlcyA9IG1vW2ZpbGVEYk5hbWVdLkZpbGVzO1xuICAgICAgICBpZiAoZmlsZS5Jc05ldykge1xuICAgICAgICAgICAgZmlsZXMgPSBmaWxlcy5maWx0ZXIoKGMpID0+IGMuSWQgIT09IGZpbGUuSWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RGaWxlID0gZmlsZXMuZmluZCgoYykgPT4gYy5JZCA9PT0gZmlsZS5JZCk7XG4gICAgICAgICAgICBleGlzdEZpbGUuSXNEZWxldGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBtb1tmaWxlRGJOYW1lXS5GaWxlcyA9IFsuLi5maWxlc107XG4gICAgICAgIHRoaXMuX3VwZGF0ZU1vKG1vKTtcbiAgICB9XG4gICAgb25TdGF0dXNDaGFuZ2VkKGU6IHsgdmFsdWU6IG51bWJlcjsgcmVqZWN0ZWRUZXh0OiBzdHJpbmcgfSwgbW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbW9bdGhpcy5zdGF0dXNDb2x1bW4uTmFtZV0gPSBlLnZhbHVlO1xuICAgICAgICBtb1t0aGlzLnJlamVjdGVkUmVhc29uQ29sdW1uLk5hbWVdID0gZS5yZWplY3RlZFRleHQ7XG4gICAgICAgIHRoaXMuX3VwZGF0ZU1vKG1vKTtcbiAgICB9XG4gICAgb25SZWplY3RlZFRleHRDaGFuZ2UodGV4dDogc3RyaW5nLCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICBtb1t0aGlzLnJlamVjdGVkUmVhc29uQ29sdW1uLk5hbWVdID0gdGV4dDtcbiAgICAgICAgdGhpcy5fdXBkYXRlTW8obW8pO1xuICAgIH1cbiAgICBfY2hlY2tNYW5kYXRvcnkoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1vRGF0YUxpc3QgPSB0aGlzLm1vRGF0YUxpc3Q7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5kb2N1bWVudEl0ZW1zLmZpbHRlcigoYykgPT4gYy5Jc1JlcXVpcmVkKTtcbiAgICAgICAgbGV0IG1hbmRhdG9yeSA9IGl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgICAgIGNvbnN0IG1hbmRhdG9yeTIgPSBpdGVtc1xuICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gbW9EYXRhTGlzdC5maW5kKChjKSA9PiBjW3RoaXMua2V5Q29sdW1uLk5hbWVdID09PSBpdGVtLkl0ZW1LZXkpKVxuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSlcbiAgICAgICAgICAgIC5zb21lKChtbykgPT4gbW9bdGhpcy5maWxlQ29sdW1uLk5hbWVdLkZpbGVzLmZpbHRlcigoYykgPT4gIWMuSXNEZWxldGVkKS5sZW5ndGggPT09IDApO1xuICAgICAgICBtYW5kYXRvcnkgPSBtYW5kYXRvcnkgJiYgbWFuZGF0b3J5MjtcbiAgICAgICAgdGhpcy5tYW5kYXRvcnkuZW1pdChtYW5kYXRvcnkpO1xuICAgIH1cbiAgICBfbWFwRG9jdW1lbnRJdGVtKG1vRGF0YUxpc3Q6IEFycmF5PE1ldGFvYmplY3REYXRhTW9kZWw+LCBkb2N1bWVudEl0ZW1zOiBBcnJheTxEb2N1bWVudEl0ZW0+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGtleU5hbWUgPSB0aGlzLmtleUNvbHVtbi5OYW1lO1xuICAgICAgICBtb0RhdGFMaXN0LmZvckVhY2goKG1vLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgbGV0IGRvY3VtZW50SXRlbSA9IGRvY3VtZW50SXRlbXMuZmluZCgoYykgPT4gYy5JdGVtS2V5ID09PSBtb1trZXlOYW1lXSk7IC8vIGZpbmQgc2V0dGluZyB0aGF0IG1hdGNoZXMgd2l0aCBtbyBieSBpdGVtS2V5XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgbW8uJGRvY3VtZW50SXRlbSA9IGRvY3VtZW50SXRlbTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnRJdGVtID0gZG9jdW1lbnRJdGVtcy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAoaXRlbSkgPT4gbW9EYXRhTGlzdC5tYXAoKGMpID0+IGNba2V5TmFtZV0pLmluZGV4T2YoaXRlbS5JdGVtS2V5KSA8IDBcbiAgICAgICAgICAgICAgICApOyAvLyBmaW5kIGEgc2V0dGluZyBoYXMgbm90IGhhdmUgJFJlbGF0ZWRNbyB5ZXRcbiAgICAgICAgICAgICAgICBpZiAoZG9jdW1lbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIG1vW2tleU5hbWVdID0gZG9jdW1lbnRJdGVtLkl0ZW1LZXk7XG4gICAgICAgICAgICAgICAgICAgIG1vLiRkb2N1bWVudEl0ZW0gPSBkb2N1bWVudEl0ZW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW8uZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9pbml0Q29sdW1uRmllbGQoYWxsQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdLCB2aWV3U2V0dGluZzogRG9jdW1lbnRzU2V0dGluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBrZXlDb2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkl0ZW1LZXlGaWVsZCk7XG4gICAgICAgIGNvbnN0IGZpbGVDb2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLkZpbGVGaWVsZCk7XG4gICAgICAgIGNvbnN0IGFjY2VwdGVkQ29sdW1uID0gdGhpcy5fZmluZENvbHVtbkJ5RGJOYW1lLnRyYW5zZm9ybShhbGxDb2x1bW5zLCB2aWV3U2V0dGluZy5BY2NlcHRlZEZpZWxkKTtcbiAgICAgICAgY29uc3QgcmVqZWN0ZWRSZWFzb25Db2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlJlamVjdGVkUmVhc29uRmllbGQpO1xuICAgICAgICBjb25zdCBzdGF0dXNDb2x1bW4gPSB0aGlzLl9maW5kQ29sdW1uQnlEYk5hbWUudHJhbnNmb3JtKGFsbENvbHVtbnMsIHZpZXdTZXR0aW5nLlN0YXR1c0ZpZWxkKTtcbiAgICAgICAgIWtleUNvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5JdGVtS2V5RmllbGQpO1xuICAgICAgICAhZmlsZUNvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5GaWxlRmllbGQpO1xuICAgICAgICAhcmVqZWN0ZWRSZWFzb25Db2x1bW4gJiYgdGhpcy5fY29sdW1uTm90RXhpc3RzSW5SZXBvcnQodmlld1NldHRpbmcuUmVqZWN0ZWRSZWFzb25GaWVsZCk7XG4gICAgICAgICFhY2NlcHRlZENvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5BY2NlcHRlZEZpZWxkKTtcbiAgICAgICAgIXN0YXR1c0NvbHVtbiAmJiB0aGlzLl9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydCh2aWV3U2V0dGluZy5TdGF0dXNGaWVsZCk7XG5cbiAgICAgICAga2V5Q29sdW1uICYmICh0aGlzLmtleUNvbHVtbiA9IGtleUNvbHVtbik7XG4gICAgICAgIGZpbGVDb2x1bW4gJiYgKHRoaXMuZmlsZUNvbHVtbiA9IGZpbGVDb2x1bW4pO1xuICAgICAgICBhY2NlcHRlZENvbHVtbiAmJiAodGhpcy5hY2NlcHRlZENvbHVtbiA9IGFjY2VwdGVkQ29sdW1uKTtcbiAgICAgICAgcmVqZWN0ZWRSZWFzb25Db2x1bW4gJiYgKHRoaXMucmVqZWN0ZWRSZWFzb25Db2x1bW4gPSByZWplY3RlZFJlYXNvbkNvbHVtbik7XG4gICAgICAgIHN0YXR1c0NvbHVtbiAmJiAodGhpcy5zdGF0dXNDb2x1bW4gPSBzdGF0dXNDb2x1bW4pO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3N1YnNjcmliZU9uVXBsb2FkRmlsZShmaWxlQ29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlciA9IG5ldyBGaWxlc1ZhbGlkYXRpb25IZWxwZXIoMCwgMCwgMCk7XG4gICAgICAgIGlmICh0aGlzLl91cGxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLl9jcmVhdGVMaW5lYXJIZWxwZXIodGhpcy5fdXBsb2FkU2VydmljZSwgdGhpcy5fZmlsZXNWYWxpZGF0aW9uSGVscGVyLCBmaWxlQ29sdW1uLkZpZWxkRGVmSWQpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdTdGF0ZSQgPSB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZGluZ1N0YXRlJDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVXBsb2FkU2VydmljZSBub3QgcHJvdmlkZWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9saW5lYXJIZWxwZXIubmV3RmlsZVVwbG9hZGVkJC5zdWJzY3JpYmUoKGZpbGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0LmZpbmQoKGMpID0+IGMuSWQgPT09IHRoaXMuc2VsZWN0ZWRNby5JZCk7XG4gICAgICAgICAgICBpZiAobW8pIHtcbiAgICAgICAgICAgICAgICBtb1tmaWxlQ29sdW1uLk5hbWVdLkZpbGVzID0gWy4uLm1vW2ZpbGVDb2x1bW4uTmFtZV0uRmlsZXMsIGZpbGVdO1xuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU1vKG1vKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfdXBkYXRlTW8obW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgbW8uJE5ld0lubGluZU1vID0gdW5kZWZpbmVkO1xuICAgICAgICBpZiAobW8uJFN0YXRlID09PSAnVW5jaGFuZ2VkJykge1xuICAgICAgICAgICAgbW8uJFN0YXRlID0gJ01vZGlmaWVkJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZU1vLmVtaXQobW8pO1xuICAgICAgICB0aGlzLl9jaGVja01hbmRhdG9yeSgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUxpbmVhckhlbHBlcihcbiAgICAgICAgdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcbiAgICAgICAgZmlsZXNWYWxpZGF0aW9uSGVscGVyOiBGaWxlc1ZhbGlkYXRpb25IZWxwZXIsXG4gICAgICAgIGZpZWxkRGVmSWQ6IHN0cmluZ1xuICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saW5lYXJIZWxwZXIgPSBuZXcgTGluZWFyTGlzdEhlbHBlcih1cGxvYWRTZXJ2aWNlLCBmaWxlc1ZhbGlkYXRpb25IZWxwZXIsIGZpZWxkRGVmSWQpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3VwbG9hZEZpbGUoZmlsZXM6IEZpbGVbXSwgZG9jdW1lbnRJdGVtOiBEb2N1bWVudEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZXNWYWxpZGF0aW9uSGVscGVyID0gdGhpcy5fZmlsZXNWYWxpZGF0aW9uSGVscGVyO1xuICAgICAgICBmaWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50ID0gK2RvY3VtZW50SXRlbS5NYXhGaWxlQ291bnQ7XG4gICAgICAgIGZpbGVzVmFsaWRhdGlvbkhlbHBlci5tYXhGaWxlU2l6ZSA9ICtkb2N1bWVudEl0ZW0uRWFjaEZpbGVTaXplO1xuICAgICAgICBmaWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4VG90YWxGaWxlU2l6ZSA9ICtkb2N1bWVudEl0ZW0uTWF4RmlsZVNpemU7XG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci51cGxvYWRUb1NlcnZlcihmaWxlcywgZG9jdW1lbnRJdGVtLlRpdGxlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9jb2x1bW5Ob3RFeGlzdHNJblJlcG9ydChjb2x1bW5DYXB0aW9uKTogdm9pZCB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBmaW5kICR7Y29sdW1uQ2FwdGlvbn0gY29sdW1uIGluIHJlcG9ydC5wbGVhc2UgYWRkIGl0IHRvIHJlcG9ydCBjb2x1bW5zLmApO1xuICAgIH1cbn1cbiIsIjwhLS0gPHVsIGZkLWxpc3QgW2J5bGluZV09XCJ0cnVlXCIgZmRDb21wYWN0IFtzZWxlY3Rpb25dPVwiZmFsc2VcIj4gLS0+XG48dGFibGUgZmQtdGFibGUgYXJpYS1sYWJlbD1cIkRlZmF1bHRcIiBbYWxsQ2VsbHNGb2N1c2FibGVdPVwidHJ1ZVwiIFtub0JvcmRlclhdPVwidHJ1ZVwiPlxuICAgIDx0aGVhZCBmZC10YWJsZS1oZWFkZXI+XG4gICAgICAgIDx0ciBmZC10YWJsZS1yb3c+XG4gICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbD57eyAn2LnaqdizJyB8IGJiYlRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbCBzdHlsZT1cIm1pbi13aWR0aDogMTQwcHg7IHdpZHRoOiBhdXRvXCI+e3sgJ9mG2YjYuSDZhdiv2LHaqScgfCBiYmJUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGwgc3R5bGU9XCJ3aWR0aDogOTklXCI+e3sgJ9in2YTYtdin2YIg2YHYp9uM2YQnIHwgYmJiVHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgIDx0aCBmZC10YWJsZS1jZWxsPjwvdGg+XG4gICAgICAgICAgICA8dGggZmQtdGFibGUtY2VsbCBzdHlsZT1cIndpZHRoOiA0MDBweDsgbWluLXdpZHRoOiA0MDBweDsgbWF4LXdpZHRoOiA0MDBweFwiPnt7ICfZiNi22LnbjNiqJyB8IGJiYlRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgICA8dGJvZHkgZmQtdGFibGUtYm9keT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8gb2YgbW9EYXRhTGlzdDsgdHJhY2tCeTogX3RyYWNrQnlSb3dcIj5cbiAgICAgICAgICAgIDxiZGMtYmFyc2EtZG9jdW1lbnQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtby4kZG9jdW1lbnRJdGVtXCJcbiAgICAgICAgICAgICAgICBbZG9jdW1lbnRJdGVtXT1cIm1vLiRkb2N1bWVudEl0ZW1cIlxuICAgICAgICAgICAgICAgIFthY2NlcHRlZF09XCJtb1thY2NlcHRlZENvbHVtbi5OYW1lXVwiXG4gICAgICAgICAgICAgICAgW2ZpbGVzXT1cIm1vW2ZpbGVDb2x1bW4uTmFtZV0uRmlsZXNcIlxuICAgICAgICAgICAgICAgIFt1cGxvYWRpbmdTdGF0ZV09XCIodXBsb2FkaW5nU3RhdGUkIHwgYXN5bmMpISFcIlxuICAgICAgICAgICAgICAgIFtyZWplY3RlZFJlYXNvbl09XCJtb1tyZWplY3RlZFJlYXNvbkNvbHVtbi5OYW1lXVwiXG4gICAgICAgICAgICAgICAgW2ZpbGVEYk5hbWVdPVwiZmlsZUNvbHVtbi5OYW1lXCJcbiAgICAgICAgICAgICAgICBbc3RhdHVzXT1cIittb1tzdGF0dXNDb2x1bW4uTmFtZV1cIlxuICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhYWNjZXNzLkVkaXRcIlxuICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgIChyZW1vdmVGaWxlKT1cIm9uUmVtb3ZlRmlsZSgkZXZlbnQsIG1vKVwiXG4gICAgICAgICAgICAgICAgKGZpbGVTZWxlY3Rpb25DaGFuZ2UpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudCwgbW8uJGRvY3VtZW50SXRlbSwgbW8pXCJcbiAgICAgICAgICAgICAgICAocmVqZWN0VGV4dENoYW5nZSk9XCJvblJlamVjdGVkVGV4dENoYW5nZSgkZXZlbnQsIG1vKVwiXG4gICAgICAgICAgICAgICAgKHN0YXR1c0NoYW5nZWQpPVwib25TdGF0dXNDaGFuZ2VkKCRldmVudCwgbW8pXCJcbiAgICAgICAgICAgID48L2JkYy1iYXJzYS1kb2N1bWVudC1saXN0LWl0ZW0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8IS0tIDwvdWw+IC0tPlxuICAgIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -1,174 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { BaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@fundamental-ngx/core/button";
6
- export class BarsaGeographicLocationComponent extends BaseComponent {
7
- constructor(_el) {
8
- super();
9
- this._el = _el;
10
- this.move = new EventEmitter();
11
- this.moveEnd = new EventEmitter();
12
- this.fullscreen = new EventEmitter();
13
- this.exitFullscreen = new EventEmitter();
14
- this.error = new EventEmitter();
15
- this.markerChange = new EventEmitter();
16
- this._navigatorOptions = {
17
- enableHighAccuracy: true,
18
- timeout: 5000,
19
- maximumAge: 0
20
- };
21
- }
22
- ngOnChanges(changes) {
23
- super.ngOnChanges(changes);
24
- const { longitude, latitude } = changes;
25
- if (latitude?.firstChange === false || longitude?.firstChange === false) {
26
- this._setGeoLocation({
27
- latitude: latitude.currentValue,
28
- longitude: longitude.currentValue
29
- }, this.disableOrReadonly, true, false);
30
- }
31
- }
32
- ngAfterViewInit() {
33
- super.ngAfterViewInit();
34
- head.load([
35
- 'Lib/leaflet/leaflet.css',
36
- 'Lib/leaflet/leaflet-src.js',
37
- 'Lib/leaflet/SearchControl.js',
38
- 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.css',
39
- 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon.js',
40
- 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker.js',
41
- 'Lib/leaflet/BeautifyMarker-master/leaflet-beautify-marker-icon-barsa.js'
42
- ], () => this._initilaize());
43
- }
44
- onCurrentLocation() {
45
- if (this.disableOrReadonly) {
46
- return;
47
- }
48
- this._getNavigatorCurrentPosition();
49
- }
50
- onFullscreen() {
51
- this.fullscreen.emit();
52
- }
53
- onExitFullscreen() {
54
- this.exitFullscreen.emit();
55
- }
56
- _addMarkers(disableOrReadonly, pos) {
57
- this._setGeoLocation({ latitude: pos[0], longitude: pos[1] }, disableOrReadonly);
58
- }
59
- _initilaize() {
60
- this._map = L.map(this._el.nativeElement);
61
- const location = this.defaultLocation;
62
- if (this.latitude) {
63
- location[0] = Number(this.latitude);
64
- location[1] = Number(this.longitude);
65
- }
66
- this._setGeoLocation({
67
- latitude: location[0],
68
- longitude: location[1]
69
- }, this.disableOrReadonly, true, false);
70
- if (!this.disableOrReadonly && this.setAutomaticLocation && !this.latitude) {
71
- // درصورتی که از قبل مقدار نداشته باشد
72
- this._getNavigatorCurrentPosition();
73
- }
74
- }
75
- _onErrorNavigatorLocation(err) {
76
- this.error.emit(err);
77
- }
78
- _setGeoLocation(position, disableOrReadonly = false, setView = false, fireEvent = true) {
79
- if (this._marker) {
80
- this._map.removeLayer(this._marker);
81
- this._marker = null;
82
- }
83
- const { latitude, longitude } = position;
84
- L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}', {
85
- attribution: '',
86
- maxZoom: 18,
87
- id: 'mapbox/streets-v11',
88
- tileSize: 512,
89
- zoomOffset: -1,
90
- accessToken: 'pk.eyJ1IjoibXJlemFkZXZlbG9wZXIiLCJhIjoiY2p6anlrdTE2MDBxdjNtczZtYWFqbHFmdiJ9.SzniRy2KH6U3gdbOFnwA7Q'
91
- }).addTo(this._map);
92
- if (setView) {
93
- this._map.setView([latitude, longitude], 18);
94
- }
95
- const marker = this._createMarker('0', { mo: 'test' }, latitude, longitude, 'my location', '', !disableOrReadonly && this.draggable === true);
96
- marker.addTo(this._map);
97
- this._marker = marker;
98
- if (!disableOrReadonly && fireEvent) {
99
- this.markerChange.emit({ latitude, longitude });
100
- }
101
- }
102
- _getNavigatorCurrentPosition() {
103
- if (navigator.geolocation) {
104
- navigator.geolocation.getCurrentPosition((position) => this._setGeoLocation({ latitude: position.coords.latitude, longitude: position.coords.longitude }, this.disableOrReadonly, true), (err) => this._onErrorNavigatorLocation(err), this._navigatorOptions);
105
- }
106
- }
107
- _createMarker(id, mo, lat, lng, text, icon, draggable) {
108
- const markerCfg = {
109
- Id: id,
110
- Data: mo,
111
- title: text,
112
- draggable,
113
- icon: L.divIcon({
114
- html: icon
115
- ? `<fd-icon style="font-size:1rem" class="sap-icon--${icon}"></fd-icon>`
116
- : `<img style="width:32px" src="${'assets/svg/location-sign.svg'}"/>`,
117
- iconSize: [20, 20],
118
- className: 'my-location'
119
- })
120
- };
121
- // var marker = L.BeautifyMarker.marker([Number(lat), Number(lng)], {
122
- const marker = L.marker([Number(lat), Number(lng)], markerCfg);
123
- marker.on('moveend', (e) => {
124
- this._onMoveEnd(e);
125
- });
126
- marker.on('move', (e) => {
127
- this._onMove(e);
128
- });
129
- return marker;
130
- }
131
- _onMove(e) {
132
- this.move.emit(e);
133
- }
134
- _onMoveEnd(e) {
135
- this.moveEnd.emit(e);
136
- }
137
- }
138
- BarsaGeographicLocationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaGeographicLocationComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
139
- BarsaGeographicLocationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaGeographicLocationComponent, selector: "bdc-barsa-geographic-location", inputs: { disableOrReadonly: "disableOrReadonly", setAutomaticLocation: "setAutomaticLocation", showLocationButton: "showLocationButton", showFullscreenButton: "showFullscreenButton", showExitFullscreenButton: "showExitFullscreenButton", draggable: "draggable", defaultLocation: "defaultLocation", latitude: "latitude", longitude: "longitude" }, outputs: { move: "move", moveEnd: "moveEnd", fullscreen: "fullscreen", exitFullscreen: "exitFullscreen", error: "error", markerChange: "markerChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div style=\"position: absolute; z-index: 1000; display: flex; flex-direction: column; row-gap: 5px; left: 0; bottom: 0\">\n <button *ngIf=\"showFullscreenButton\" fd-button glyph=\"resize\" fdType=\"positive\" (click)=\"onFullscreen()\"></button>\n <button\n *ngIf=\"showExitFullscreenButton\"\n fd-button\n glyph=\"exitfullscreen\"\n fdType=\"positive\"\n (click)=\"onExitFullscreen()\"\n ></button>\n <button\n *ngIf=\"showLocationButton || disableOrReadonly\"\n fd-button\n glyph=\"map\"\n fdType=\"positive\"\n (click)=\"onCurrentLocation()\"\n ></button>\n</div>\n", styles: [":host{display:block;min-height:300px;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaGeographicLocationComponent, decorators: [{
141
- type: Component,
142
- args: [{ selector: 'bdc-barsa-geographic-location', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"position: absolute; z-index: 1000; display: flex; flex-direction: column; row-gap: 5px; left: 0; bottom: 0\">\n <button *ngIf=\"showFullscreenButton\" fd-button glyph=\"resize\" fdType=\"positive\" (click)=\"onFullscreen()\"></button>\n <button\n *ngIf=\"showExitFullscreenButton\"\n fd-button\n glyph=\"exitfullscreen\"\n fdType=\"positive\"\n (click)=\"onExitFullscreen()\"\n ></button>\n <button\n *ngIf=\"showLocationButton || disableOrReadonly\"\n fd-button\n glyph=\"map\"\n fdType=\"positive\"\n (click)=\"onCurrentLocation()\"\n ></button>\n</div>\n", styles: [":host{display:block;min-height:300px;position:relative}\n"] }]
143
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { disableOrReadonly: [{
144
- type: Input
145
- }], setAutomaticLocation: [{
146
- type: Input
147
- }], showLocationButton: [{
148
- type: Input
149
- }], showFullscreenButton: [{
150
- type: Input
151
- }], showExitFullscreenButton: [{
152
- type: Input
153
- }], draggable: [{
154
- type: Input
155
- }], defaultLocation: [{
156
- type: Input
157
- }], latitude: [{
158
- type: Input
159
- }], longitude: [{
160
- type: Input
161
- }], move: [{
162
- type: Output
163
- }], moveEnd: [{
164
- type: Output
165
- }], fullscreen: [{
166
- type: Output
167
- }], exitFullscreen: [{
168
- type: Output
169
- }], error: [{
170
- type: Output
171
- }], markerChange: [{
172
- type: Output
173
- }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZ2VvZ3JhcGhpYy1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uL2JhcnNhLWdlb2dyYXBoaWMtbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyc2EtZ2VvZ3JhcGhpYy1sb2NhdGlvbi9iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVdyRCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsYUFBYTtJQTBCL0QsWUFBb0IsR0FBZTtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQURRLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFmekIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7UUFHN0Qsc0JBQWlCLEdBQUc7WUFDeEIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixPQUFPLEVBQUUsSUFBSTtZQUNiLFVBQVUsRUFBRSxDQUFDO1NBQ2hCLENBQUM7SUFLRixDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDeEMsSUFBSSxRQUFRLEVBQUUsV0FBVyxLQUFLLEtBQUssSUFBSSxTQUFTLEVBQUUsV0FBVyxLQUFLLEtBQUssRUFBRTtZQUNyRSxJQUFJLENBQUMsZUFBZSxDQUNoQjtnQkFDSSxRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQy9CLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWTthQUNwQyxFQUNELElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxFQUNKLEtBQUssQ0FDUixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUNMO1lBQ0kseUJBQXlCO1lBQ3pCLDRCQUE0QjtZQUM1Qiw4QkFBOEI7WUFDOUIsb0VBQW9FO1lBQ3BFLG1FQUFtRTtZQUNuRSw4REFBOEQ7WUFDOUQseUVBQXlFO1NBQzVFLEVBQ0QsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUMzQixDQUFDO0lBQ04sQ0FBQztJQUNELGlCQUFpQjtRQUNiLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFDRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ1MsV0FBVyxDQUFDLGlCQUEwQixFQUFFLEdBQWE7UUFDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVTLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksQ0FBQyxlQUFlLENBQ2hCO1lBQ0ksUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDckIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDekIsRUFDRCxJQUFJLENBQUMsaUJBQWlCLEVBQ3RCLElBQUksRUFDSixLQUFLLENBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN4RSxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBQ1MseUJBQXlCLENBQUMsR0FBRztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ1MsZUFBZSxDQUNyQixRQUEyQyxFQUMzQyxpQkFBaUIsR0FBRyxLQUFLLEVBQ3pCLE9BQU8sR0FBRyxLQUFLLEVBQ2YsU0FBUyxHQUFHLElBQUk7UUFFaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO1FBRUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFFekMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvRkFBb0YsRUFBRTtZQUM5RixXQUFXLEVBQUUsRUFBRTtZQUNmLE9BQU8sRUFBRSxFQUFFO1lBQ1gsRUFBRSxFQUFFLG9CQUFvQjtZQUN4QixRQUFRLEVBQUUsR0FBRztZQUNiLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDZCxXQUFXLEVBQ1Asb0dBQW9HO1NBQzNHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUM3QixHQUFHLEVBQ0gsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQ2QsUUFBUSxFQUNSLFNBQVMsRUFDVCxhQUFhLEVBQ2IsRUFBRSxFQUNGLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQ2hELENBQUM7UUFDRixNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLElBQUksU0FBUyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDbkQ7SUFDTCxDQUFDO0lBQ1MsNEJBQTRCO1FBQ2xDLElBQUksU0FBUyxDQUFDLFdBQVcsRUFBRTtZQUN2QixTQUFTLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUNwQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FDaEIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQzVFLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUNQLEVBQ0wsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsRUFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUN6QixDQUFDO1NBQ0w7SUFDTCxDQUFDO0lBQ1MsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVM7UUFDM0QsTUFBTSxTQUFTLEdBQUc7WUFDZCxFQUFFLEVBQUUsRUFBRTtZQUNOLElBQUksRUFBRSxFQUFFO1lBQ1IsS0FBSyxFQUFFLElBQUk7WUFDWCxTQUFTO1lBQ1QsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ1osSUFBSSxFQUFFLElBQUk7b0JBQ04sQ0FBQyxDQUFDLG9EQUFvRCxJQUFJLGNBQWM7b0JBQ3hFLENBQUMsQ0FBQyxpQ0FBaUMsOEJBQThCLEtBQUs7Z0JBQzFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ2xCLFNBQVMsRUFBRSxhQUFhO2FBQzNCLENBQUM7U0FDTCxDQUFDO1FBRUYscUVBQXFFO1FBQ3JFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFL0QsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVTLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUNTLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzZIQTNMUSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyxvbUJDckI3QyxpcEJBaUJBOzJGRElhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDSSwrQkFBK0IsbUJBR3hCLHVCQUF1QixDQUFDLE1BQU07aUdBR3RDLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuZGVjbGFyZSBjb25zdCBoZWFkOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgTDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWdlb2dyYXBoaWMtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUdlb2dyYXBoaWNMb2NhdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVPclJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgc2V0QXV0b21hdGljTG9jYXRpb246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzaG93TG9jYXRpb25CdXR0b246IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzaG93RnVsbHNjcmVlbkJ1dHRvbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHNob3dFeGl0RnVsbHNjcmVlbkJ1dHRvbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRyYWdnYWJsZTogYm9vbGVhbjtcclxuXHJcbiAgICBASW5wdXQoKSBkZWZhdWx0TG9jYXRpb246IG51bWJlcltdO1xyXG4gICAgQElucHV0KCkgbGF0aXR1ZGU6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGxvbmdpdHVkZTogbnVtYmVyO1xyXG4gICAgQE91dHB1dCgpIG1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBtb3ZlRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZnVsbHNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBleGl0RnVsbHNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBtYXJrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbGF0aXR1ZGU7IGxvbmdpdHVkZSB9PigpO1xyXG5cclxuICAgIHByaXZhdGUgX21hcDogYW55O1xyXG4gICAgcHJpdmF0ZSBfbmF2aWdhdG9yT3B0aW9ucyA9IHtcclxuICAgICAgICBlbmFibGVIaWdoQWNjdXJhY3k6IHRydWUsXHJcbiAgICAgICAgdGltZW91dDogNTAwMCxcclxuICAgICAgICBtYXhpbXVtQWdlOiAwXHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBfbWFya2VyOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGNvbnN0IHsgbG9uZ2l0dWRlLCBsYXRpdHVkZSB9ID0gY2hhbmdlcztcclxuICAgICAgICBpZiAobGF0aXR1ZGU/LmZpcnN0Q2hhbmdlID09PSBmYWxzZSB8fCBsb25naXR1ZGU/LmZpcnN0Q2hhbmdlID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRHZW9Mb2NhdGlvbihcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogbGF0aXR1ZGUuY3VycmVudFZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogbG9uZ2l0dWRlLmN1cnJlbnRWYWx1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZU9yUmVhZG9ubHksXHJcbiAgICAgICAgICAgICAgICB0cnVlLFxyXG4gICAgICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgaGVhZC5sb2FkKFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICAnTGliL2xlYWZsZXQvbGVhZmxldC5jc3MnLFxyXG4gICAgICAgICAgICAgICAgJ0xpYi9sZWFmbGV0L2xlYWZsZXQtc3JjLmpzJyxcclxuICAgICAgICAgICAgICAgICdMaWIvbGVhZmxldC9TZWFyY2hDb250cm9sLmpzJyxcclxuICAgICAgICAgICAgICAgICdMaWIvbGVhZmxldC9CZWF1dGlmeU1hcmtlci1tYXN0ZXIvbGVhZmxldC1iZWF1dGlmeS1tYXJrZXItaWNvbi5jc3MnLFxyXG4gICAgICAgICAgICAgICAgJ0xpYi9sZWFmbGV0L0JlYXV0aWZ5TWFya2VyLW1hc3Rlci9sZWFmbGV0LWJlYXV0aWZ5LW1hcmtlci1pY29uLmpzJyxcclxuICAgICAgICAgICAgICAgICdMaWIvbGVhZmxldC9CZWF1dGlmeU1hcmtlci1tYXN0ZXIvbGVhZmxldC1iZWF1dGlmeS1tYXJrZXIuanMnLFxyXG4gICAgICAgICAgICAgICAgJ0xpYi9sZWFmbGV0L0JlYXV0aWZ5TWFya2VyLW1hc3Rlci9sZWFmbGV0LWJlYXV0aWZ5LW1hcmtlci1pY29uLWJhcnNhLmpzJ1xyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAoKSA9PiB0aGlzLl9pbml0aWxhaXplKClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25DdXJyZW50TG9jYXRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZU9yUmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9nZXROYXZpZ2F0b3JDdXJyZW50UG9zaXRpb24oKTtcclxuICAgIH1cclxuICAgIG9uRnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4uZW1pdCgpO1xyXG4gICAgfVxyXG4gICAgb25FeGl0RnVsbHNjcmVlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV4aXRGdWxsc2NyZWVuLmVtaXQoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfYWRkTWFya2VycyhkaXNhYmxlT3JSZWFkb25seTogYm9vbGVhbiwgcG9zOiBudW1iZXJbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3NldEdlb0xvY2F0aW9uKHsgbGF0aXR1ZGU6IHBvc1swXSwgbG9uZ2l0dWRlOiBwb3NbMV0gfSwgZGlzYWJsZU9yUmVhZG9ubHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfaW5pdGlsYWl6ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9tYXAgPSBMLm1hcCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuZGVmYXVsdExvY2F0aW9uO1xyXG4gICAgICAgIGlmICh0aGlzLmxhdGl0dWRlKSB7XHJcbiAgICAgICAgICAgIGxvY2F0aW9uWzBdID0gTnVtYmVyKHRoaXMubGF0aXR1ZGUpO1xyXG4gICAgICAgICAgICBsb2NhdGlvblsxXSA9IE51bWJlcih0aGlzLmxvbmdpdHVkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldEdlb0xvY2F0aW9uKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBsYXRpdHVkZTogbG9jYXRpb25bMF0sXHJcbiAgICAgICAgICAgICAgICBsb25naXR1ZGU6IGxvY2F0aW9uWzFdXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZU9yUmVhZG9ubHksXHJcbiAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVPclJlYWRvbmx5ICYmIHRoaXMuc2V0QXV0b21hdGljTG9jYXRpb24gJiYgIXRoaXMubGF0aXR1ZGUpIHtcclxuICAgICAgICAgICAgLy8g2K/Ysdi12YjYsdiq24wg2qnZhyDYp9iyINmC2KjZhCDZhdmC2K/Yp9ixINmG2K/Yp9i02KrZhyDYqNin2LTYr1xyXG4gICAgICAgICAgICB0aGlzLl9nZXROYXZpZ2F0b3JDdXJyZW50UG9zaXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX29uRXJyb3JOYXZpZ2F0b3JMb2NhdGlvbihlcnIpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVycm9yLmVtaXQoZXJyKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0R2VvTG9jYXRpb24oXHJcbiAgICAgICAgcG9zaXRpb246IHsgbGF0aXR1ZGU6IGFueTsgbG9uZ2l0dWRlOiBhbnkgfSxcclxuICAgICAgICBkaXNhYmxlT3JSZWFkb25seSA9IGZhbHNlLFxyXG4gICAgICAgIHNldFZpZXcgPSBmYWxzZSxcclxuICAgICAgICBmaXJlRXZlbnQgPSB0cnVlXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5fbWFya2VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21hcC5yZW1vdmVMYXllcih0aGlzLl9tYXJrZXIpO1xyXG4gICAgICAgICAgICB0aGlzLl9tYXJrZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgeyBsYXRpdHVkZSwgbG9uZ2l0dWRlIH0gPSBwb3NpdGlvbjtcclxuXHJcbiAgICAgICAgTC50aWxlTGF5ZXIoJ2h0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL3tpZH0vdGlsZXMve3p9L3t4fS97eX0/YWNjZXNzX3Rva2VuPXthY2Nlc3NUb2tlbn0nLCB7XHJcbiAgICAgICAgICAgIGF0dHJpYnV0aW9uOiAnJyxcclxuICAgICAgICAgICAgbWF4Wm9vbTogMTgsXHJcbiAgICAgICAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcclxuICAgICAgICAgICAgdGlsZVNpemU6IDUxMixcclxuICAgICAgICAgICAgem9vbU9mZnNldDogLTEsXHJcbiAgICAgICAgICAgIGFjY2Vzc1Rva2VuOlxyXG4gICAgICAgICAgICAgICAgJ3BrLmV5SjFJam9pYlhKbGVtRmtaWFpsYkc5d1pYSWlMQ0poSWpvaVkycDZhbmxyZFRFMk1EQnhkak50Y3padFlXRnFiSEZtZGlKOS5Tem5pUnkyS0g2VTNnZGJPRm53QTdRJ1xyXG4gICAgICAgIH0pLmFkZFRvKHRoaXMuX21hcCk7XHJcbiAgICAgICAgaWYgKHNldFZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy5fbWFwLnNldFZpZXcoW2xhdGl0dWRlLCBsb25naXR1ZGVdLCAxOCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG1hcmtlciA9IHRoaXMuX2NyZWF0ZU1hcmtlcihcclxuICAgICAgICAgICAgJzAnLFxyXG4gICAgICAgICAgICB7IG1vOiAndGVzdCcgfSxcclxuICAgICAgICAgICAgbGF0aXR1ZGUsXHJcbiAgICAgICAgICAgIGxvbmdpdHVkZSxcclxuICAgICAgICAgICAgJ215IGxvY2F0aW9uJyxcclxuICAgICAgICAgICAgJycsXHJcbiAgICAgICAgICAgICFkaXNhYmxlT3JSZWFkb25seSAmJiB0aGlzLmRyYWdnYWJsZSA9PT0gdHJ1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbWFya2VyLmFkZFRvKHRoaXMuX21hcCk7XHJcbiAgICAgICAgdGhpcy5fbWFya2VyID0gbWFya2VyO1xyXG4gICAgICAgIGlmICghZGlzYWJsZU9yUmVhZG9ubHkgJiYgZmlyZUV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMubWFya2VyQ2hhbmdlLmVtaXQoeyBsYXRpdHVkZSwgbG9uZ2l0dWRlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfZ2V0TmF2aWdhdG9yQ3VycmVudFBvc2l0aW9uKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHtcclxuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihcclxuICAgICAgICAgICAgICAgIChwb3NpdGlvbikgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZXRHZW9Mb2NhdGlvbihcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBsYXRpdHVkZTogcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlLCBsb25naXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAoZXJyKSA9PiB0aGlzLl9vbkVycm9yTmF2aWdhdG9yTG9jYXRpb24oZXJyKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRvck9wdGlvbnNcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZU1hcmtlcihpZCwgbW8sIGxhdCwgbG5nLCB0ZXh0LCBpY29uLCBkcmFnZ2FibGUpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IG1hcmtlckNmZyA9IHtcclxuICAgICAgICAgICAgSWQ6IGlkLFxyXG4gICAgICAgICAgICBEYXRhOiBtbyxcclxuICAgICAgICAgICAgdGl0bGU6IHRleHQsXHJcbiAgICAgICAgICAgIGRyYWdnYWJsZSxcclxuICAgICAgICAgICAgaWNvbjogTC5kaXZJY29uKHtcclxuICAgICAgICAgICAgICAgIGh0bWw6IGljb25cclxuICAgICAgICAgICAgICAgICAgICA/IGA8ZmQtaWNvbiBzdHlsZT1cImZvbnQtc2l6ZToxcmVtXCIgY2xhc3M9XCJzYXAtaWNvbi0tJHtpY29ufVwiPjwvZmQtaWNvbj5gXHJcbiAgICAgICAgICAgICAgICAgICAgOiBgPGltZyAgc3R5bGU9XCJ3aWR0aDozMnB4XCIgc3JjPVwiJHsnYXNzZXRzL3N2Zy9sb2NhdGlvbi1zaWduLnN2Zyd9XCIvPmAsXHJcbiAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzIwLCAyMF0sXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdteS1sb2NhdGlvbidcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyB2YXIgbWFya2VyID0gTC5CZWF1dGlmeU1hcmtlci5tYXJrZXIoW051bWJlcihsYXQpLCBOdW1iZXIobG5nKV0sIHtcclxuICAgICAgICBjb25zdCBtYXJrZXIgPSBMLm1hcmtlcihbTnVtYmVyKGxhdCksIE51bWJlcihsbmcpXSwgbWFya2VyQ2ZnKTtcclxuXHJcbiAgICAgICAgbWFya2VyLm9uKCdtb3ZlZW5kJywgKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fb25Nb3ZlRW5kKGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG1hcmtlci5vbignbW92ZScsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uTW92ZShlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1hcmtlcjtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX29uTW92ZShlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb3ZlLmVtaXQoZSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX29uTW92ZUVuZChlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5tb3ZlRW5kLmVtaXQoZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwMDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcm93LWdhcDogNXB4OyBsZWZ0OiAwOyBib3R0b206IDBcIj5cbiAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0Z1bGxzY3JlZW5CdXR0b25cIiBmZC1idXR0b24gZ2x5cGg9XCJyZXNpemVcIiBmZFR5cGU9XCJwb3NpdGl2ZVwiIChjbGljayk9XCJvbkZ1bGxzY3JlZW4oKVwiPjwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93RXhpdEZ1bGxzY3JlZW5CdXR0b25cIlxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZ2x5cGg9XCJleGl0ZnVsbHNjcmVlblwiXG4gICAgICAgIGZkVHlwZT1cInBvc2l0aXZlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uRXhpdEZ1bGxzY3JlZW4oKVwiXG4gICAgPjwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93TG9jYXRpb25CdXR0b24gfHwgZGlzYWJsZU9yUmVhZG9ubHlcIlxuICAgICAgICBmZC1idXR0b25cbiAgICAgICAgZ2x5cGg9XCJtYXBcIlxuICAgICAgICBmZFR5cGU9XCJwb3NpdGl2ZVwiXG4gICAgICAgIChjbGljayk9XCJvbkN1cnJlbnRMb2NhdGlvbigpXCJcbiAgICA+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, ViewChild, HostBinding } from '@angular/core';
2
- import { BaseItemContentPropsComponent } 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/title";
8
- export class CardContentImageAndTitleComponent extends BaseItemContentPropsComponent {
9
- constructor() {
10
- super(...arguments);
11
- this.backgroundColor = null;
12
- this.color = null;
13
- }
14
- ngOnInit() {
15
- super.ngOnInit();
16
- const parameters = this.parameters;
17
- if (parameters != null) {
18
- this.color = this.colorSetting = parameters.Color;
19
- this.backgroundColor = this.backgroundColorSetting = parameters.BackgroundColor;
20
- this.picture = this._rval.transform(parameters.Picture, this.mo, this.allColumns);
21
- this.title = this._rval.transform(parameters.Title, this.mo, this.allColumns);
22
- this.subtitle = this._rval.transform(parameters.Subtitle, this.mo, this.allColumns);
23
- this.icon = this._rval.transform(parameters.Icon, this.mo, this.allColumns);
24
- this.prepareNumberSign();
25
- }
26
- }
27
- prepareNumberSign() {
28
- if (this.color && Number(this.colorSetting[0])) {
29
- this.color = '#' + this.colorSetting;
30
- }
31
- if (this.backgroundColor && Number(this.backgroundColorSetting[0])) {
32
- this.backgroundColor = '#' + this.backgroundColorSetting;
33
- }
34
- }
35
- }
36
- CardContentImageAndTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CardContentImageAndTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
37
- CardContentImageAndTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CardContentImageAndTitleComponent, selector: "bdc-card-content-image-and-title", host: { properties: { "style.background-color": "this.backgroundColor", "style.color": "this.color" } }, viewQueries: [{ propertyName: "iconRef", first: true, predicate: ["iconRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"card-content\" #elemRef>\n <div class=\"item-data\">\n <img\n *ngIf=\"picture; else iconTemplate\"\n [imgLazy]=\"picture.FileId | picFieldSrc: 'ID':null:'':100:70\"\n height=\"70\"\n width=\"100\"\n [alt]=\"title | bbbTranslate\"\n />\n <ng-template #iconTemplate>\n <fd-icon #iconRef *ngIf=\"icon\" [glyph]=\"icon\" [style.color]=\"color\"> </fd-icon>\n </ng-template>\n </div>\n <h5 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\n {{ title | bbbTranslate }}\n </h5>\n <h6 *ngIf=\"subtitle\" fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\n {{ subtitle | bbbTranslate }}\n </h6>\n</div>\n", styles: [":host{display:flex;justify-content:center;align-items:stretch;height:100%;width:100%;min-height:180px}:host:hover{opacity:.8}:host:hover{cursor:pointer}.card-content{display:flex;align-items:center;flex-direction:column;align-self:stretch;margin-top:auto;margin-bottom:auto;width:100%}.item-data{text-align:center}fd-icon{font-size:2.5rem}h4{height:60px;width:80%;text-align:center}h6{line-height:2rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ImageLazyDirective, selector: "[imgLazy]", inputs: ["auto", "threshold", "imgLazy"], outputs: ["imageLoaded"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CardContentImageAndTitleComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'bdc-card-content-image-and-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card-content\" #elemRef>\n <div class=\"item-data\">\n <img\n *ngIf=\"picture; else iconTemplate\"\n [imgLazy]=\"picture.FileId | picFieldSrc: 'ID':null:'':100:70\"\n height=\"70\"\n width=\"100\"\n [alt]=\"title | bbbTranslate\"\n />\n <ng-template #iconTemplate>\n <fd-icon #iconRef *ngIf=\"icon\" [glyph]=\"icon\" [style.color]=\"color\"> </fd-icon>\n </ng-template>\n </div>\n <h5 fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\n {{ title | bbbTranslate }}\n </h5>\n <h6 *ngIf=\"subtitle\" fd-title class=\"item-data fd-title--wrap\" [style.color]=\"color\">\n {{ subtitle | bbbTranslate }}\n </h6>\n</div>\n", styles: [":host{display:flex;justify-content:center;align-items:stretch;height:100%;width:100%;min-height:180px}:host:hover{opacity:.8}:host:hover{cursor:pointer}.card-content{display:flex;align-items:center;flex-direction:column;align-self:stretch;margin-top:auto;margin-bottom:auto;width:100%}.item-data{text-align:center}fd-icon{font-size:2.5rem}h4{height:60px;width:80%;text-align:center}h6{line-height:2rem}\n"] }]
41
- }], propDecorators: { iconRef: [{
42
- type: ViewChild,
43
- args: ['iconRef', { static: false }]
44
- }], backgroundColor: [{
45
- type: HostBinding,
46
- args: ['style.background-color']
47
- }], color: [{
48
- type: HostBinding,
49
- args: ['style.color']
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LWltYWdlLWFuZC10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlL2NhcmQtY29udGVudC1pbWFnZS1hbmQtdGl0bGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1jb250ZW50LWltYWdlLWFuZC10aXRsZS9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdCLDZCQUE2QixFQUEyQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFRcEgsTUFBTSxPQUFPLGlDQUNULFNBQVEsNkJBQXNEO0lBUGxFOztRQVkyQyxvQkFBZSxHQUFrQixJQUFJLENBQUM7UUFDakQsVUFBSyxHQUFrQixJQUFJLENBQUM7S0FrQzNEO0lBekJHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQztZQUVoRixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFNUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDeEM7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztTQUM1RDtJQUNMLENBQUM7OzhIQXhDUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw0U0NUOUMsdXdCQW9CQTsyRkRYYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0ksa0NBQWtDLG1CQUczQix1QkFBdUIsQ0FBQyxNQUFNOzhCQU1OLE9BQU87c0JBQS9DLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFQSxlQUFlO3NCQUFyRCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFDVCxLQUFLO3NCQUFoQyxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVQaWN0dXJlSW5mb01vZGVsLCBCYXNlSXRlbUNvbnRlbnRQcm9wc0NvbXBvbmVudCwgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmRjLWNhcmQtY29udGVudC1pbWFnZS1hbmQtdGl0bGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYXJkLWNvbnRlbnQtaW1hZ2UtYW5kLXRpdGxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbnRlbnRJbWFnZUFuZFRpdGxlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBCYXNlSXRlbUNvbnRlbnRQcm9wc0NvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxue1xuICAgIEBWaWV3Q2hpbGQoJ2ljb25SZWYnLCB7IHN0YXRpYzogZmFsc2UgfSkgaWNvblJlZjogRWxlbWVudFJlZjtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuYmFja2dyb3VuZC1jb2xvcicpIGJhY2tncm91bmRDb2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jb2xvcicpIGNvbG9yOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIGJhY2tncm91bmRDb2xvclNldHRpbmc6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIGNvbG9yU2V0dGluZzogc3RyaW5nO1xuICAgIHBpY3R1cmU6IEZpbGVQaWN0dXJlSW5mb01vZGVsO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnM7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY29sb3IgPSB0aGlzLmNvbG9yU2V0dGluZyA9IHBhcmFtZXRlcnMuQ29sb3I7XG4gICAgICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9IHRoaXMuYmFja2dyb3VuZENvbG9yU2V0dGluZyA9IHBhcmFtZXRlcnMuQmFja2dyb3VuZENvbG9yO1xuXG4gICAgICAgICAgICB0aGlzLnBpY3R1cmUgPSB0aGlzLl9ydmFsLnRyYW5zZm9ybShwYXJhbWV0ZXJzLlBpY3R1cmUsIHRoaXMubW8sIHRoaXMuYWxsQ29sdW1ucyk7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy5fcnZhbC50cmFuc2Zvcm0ocGFyYW1ldGVycy5UaXRsZSwgdGhpcy5tbywgdGhpcy5hbGxDb2x1bW5zKTtcbiAgICAgICAgICAgIHRoaXMuc3VidGl0bGUgPSB0aGlzLl9ydmFsLnRyYW5zZm9ybShwYXJhbWV0ZXJzLlN1YnRpdGxlLCB0aGlzLm1vLCB0aGlzLmFsbENvbHVtbnMpO1xuICAgICAgICAgICAgdGhpcy5pY29uID0gdGhpcy5fcnZhbC50cmFuc2Zvcm0ocGFyYW1ldGVycy5JY29uLCB0aGlzLm1vLCB0aGlzLmFsbENvbHVtbnMpO1xuXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVOdW1iZXJTaWduKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVOdW1iZXJTaWduKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb2xvciAmJiBOdW1iZXIodGhpcy5jb2xvclNldHRpbmdbMF0pKSB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yID0gJyMnICsgdGhpcy5jb2xvclNldHRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5iYWNrZ3JvdW5kQ29sb3IgJiYgTnVtYmVyKHRoaXMuYmFja2dyb3VuZENvbG9yU2V0dGluZ1swXSkpIHtcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gJyMnICsgdGhpcy5iYWNrZ3JvdW5kQ29sb3JTZXR0aW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhcmQtY29udGVudFwiICNlbGVtUmVmPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLWRhdGFcIj5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgKm5nSWY9XCJwaWN0dXJlOyBlbHNlIGljb25UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbaW1nTGF6eV09XCJwaWN0dXJlLkZpbGVJZCB8IHBpY0ZpZWxkU3JjOiAnSUQnOm51bGw6Jyc6MTAwOjcwXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjcwXCJcbiAgICAgICAgICAgIHdpZHRoPVwiMTAwXCJcbiAgICAgICAgICAgIFthbHRdPVwidGl0bGUgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAvPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2ljb25UZW1wbGF0ZT5cbiAgICAgICAgICAgIDxmZC1pY29uICNpY29uUmVmICpuZ0lmPVwiaWNvblwiIFtnbHlwaF09XCJpY29uXCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yXCI+IDwvZmQtaWNvbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8aDUgZmQtdGl0bGUgY2xhc3M9XCJpdGVtLWRhdGEgZmQtdGl0bGUtLXdyYXBcIiBbc3R5bGUuY29sb3JdPVwiY29sb3JcIj5cbiAgICAgICAge3sgdGl0bGUgfCBiYmJUcmFuc2xhdGUgfX1cbiAgICA8L2g1PlxuICAgIDxoNiAqbmdJZj1cInN1YnRpdGxlXCIgZmQtdGl0bGUgY2xhc3M9XCJpdGVtLWRhdGEgZmQtdGl0bGUtLXdyYXBcIiBbc3R5bGUuY29sb3JdPVwiY29sb3JcIj5cbiAgICAgICAge3sgc3VidGl0bGUgfCBiYmJUcmFuc2xhdGUgfX1cbiAgICA8L2g2PlxuPC9kaXY+XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { BarsaApi, BaseItemContentPropsComponent } 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-echarts";
6
- export class CardContentLineChartComponent extends BaseItemContentPropsComponent {
7
- ngOnInit() {
8
- super.ngOnInit();
9
- const parameters = this.parameters;
10
- const { MethodParametersFieldName, RunBlMethodName } = parameters;
11
- const methodParameters = [];
12
- MethodParametersFieldName.split(',').forEach((c) => {
13
- const value = this.mo[c];
14
- if (typeof value === 'object' && value.Id) {
15
- methodParameters.push(value.Id);
16
- }
17
- else {
18
- methodParameters.push(value);
19
- }
20
- });
21
- BarsaApi.Bw.RunBlMethodAsync({
22
- Parameters: methodParameters,
23
- Method: RunBlMethodName,
24
- SuccessFn: (chartOption) => {
25
- this.chartOption = JSON.parse(chartOption);
26
- this._cdr.detectChanges();
27
- },
28
- FailFn: () => { }
29
- });
30
- }
31
- }
32
- CardContentLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CardContentLineChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
33
- CardContentLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CardContentLineChartComponent, selector: "bdc-card-content-line-chart", usesInheritance: true, ngImport: i0, template: "<div class=\"card-content\" *ngIf=\"chartOption\" #elemRef>\r\n <div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n</div>\r\n", styles: [":host{display:block;padding:15px}.card-content{height:300px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ChartLineTimeBaseDirective, selector: "[beChartLineTime]", inputs: ["chartOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CardContentLineChartComponent, decorators: [{
35
- type: Component,
36
- args: [{ selector: 'bdc-card-content-line-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"card-content\" *ngIf=\"chartOption\" #elemRef>\r\n <div beChartLineTime [chartOption]=\"chartOption\"></div>\r\n</div>\r\n", styles: [":host{display:block;padding:15px}.card-content{height:300px}\n"] }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQvY2FyZC1jb250ZW50LWxpbmUtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUEyQixNQUFNLHNCQUFzQixDQUFDOzs7O0FBUXhHLE1BQU0sT0FBTyw2QkFDVCxTQUFRLDZCQUFzRDtJQUs5RCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkMsTUFBTSxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUNsRSxNQUFNLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztRQUNqQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUN2QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ25DO2lCQUFNO2dCQUNILGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QixVQUFVLEVBQUUsZ0JBQWdCO1lBQzVCLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLFNBQVMsRUFBRSxDQUFDLFdBQW1CLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztTQUNuQixDQUFDLENBQUM7SUFDUCxDQUFDOzswSEE1QlEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMEZDVDFDLDRJQUdBOzJGRE1hLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFyc2FBcGksIEJhc2VJdGVtQ29udGVudFByb3BzQ29tcG9uZW50LCBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtY2FyZC1jb250ZW50LWxpbmUtY2hhcnQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtY29udGVudC1saW5lLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NhcmQtY29udGVudC1saW5lLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbnRlbnRMaW5lQ2hhcnRDb21wb25lbnRcclxuICAgIGV4dGVuZHMgQmFzZUl0ZW1Db250ZW50UHJvcHNDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgICBjaGFydE9wdGlvbjogYW55O1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycztcclxuICAgICAgICBjb25zdCB7IE1ldGhvZFBhcmFtZXRlcnNGaWVsZE5hbWUsIFJ1bkJsTWV0aG9kTmFtZSB9ID0gcGFyYW1ldGVycztcclxuICAgICAgICBjb25zdCBtZXRob2RQYXJhbWV0ZXJzOiBhbnkgPSBbXTtcclxuICAgICAgICBNZXRob2RQYXJhbWV0ZXJzRmllbGROYW1lLnNwbGl0KCcsJykuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubW9bY107XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlLklkKSB7XHJcbiAgICAgICAgICAgICAgICBtZXRob2RQYXJhbWV0ZXJzLnB1c2godmFsdWUuSWQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kUGFyYW1ldGVycy5wdXNoKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3LlJ1bkJsTWV0aG9kQXN5bmMoe1xyXG4gICAgICAgICAgICBQYXJhbWV0ZXJzOiBtZXRob2RQYXJhbWV0ZXJzLFxyXG4gICAgICAgICAgICBNZXRob2Q6IFJ1bkJsTWV0aG9kTmFtZSxcclxuICAgICAgICAgICAgU3VjY2Vzc0ZuOiAoY2hhcnRPcHRpb246IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydE9wdGlvbiA9IEpTT04ucGFyc2UoY2hhcnRPcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgRmFpbEZuOiAoKSA9PiB7fVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjYXJkLWNvbnRlbnRcIiAqbmdJZj1cImNoYXJ0T3B0aW9uXCIgI2VsZW1SZWY+XHJcbiAgICA8ZGl2IGJlQ2hhcnRMaW5lVGltZSBbY2hhcnRPcHRpb25dPVwiY2hhcnRPcHRpb25cIj48L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==