barsa-develop-components 1.0.455 → 2.0.1

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 (205) hide show
  1. package/{esm2020 → esm2022}/barsa-develop-components.mjs +4 -4
  2. package/esm2022/lib/accept-reject/accept-reject.component.mjs +68 -0
  3. package/esm2022/lib/avatar/avatar.component.mjs +29 -0
  4. package/esm2022/lib/barcode-format-pipe.mjs +24 -0
  5. package/esm2022/lib/barcode-reader/barcode-reader.component.mjs +62 -0
  6. package/esm2022/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +82 -0
  7. package/esm2022/lib/barcode-reader-video/barcode-reader-video.component.mjs +66 -0
  8. package/esm2022/lib/barcode.service.mjs +330 -0
  9. package/{esm2020 → esm2022}/lib/barsa-develop-components.module.mjs +284 -284
  10. package/esm2022/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +104 -0
  11. package/esm2022/lib/barsa-documents/barsa-documents.component.mjs +173 -0
  12. package/esm2022/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +163 -0
  13. package/esm2022/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +50 -0
  14. package/esm2022/lib/card-content-line-chart/card-content-line-chart.component.mjs +37 -0
  15. package/esm2022/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +19 -0
  16. package/esm2022/lib/card-header-kpi/card-header-kpi.component.mjs +40 -0
  17. package/esm2022/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +45 -0
  18. package/{esm2020 → esm2022}/lib/checkbox-button/checkbox-button.component.mjs +23 -23
  19. package/esm2022/lib/column-form-viewer/column-form-viewer.component.mjs +88 -0
  20. package/{esm2020 → esm2022}/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.mjs +18 -18
  21. package/esm2022/lib/footer/footer.component.mjs +43 -0
  22. package/esm2022/lib/form-card/form-card.component.mjs +17 -0
  23. package/esm2022/lib/form-chart-content/form-chart-content.component.mjs +37 -0
  24. package/esm2022/lib/form-content-quick-view/form-content-quick-view.component.mjs +102 -0
  25. package/esm2022/lib/form-report-view/form-report-view.component.mjs +25 -0
  26. package/esm2022/lib/form-report-view-item/form-report-view-item.component.mjs +45 -0
  27. package/{esm2020 → esm2022}/lib/g4b-details/g4b-details.component.mjs +28 -28
  28. package/esm2022/lib/g4b-estelam/g4b-estelam.component.mjs +30 -0
  29. package/esm2022/lib/geographic-location/geographic-location.component.mjs +85 -0
  30. package/esm2022/lib/login-form/login-form.component.mjs +55 -0
  31. package/{esm2020 → esm2022}/lib/login-social-conncetions/login-social-conncetions.component.mjs +30 -30
  32. package/esm2022/lib/master-detail-card-form/master-detail-card-form.component.mjs +17 -0
  33. package/esm2022/lib/media-file-uploader/media-file-uploader.component.mjs +238 -0
  34. package/esm2022/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +52 -0
  35. package/esm2022/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +24 -0
  36. package/esm2022/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +23 -0
  37. package/esm2022/lib/models/document-item.mjs +2 -0
  38. package/esm2022/lib/models/documents-setting.mjs +2 -0
  39. package/{esm2020 → esm2022}/lib/models/form-report-view-setting.mjs +2 -2
  40. package/{esm2020 → esm2022}/lib/models/index.mjs +8 -8
  41. package/{esm2020 → esm2022}/lib/models/micro-process-flow-view-setting.mjs +2 -2
  42. package/{esm2020 → esm2022}/lib/models/person.mjs +1 -1
  43. package/{esm2020 → esm2022}/lib/models/service-desk-view-of-services-setting.mjs +2 -2
  44. package/{esm2020 → esm2022}/lib/models/tab-process-view-setting.mjs +2 -2
  45. package/{esm2020 → esm2022}/lib/pipes/datasource-to-flow-item.mjs +22 -22
  46. package/{esm2020 → esm2022}/lib/pipes/index.mjs +2 -2
  47. package/{esm2020 → esm2022}/lib/pipes/mo-list-to-flow-item.pipe.mjs +22 -22
  48. package/esm2022/lib/query-string-form-observable/query-string-form-observable.component.mjs +37 -0
  49. package/esm2022/lib/query-string-observable/query-string-observable.component.mjs +22 -0
  50. package/esm2022/lib/report-button-view/report-button-view.component.mjs +37 -0
  51. package/{esm2020 → esm2022}/lib/report-line-chart-view/report-line-chart-view.component.mjs +13 -13
  52. package/esm2022/lib/report-tab-view/report-tab-view.component.mjs +27 -0
  53. package/esm2022/lib/resend-verification-code/resend-verification-code.component.mjs +62 -0
  54. package/{esm2020 → esm2022}/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.mjs +28 -28
  55. package/esm2022/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +110 -0
  56. package/esm2022/lib/service-desk-header/service-desk-header.component.mjs +240 -0
  57. package/esm2022/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +142 -0
  58. package/esm2022/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +37 -0
  59. package/esm2022/lib/setting-form/setting-form.component.mjs +64 -0
  60. package/esm2022/lib/subform-in-row-report/subform-in-row-report.component.mjs +73 -0
  61. package/esm2022/lib/tab-process-view/tab-process-view.component.mjs +48 -0
  62. package/esm2022/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +16 -0
  63. package/esm2022/lib/timer-count-down/timer-count-down.component.mjs +98 -0
  64. package/esm2022/lib/token-report-view/token-report-view.component.mjs +27 -0
  65. package/esm2022/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +25 -0
  66. package/esm2022/lib/ui-num-rate/ui-num-rate.component.mjs +29 -0
  67. package/esm2022/lib/ui-person/ui-person.component.mjs +160 -0
  68. package/esm2022/lib/ui-person/ui-person.pipe.mjs +40 -0
  69. package/esm2022/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +17 -0
  70. package/esm2022/lib/ui-text-field-search/ui-text-field-search.component.mjs +42 -0
  71. package/esm2022/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +69 -0
  72. package/{esm2020 → esm2022}/public-api.mjs +62 -62
  73. package/fesm2022/barsa-develop-components.mjs +3626 -0
  74. package/fesm2022/barsa-develop-components.mjs.map +1 -0
  75. package/index.d.ts +5 -5
  76. package/lib/accept-reject/accept-reject.component.d.ts +28 -28
  77. package/lib/avatar/avatar.component.d.ts +12 -12
  78. package/lib/barcode-format-pipe.d.ts +7 -7
  79. package/lib/barcode-reader/barcode-reader.component.d.ts +19 -19
  80. package/lib/barcode-reader-dialog/barcode-reader-dialog.component.d.ts +32 -32
  81. package/lib/barcode-reader-video/barcode-reader-video.component.d.ts +22 -22
  82. package/lib/barcode.service.d.ts +98 -98
  83. package/lib/barsa-develop-components.module.d.ts +117 -117
  84. package/lib/barsa-document-list-item/barsa-document-list-item.component.d.ts +39 -39
  85. package/lib/barsa-documents/barsa-documents.component.d.ts +47 -47
  86. package/lib/barsa-geographic-location/barsa-geographic-location.component.d.ts +45 -46
  87. package/lib/card-content-image-and-title/card-content-image-and-title.component.d.ts +18 -18
  88. package/lib/card-content-line-chart/card-content-line-chart.component.d.ts +9 -9
  89. package/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.d.ts +6 -6
  90. package/lib/card-header-kpi/card-header-kpi.component.d.ts +14 -14
  91. package/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.d.ts +23 -23
  92. package/lib/checkbox-button/checkbox-button.component.d.ts +13 -13
  93. package/lib/column-form-viewer/column-form-viewer.component.d.ts +30 -30
  94. package/lib/enum-info-micro-proccess-flow/enum-info-micro-proccess-flow.component.d.ts +8 -8
  95. package/lib/footer/footer.component.d.ts +15 -15
  96. package/lib/form-card/form-card.component.d.ts +8 -8
  97. package/lib/form-chart-content/form-chart-content.component.d.ts +9 -9
  98. package/lib/form-content-quick-view/form-content-quick-view.component.d.ts +18 -18
  99. package/lib/form-report-view/form-report-view.component.d.ts +13 -13
  100. package/lib/form-report-view-item/form-report-view-item.component.d.ts +15 -15
  101. package/lib/g4b-details/g4b-details.component.d.ts +9 -9
  102. package/lib/g4b-estelam/g4b-estelam.component.d.ts +11 -11
  103. package/lib/geographic-location/geographic-location.component.d.ts +33 -34
  104. package/lib/login-form/login-form.component.d.ts +12 -12
  105. package/lib/login-social-conncetions/login-social-conncetions.component.d.ts +12 -12
  106. package/lib/master-detail-card-form/master-detail-card-form.component.d.ts +8 -8
  107. package/lib/media-file-uploader/media-file-uploader.component.d.ts +52 -52
  108. package/lib/micro-proccess-flow/micro-proccess-flow.component.d.ts +28 -28
  109. package/lib/micro-process-flow-view/micro-process-flow-view.component.d.ts +14 -14
  110. package/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.d.ts +9 -9
  111. package/lib/models/document-item.d.ts +19 -19
  112. package/lib/models/documents-setting.d.ts +11 -11
  113. package/lib/models/form-report-view-setting.d.ts +7 -7
  114. package/lib/models/index.d.ts +7 -7
  115. package/lib/models/micro-process-flow-view-setting.d.ts +8 -8
  116. package/lib/models/person.d.ts +10 -10
  117. package/lib/models/service-desk-view-of-services-setting.d.ts +6 -6
  118. package/lib/models/tab-process-view-setting.d.ts +7 -7
  119. package/lib/pipes/datasource-to-flow-item.d.ts +10 -10
  120. package/lib/pipes/index.d.ts +2 -2
  121. package/lib/pipes/mo-list-to-flow-item.pipe.d.ts +10 -10
  122. package/lib/query-string-form-observable/query-string-form-observable.component.d.ts +13 -13
  123. package/lib/query-string-observable/query-string-observable.component.d.ts +9 -9
  124. package/lib/report-button-view/report-button-view.component.d.ts +12 -12
  125. package/lib/report-line-chart-view/report-line-chart-view.component.d.ts +7 -7
  126. package/lib/report-tab-view/report-tab-view.component.d.ts +15 -15
  127. package/lib/resend-verification-code/resend-verification-code.component.d.ts +19 -18
  128. package/lib/service-desk-card-content-mojavezhay-akhz-shode/service-desk-card-content-mojavezhay-akhz-shode.component.d.ts +15 -15
  129. package/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.d.ts +26 -26
  130. package/lib/service-desk-header/service-desk-header.component.d.ts +63 -63
  131. package/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.d.ts +39 -39
  132. package/lib/service-desk-view-of-services/service-desk-view-of-services.component.d.ts +16 -16
  133. package/lib/setting-form/setting-form.component.d.ts +20 -20
  134. package/lib/subform-in-row-report/subform-in-row-report.component.d.ts +22 -21
  135. package/lib/tab-process-view/tab-process-view.component.d.ts +20 -20
  136. package/lib/table-view-vertical-columns/table-view-vertical-columns.component.d.ts +6 -6
  137. package/lib/timer-count-down/timer-count-down.component.d.ts +15 -15
  138. package/lib/token-report-view/token-report-view.component.d.ts +15 -15
  139. package/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.d.ts +9 -9
  140. package/lib/ui-num-rate/ui-num-rate.component.d.ts +9 -9
  141. package/lib/ui-person/ui-person.component.d.ts +31 -31
  142. package/lib/ui-person/ui-person.pipe.d.ts +7 -7
  143. package/lib/ui-pictures-carousel/ui-pictures-carousel.component.d.ts +6 -6
  144. package/lib/ui-text-field-search/ui-text-field-search.component.d.ts +17 -17
  145. package/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.d.ts +25 -25
  146. package/package.json +7 -13
  147. package/public-api.d.ts +58 -58
  148. package/esm2020/lib/accept-reject/accept-reject.component.mjs +0 -69
  149. package/esm2020/lib/avatar/avatar.component.mjs +0 -29
  150. package/esm2020/lib/barcode-format-pipe.mjs +0 -24
  151. package/esm2020/lib/barcode-reader/barcode-reader.component.mjs +0 -62
  152. package/esm2020/lib/barcode-reader-dialog/barcode-reader-dialog.component.mjs +0 -82
  153. package/esm2020/lib/barcode-reader-video/barcode-reader-video.component.mjs +0 -66
  154. package/esm2020/lib/barcode.service.mjs +0 -330
  155. package/esm2020/lib/barsa-document-list-item/barsa-document-list-item.component.mjs +0 -104
  156. package/esm2020/lib/barsa-documents/barsa-documents.component.mjs +0 -173
  157. package/esm2020/lib/barsa-geographic-location/barsa-geographic-location.component.mjs +0 -174
  158. package/esm2020/lib/card-content-image-and-title/card-content-image-and-title.component.mjs +0 -51
  159. package/esm2020/lib/card-content-line-chart/card-content-line-chart.component.mjs +0 -38
  160. package/esm2020/lib/card-header-big-image-title-and-subtitle/card-header-big-image-title-and-subtitle.component.mjs +0 -20
  161. package/esm2020/lib/card-header-kpi/card-header-kpi.component.mjs +0 -41
  162. package/esm2020/lib/card-header-logo-title-subtitle/card-header-logo-title-subtitle.component.mjs +0 -46
  163. package/esm2020/lib/column-form-viewer/column-form-viewer.component.mjs +0 -88
  164. package/esm2020/lib/footer/footer.component.mjs +0 -44
  165. package/esm2020/lib/form-card/form-card.component.mjs +0 -18
  166. package/esm2020/lib/form-chart-content/form-chart-content.component.mjs +0 -38
  167. package/esm2020/lib/form-content-quick-view/form-content-quick-view.component.mjs +0 -102
  168. package/esm2020/lib/form-report-view/form-report-view.component.mjs +0 -26
  169. package/esm2020/lib/form-report-view-item/form-report-view-item.component.mjs +0 -45
  170. package/esm2020/lib/g4b-estelam/g4b-estelam.component.mjs +0 -30
  171. package/esm2020/lib/geographic-location/geographic-location.component.mjs +0 -88
  172. package/esm2020/lib/login-form/login-form.component.mjs +0 -55
  173. package/esm2020/lib/master-detail-card-form/master-detail-card-form.component.mjs +0 -17
  174. package/esm2020/lib/media-file-uploader/media-file-uploader.component.mjs +0 -238
  175. package/esm2020/lib/micro-proccess-flow/micro-proccess-flow.component.mjs +0 -53
  176. package/esm2020/lib/micro-process-flow-view/micro-process-flow-view.component.mjs +0 -24
  177. package/esm2020/lib/mo-info-micro-proccess-flow/mo-info-micro-proccess-flow.component.mjs +0 -23
  178. package/esm2020/lib/models/document-item.mjs +0 -2
  179. package/esm2020/lib/models/documents-setting.mjs +0 -2
  180. package/esm2020/lib/query-string-form-observable/query-string-form-observable.component.mjs +0 -37
  181. package/esm2020/lib/query-string-observable/query-string-observable.component.mjs +0 -22
  182. package/esm2020/lib/report-button-view/report-button-view.component.mjs +0 -38
  183. package/esm2020/lib/report-tab-view/report-tab-view.component.mjs +0 -28
  184. package/esm2020/lib/resend-verification-code/resend-verification-code.component.mjs +0 -59
  185. package/esm2020/lib/service-desk-form-layout-content-mojavez/service-desk-form-layout-content-mojavez.component.mjs +0 -110
  186. package/esm2020/lib/service-desk-header/service-desk-header.component.mjs +0 -236
  187. package/esm2020/lib/service-desk-servcie-detail/service-desk-servcie-detail.component.mjs +0 -142
  188. package/esm2020/lib/service-desk-view-of-services/service-desk-view-of-services.component.mjs +0 -37
  189. package/esm2020/lib/setting-form/setting-form.component.mjs +0 -64
  190. package/esm2020/lib/subform-in-row-report/subform-in-row-report.component.mjs +0 -65
  191. package/esm2020/lib/tab-process-view/tab-process-view.component.mjs +0 -49
  192. package/esm2020/lib/table-view-vertical-columns/table-view-vertical-columns.component.mjs +0 -16
  193. package/esm2020/lib/timer-count-down/timer-count-down.component.mjs +0 -98
  194. package/esm2020/lib/token-report-view/token-report-view.component.mjs +0 -27
  195. package/esm2020/lib/ui-enum-segmented-button/ui-enum-segmented-button.component.mjs +0 -25
  196. package/esm2020/lib/ui-num-rate/ui-num-rate.component.mjs +0 -29
  197. package/esm2020/lib/ui-person/ui-person.component.mjs +0 -160
  198. package/esm2020/lib/ui-person/ui-person.pipe.mjs +0 -40
  199. package/esm2020/lib/ui-pictures-carousel/ui-pictures-carousel.component.mjs +0 -17
  200. package/esm2020/lib/ui-text-field-search/ui-text-field-search.component.mjs +0 -42
  201. package/esm2020/lib/ulv-context-menu-item-show-file-content/ulv-context-menu-item-show-file-content.component.mjs +0 -70
  202. package/fesm2015/barsa-develop-components.mjs +0 -3660
  203. package/fesm2015/barsa-develop-components.mjs.map +0 -1
  204. package/fesm2020/barsa-develop-components.mjs +0 -3625
  205. package/fesm2020/barsa-develop-components.mjs.map +0 -1
@@ -0,0 +1,37 @@
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 "barsa-sap-ui";
7
+ import * as i4 from "@fundamental-ngx/core/button";
8
+ import * as i5 from "@fundamental-ngx/core/icon";
9
+ import * as i6 from "@fundamental-ngx/core/layout-grid";
10
+ import * as i7 from "@fundamental-ngx/core/title";
11
+ export class ServiceDeskViewOfServicesComponent extends ReportViewBaseComponent {
12
+ ngOnInit() {
13
+ super.ngOnInit();
14
+ this.fieldIcon = this.viewSetting.FieldIcon;
15
+ this.fieldTitle = this.viewSetting.FieldTitle;
16
+ this.fieldDynamicCommand = this.viewSetting.FieldDynamicCommand;
17
+ this.contextMenuItems?.forEach((c) => {
18
+ const parameters = c.Command.CustomUi?.Parameters;
19
+ if (parameters) {
20
+ // parameters.OnlyIcon = true;
21
+ }
22
+ });
23
+ }
24
+ onRowClick2(e, dynamicCommand) {
25
+ if (dynamicCommand) {
26
+ return;
27
+ }
28
+ super.onRowClick(e);
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskViewOfServicesComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: ServiceDeskViewOfServicesComponent, selector: "bdc-service-desk-view-of-services", usesInheritance: true, ngImport: i0, template: "<div class=\"services\">\r\n <div class=\"service-list\">\r\n <fd-layout-grid>\r\n <div fdLayoutGridRow>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let i = $index) { @if (mo.$Group ||\r\n mo.$Group === '') {\r\n <div [fdLayoutGridCol]=\"12\">\r\n <h3\r\n fd-title\r\n style=\"\r\n padding: 0 0 0.4rem 0;\r\n border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);\r\n \"\r\n >\r\n {{ mo.$Group }}\r\n </h3>\r\n </div>\r\n } @if (!mo.$Group) {\r\n <div [fdLayoutGridCol]=\"12\" [colSm]=\"12\" [colMd]=\"3\" [colLg]=\"3\" [colXl]=\"3\">\r\n <div class=\"item\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicCommand;\r\n context: {\r\n $implicit: mo,\r\n index: i,\r\n dynCommand: fieldDynamicCommand | rval: mo:allColumns,\r\n title: fieldTitle | rval: mo:allColumns | bbbTranslate\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n </fd-layout-grid>\r\n </div>\r\n</div>\r\n<ng-template #dynamicCommand let-mo let-index=\"index\" let-dynCommand=\"dynCommand\" let-title=\"title\">\r\n <button\r\n fd-button\r\n [dynCommand]=\"dynCommand\"\r\n [mo]=\"mo\"\r\n [enableCommand]=\"dynCommand\"\r\n style=\"width: 100%; max-height: 2.3rem; height: 2.3rem; border-radius: 0\"\r\n [fdType]=\"'emphasized'\"\r\n (click)=\"onRowClick2({ mo, index },dynCommand)\"\r\n [title]=\"title\"\r\n >\r\n <span class=\"item-icon\">\r\n <fd-icon glyph=\"product\"></fd-icon>\r\n </span>\r\n <span class=\"item-content\"> {{ title }}</span>\r\n <span class=\"item-icon-arrow\">\r\n @if (fieldIcon) {\r\n <fd-icon [glyph]=\"fieldIcon\"></fd-icon>\r\n }\r\n </span>\r\n </button>\r\n <div style=\"padding: 10px; border-top: 1px solid #ccc\">\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"true\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n (commandClick)=\"this.ulvCommandClick.emit({ mo, index })\"\r\n ></bsu-ulv-context-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host .b-b{padding-right:5px;padding-top:5px}bsu-ulv-context-menu{flex-wrap:wrap;row-gap:5px}.item{position:relative;border:1px solid #ccc}.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}.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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.DynamicCommandDirective, selector: "[dynCommand]", inputs: ["dynCommand", "mo", "enableCommand"], outputs: ["commandClick"] }, { kind: "component", type: i3.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode"], outputs: ["commandClick"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i6.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i6.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i6.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i7.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i2.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ServiceDeskViewOfServicesComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'bdc-service-desk-view-of-services', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"services\">\r\n <div class=\"service-list\">\r\n <fd-layout-grid>\r\n <div fdLayoutGridRow>\r\n @for (mo of moDataList | multipleGroupBy: groupby; track mo; let i = $index) { @if (mo.$Group ||\r\n mo.$Group === '') {\r\n <div [fdLayoutGridCol]=\"12\">\r\n <h3\r\n fd-title\r\n style=\"\r\n padding: 0 0 0.4rem 0;\r\n border-bottom: var(--sapList_BorderWidth) solid var(--sapList_BorderColor);\r\n \"\r\n >\r\n {{ mo.$Group }}\r\n </h3>\r\n </div>\r\n } @if (!mo.$Group) {\r\n <div [fdLayoutGridCol]=\"12\" [colSm]=\"12\" [colMd]=\"3\" [colLg]=\"3\" [colXl]=\"3\">\r\n <div class=\"item\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicCommand;\r\n context: {\r\n $implicit: mo,\r\n index: i,\r\n dynCommand: fieldDynamicCommand | rval: mo:allColumns,\r\n title: fieldTitle | rval: mo:allColumns | bbbTranslate\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n </fd-layout-grid>\r\n </div>\r\n</div>\r\n<ng-template #dynamicCommand let-mo let-index=\"index\" let-dynCommand=\"dynCommand\" let-title=\"title\">\r\n <button\r\n fd-button\r\n [dynCommand]=\"dynCommand\"\r\n [mo]=\"mo\"\r\n [enableCommand]=\"dynCommand\"\r\n style=\"width: 100%; max-height: 2.3rem; height: 2.3rem; border-radius: 0\"\r\n [fdType]=\"'emphasized'\"\r\n (click)=\"onRowClick2({ mo, index },dynCommand)\"\r\n [title]=\"title\"\r\n >\r\n <span class=\"item-icon\">\r\n <fd-icon glyph=\"product\"></fd-icon>\r\n </span>\r\n <span class=\"item-content\"> {{ title }}</span>\r\n <span class=\"item-icon-arrow\">\r\n @if (fieldIcon) {\r\n <fd-icon [glyph]=\"fieldIcon\"></fd-icon>\r\n }\r\n </span>\r\n </button>\r\n <div style=\"padding: 10px; border-top: 1px solid #ccc\">\r\n <bsu-ulv-context-menu\r\n [disableOverflowContextMenu]=\"true\"\r\n [mo]=\"mo\"\r\n [index]=\"index\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [menuItems]=\"contextMenuItems\"\r\n [allColumns]=\"allColumns\"\r\n (commandClick)=\"this.ulvCommandClick.emit({ mo, index })\"\r\n ></bsu-ulv-context-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host .b-b{padding-right:5px;padding-top:5px}bsu-ulv-context-menu{flex-wrap:wrap;row-gap:5px}.item{position:relative;border:1px solid #ccc}.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}.exe_cell:nth-child(1),.exe_cell:nth-child(2),.exe_cell:nth-child(3),.exe_cell:nth-child(4){margin-top:10px}\n"] }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMvc2VydmljZS1kZXNrLXZpZXctb2Ytc2VydmljZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQVNwRixNQUFNLE9BQU8sa0NBQ1QsU0FBUSx1QkFBeUQ7SUFNakUsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDaEUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQztZQUNsRCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLDhCQUE4QjtZQUNsQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQTZDLEVBQUUsY0FBbUI7UUFDMUUsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1gsQ0FBQztRQUNELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQzs4R0F4QlEsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsZ0dDVi9DLG84RkF1RUE7OzJGRDdEYSxrQ0FBa0M7a0JBTjlDLFNBQVM7K0JBQ0ksbUNBQW1DLG1CQUc1Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwsIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBTZXJ2aWNlRGVza1ZpZXdPZlNlcnZpY2VzU2V0dGluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLXNlcnZpY2UtZGVzay12aWV3LW9mLXNlcnZpY2VzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXJ2aWNlLWRlc2stdmlldy1vZi1zZXJ2aWNlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zZXJ2aWNlLWRlc2stdmlldy1vZi1zZXJ2aWNlcy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlcnZpY2VEZXNrVmlld09mU2VydmljZXNDb21wb25lbnRcclxuICAgIGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8U2VydmljZURlc2tWaWV3T2ZTZXJ2aWNlc1NldHRpbmc+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgICBmaWVsZEljb246IHN0cmluZztcclxuICAgIGZpZWxkVGl0bGU6IHN0cmluZztcclxuICAgIGZpZWxkRHluYW1pY0NvbW1hbmQ6IHN0cmluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5maWVsZEljb24gPSB0aGlzLnZpZXdTZXR0aW5nLkZpZWxkSWNvbjtcclxuICAgICAgICB0aGlzLmZpZWxkVGl0bGUgPSB0aGlzLnZpZXdTZXR0aW5nLkZpZWxkVGl0bGU7XHJcbiAgICAgICAgdGhpcy5maWVsZER5bmFtaWNDb21tYW5kID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZER5bmFtaWNDb21tYW5kO1xyXG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVJdGVtcz8uZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gYy5Db21tYW5kLkN1c3RvbVVpPy5QYXJhbWV0ZXJzO1xyXG4gICAgICAgICAgICBpZiAocGFyYW1ldGVycykge1xyXG4gICAgICAgICAgICAgICAgLy8gcGFyYW1ldGVycy5Pbmx5SWNvbiA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG9uUm93Q2xpY2syKGU6IHsgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7IGluZGV4OiBudW1iZXIgfSwgZHluYW1pY0NvbW1hbmQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChkeW5hbWljQ29tbWFuZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1cGVyLm9uUm93Q2xpY2soZSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlcnZpY2VzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1saXN0XCI+XHJcbiAgICAgICAgPGZkLWxheW91dC1ncmlkPlxyXG4gICAgICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cclxuICAgICAgICAgICAgICAgIEBmb3IgKG1vIG9mIG1vRGF0YUxpc3QgfCBtdWx0aXBsZUdyb3VwQnk6IGdyb3VwYnk7IHRyYWNrIG1vOyBsZXQgaSA9ICRpbmRleCkgeyBAaWYgKG1vLiRHcm91cCB8fFxyXG4gICAgICAgICAgICAgICAgbW8uJEdyb3VwID09PSAnJykge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLXRpdGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC40cmVtIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1zYXBMaXN0X0JvcmRlcldpZHRoKSBzb2xpZCB2YXIoLS1zYXBMaXN0X0JvcmRlckNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1vLiRHcm91cCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH0gQGlmICghbW8uJEdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sU21dPVwiMTJcIiBbY29sTWRdPVwiM1wiIFtjb2xMZ109XCIzXCIgW2NvbFhsXT1cIjNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNDb21tYW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR5bkNvbW1hbmQ6IGZpZWxkRHluYW1pY0NvbW1hbmQgfCBydmFsOiBtbzphbGxDb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZmllbGRUaXRsZSB8IHJ2YWw6IG1vOmFsbENvbHVtbnMgfCBiYmJUcmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2ZkLWxheW91dC1ncmlkPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI2R5bmFtaWNDb21tYW5kIGxldC1tbyBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1keW5Db21tYW5kPVwiZHluQ29tbWFuZFwiIGxldC10aXRsZT1cInRpdGxlXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgW2R5bkNvbW1hbmRdPVwiZHluQ29tbWFuZFwiXHJcbiAgICAgICAgW21vXT1cIm1vXCJcclxuICAgICAgICBbZW5hYmxlQ29tbWFuZF09XCJkeW5Db21tYW5kXCJcclxuICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiAyLjNyZW07IGhlaWdodDogMi4zcmVtOyBib3JkZXItcmFkaXVzOiAwXCJcclxuICAgICAgICBbZmRUeXBlXT1cIidlbXBoYXNpemVkJ1wiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uUm93Q2xpY2syKHsgbW8sIGluZGV4IH0sZHluQ29tbWFuZClcIlxyXG4gICAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXHJcbiAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLWljb25cIj5cclxuICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJwcm9kdWN0XCI+PC9mZC1pY29uPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tY29udGVudFwiPiB7eyB0aXRsZSB9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0taWNvbi1hcnJvd1wiPlxyXG4gICAgICAgICAgICBAaWYgKGZpZWxkSWNvbikge1xyXG4gICAgICAgICAgICA8ZmQtaWNvbiBbZ2x5cGhdPVwiZmllbGRJY29uXCI+PC9mZC1pY29uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8ZGl2IHN0eWxlPVwicGFkZGluZzogMTBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NcIj5cclxuICAgICAgICA8YnN1LXVsdi1jb250ZXh0LW1lbnVcclxuICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cInRydWVcIlxyXG4gICAgICAgICAgICBbbW9dPVwibW9cIlxyXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBbc3R5bGVJbmRleF09XCJtby4kU3R5bGVJbmRleFwiXHJcbiAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxyXG4gICAgICAgICAgICAoY29tbWFuZENsaWNrKT1cInRoaXMudWx2Q29tbWFuZENsaWNrLmVtaXQoeyBtbywgaW5kZXggfSlcIlxyXG4gICAgICAgID48L2JzdS11bHYtY29udGV4dC1tZW51PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,64 @@
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 "@angular/common";
6
+ import * as i2 from "barsa-sap-ui";
7
+ import * as i3 from "@fundamental-ngx/core/button";
8
+ import * as i4 from "@fundamental-ngx/core/dynamic-side-content";
9
+ import * as i5 from "barsa-novin-ray-core";
10
+ export class SettingFormComponent extends FormBaseComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.deviceSize = 'xl';
14
+ this.selectedSetting = false;
15
+ this.groupSettingFieldCaption = 'گروه تنظیمات2';
16
+ this.objectSettingFieldCaption = 'شی تنظیمات';
17
+ }
18
+ ngOnInit() {
19
+ super.ngOnInit();
20
+ this.rtl$ = this._portalService.rtl$;
21
+ this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$)).subscribe((deviceSize) => {
22
+ switch (deviceSize) {
23
+ case 's':
24
+ this.deviceSize = 'sm';
25
+ break;
26
+ case 'm':
27
+ this.deviceSize = 'md';
28
+ break;
29
+ default:
30
+ this.deviceSize = 'xl';
31
+ }
32
+ });
33
+ }
34
+ ngAfterViewInit() {
35
+ super.ngAfterViewInit();
36
+ const fieldUi = Object.values(this.listFieldUi).find((c) => c.Setting.ControlFieldCaption === this.groupSettingFieldCaption);
37
+ if (fieldUi) {
38
+ fieldUi.viewerControl.on({
39
+ rowselect: this._setSelectedSetting.bind(this)
40
+ });
41
+ }
42
+ this._groupSettingControlUi = fieldUi;
43
+ }
44
+ ngOnDestroy() {
45
+ super.ngOnDestroy();
46
+ if (this._groupSettingControlUi) {
47
+ this._groupSettingControlUi.viewerControl.un('rowselect', this._setSelectedSetting);
48
+ }
49
+ }
50
+ onSettingClick() { }
51
+ onBack() {
52
+ this.selectedSetting = false;
53
+ }
54
+ _setSelectedSetting() {
55
+ this.selectedSetting = true;
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SettingFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: SettingFormComponent, selector: "bdc-setting-form", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "@if (mo$ | async; as mo) { @if (layout94$ | async; as layout) { @if (deviceSize === 'sm') {\r\n<div style=\"display: flex; flex-direction: column\">\r\n @if (selectedSetting) {\r\n <div style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n }\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n</div>\r\n} @else {\r\n<fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n} }\r\n<ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n @if (objectSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n @if (groupSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n} @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.DynamicSideContentComponent, selector: "fd-dynamic-side-content", inputs: ["position", "size", "id"] }, { kind: "component", type: i4.DynamicSideContentSideComponent, selector: "fd-dynamic-side-content-side", inputs: ["id"] }, { kind: "component", type: i4.DynamicSideContentMainComponent, selector: "fd-dynamic-side-content-main", inputs: ["id"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SettingFormComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ selector: 'bdc-setting-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "@if (mo$ | async; as mo) { @if (layout94$ | async; as layout) { @if (deviceSize === 'sm') {\r\n<div style=\"display: flex; flex-direction: column\">\r\n @if (selectedSetting) {\r\n <div style=\"width: 100%\">\r\n <button\r\n fd-button\r\n [fdType]=\"'transparent'\"\r\n [glyph]=\"(rtl$ | async)!! ? 'arrow-left' : 'arrow-right'\"\r\n (click)=\"onBack()\"\r\n ></button>\r\n </div>\r\n }\r\n <div [class.hide]=\"selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n <div [class.hide]=\"!selectedSetting\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: true\r\n }\r\n \"\r\n ></ng-container>\r\n </div>\r\n</div>\r\n} @else {\r\n<fd-dynamic-side-content [size]=\"deviceSize\">\r\n <fd-dynamic-side-content-side>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderSetting;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-side>\r\n <fd-dynamic-side-content-main>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n renderForm;\r\n context: {\r\n $implicit: layout,\r\n isMobile: false\r\n }\r\n \"\r\n ></ng-container>\r\n </fd-dynamic-side-content-main>\r\n</fd-dynamic-side-content>\r\n} }\r\n<ng-template #renderForm let-layout let-isMobile=\"isMobile\">\r\n @if (objectSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n (click)=\"onSettingClick()\"\r\n class=\"form-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"objectSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n [focus]=\"true\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n<ng-template #renderSetting let-layout let-isMobile=\"isMobile\">\r\n @if (groupSettingFieldCaption | controlUi: layout; as layoutConfig) {\r\n <bsu-layout-control\r\n class=\"list-setting\"\r\n [class.is-mobile]=\"isMobile\"\r\n [caption]=\"groupSettingFieldCaption\"\r\n [config]=\"layoutConfig\"\r\n ></bsu-layout-control>\r\n }\r\n</ng-template>\r\n} @else {\r\n<bsu-mask></bsu-mask>\r\n}\r\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"] }]
63
+ }] });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3NldHRpbmctZm9ybS9zZXR0aW5nLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc2V0dGluZy1mb3JtL3NldHRpbmctZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBUzNFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFQM0Q7O1FBUUksZUFBVSxHQUF1QixJQUFJLENBQUM7UUFDdEMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsNkJBQXdCLEdBQUcsZUFBZSxDQUFDO1FBQzNDLDhCQUF5QixHQUFHLFlBQVksQ0FBQztLQTRDNUM7SUF6Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdkYsUUFBUSxVQUFVLEVBQUUsQ0FBQztnQkFDakIsS0FBSyxHQUFHO29CQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO29CQUN2QixNQUFNO2dCQUNWLEtBQUssR0FBRztvQkFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztvQkFDdkIsTUFBTTtnQkFDVjtvQkFDSSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUMvQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBUSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3JELENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUUsQ0FBQztRQUNGLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pELENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsT0FBTyxDQUFDO0lBQzFDLENBQUM7SUFDRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7SUFDTCxDQUFDO0lBQ0QsY0FBYyxLQUFVLENBQUM7SUFDekIsTUFBTTtRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDOzhHQWhEUSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwyQ0FGbEIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENWakMsNHdGQXNGQTs7MkZEMUVhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvcm1CYXNlQ29tcG9uZW50LCBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1zZXR0aW5nLWZvcm0nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmctZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zZXR0aW5nLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbRm9ybVBhbmVsU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdGb3JtQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBkZXZpY2VTaXplOiAneGwnIHwgJ21kJyB8ICdzbScgPSAneGwnO1xyXG4gICAgc2VsZWN0ZWRTZXR0aW5nID0gZmFsc2U7XHJcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZ3JvdXBTZXR0aW5nRmllbGRDYXB0aW9uID0gJ9qv2LHZiNmHINiq2YbYuNuM2YXYp9iqMic7XHJcbiAgICBvYmplY3RTZXR0aW5nRmllbGRDYXB0aW9uID0gJ9i024wg2KrZhti424zZhdin2KonO1xyXG4gICAgcHJpdmF0ZSBfZ3JvdXBTZXR0aW5nQ29udHJvbFVpOiBhbnk7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnJ0bCQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnJ0bCQ7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChkZXZpY2VTaXplKSA9PiB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAoZGV2aWNlU2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncyc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXZpY2VTaXplID0gJ3NtJztcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ20nOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9ICdtZCc7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9ICd4bCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICBjb25zdCBmaWVsZFVpOiBhbnkgPSBPYmplY3QudmFsdWVzKHRoaXMubGlzdEZpZWxkVWkpLmZpbmQoXHJcbiAgICAgICAgICAgIChjOiBhbnkpID0+IGMuU2V0dGluZy5Db250cm9sRmllbGRDYXB0aW9uID09PSB0aGlzLmdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvblxyXG4gICAgICAgICk7XHJcbiAgICAgICAgaWYgKGZpZWxkVWkpIHtcclxuICAgICAgICAgICAgZmllbGRVaS52aWV3ZXJDb250cm9sLm9uKHtcclxuICAgICAgICAgICAgICAgIHJvd3NlbGVjdDogdGhpcy5fc2V0U2VsZWN0ZWRTZXR0aW5nLmJpbmQodGhpcylcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2dyb3VwU2V0dGluZ0NvbnRyb2xVaSA9IGZpZWxkVWk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIGlmICh0aGlzLl9ncm91cFNldHRpbmdDb250cm9sVWkpIHtcclxuICAgICAgICAgICAgdGhpcy5fZ3JvdXBTZXR0aW5nQ29udHJvbFVpLnZpZXdlckNvbnRyb2wudW4oJ3Jvd3NlbGVjdCcsIHRoaXMuX3NldFNlbGVjdGVkU2V0dGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25TZXR0aW5nQ2xpY2soKTogdm9pZCB7fVxyXG4gICAgb25CYWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXR0aW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBfc2V0U2VsZWN0ZWRTZXR0aW5nKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTZXR0aW5nID0gdHJ1ZTtcclxuICAgIH1cclxufVxyXG4iLCJAaWYgKG1vJCB8IGFzeW5jOyBhcyBtbykgeyBAaWYgKGxheW91dDk0JCB8IGFzeW5jOyBhcyBsYXlvdXQpIHsgQGlmIChkZXZpY2VTaXplID09PSAnc20nKSB7XHJcbjxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uXCI+XHJcbiAgICBAaWYgKHNlbGVjdGVkU2V0dGluZykge1xyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cIihydGwkIHwgYXN5bmMpISEgPyAnYXJyb3ctbGVmdCcgOiAnYXJyb3ctcmlnaHQnXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFjaygpXCJcclxuICAgICAgICA+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIDxkaXYgW2NsYXNzLmhpZGVdPVwic2VsZWN0ZWRTZXR0aW5nXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgcmVuZGVyU2V0dGluZztcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcclxuICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBbY2xhc3MuaGlkZV09XCIhc2VsZWN0ZWRTZXR0aW5nXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgcmVuZGVyRm9ybTtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGxheW91dCxcclxuICAgICAgICAgICAgICAgICAgICBpc01vYmlsZTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxufSBAZWxzZSB7XHJcbjxmZC1keW5hbWljLXNpZGUtY29udGVudCBbc2l6ZV09XCJkZXZpY2VTaXplXCI+XHJcbiAgICA8ZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtc2lkZT5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICByZW5kZXJTZXR0aW5nO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogbGF5b3V0LFxyXG4gICAgICAgICAgICAgICAgICAgIGlzTW9iaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtc2lkZT5cclxuICAgIDxmZC1keW5hbWljLXNpZGUtY29udGVudC1tYWluPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIHJlbmRlckZvcm07XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBsYXlvdXQsXHJcbiAgICAgICAgICAgICAgICAgICAgaXNNb2JpbGU6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9mZC1keW5hbWljLXNpZGUtY29udGVudC1tYWluPlxyXG48L2ZkLWR5bmFtaWMtc2lkZS1jb250ZW50PlxyXG59IH1cclxuPG5nLXRlbXBsYXRlICNyZW5kZXJGb3JtIGxldC1sYXlvdXQgbGV0LWlzTW9iaWxlPVwiaXNNb2JpbGVcIj5cclxuICAgIEBpZiAob2JqZWN0U2V0dGluZ0ZpZWxkQ2FwdGlvbiB8IGNvbnRyb2xVaTogbGF5b3V0OyBhcyBsYXlvdXRDb25maWcpIHtcclxuICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICAoY2xpY2spPVwib25TZXR0aW5nQ2xpY2soKVwiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLXNldHRpbmdcIlxyXG4gICAgICAgIFtjbGFzcy5pcy1tb2JpbGVdPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgIFtjYXB0aW9uXT1cIm9iamVjdFNldHRpbmdGaWVsZENhcHRpb25cIlxyXG4gICAgICAgIFtjb25maWddPVwibGF5b3V0Q29uZmlnXCJcclxuICAgICAgICBbZm9jdXNdPVwidHJ1ZVwiXHJcbiAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjcmVuZGVyU2V0dGluZyBsZXQtbGF5b3V0IGxldC1pc01vYmlsZT1cImlzTW9iaWxlXCI+XHJcbiAgICBAaWYgKGdyb3VwU2V0dGluZ0ZpZWxkQ2FwdGlvbiB8IGNvbnRyb2xVaTogbGF5b3V0OyBhcyBsYXlvdXRDb25maWcpIHtcclxuICAgIDxic3UtbGF5b3V0LWNvbnRyb2xcclxuICAgICAgICBjbGFzcz1cImxpc3Qtc2V0dGluZ1wiXHJcbiAgICAgICAgW2NsYXNzLmlzLW1vYmlsZV09XCJpc01vYmlsZVwiXHJcbiAgICAgICAgW2NhcHRpb25dPVwiZ3JvdXBTZXR0aW5nRmllbGRDYXB0aW9uXCJcclxuICAgICAgICBbY29uZmlnXT1cImxheW91dENvbmZpZ1wiXHJcbiAgICA+PC9ic3UtbGF5b3V0LWNvbnRyb2w+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbn0gQGVsc2Uge1xyXG48YnN1LW1hc2s+PC9ic3UtbWFzaz5cclxufVxyXG4iXX0=
@@ -0,0 +1,73 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { BaseItemContentPropsComponent, createGridEditorFormPanel, BarsaApi } from 'barsa-novin-ray-core';
3
+ import { Subject, debounceTime, switchMap, takeUntil } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "barsa-novin-ray-core";
6
+ import * as i2 from "@fundamental-ngx/core/object-status";
7
+ export class SubformInRowReportComponent extends BaseItemContentPropsComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.suggestionList$ = new Subject();
11
+ }
12
+ ngOnInit() {
13
+ super.ngOnInit();
14
+ this.suggestionList$
15
+ .asObservable()
16
+ .pipe(takeUntil(this._onDestroy$), debounceTime(500), switchMap((ulvParams) => new Promise((resolve, reject) => {
17
+ formPanelCtrl.Save(false, (err) => {
18
+ if (err) {
19
+ reject(err);
20
+ }
21
+ this.UlvMainCtrlr.RefreshRowsByMosNoSelectionChange([formPanelCtrl.Mo], [], []);
22
+ resolve();
23
+ });
24
+ })))
25
+ .subscribe();
26
+ const userDefineViewId = this.parameters?.ViewTypeValue?.Id;
27
+ this.params = {
28
+ moId: this.mo.Id,
29
+ typeDefId: this.typeDefId,
30
+ isSimple: true,
31
+ viewId: userDefineViewId
32
+ };
33
+ const formPanelCtrl = createGridEditorFormPanel(this.formSetting, { ...this.mo }, this.typeDefId, null, false
34
+ // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')
35
+ );
36
+ this.formPanelCtrl = formPanelCtrl;
37
+ if (this.parameters?.AutoSaveOnChange) {
38
+ formPanelCtrl.on({
39
+ scope: this,
40
+ ValueChange: () => {
41
+ this.suggestionList$.next();
42
+ }
43
+ });
44
+ }
45
+ formPanelCtrl.LoadAndCreate({ MoId: this.mo.Id, TypeDefId: this.typeDefId, TypeViewId: userDefineViewId }, false, true, (t, e, r) => {
46
+ console.log(t, e, r);
47
+ const error = BarsaApi.Common.Util.TryGetValue(t, 'Data.ResponseData.error');
48
+ if (error) {
49
+ this.loaded = false;
50
+ this.errorMessage = error.userMessage;
51
+ }
52
+ else {
53
+ this.loaded = true;
54
+ }
55
+ this._cdr.detectChanges();
56
+ });
57
+ }
58
+ ngOnChanges(changes) {
59
+ super.ngOnChanges(changes);
60
+ const { mo } = changes;
61
+ if (mo && !mo.firstChange) {
62
+ BarsaApi.Common.Merger.FastMerge(this.formPanelCtrl.Mo, mo.currentValue);
63
+ this.formPanelCtrl.SetValue(this.formPanelCtrl.Mo);
64
+ }
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SubformInRowReportComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: SubformInRowReportComponent, selector: "bdc-subform-in-row-report", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (loaded) {\n<bnrc-form [formPanelCtrl]=\"formPanelCtrl\" class=\"subform-in-row\" [params]=\"params\"></bnrc-form>\n} @if(errorMessage){\n<span\n fd-object-status\n status=\"negative\"\n [label]=\"errorMessage\"\n [title]=\"errorMessage\"\n [attr.aria-label]=\"errorMessage\"\n></span>\n}\n", styles: [""], dependencies: [{ kind: "component", type: i1.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: i2.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: SubformInRowReportComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ selector: 'bdc-subform-in-row-report', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (loaded) {\n<bnrc-form [formPanelCtrl]=\"formPanelCtrl\" class=\"subform-in-row\" [params]=\"params\"></bnrc-form>\n} @if(errorMessage){\n<span\n fd-object-status\n status=\"negative\"\n [label]=\"errorMessage\"\n [title]=\"errorMessage\"\n [attr.aria-label]=\"errorMessage\"\n></span>\n}\n" }]
72
+ }] });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZm9ybS1pbi1yb3ctcmVwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3N1YmZvcm0taW4tcm93LXJlcG9ydC9zdWJmb3JtLWluLXJvdy1yZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvc3ViZm9ybS1pbi1yb3ctcmVwb3J0L3N1YmZvcm0taW4tcm93LXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHlCQUF5QixFQUl6QixRQUFRLEVBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBUW5FLE1BQU0sT0FBTywyQkFDVCxTQUFRLDZCQUFzRDtJQVBsRTs7UUFjSSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0EwRXpDO0lBeEVHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGVBQWU7YUFDZixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQ0wsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNWLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2xDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FB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QTJCO2tHQUEzQiwyQkFBMkIsNkdDakJ4Qyx1VEFXQTs7MkZETWEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhc2VJdGVtQ29udGVudFByb3BzQ29tcG9uZW50LFxuICAgIGNyZWF0ZUdyaWRFZGl0b3JGb3JtUGFuZWwsXG4gICAgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsXG4gICAgRm9ybUNvbXBvbmVudFBhcmFtcyxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIEJhcnNhQXBpXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtc3ViZm9ybS1pbi1yb3ctcmVwb3J0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3ViZm9ybS1pbi1yb3ctcmVwb3J0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdWJmb3JtLWluLXJvdy1yZXBvcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdWJmb3JtSW5Sb3dSZXBvcnRDb21wb25lbnRcbiAgICBleHRlbmRzIEJhc2VJdGVtQ29udGVudFByb3BzQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXNcbntcbiAgICBmb3JtUGFuZWxDdHJsOiBhbnk7XG4gICAgbG9hZGVkOiBib29sZWFuO1xuICAgIHBhcmFtczogRm9ybUNvbXBvbmVudFBhcmFtcztcbiAgICBwYXJhbWV0ZXJzOiBTdWJmb3JtSW5Sb3dSZXBvcnRTZXR0aW5nO1xuICAgIHN1Z2dlc3Rpb25MaXN0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbkxpc3QkXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoXG4gICAgICAgICAgICAgICAgICAgICh1bHZQYXJhbXMpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybVBhbmVsQ3RybC5TYXZlKGZhbHNlLCAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuVWx2TWFpbkN0cmxyLlJlZnJlc2hSb3dzQnlNb3NOb1NlbGVjdGlvbkNoYW5nZShbZm9ybVBhbmVsQ3RybC5Nb10sIFtdLCBbXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgIGNvbnN0IHVzZXJEZWZpbmVWaWV3SWQgPSB0aGlzLnBhcmFtZXRlcnM/LlZpZXdUeXBlVmFsdWU/LklkO1xuICAgICAgICB0aGlzLnBhcmFtcyA9IHtcbiAgICAgICAgICAgIG1vSWQ6IHRoaXMubW8uSWQsXG4gICAgICAgICAgICB0eXBlRGVmSWQ6IHRoaXMudHlwZURlZklkLFxuICAgICAgICAgICAgaXNTaW1wbGU6IHRydWUsXG4gICAgICAgICAgICB2aWV3SWQ6IHVzZXJEZWZpbmVWaWV3SWRcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZm9ybVBhbmVsQ3RybCA9IGNyZWF0ZUdyaWRFZGl0b3JGb3JtUGFuZWwoXG4gICAgICAgICAgICB0aGlzLmZvcm1TZXR0aW5nLFxuICAgICAgICAgICAgeyAuLi50aGlzLm1vIH0sXG4gICAgICAgICAgICB0aGlzLnR5cGVEZWZJZCxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgLy8gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LlNldHRpbmcsICdFeHRyYS5SZWxhdGlvbicpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsID0gZm9ybVBhbmVsQ3RybDtcbiAgICAgICAgaWYgKHRoaXMucGFyYW1ldGVycz8uQXV0b1NhdmVPbkNoYW5nZSkge1xuICAgICAgICAgICAgZm9ybVBhbmVsQ3RybC5vbih7XG4gICAgICAgICAgICAgICAgc2NvcGU6IHRoaXMsXG4gICAgICAgICAgICAgICAgVmFsdWVDaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWdnZXN0aW9uTGlzdCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1QYW5lbEN0cmwuTG9hZEFuZENyZWF0ZShcbiAgICAgICAgICAgIHsgTW9JZDogdGhpcy5tby5JZCwgVHlwZURlZklkOiB0aGlzLnR5cGVEZWZJZCwgVHlwZVZpZXdJZDogdXNlckRlZmluZVZpZXdJZCB9LFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgKHQsIGUsIHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0LCBlLCByKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHQsICdEYXRhLlJlc3BvbnNlRGF0YS5lcnJvcicpO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnVzZXJNZXNzYWdlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgY29uc3QgeyBtbyB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKG1vICYmICFtby5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2UodGhpcy5mb3JtUGFuZWxDdHJsLk1vLCBtby5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsLlNldFZhbHVlKHRoaXMuZm9ybVBhbmVsQ3RybC5Nbyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5pbnRlcmZhY2UgU3ViZm9ybUluUm93UmVwb3J0U2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgIFR5cGVEZWZWYWx1ZTogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBWaWV3VHlwZVZhbHVlOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEF1dG9TYXZlT25DaGFuZ2U6IGJvb2xlYW47XG59XG4iLCJAaWYgKGxvYWRlZCkge1xuPGJucmMtZm9ybSBbZm9ybVBhbmVsQ3RybF09XCJmb3JtUGFuZWxDdHJsXCIgY2xhc3M9XCJzdWJmb3JtLWluLXJvd1wiIFtwYXJhbXNdPVwicGFyYW1zXCI+PC9ibnJjLWZvcm0+XG59IEBpZihlcnJvck1lc3NhZ2Upe1xuPHNwYW5cbiAgICBmZC1vYmplY3Qtc3RhdHVzXG4gICAgc3RhdHVzPVwibmVnYXRpdmVcIlxuICAgIFtsYWJlbF09XCJlcnJvck1lc3NhZ2VcIlxuICAgIFt0aXRsZV09XCJlcnJvck1lc3NhZ2VcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZXJyb3JNZXNzYWdlXCJcbj48L3NwYW4+XG59XG4iXX0=
@@ -0,0 +1,48 @@
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 "@fundamental-ngx/core/tabs";
7
+ import * as i2 from "barsa-novin-ray-core";
8
+ export class TabProcessViewComponent extends ReportViewBaseComponent {
9
+ ngOnInit() {
10
+ super.ngOnInit();
11
+ this.arrowRight = this.rtl ? 'navigation-left-arrow' : 'navigation-right-arrow';
12
+ this.fieldTitle = this.viewSetting.FieldTitle;
13
+ this.fieldSubtitle = this.viewSetting.FieldSubtitle;
14
+ this.fieldIcon = this.viewSetting.FieldIcon;
15
+ this.defaultIcon = this.viewSetting.DefaultIcon;
16
+ this._ulvMainService.moDataList$.pipe(takeUntil(this._onDestroy$)).subscribe((moDataList) => {
17
+ if (moDataList) {
18
+ const selectedIndex = moDataList.findIndex((c) => c.$IsChecked);
19
+ if (this.tabList && selectedIndex > -1) {
20
+ setTimeout(() => this.tabList.tabPanels.toArray()[selectedIndex].open(true), 0);
21
+ }
22
+ }
23
+ });
24
+ }
25
+ onTabChange2(e) {
26
+ const index = this.moDataList.findIndex((c) => c.Id === e.Id);
27
+ const mo = this.moDataList[index];
28
+ if (mo.$IsChecked) {
29
+ return;
30
+ }
31
+ super.onRowCheck({ mo, index });
32
+ }
33
+ onTabChange(e) {
34
+ const index = this.moDataList.findIndex((c) => c.Id === e.id);
35
+ const mo = this.moDataList[index];
36
+ super.onRowCheck({ mo, index });
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TabProcessViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TabProcessViewComponent, selector: "bdc-tab-process-view", viewQueries: [{ propertyName: "tabList", first: true, predicate: TabListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (moDataList?.length) {\r\n<fd-tab-list\r\n mode=\"process\"\r\n [style.min-height]=\"moDataList?.length ? '3.8rem' : null\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n>\r\n @for (item of moDataList; track item; let index = $index; let last = $last) {\r\n <fd-tab [id]=\"item.Id\" [active]=\"item.$IsChecked\">\r\n <ng-template fd-tab-title-template>\r\n <span\r\n (click)=\"onTabChange2(item)\"\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 (click)=\"onTabChange2(item)\">\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 }\r\n</fd-tab-list>\r\n} @else {\r\n<div style=\"min-height: 3.8rem; background-color: var(--sapObjectHeader_Background)\"></div>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i1.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "directive", type: i1.TabTitleDirective, selector: "[fdTabTitleTemplate], [fd-tab-title-template]" }, { kind: "component", type: i1.TabIconComponent, selector: "[fd-tab-icon]", inputs: ["class", "icon", "iconFont"] }, { kind: "directive", type: i1.TabLabelDirective, selector: "[fdTabLabel], [fd-tab-label]" }, { kind: "directive", type: i1.TabProcessDirective, selector: "[fdTabProcess], [fd-tab-process]" }, { kind: "pipe", type: i2.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TabProcessViewComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'bdc-tab-process-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (moDataList?.length) {\r\n<fd-tab-list\r\n mode=\"process\"\r\n [style.min-height]=\"moDataList?.length ? '3.8rem' : null\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n>\r\n @for (item of moDataList; track item; let index = $index; let last = $last) {\r\n <fd-tab [id]=\"item.Id\" [active]=\"item.$IsChecked\">\r\n <ng-template fd-tab-title-template>\r\n <span\r\n (click)=\"onTabChange2(item)\"\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 (click)=\"onTabChange2(item)\">\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 }\r\n</fd-tab-list>\r\n} @else {\r\n<div style=\"min-height: 3.8rem; background-color: var(--sapObjectHeader_Background)\"></div>\r\n}\r\n" }]
44
+ }], propDecorators: { tabList: [{
45
+ type: ViewChild,
46
+ args: [TabListComponent]
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90YWItcHJvY2Vzcy12aWV3L3RhYi1wcm9jZXNzLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFiLXByb2Nlc3Mtdmlldy90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBTzVFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBOEM7SUFVdkYsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztRQUNoRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEYsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDcEYsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBc0I7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFDRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFdBQVcsQ0FBQyxDQUFvQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0F0Q1EsdUJBQXVCO2tHQUF2Qix1QkFBdUIscUdBQ3JCLGdCQUFnQix1RUNiL0IsNmpDQXlCQTs7MkZEYmEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdsQixPQUFPO3NCQUFuQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBUYWJQcm9jZXNzVmlld1NldHRpbmcgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUYWJMaXN0Q29tcG9uZW50LCBUYWJQYW5lbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtdGFiLXByb2Nlc3MtdmlldycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFiLXByb2Nlc3Mtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWItcHJvY2Vzcy12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiUHJvY2Vzc1ZpZXdDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUYWJQcm9jZXNzVmlld1NldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoVGFiTGlzdENvbXBvbmVudCkgdGFiTGlzdDogVGFiTGlzdENvbXBvbmVudDtcclxuICAgIGZpZWxkVGl0bGU6IHN0cmluZztcclxuICAgIGZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgZmllbGRTdGF0ZTogc3RyaW5nO1xyXG4gICAgbW9kZTogc3RyaW5nO1xyXG4gICAgYXJyb3dSaWdodDogc3RyaW5nO1xyXG4gICAgZmllbGRTdWJ0aXRsZTogc3RyaW5nO1xyXG4gICAgZGVmYXVsdEljb246IHN0cmluZztcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuYXJyb3dSaWdodCA9IHRoaXMucnRsID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdyc7XHJcbiAgICAgICAgdGhpcy5maWVsZFRpdGxlID0gdGhpcy52aWV3U2V0dGluZy5GaWVsZFRpdGxlO1xyXG4gICAgICAgIHRoaXMuZmllbGRTdWJ0aXRsZSA9IHRoaXMudmlld1NldHRpbmcuRmllbGRTdWJ0aXRsZTtcclxuICAgICAgICB0aGlzLmZpZWxkSWNvbiA9IHRoaXMudmlld1NldHRpbmcuRmllbGRJY29uO1xyXG4gICAgICAgIHRoaXMuZGVmYXVsdEljb24gPSB0aGlzLnZpZXdTZXR0aW5nLkRlZmF1bHRJY29uO1xyXG4gICAgICAgIHRoaXMuX3Vsdk1haW5TZXJ2aWNlLm1vRGF0YUxpc3QkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vRGF0YUxpc3QpID0+IHtcclxuICAgICAgICAgICAgaWYgKG1vRGF0YUxpc3QpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSBtb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy4kSXNDaGVja2VkKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYkxpc3QgJiYgc2VsZWN0ZWRJbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRhYkxpc3QudGFiUGFuZWxzLnRvQXJyYXkoKVtzZWxlY3RlZEluZGV4XS5vcGVuKHRydWUpLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25UYWJDaGFuZ2UyKGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubW9EYXRhTGlzdC5maW5kSW5kZXgoKGMpID0+IGMuSWQgPT09IGUuSWQpO1xyXG4gICAgICAgIGNvbnN0IG1vID0gdGhpcy5tb0RhdGFMaXN0W2luZGV4XTtcclxuICAgICAgICBpZiAobW8uJElzQ2hlY2tlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN1cGVyLm9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBvblRhYkNoYW5nZShlOiBUYWJQYW5lbENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb0RhdGFMaXN0LmZpbmRJbmRleCgoYykgPT4gYy5JZCA9PT0gZS5pZCk7XHJcbiAgICAgICAgY29uc3QgbW8gPSB0aGlzLm1vRGF0YUxpc3RbaW5kZXhdO1xyXG4gICAgICAgIHN1cGVyLm9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmIChtb0RhdGFMaXN0Py5sZW5ndGgpIHtcclxuPGZkLXRhYi1saXN0XHJcbiAgICBtb2RlPVwicHJvY2Vzc1wiXHJcbiAgICBbc3R5bGUubWluLWhlaWdodF09XCJtb0RhdGFMaXN0Py5sZW5ndGggPyAnMy44cmVtJyA6IG51bGxcIlxyXG4gICAgW2V4cGFuZE92ZXJmbG93VGV4dF09XCInTW9yZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4+XHJcbiAgICBAZm9yIChpdGVtIG9mIG1vRGF0YUxpc3Q7IHRyYWNrIGl0ZW07IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPSAkbGFzdCkge1xyXG4gICAgPGZkLXRhYiBbaWRdPVwiaXRlbS5JZFwiIFthY3RpdmVdPVwiaXRlbS4kSXNDaGVja2VkXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZkLXRhYi10aXRsZS10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRhYkNoYW5nZTIoaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgZmQtdGFiLWljb25cclxuICAgICAgICAgICAgICAgIFtpY29uXT1cIihmaWVsZEljb24gfCBydmFsOiBpdGVtOmFsbENvbHVtbnMpID8gKGZpZWxkSWNvbiB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucykgOiBkZWZhdWx0SWNvblwiXHJcbiAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtdGFiLXByb2Nlc3MgKGNsaWNrKT1cIm9uVGFiQ2hhbmdlMihpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtdGFiLWxhYmVsPnt7IGZpZWxkVGl0bGUgfCBydmFsOiBpdGVtOmFsbENvbHVtbnMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBmZC10YWItbGFiZWw+e3sgZmllbGRTdWJ0aXRsZSB8IHJ2YWw6IGl0ZW06YWxsQ29sdW1ucyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZmQtdGFiPlxyXG4gICAgfVxyXG48L2ZkLXRhYi1saXN0PlxyXG59IEBlbHNlIHtcclxuPGRpdiBzdHlsZT1cIm1pbi1oZWlnaHQ6IDMuOHJlbTsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2FwT2JqZWN0SGVhZGVyX0JhY2tncm91bmQpXCI+PC9kaXY+XHJcbn1cclxuIl19
@@ -0,0 +1,16 @@
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
+ import * as i4 from "barsa-novin-ray-core";
8
+ export class TableViewVerticalColumnsComponent extends ReportViewBaseComponent {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableViewVerticalColumnsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TableViewVerticalColumnsComponent, selector: "bdc-table-view-vertical-columns", usesInheritance: true, ngImport: i0, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (mo.$Group) {\r\n<h3>{{ mo.$Group }}</h3>\r\n<ng-container *ngTemplateOutlet=\"tplTable; context: { $implicit: mo.$Children, index: this.index }\"></ng-container>\r\n} }\r\n<ng-template #tplTable let-children let-index=\"index\">\r\n <table fd-table [style.margin-top]=\"index > 0 ? '2rem' : 0\">\r\n <tbody fd-table-body>\r\n @for (column of columns; track column) {\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <strong>{{ column.Alias }}:</strong>\r\n </th>\r\n @for (mo of children; track mo; let index = $index) {\r\n <td\r\n fd-table-cell\r\n #tdEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"false\"\r\n [isChecked]=\"false\"\r\n [isNewInlineMo]=\"false\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bsu-column-renderer>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["column", "mo", "index", "editMode", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "deviceName", "deviceSize", "value", "icon"] }, { kind: "directive", type: i2.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }, { kind: "component", type: i3.TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "noOuterBorder", "topBorder", "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", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "pipe", type: i4.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i4.ColumnIconPipe, name: "columnIcon" }, { kind: "pipe", type: i4.ColumnValuePipe, name: "columnValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableViewVerticalColumnsComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'bdc-table-view-vertical-columns', changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index) { @if (mo.$Group) {\r\n<h3>{{ mo.$Group }}</h3>\r\n<ng-container *ngTemplateOutlet=\"tplTable; context: { $implicit: mo.$Children, index: this.index }\"></ng-container>\r\n} }\r\n<ng-template #tplTable let-children let-index=\"index\">\r\n <table fd-table [style.margin-top]=\"index > 0 ? '2rem' : 0\">\r\n <tbody fd-table-body>\r\n @for (column of columns; track column) {\r\n <tr fd-table-row>\r\n <th fd-table-cell>\r\n <strong>{{ column.Alias }}:</strong>\r\n </th>\r\n @for (mo of children; track mo; let index = $index) {\r\n <td\r\n fd-table-cell\r\n #tdEl\r\n [applyConditionalFormats]=\"conditionalFormats\"\r\n [hostEl]=\"tdEl\"\r\n [styleIndex]=\"mo.$StyleIndex\"\r\n [dbName]=\"column.Name\"\r\n >\r\n <bsu-column-renderer\r\n [mo]=\"mo\"\r\n [column]=\"column\"\r\n [value]=\"column | columnValue: mo | bbbTranslate\"\r\n [icon]=\"column | columnIcon: mo\"\r\n [editMode]=\"false\"\r\n [isChecked]=\"false\"\r\n [isNewInlineMo]=\"false\"\r\n [index]=\"index\"\r\n [rtl]=\"rtl\"\r\n [deviceName]=\"deviceName\"\r\n [formLayoutShowLabel]=\"false\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bsu-column-renderer>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n" }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdmlldy12ZXJ0aWNhbC1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy90YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGFibGUtdmlldy12ZXJ0aWNhbC1jb2x1bW5zL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUXhGLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBZ0Q7OEdBQTFGLGlDQUFpQztrR0FBakMsaUNBQWlDLDhGQ1Q5Qyx5MkRBMENBOzsyRkRqQ2EsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNJLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQsIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy10YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXZpZXctdmVydGljYWwtY29sdW1ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90YWJsZS12aWV3LXZlcnRpY2FsLWNvbHVtbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVZpZXdWZXJ0aWNhbENvbHVtbnNDb21wb25lbnQgZXh0ZW5kcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4ge31cclxuIiwiQGZvciAobW8gb2YgbW9EYXRhTGlzdCB8IG11bHRpcGxlR3JvdXBCeTogZ3JvdXBieTsgdHJhY2sgbW87IGxldCBpbmRleCA9ICRpbmRleCkgeyBAaWYgKG1vLiRHcm91cCkge1xyXG48aDM+e3sgbW8uJEdyb3VwIH19PC9oMz5cclxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbFRhYmxlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbW8uJENoaWxkcmVuLCBpbmRleDogdGhpcy5pbmRleCB9XCI+PC9uZy1jb250YWluZXI+XHJcbn0gfVxyXG48bmctdGVtcGxhdGUgI3RwbFRhYmxlIGxldC1jaGlsZHJlbiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgPHRhYmxlIGZkLXRhYmxlIFtzdHlsZS5tYXJnaW4tdG9wXT1cImluZGV4ID4gMCA/ICcycmVtJyA6IDBcIj5cclxuICAgICAgICA8dGJvZHkgZmQtdGFibGUtYm9keT5cclxuICAgICAgICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrIGNvbHVtbikge1xyXG4gICAgICAgICAgICA8dHIgZmQtdGFibGUtcm93PlxyXG4gICAgICAgICAgICAgICAgPHRoIGZkLXRhYmxlLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBjb2x1bW4uQWxpYXMgfX06PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgQGZvciAobW8gb2YgY2hpbGRyZW47IHRyYWNrIG1vOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICAgICAgIGZkLXRhYmxlLWNlbGxcclxuICAgICAgICAgICAgICAgICAgICAjdGRFbFxyXG4gICAgICAgICAgICAgICAgICAgIFthcHBseUNvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtob3N0RWxdPVwidGRFbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlSW5kZXhdPVwibW8uJFN0eWxlSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkYk5hbWVdPVwiY29sdW1uLk5hbWVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxic3UtY29sdW1uLXJlbmRlcmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttb109XCJtb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5dPVwiY29sdW1uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbHVtbiB8IGNvbHVtblZhbHVlOiBtbyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImNvbHVtbiB8IGNvbHVtbkljb246IG1vXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzQ2hlY2tlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc05ld0lubGluZU1vXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1MYXlvdXRTaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9ic3UtY29sdW1uLXJlbmRlcmVyPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -0,0 +1,98 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { DateService, FieldBaseComponent, getDateService, LogService } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ export class TimerCountDownComponent extends FieldBaseComponent {
5
+ ngOnInit() {
6
+ super.ngOnInit();
7
+ this._setCountDown(this.value);
8
+ }
9
+ _setValue(value) {
10
+ super._setValue(value);
11
+ this._setCountDown(value);
12
+ }
13
+ _setCountDown(value) {
14
+ const keysInValue = Object.keys(value);
15
+ let _tempValue = value;
16
+ if (keysInValue.length) {
17
+ const findKeyDate = keysInValue.find((c) => !isNaN(Date.parse(value[c])));
18
+ if (findKeyDate) {
19
+ _tempValue = new Date(value[findKeyDate]);
20
+ }
21
+ }
22
+ const exp = this._dateService.getMoment(_tempValue);
23
+ if (this._interval) {
24
+ clearInterval(this._interval);
25
+ this._interval = null;
26
+ }
27
+ this._interval = setInterval(() => {
28
+ const now = this._dateService.getMoment(new Date());
29
+ const diffDuration = this._dateService.duration(exp.diff(now));
30
+ const month = diffDuration.months();
31
+ const days = diffDuration.days();
32
+ const hours = diffDuration.hours().toLocaleString('en-US', {
33
+ minimumIntegerDigits: 2,
34
+ useGrouping: false
35
+ });
36
+ const minutes = diffDuration.minutes().toLocaleString('en-US', {
37
+ minimumIntegerDigits: 2,
38
+ useGrouping: false
39
+ });
40
+ const seconds = diffDuration.seconds().toLocaleString('en-US', {
41
+ minimumIntegerDigits: 2,
42
+ useGrouping: false
43
+ });
44
+ this.countDownText = `
45
+ ${this._getMonthText(month)}
46
+ ${this._daysText(days)}
47
+ ${this._getTimeText(hours, minutes, seconds)}`;
48
+ this._cdr.detectChanges();
49
+ }, 1000);
50
+ }
51
+ _getMonthText(month) {
52
+ return month > 0 ? `${month} ماه` : '';
53
+ }
54
+ _daysText(days) {
55
+ return days > 0 ? `${days} روز` : '';
56
+ }
57
+ _getTimeText(hours, minutes, seconds) {
58
+ if (hours < 0 || minutes < 0 || seconds < 0) {
59
+ if (this.parameters?.ExpireViewMode) {
60
+ switch (this.parameters.ExpireViewMode) {
61
+ case 1:
62
+ return `00:00:00`;
63
+ break;
64
+ case 2:
65
+ return `پایان یافته`;
66
+ break;
67
+ case 3:
68
+ return '';
69
+ break;
70
+ case 4: // نمایش زمان گذشته
71
+ return `${hours}:${minutes}:${seconds}`;
72
+ break;
73
+ }
74
+ }
75
+ return `00:00:00`;
76
+ }
77
+ return `${hours}:${minutes}:${seconds}`;
78
+ }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TimerCountDownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TimerCountDownComponent, selector: "bdc-timer-count-down", providers: [
81
+ {
82
+ provide: DateService,
83
+ useFactory: getDateService,
84
+ deps: [LogService]
85
+ }
86
+ ], usesInheritance: true, ngImport: i0, template: "<span>{{ countDownText }}</span>\r\n", styles: [":host{display:block;width:110px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TimerCountDownComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'bdc-timer-count-down', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
91
+ {
92
+ provide: DateService,
93
+ useFactory: getDateService,
94
+ deps: [LogService]
95
+ }
96
+ ], template: "<span>{{ countDownText }}</span>\r\n", styles: [":host{display:block;width:110px}\n"] }]
97
+ }] });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItY291bnQtZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci1jb3VudC1kb3duL3RpbWVyLWNvdW50LWRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdGltZXItY291bnQtZG93bi90aW1lci1jb3VudC1kb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBZW5HLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxrQkFBa0I7SUFHM0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ1MsU0FBUyxDQUFDLEtBQVU7UUFDMUIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDUyxhQUFhLENBQUMsS0FBMEI7UUFDOUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFF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QUssQ0FBQzt3QkFDRixPQUFPLGFBQWEsQ0FBQzt3QkFDckIsTUFBTTtvQkFDVixLQUFLLENBQUM7d0JBQ0YsT0FBTyxFQUFFLENBQUM7d0JBQ1YsTUFBTTtvQkFDVixLQUFLLENBQUMsRUFBRSxtQkFBbUI7d0JBQ3ZCLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO3dCQUN4QyxNQUFNO2dCQUNkLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzVDLENBQUM7OEdBNUVRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLCtDQVJyQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixVQUFVLEVBQUUsY0FBYztnQkFDMUIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQ3JCO1NBQ0osaURDZEwsc0NBQ0E7OzJGRGVhLHVCQUF1QjtrQkFibkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsVUFBVSxFQUFFLGNBQWM7NEJBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzt5QkFDckI7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UsIEZpZWxkQmFzZUNvbXBvbmVudCwgZ2V0RGF0ZVNlcnZpY2UsIExvZ1NlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLXRpbWVyLWNvdW50LWRvd24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWVyLWNvdW50LWRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZXItY291bnQtZG93bi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZSxcclxuICAgICAgICAgICAgZGVwczogW0xvZ1NlcnZpY2VdXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZXJDb3VudERvd25Db21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgY291bnREb3duVGV4dDogc3RyaW5nO1xyXG4gICAgX2ludGVydmFsOiBhbnk7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldENvdW50RG93bih0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fc2V0Q291bnREb3duKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0Q291bnREb3duKHZhbHVlOiBzdHJpbmcgfCBEYXRlIHwgYW55KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qga2V5c0luVmFsdWUgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XHJcbiAgICAgICAgbGV0IF90ZW1wVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBpZiAoa2V5c0luVmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbmRLZXlEYXRlID0ga2V5c0luVmFsdWUuZmluZCgoYykgPT4gIWlzTmFOKERhdGUucGFyc2UodmFsdWVbY10pKSk7XHJcbiAgICAgICAgICAgIGlmIChmaW5kS2V5RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgX3RlbXBWYWx1ZSA9IG5ldyBEYXRlKHZhbHVlW2ZpbmRLZXlEYXRlXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZXhwID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9tZW50KF90ZW1wVmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnRlcnZhbCkge1xyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKTtcclxuICAgICAgICAgICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9pbnRlcnZhbCA9IHNldEludGVydmFsKCgpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgbm93ID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9tZW50KG5ldyBEYXRlKCkpO1xyXG4gICAgICAgICAgICBjb25zdCBkaWZmRHVyYXRpb24gPSB0aGlzLl9kYXRlU2VydmljZS5kdXJhdGlvbihleHAuZGlmZihub3cpKTtcclxuICAgICAgICAgICAgY29uc3QgbW9udGggPSBkaWZmRHVyYXRpb24ubW9udGhzKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRheXMgPSBkaWZmRHVyYXRpb24uZGF5cygpO1xyXG4gICAgICAgICAgICBjb25zdCBob3VycyA9IGRpZmZEdXJhdGlvbi5ob3VycygpLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiAyLFxyXG4gICAgICAgICAgICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBtaW51dGVzID0gZGlmZkR1cmF0aW9uLm1pbnV0ZXMoKS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICBtaW5pbXVtSW50ZWdlckRpZ2l0czogMixcclxuICAgICAgICAgICAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc3Qgc2Vjb25kcyA9IGRpZmZEdXJhdGlvbi5zZWNvbmRzKCkudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgbWluaW11bUludGVnZXJEaWdpdHM6IDIsXHJcbiAgICAgICAgICAgICAgICB1c2VHcm91cGluZzogZmFsc2VcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuY291bnREb3duVGV4dCA9IGBcclxuICAgICAgICAgICAgJHt0aGlzLl9nZXRNb250aFRleHQobW9udGgpfSBcclxuICAgICAgICAgICAgJHt0aGlzLl9kYXlzVGV4dChkYXlzKX0gXHJcbiAgICAgICAgICAgICR7dGhpcy5fZ2V0VGltZVRleHQoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpfWA7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9nZXRNb250aFRleHQobW9udGgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBtb250aCA+IDAgPyBgJHttb250aH0g2YXYp9mHYCA6ICcnO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfZGF5c1RleHQoZGF5cyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGRheXMgPiAwID8gYCR7ZGF5c30g2LHZiNiyYCA6ICcnO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfZ2V0VGltZVRleHQoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmIChob3VycyA8IDAgfHwgbWludXRlcyA8IDAgfHwgc2Vjb25kcyA8IDApIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucGFyYW1ldGVycz8uRXhwaXJlVmlld01vZGUpIHtcclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5wYXJhbWV0ZXJzLkV4cGlyZVZpZXdNb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYDAwOjAwOjAwYDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYNm+2KfbjNin2YYg24zYp9mB2KrZh2A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6IC8vINmG2YXYp9uM2LQg2LLZhdin2YYg2q/YsNi02KrZh1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc306JHtzZWNvbmRzfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBgMDA6MDA6MDBgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7aG91cnN9OiR7bWludXRlc306JHtzZWNvbmRzfWA7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNwYW4+e3sgY291bnREb3duVGV4dCB9fTwvc3Bhbj5cclxuIl19
@@ -0,0 +1,27 @@
1
+ import { ChangeDetectionStrategy, Component } 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 "@fundamental-ngx/core/content-density";
6
+ import * as i3 from "@fundamental-ngx/core/token";
7
+ import * as i4 from "barsa-novin-ray-core";
8
+ export class TokenReportViewComponent extends ReportViewBaseComponent {
9
+ ngOnInit() {
10
+ super.ngOnInit();
11
+ }
12
+ onRemoveItem(mo, index) {
13
+ this.rowCheck.emit({ mo, index });
14
+ let itemId = 'RemoveFromList';
15
+ if (this.viewSetting?.DeleteAction === '1') {
16
+ itemId = 'Delete';
17
+ }
18
+ this.executeToolbarButton.emit({ itemId });
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TokenReportViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TokenReportViewComponent, selector: "bdc-token-report-view", usesInheritance: true, ngImport: i0, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if (!mo.parent ||\r\nmo.parent?.expanded) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n></ng-container>\r\n} }\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n <fd-token fdCozy (onCloseClick)=\"onRemoveItem(mo, index)\" [readOnly]=\"false\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n</ng-template>\r\n", styles: [":host{display:flex;column-gap:5px;flex-wrap:wrap;row-gap:5px}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i3.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "pipe", type: i4.MultipleGroupByPipe, name: "multipleGroupBy" }, { kind: "pipe", type: i4.MoReportValuePipe, name: "rval" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TokenReportViewComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'bdc-token-report-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (mo of moDataList | multipleGroupBy: groupby; track mo; let index = $index; let last = $last) { @if (!mo.parent ||\r\nmo.parent?.expanded) {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: mo,\r\n index: index,\r\n last: last,\r\n columns: columns,\r\n moDataList: moDataList,\r\n moDataListCount: moDataList.length\r\n }\r\n \"\r\n></ng-container>\r\n} }\r\n<ng-template\r\n #itemTemplate\r\n let-mo\r\n let-index=\"index\"\r\n let-last=\"last\"\r\n let-columns=\"columns\"\r\n let-moDataListCount=\"moDataListCount\"\r\n let-moDataList=\"moDataList\"\r\n>\r\n <fd-token fdCozy (onCloseClick)=\"onRemoveItem(mo, index)\" [readOnly]=\"false\">{{\r\n columns[0].Caption | rval: mo:columns:true\r\n }}</fd-token>\r\n</ng-template>\r\n", styles: [":host{display:flex;column-gap:5px;flex-wrap:wrap;row-gap:5px}\n"] }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tcmVwb3J0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdG9rZW4tcmVwb3J0LXZpZXcvdG9rZW4tcmVwb3J0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdG9rZW4tcmVwb3J0LXZpZXcvdG9rZW4tcmVwb3J0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVNwRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsdUJBQW9EO0lBTzlGLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUF1QixFQUFFLEtBQWE7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDdEIsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBbEJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9GQ1ZyQyw0NEJBNkJBOzsyRkRuQmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbmltcG9ydCB7IE1pY3JvUHJvY2Vzc0Zsb3dWaWV3U2V0dGluZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtdG9rZW4tcmVwb3J0LXZpZXcnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuLXJlcG9ydC12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Rva2VuLXJlcG9ydC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9rZW5SZXBvcnRWaWV3Q29tcG9uZW50IGV4dGVuZHMgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8TWljcm9Qcm9jZXNzRmxvd1ZpZXdTZXR0aW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBmaWVsZFRpdGxlOiBzdHJpbmc7XHJcbiAgICBmaWVsZEljb246IHN0cmluZztcclxuICAgIGZpZWxkU3RhdGU6IHN0cmluZztcclxuICAgIG1vZGU6IHN0cmluZztcclxuICAgIGFycm93UmlnaHQ6IHN0cmluZztcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG4gICAgb25SZW1vdmVJdGVtKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4IH0pO1xyXG4gICAgICAgIGxldCBpdGVtSWQgPSAnUmVtb3ZlRnJvbUxpc3QnO1xyXG4gICAgICAgIGlmICh0aGlzLnZpZXdTZXR0aW5nPy5EZWxldGVBY3Rpb24gPT09ICcxJykge1xyXG4gICAgICAgICAgICBpdGVtSWQgPSAnRGVsZXRlJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZXhlY3V0ZVRvb2xiYXJCdXR0b24uZW1pdCh7IGl0ZW1JZCB9KTtcclxuICAgIH1cclxufVxyXG4iLCJAZm9yIChtbyBvZiBtb0RhdGFMaXN0IHwgbXVsdGlwbGVHcm91cEJ5OiBncm91cGJ5OyB0cmFjayBtbzsgbGV0IGluZGV4ID0gJGluZGV4OyBsZXQgbGFzdCA9ICRsYXN0KSB7IEBpZiAoIW1vLnBhcmVudCB8fFxyXG5tby5wYXJlbnQ/LmV4cGFuZGVkKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBtbyxcclxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxyXG4gICAgICAgICAgICBsYXN0OiBsYXN0LFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICAgICAgICBtb0RhdGFMaXN0OiBtb0RhdGFMaXN0LFxyXG4gICAgICAgICAgICBtb0RhdGFMaXN0Q291bnQ6IG1vRGF0YUxpc3QubGVuZ3RoXHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG59IH1cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjaXRlbVRlbXBsYXRlXHJcbiAgICBsZXQtbW9cclxuICAgIGxldC1pbmRleD1cImluZGV4XCJcclxuICAgIGxldC1sYXN0PVwibGFzdFwiXHJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxyXG4gICAgbGV0LW1vRGF0YUxpc3RDb3VudD1cIm1vRGF0YUxpc3RDb3VudFwiXHJcbiAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxyXG4+XHJcbiAgICA8ZmQtdG9rZW4gZmRDb3p5IChvbkNsb3NlQ2xpY2spPVwib25SZW1vdmVJdGVtKG1vLCBpbmRleClcIiBbcmVhZE9ubHldPVwiZmFsc2VcIj57e1xyXG4gICAgICAgIGNvbHVtbnNbMF0uQ2FwdGlvbiB8IHJ2YWw6IG1vOmNvbHVtbnM6dHJ1ZVxyXG4gICAgfX08L2ZkLXRva2VuPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FieldBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "@fundamental-ngx/core/button";
6
+ import * as i3 from "@fundamental-ngx/core/segmented-button";
7
+ import * as i4 from "@angular/common";
8
+ export class UiEnumSegmentedButtonComponent extends FieldBaseComponent {
9
+ onValueChange(value) {
10
+ const selectedValue = value;
11
+ this.setValue(selectedValue);
12
+ }
13
+ setValue(selectedValue) {
14
+ this.value = selectedValue;
15
+ this.valueChange.emit(this.value);
16
+ this.fireContextEvent('select', this.value);
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiEnumSegmentedButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiEnumSegmentedButtonComponent, selector: "bdc-ui-enum-segmented-button", usesInheritance: true, ngImport: i0, template: "<fd-segmented-button style=\"width: 100%\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\r\n @for (item of context.store.data[context.store.root]; track item) { @if (item.id !== '0') {\r\n <button\r\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\r\n fd-button\r\n [label]=\"item.txt\"\r\n [value]=\"item.id\"\r\n ></button>\r\n } }\r\n</fd-segmented-button>\r\n", styles: ["button{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.SegmentedButtonComponent, selector: "fd-segmented-button", inputs: ["toggle", "vertical"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiEnumSegmentedButtonComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'bdc-ui-enum-segmented-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-segmented-button style=\"width: 100%\" [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\">\r\n @for (item of context.store.data[context.store.root]; track item) { @if (item.id !== '0') {\r\n <button\r\n [disabled]=\"(disableOrReadonly$ | async) === true ? true : false\"\r\n fd-button\r\n [label]=\"item.txt\"\r\n [value]=\"item.id\"\r\n ></button>\r\n } }\r\n</fd-segmented-button>\r\n", styles: ["button{width:100%}\n"] }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZW51bS1zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL3VpLWVudW0tc2VnbWVudGVkLWJ1dHRvbi91aS1lbnVtLXNlZ21lbnRlZC1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvdWktZW51bS1zZWdtZW50ZWQtYnV0dG9uL3VpLWVudW0tc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFPMUQsTUFBTSxPQUFPLDhCQUErQixTQUFRLGtCQUFrQjtJQUdsRSxhQUFhLENBQUMsS0FBSztRQUNmLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUyxRQUFRLENBQUMsYUFBa0I7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBWlEsOEJBQThCO2tHQUE5Qiw4QkFBOEIsMkZDVDNDLDZiQVVBOzsyRkREYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0ksOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLXVpLWVudW0tc2VnbWVudGVkLWJ1dHRvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZW51bS1zZWdtZW50ZWQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLWVudW0tc2VnbWVudGVkLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpRW51bVNlZ21lbnRlZEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCB7XHJcbiAgICBjYXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKHNlbGVjdGVkVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBzZXRWYWx1ZShzZWxlY3RlZFZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gc2VsZWN0ZWRWYWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5maXJlQ29udGV4dEV2ZW50KCdzZWxlY3QnLCB0aGlzLnZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtc2VnbWVudGVkLWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAxMDAlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgQGZvciAoaXRlbSBvZiBjb250ZXh0LnN0b3JlLmRhdGFbY29udGV4dC5zdG9yZS5yb290XTsgdHJhY2sgaXRlbSkgeyBAaWYgKGl0ZW0uaWQgIT09ICcwJykge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlXCJcclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbbGFiZWxdPVwiaXRlbS50eHRcIlxyXG4gICAgICAgIFt2YWx1ZV09XCJpdGVtLmlkXCJcclxuICAgID48L2J1dHRvbj5cclxuICAgIH0gfVxyXG48L2ZkLXNlZ21lbnRlZC1idXR0b24+XHJcbiJdfQ==