barsa-develop-components 1.0.456 → 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
@@ -1,88 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
2
- import { BarsaApi } from 'barsa-novin-ray-core';
3
- import { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "barsa-novin-ray-core";
7
- import * as i3 from "@fundamental-ngx/core/dialog";
8
- import * as i4 from "@fundamental-ngx/core/title";
9
- import * as i5 from "../barsa-geographic-location/barsa-geographic-location.component";
10
- export class GeographicLocationComponent extends UiMoInfoSubFormUiComponent {
11
- constructor() {
12
- super(...arguments);
13
- this.fullscreen = false;
14
- }
15
- get latitudeUi() {
16
- return this.customFormPanelUi._dictFieldUi.Latitude;
17
- }
18
- get longitudeUi() {
19
- return this.customFormPanelUi._dictFieldUi.Longitude;
20
- }
21
- openDialog(dialog) {
22
- this._dialogService.open(dialog, {
23
- responsivePadding: true,
24
- fullScreen: true,
25
- mobile: true,
26
- ariaLabelledBy: 'map',
27
- ariaDescribedBy: 'choose location',
28
- focusTrapped: true
29
- });
30
- }
31
- ngOnInit() {
32
- super.ngOnInit();
33
- this._setDefaultLatAndLong(this.latitudeUi?.value, this.longitudeUi?.value);
34
- }
35
- onFullscreen() {
36
- this.fullscreen = true;
37
- this.openDialog(this.dialogTemplate);
38
- }
39
- onExistFullscreen() {
40
- this.fullscreen = false;
41
- this._cdr.detectChanges();
42
- }
43
- onOpenChange(isOpen) {
44
- this.fullscreen = isOpen;
45
- }
46
- onErrorNavigatorLocation(err) {
47
- const err2 = `خطا در دریافت موقعیت مکانی جاری. (${err.message})`;
48
- BarsaApi.Bw.Toast.Error(err2);
49
- }
50
- onMove(e) {
51
- this._movePos = { latitude: e.latlng.lat, longitude: e.latlng.lng };
52
- }
53
- onMoveEnd(e) {
54
- this._handleMarkerChange(this._movePos);
55
- }
56
- onMarkerChange(e) {
57
- this._handleMarkerChange(e);
58
- }
59
- _handleMarkerChange(e) {
60
- const { latitude, longitude } = e;
61
- this.latitudeUi.value = latitude;
62
- this.longitudeUi.value = longitude;
63
- this._valueChanged();
64
- }
65
- _setDefaultLatAndLong(lat, lng) {
66
- if (lat && lng) {
67
- this.latValue = lat;
68
- this.lngValue = lng;
69
- }
70
- }
71
- _titleChanged() {
72
- this._setDefaultLatAndLong(this.latitudeUi?.value, this.longitudeUi?.value);
73
- }
74
- _valueChanged() {
75
- this.latitudeUi.fireEvent('change', this.latitudeUi, this.latitudeUi.value);
76
- this.longitudeUi.fireEvent('change', this.longitudeUi, this.longitudeUi.value);
77
- }
78
- }
79
- GeographicLocationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: GeographicLocationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
80
- GeographicLocationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: GeographicLocationComponent, selector: "bdc-geographic-location", viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["confirmationDialog"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"customFormPanelUi\">\n <bnrc-form style=\"display: none\" *untilInView=\"el\" [customFormPanelUi]=\"customFormPanelUi\"></bnrc-form>\n</ng-container>\n\n<ng-container *ngIf=\"!fullscreen\">\n <ng-container *ngTemplateOutlet=\"map; context: { inDialog: false }\"></ng-container>\n</ng-container>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #confirmationDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Map' | bbbTranslate }}</h1>\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-container *ngTemplateOutlet=\"map; context: { inDialog: true, dialog: dialog }\"></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n\n<ng-template #map let-inDialog=\"inDialog\" let-dialog=\"dialog\">\n <bdc-barsa-geographic-location\n [style.height]=\"inDialog ? 'height: 100% !important' : null\"\n [defaultLocation]=\"[35.7568, 51.412]\"\n [latitude]=\"latValue\"\n [longitude]=\"lngValue\"\n [showExitFullscreenButton]=\"true\"\n [showLocationButton]=\"customFieldInfo.ShowLocationButton\"\n [setAutomaticLocation]=\"customFieldInfo.GetCurrentLocation\"\n [disableOrReadonly]=\"(disableOrReadonly$ | async) === true\"\n [draggable]=\"customFieldInfo.Draggable === true\"\n (markerChange)=\"onMarkerChange($event)\"\n (move)=\"onMove($event)\"\n (error)=\"onErrorNavigatorLocation($event)\"\n (moveEnd)=\"onMoveEnd($event)\"\n (exitFullscreen)=\"onExistFullscreen(); dialog && dialog.close('Continue')\"\n ></bdc-barsa-geographic-location>\n</ng-template>\n", styles: [":host{display:block;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "component", type: i3.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i3.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i3.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i5.BarsaGeographicLocationComponent, selector: "bdc-barsa-geographic-location", inputs: ["disableOrReadonly", "setAutomaticLocation", "showLocationButton", "showFullscreenButton", "showExitFullscreenButton", "draggable", "defaultLocation", "latitude", "longitude"], outputs: ["move", "moveEnd", "fullscreen", "exitFullscreen", "error", "markerChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: GeographicLocationComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 'bdc-geographic-location', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"customFormPanelUi\">\n <bnrc-form style=\"display: none\" *untilInView=\"el\" [customFormPanelUi]=\"customFormPanelUi\"></bnrc-form>\n</ng-container>\n\n<ng-container *ngIf=\"!fullscreen\">\n <ng-container *ngTemplateOutlet=\"map; context: { inDialog: false }\"></ng-container>\n</ng-container>\n\n<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #confirmationDialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-10\" fd-title>{{ 'Map' | bbbTranslate }}</h1>\n </fd-dialog-header>\n <fd-dialog-body>\n <ng-container *ngTemplateOutlet=\"map; context: { inDialog: true, dialog: dialog }\"></ng-container>\n </fd-dialog-body>\n </fd-dialog>\n</ng-template>\n\n<ng-template #map let-inDialog=\"inDialog\" let-dialog=\"dialog\">\n <bdc-barsa-geographic-location\n [style.height]=\"inDialog ? 'height: 100% !important' : null\"\n [defaultLocation]=\"[35.7568, 51.412]\"\n [latitude]=\"latValue\"\n [longitude]=\"lngValue\"\n [showExitFullscreenButton]=\"true\"\n [showLocationButton]=\"customFieldInfo.ShowLocationButton\"\n [setAutomaticLocation]=\"customFieldInfo.GetCurrentLocation\"\n [disableOrReadonly]=\"(disableOrReadonly$ | async) === true\"\n [draggable]=\"customFieldInfo.Draggable === true\"\n (markerChange)=\"onMarkerChange($event)\"\n (move)=\"onMove($event)\"\n (error)=\"onErrorNavigatorLocation($event)\"\n (moveEnd)=\"onMoveEnd($event)\"\n (exitFullscreen)=\"onExistFullscreen(); dialog && dialog.close('Continue')\"\n ></bdc-barsa-geographic-location>\n</ng-template>\n", styles: [":host{display:block;position:relative}\n"] }]
84
- }], propDecorators: { dialogTemplate: [{
85
- type: ViewChild,
86
- args: ['confirmationDialog']
87
- }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvZ3JhcGhpYy1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9nZW9ncmFwaGljLWxvY2F0aW9uL2dlb2dyYXBoaWMtbG9jYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvZ2VvZ3JhcGhpYy1sb2NhdGlvbi9nZW9ncmFwaGljLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXVCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBUTFELE1BQU0sT0FBTywyQkFBNEIsU0FBUSwwQkFBMEI7SUFOM0U7O1FBUUksZUFBVSxHQUFHLEtBQUssQ0FBQztLQXNFdEI7SUFoRUcsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM3QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE1BQU0sRUFBRSxJQUFJO1lBQ1osY0FBYyxFQUFFLEtBQUs7WUFDckIsZUFBZSxFQUFFLGlCQUFpQjtZQUNsQyxZ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b21wb25lbnQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlNb0luZm9TdWJGb3JtVWlDb21wb25lbnQgfSBmcm9tICdiYXJzYS1zYXAtdWknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JkYy1nZW9ncmFwaGljLWxvY2F0aW9uJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9nZW9ncmFwaGljLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2dlb2dyYXBoaWMtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW9ncmFwaGljTG9jYXRpb25Db21wb25lbnQgZXh0ZW5kcyBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdjb25maXJtYXRpb25EaWFsb2cnKSBkaWFsb2dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIGZ1bGxzY3JlZW4gPSBmYWxzZTtcclxuXHJcbiAgICBsYXRWYWx1ZTtcclxuICAgIGxuZ1ZhbHVlO1xyXG4gICAgY3VzdG9tRm9ybVBhbmVsVWk6IGFueTtcclxuICAgIHByaXZhdGUgX21vdmVQb3M6IHsgbGF0aXR1ZGU6IGFueTsgbG9uZ2l0dWRlOiBhbnkgfTtcclxuICAgIGdldCBsYXRpdHVkZVVpKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tRm9ybVBhbmVsVWkuX2RpY3RGaWVsZFVpLkxhdGl0dWRlO1xyXG4gICAgfVxyXG4gICAgZ2V0IGxvbmdpdHVkZVVpKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tRm9ybVBhbmVsVWkuX2RpY3RGaWVsZFVpLkxvbmdpdHVkZTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuRGlhbG9nKGRpYWxvZzogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3BlbihkaWFsb2csIHtcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIGZ1bGxTY3JlZW46IHRydWUsXHJcbiAgICAgICAgICAgIG1vYmlsZTogdHJ1ZSxcclxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnk6ICdtYXAnLFxyXG4gICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnk6ICdjaG9vc2UgbG9jYXRpb24nLFxyXG4gICAgICAgICAgICBmb2N1c1RyYXBwZWQ6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fc2V0RGVmYXVsdExhdEFuZExvbmcodGhpcy5sYXRpdHVkZVVpPy52YWx1ZSwgdGhpcy5sb25naXR1ZGVVaT8udmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25GdWxsc2NyZWVuKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKHRoaXMuZGlhbG9nVGVtcGxhdGUpO1xyXG4gICAgfVxyXG4gICAgb25FeGlzdEZ1bGxzY3JlZW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIG9uT3BlbkNoYW5nZShpc09wZW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSBpc09wZW47XHJcbiAgICB9XHJcbiAgICBvbkVycm9yTmF2aWdhdG9yTG9jYXRpb24oZXJyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZXJyMiA9IGDYrti32Kcg2K/YsSDYr9ix24zYp9mB2Kog2YXZiNmC2LnbjNiqINmF2qnYp9mG24wg2KzYp9ix24wuICgke2Vyci5tZXNzYWdlfSlgO1xyXG4gICAgICAgIEJhcnNhQXBpLkJ3LlRvYXN0LkVycm9yKGVycjIpO1xyXG4gICAgfVxyXG4gICAgb25Nb3ZlKGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9tb3ZlUG9zID0geyBsYXRpdHVkZTogZS5sYXRsbmcubGF0LCBsb25naXR1ZGU6IGUubGF0bG5nLmxuZyB9O1xyXG4gICAgfVxyXG4gICAgb25Nb3ZlRW5kKGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVNYXJrZXJDaGFuZ2UodGhpcy5fbW92ZVBvcyk7XHJcbiAgICB9XHJcbiAgICBvbk1hcmtlckNoYW5nZShlOiB7IGxhdGl0dWRlOyBsb25naXR1ZGUgfSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZU1hcmtlckNoYW5nZShlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfaGFuZGxlTWFya2VyQ2hhbmdlKGU6IHsgbGF0aXR1ZGU7IGxvbmdpdHVkZSB9KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyBsYXRpdHVkZSwgbG9uZ2l0dWRlIH0gPSBlO1xyXG4gICAgICAgIHRoaXMubGF0aXR1ZGVVaS52YWx1ZSA9IGxhdGl0dWRlO1xyXG4gICAgICAgIHRoaXMubG9uZ2l0dWRlVWkudmFsdWUgPSBsb25naXR1ZGU7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldERlZmF1bHRMYXRBbmRMb25nKGxhdDogbnVtYmVyLCBsbmc6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGlmIChsYXQgJiYgbG5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGF0VmFsdWUgPSBsYXQ7XHJcbiAgICAgICAgICAgIHRoaXMubG5nVmFsdWUgPSBsbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF90aXRsZUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2V0RGVmYXVsdExhdEFuZExvbmcodGhpcy5sYXRpdHVkZVVpPy52YWx1ZSwgdGhpcy5sb25naXR1ZGVVaT8udmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF92YWx1ZUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sYXRpdHVkZVVpLmZpcmVFdmVudCgnY2hhbmdlJywgdGhpcy5sYXRpdHVkZVVpLCB0aGlzLmxhdGl0dWRlVWkudmFsdWUpO1xyXG4gICAgICAgIHRoaXMubG9uZ2l0dWRlVWkuZmlyZUV2ZW50KCdjaGFuZ2UnLCB0aGlzLmxvbmdpdHVkZVVpLCB0aGlzLmxvbmdpdHVkZVVpLnZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tRm9ybVBhbmVsVWlcIj5cbiAgICA8Ym5yYy1mb3JtIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiICp1bnRpbEluVmlldz1cImVsXCIgW2N1c3RvbUZvcm1QYW5lbFVpXT1cImN1c3RvbUZvcm1QYW5lbFVpXCI+PC9ibnJjLWZvcm0+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmdWxsc2NyZWVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1hcDsgY29udGV4dDogeyBpbkRpYWxvZzogZmFsc2UgfVwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSBsZXQtZGlhbG9nIGxldC1kaWFsb2dDb25maWc9XCJkaWFsb2dDb25maWdcIiAjY29uZmlybWF0aW9uRGlhbG9nPlxuICAgIDxmZC1kaWFsb2cgW2RpYWxvZ0NvbmZpZ109XCJkaWFsb2dDb25maWdcIiBbZGlhbG9nUmVmXT1cImRpYWxvZ1wiPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxoMSBpZD1cImZkLWRpYWxvZy1oZWFkZXItMTBcIiBmZC10aXRsZT57eyAnTWFwJyB8IGJiYlRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgPGZkLWRpYWxvZy1ib2R5PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1hcDsgY29udGV4dDogeyBpbkRpYWxvZzogdHJ1ZSwgZGlhbG9nOiBkaWFsb2cgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuICAgIDwvZmQtZGlhbG9nPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtYXAgbGV0LWluRGlhbG9nPVwiaW5EaWFsb2dcIiBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XG4gICAgPGJkYy1iYXJzYS1nZW9ncmFwaGljLWxvY2F0aW9uXG4gICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaW5EaWFsb2cgPyAnaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQnIDogbnVsbFwiXG4gICAgICAgIFtkZWZhdWx0TG9jYXRpb25dPVwiWzM1Ljc1NjgsIDUxLjQxMl1cIlxuICAgICAgICBbbGF0aXR1ZGVdPVwibGF0VmFsdWVcIlxuICAgICAgICBbbG9uZ2l0dWRlXT1cImxuZ1ZhbHVlXCJcbiAgICAgICAgW3Nob3dFeGl0RnVsbHNjcmVlbkJ1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW3Nob3dMb2NhdGlvbkJ1dHRvbl09XCJjdXN0b21GaWVsZEluZm8uU2hvd0xvY2F0aW9uQnV0dG9uXCJcbiAgICAgICAgW3NldEF1dG9tYXRpY0xvY2F0aW9uXT1cImN1c3RvbUZpZWxkSW5mby5HZXRDdXJyZW50TG9jYXRpb25cIlxuICAgICAgICBbZGlzYWJsZU9yUmVhZG9ubHldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgICAgIFtkcmFnZ2FibGVdPVwiY3VzdG9tRmllbGRJbmZvLkRyYWdnYWJsZSA9PT0gdHJ1ZVwiXG4gICAgICAgIChtYXJrZXJDaGFuZ2UpPVwib25NYXJrZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChtb3ZlKT1cIm9uTW92ZSgkZXZlbnQpXCJcbiAgICAgICAgKGVycm9yKT1cIm9uRXJyb3JOYXZpZ2F0b3JMb2NhdGlvbigkZXZlbnQpXCJcbiAgICAgICAgKG1vdmVFbmQpPVwib25Nb3ZlRW5kKCRldmVudClcIlxuICAgICAgICAoZXhpdEZ1bGxzY3JlZW4pPVwib25FeGlzdEZ1bGxzY3JlZW4oKTsgZGlhbG9nICYmIGRpYWxvZy5jbG9zZSgnQ29udGludWUnKVwiXG4gICAgPjwvYmRjLWJhcnNhLWdlb2dyYXBoaWMtbG9jYXRpb24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,55 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, HostListener } from '@angular/core';
2
- import { map, takeUntil } from 'rxjs/operators';
3
- import { BarsaApi, FormBaseComponent, FormPanelService, getDeviceIsMobile } 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-novin-ray-core";
7
- import * as i3 from "barsa-sap-ui";
8
- import * as i4 from "@fundamental-ngx/core/dynamic-side-content";
9
- import * as i5 from "@fundamental-ngx/core/layout-grid";
10
- export class LoginFormComponent extends FormBaseComponent {
11
- constructor() {
12
- super(...arguments);
13
- this._desktopmode = !getDeviceIsMobile();
14
- this.onKeyEnter = (_) => {
15
- const layoutItem = this._controlUiPipe.transform(' ورود', this.layout94);
16
- if (layoutItem) {
17
- layoutItem.FieldUi.fireEvent('click', layoutItem.FieldUi);
18
- }
19
- };
20
- }
21
- ngOnInit() {
22
- this._activatedRoute.queryParams.pipe(takeUntil(this._onDestroy$)).subscribe((params) => {
23
- BarsaApi.Bw.SetCultureByDisplayName(params.culture);
24
- });
25
- const root = document.documentElement;
26
- root.style.setProperty('--absolute-page-top', '0px');
27
- super.ngOnInit();
28
- this.layout94$.subscribe((layout94) => {
29
- this.layout94 = layout94;
30
- });
31
- this.size$ = this._portalService.deviceSize$.pipe(map((deviceSize) => {
32
- switch (deviceSize) {
33
- case 's':
34
- return 'sm';
35
- case 'm':
36
- return 'md';
37
- default:
38
- return 'xl';
39
- }
40
- }));
41
- }
42
- }
43
- LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LoginFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
- LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LoginFormComponent, selector: "bdc-login-form", host: { listeners: { "keydown.enter": "onKeyEnter($event)" }, properties: { "class.desktopmode": "this._desktopmode" } }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mo$ | async as mo\">\n <bsu-mask *ngIf=\"mo.IsLogging\"></bsu-mask>\n <fd-layout-grid *ngIf=\"(size$ | async) === 'sm'; else sideContent\" [class.mobile]=\"isMobile\">\n <div [fdLayoutGridCol]=\"1\"></div>\n\n <div [fdLayoutGridCol]=\"10\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94$ | async\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n [class.desktopMode]=\"!(isMobile === true)\"\n ></bsu-ly-layout-container-of-root>\n </div>\n\n <div [fdLayoutGridCol]=\"1\"></div>\n </fd-layout-grid>\n <ng-template #sideContent>\n <fd-dynamic-side-content [size]=\"(size$ | async)!!\">\n <fd-dynamic-side-content-side>\n <bsu-ly-layout-container-of-root\n [config]=\"layout94$ | async\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main>\n <!-- <ng-container *ngIf=\"'\u0639\u06A9\u0633 \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647' | controlUi: layout94 as layoutConfig\">\n <bsu-layout-control\n [caption]=\"'\u0639\u06A9\u0633 \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647'\"\n [config]=\"layoutConfig\"\n [showLabel]=\"false\"\n [inlineEdit]=\"true\"\n \n ></bsu-layout-control>\n </ng-container> -->\n <div\n *ngIf=\"'\u0639\u06A9\u0633 \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647' | controlUi: layout94 as layoutConfig\"\n id=\"bgLogin\"\n [style.backgroundImage]=\"\n 'url(' +\n (mo.Background?.FileId\n | picFieldSrc: 'PictureFileInfo':null:layoutConfig.FieldUi.Setting.FieldDefId) +\n ')'\n \"\n ></div>\n </fd-dynamic-side-content-main>\n </fd-dynamic-side-content>\n </ng-template>\n</ng-container>\n", styles: ["@charset \"UTF-8\";:host{display:block;background-color:#fff}:host ::ng-deep bsu-ly-simple-label{text-align:center}:host ::ng-deep bsu-ly-simple-label:nth-of-type(1){margin-top:15px}:host ::ng-deep bsu-ui-picture-file{text-align:center}:host ::ng-deep .wrap-content>.container-field{max-width:100%!important}fd-dynamic-side-content{min-height:100vh}fd-dynamic-side-content-side{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}bsu-ly-layout-container-of-root{padding:0 1rem;box-sizing:border-box;display:flex;align-items:center;height:100%}#bgLogin{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}@media (max-width: 599px){:host ::ng-deep bsu-layout-control{min-width:auto!important}:host ::ng-deep bsu-ly-layout-container-of-root{padding:0}}@media (max-height: 670px){:host.desktopmode bsu-ly-layout-container-of-root{padding:0}:host.desktopmode bsu-ly-layout-container-of-root ::ng-deep bsu-ly-empty-space{display:none}:host.desktopmode bsu-ly-layout-container-of-root ::ng-deep bsu-layout-control[caption=\\644\\648\\6af\\648]{display:none}}fd-layout-grid.mobile{overflow:auto;height:100vh}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MobileDirective, selector: "[mobile]" }, { kind: "component", type: i3.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "component", type: i3.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { 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: "component", type: i5.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i5.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i2.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LoginFormComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'bdc-login-form', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container *ngIf=\"mo$ | async as mo\">\n <bsu-mask *ngIf=\"mo.IsLogging\"></bsu-mask>\n <fd-layout-grid *ngIf=\"(size$ | async) === 'sm'; else sideContent\" [class.mobile]=\"isMobile\">\n <div [fdLayoutGridCol]=\"1\"></div>\n\n <div [fdLayoutGridCol]=\"10\">\n <bsu-ly-layout-container-of-root\n [config]=\"layout94$ | async\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n [class.desktopMode]=\"!(isMobile === true)\"\n ></bsu-ly-layout-container-of-root>\n </div>\n\n <div [fdLayoutGridCol]=\"1\"></div>\n </fd-layout-grid>\n <ng-template #sideContent>\n <fd-dynamic-side-content [size]=\"(size$ | async)!!\">\n <fd-dynamic-side-content-side>\n <bsu-ly-layout-container-of-root\n [config]=\"layout94$ | async\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n </fd-dynamic-side-content-side>\n <fd-dynamic-side-content-main>\n <!-- <ng-container *ngIf=\"'\u0639\u06A9\u0633 \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647' | controlUi: layout94 as layoutConfig\">\n <bsu-layout-control\n [caption]=\"'\u0639\u06A9\u0633 \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647'\"\n [config]=\"layoutConfig\"\n [showLabel]=\"false\"\n [inlineEdit]=\"true\"\n \n ></bsu-layout-control>\n </ng-container> -->\n <div\n *ngIf=\"'\u0639\u06A9\u0633 \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647' | controlUi: layout94 as layoutConfig\"\n id=\"bgLogin\"\n [style.backgroundImage]=\"\n 'url(' +\n (mo.Background?.FileId\n | picFieldSrc: 'PictureFileInfo':null:layoutConfig.FieldUi.Setting.FieldDefId) +\n ')'\n \"\n ></div>\n </fd-dynamic-side-content-main>\n </fd-dynamic-side-content>\n </ng-template>\n</ng-container>\n", styles: ["@charset \"UTF-8\";:host{display:block;background-color:#fff}:host ::ng-deep bsu-ly-simple-label{text-align:center}:host ::ng-deep bsu-ly-simple-label:nth-of-type(1){margin-top:15px}:host ::ng-deep bsu-ui-picture-file{text-align:center}:host ::ng-deep .wrap-content>.container-field{max-width:100%!important}fd-dynamic-side-content{min-height:100vh}fd-dynamic-side-content-side{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}bsu-ly-layout-container-of-root{padding:0 1rem;box-sizing:border-box;display:flex;align-items:center;height:100%}#bgLogin{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}@media (max-width: 599px){:host ::ng-deep bsu-layout-control{min-width:auto!important}:host ::ng-deep bsu-ly-layout-container-of-root{padding:0}}@media (max-height: 670px){:host.desktopmode bsu-ly-layout-container-of-root{padding:0}:host.desktopmode bsu-ly-layout-container-of-root ::ng-deep bsu-ly-empty-space{display:none}:host.desktopmode bsu-ly-layout-container-of-root ::ng-deep bsu-layout-control[caption=\\644\\648\\6af\\648]{display:none}}fd-layout-grid.mobile{overflow:auto;height:100vh}\n"] }]
48
- }], propDecorators: { _desktopmode: [{
49
- type: HostBinding,
50
- args: ['class.desktopmode']
51
- }], onKeyEnter: [{
52
- type: HostListener,
53
- args: ['keydown.enter', ['$event']]
54
- }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvbG9naW4tZm9ybS9sb2dpbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV0RyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVN4RyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBUHpEOztRQVFzQyxpQkFBWSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV0RSxlQUFVLEdBQUcsQ0FBQyxDQUFDLEVBQVEsRUFBRTtZQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pFLElBQUksVUFBVSxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0Q7UUFDTCxDQUFDLENBQUM7S0EwQkw7SUF2QkcsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEYsUUFBUSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzdDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2YsUUFBUSxVQUFVLEVBQUU7Z0JBQ2hCLEtBQUssR0FBRztvQkFDSixPQUFPLElBQUksQ0FBQztnQkFDaEIsS0FBSyxHQUFHO29CQUNKLE9BQU8sSUFBSSxDQUFDO2dCQUNoQjtvQkFDSSxPQUFPLElBQUksQ0FBQzthQUNuQjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOzsrR0FqQ1Esa0JBQWtCO21HQUFsQixrQkFBa0IsbUtBRmhCLENBQUMsZ0JBQWdCLENBQUMsaURDVmpDLCt1RUFpREE7MkZEckNhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDOzhCQUdLLFlBQVk7c0JBQTdDLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUVoQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhcnNhQXBpLCBGb3JtQmFzZUNvbXBvbmVudCwgRm9ybVBhbmVsU2VydmljZSwgZ2V0RGV2aWNlSXNNb2JpbGUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmRjLWxvZ2luLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRm9ybVBhbmVsU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZGVza3RvcG1vZGUnKSBfZGVza3RvcG1vZGUgPSAhZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbktleUVudGVyID0gKF8pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgbGF5b3V0SXRlbSA9IHRoaXMuX2NvbnRyb2xVaVBpcGUudHJhbnNmb3JtKCcg2YjYsdmI2K8nLCB0aGlzLmxheW91dDk0KTtcbiAgICAgICAgaWYgKGxheW91dEl0ZW0pIHtcbiAgICAgICAgICAgIGxheW91dEl0ZW0uRmllbGRVaS5maXJlRXZlbnQoJ2NsaWNrJywgbGF5b3V0SXRlbS5GaWVsZFVpKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgc2l6ZSQ6IE9ic2VydmFibGU8J3hsJyB8ICdtZCcgfCAnc20nPjtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZS5xdWVyeVBhcmFtcy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlNldEN1bHR1cmVCeURpc3BsYXlOYW1lKHBhcmFtcy5jdWx0dXJlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIHJvb3Quc3R5bGUuc2V0UHJvcGVydHkoJy0tYWJzb2x1dGUtcGFnZS10b3AnLCAnMHB4Jyk7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMubGF5b3V0OTQkLnN1YnNjcmliZSgobGF5b3V0OTQpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0OTQgPSBsYXlvdXQ5NDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRldmljZVNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3NtJztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ21kJztcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAneGwnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vJCB8IGFzeW5jIGFzIG1vXCI+XG4gICAgPGJzdS1tYXNrICpuZ0lmPVwibW8uSXNMb2dnaW5nXCI+PC9ic3UtbWFzaz5cbiAgICA8ZmQtbGF5b3V0LWdyaWQgKm5nSWY9XCIoc2l6ZSQgfCBhc3luYykgPT09ICdzbSc7IGVsc2Ugc2lkZUNvbnRlbnRcIiBbY2xhc3MubW9iaWxlXT1cImlzTW9iaWxlXCI+XG4gICAgICAgIDxkaXYgW2ZkTGF5b3V0R3JpZENvbF09XCIxXCI+PC9kaXY+XG5cbiAgICAgICAgPGRpdiBbZmRMYXlvdXRHcmlkQ29sXT1cIjEwXCI+XG4gICAgICAgICAgICA8YnN1LWx5LWxheW91dC1jb250YWluZXItb2Ytcm9vdFxuICAgICAgICAgICAgICAgIFtjb25maWddPVwibGF5b3V0OTQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtpc1BhbmVsXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNSb290XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5kZXNrdG9wTW9kZV09XCIhKGlzTW9iaWxlID09PSB0cnVlKVwiXG4gICAgICAgICAgICA+PC9ic3UtbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IFtmZExheW91dEdyaWRDb2xdPVwiMVwiPjwvZGl2PlxuICAgIDwvZmQtbGF5b3V0LWdyaWQ+XG4gICAgPG5nLXRlbXBsYXRlICNzaWRlQ29udGVudD5cbiAgICAgICAgPGZkLWR5bmFtaWMtc2lkZS1jb250ZW50IFtzaXplXT1cIihzaXplJCB8IGFzeW5jKSEhXCI+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtc2lkZT5cbiAgICAgICAgICAgICAgICA8YnN1LWx5LWxheW91dC1jb250YWluZXItb2Ytcm9vdFxuICAgICAgICAgICAgICAgICAgICBbY29uZmlnXT1cImxheW91dDk0JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzUGFuZWxdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbaXNSb290XT1cInRydWVcIlxuICAgICAgICAgICAgICAgID48L2JzdS1seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3Q+XG4gICAgICAgICAgICA8L2ZkLWR5bmFtaWMtc2lkZS1jb250ZW50LXNpZGU+XG4gICAgICAgICAgICA8ZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtbWFpbj5cbiAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCIn2LnaqdizINm+2LMg2LLZhduM2YbZhycgfCBjb250cm9sVWk6IGxheW91dDk0IGFzIGxheW91dENvbmZpZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnN1LWxheW91dC1jb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2FwdGlvbl09XCIn2LnaqdizINm+2LMg2LLZhduM2YbZhydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJsYXlvdXRDb25maWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5saW5lRWRpdF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgID48L2JzdS1sYXlvdXQtY29udHJvbD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIifYudqp2LMg2b7YsyDYstmF24zZhtmHJyB8IGNvbnRyb2xVaTogbGF5b3V0OTQgYXMgbGF5b3V0Q29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJiZ0xvZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRJbWFnZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICd1cmwoJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAobW8uQmFja2dyb3VuZD8uRmlsZUlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwaWNGaWVsZFNyYzogJ1BpY3R1cmVGaWxlSW5mbyc6bnVsbDpsYXlvdXRDb25maWcuRmllbGRVaS5TZXR0aW5nLkZpZWxkRGVmSWQpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICcpJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtZHluYW1pYy1zaWRlLWNvbnRlbnQtbWFpbj5cbiAgICAgICAgPC9mZC1keW5hbWljLXNpZGUtY29udGVudD5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FormPropsBaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "barsa-sap-ui";
5
- import * as i2 from "@fundamental-ngx/core/card";
6
- export class MasterDetailCardFormComponent extends FormPropsBaseComponent {
7
- ngOnInit() {
8
- super.ngOnInit();
9
- }
10
- }
11
- MasterDetailCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MasterDetailCardFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- MasterDetailCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MasterDetailCardFormComponent, selector: "bdc-master-detail-card-form", usesInheritance: true, ngImport: i0, template: "<fd-card class=\"master-tab\">\n <bsu-ly-tab-page [config]=\"modernTabs[0]\"></bsu-ly-tab-page>\n</fd-card>\n<fd-card class=\"details-tab\">\n <bsu-ly-tab-page [config]=\"modernTabs[1]\"></bsu-ly-tab-page>\n</fd-card>\n", styles: [":host{display:flex;width:100%;height:100%;column-gap:.525rem}fd-card.master-tab,fd-card.details-tab{height:100%}.master-tab{max-width:400px}.details-tab{width:100%}\n"], dependencies: [{ kind: "component", type: i1.LyTabPageComponent, selector: "bsu-ly-tab-page", inputs: ["renderItems", "tablist"] }, { kind: "component", type: i2.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MasterDetailCardFormComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'bdc-master-detail-card-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card class=\"master-tab\">\n <bsu-ly-tab-page [config]=\"modernTabs[0]\"></bsu-ly-tab-page>\n</fd-card>\n<fd-card class=\"details-tab\">\n <bsu-ly-tab-page [config]=\"modernTabs[1]\"></bsu-ly-tab-page>\n</fd-card>\n", styles: [":host{display:flex;width:100%;height:100%;column-gap:.525rem}fd-card.master-tab,fd-card.details-tab{height:100%}.master-tab{max-width:400px}.details-tab{width:100%}\n"] }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWRldGFpbC1jYXJkLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvbWFzdGVyLWRldGFpbC1jYXJkLWZvcm0vbWFzdGVyLWRldGFpbC1jYXJkLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvbWFzdGVyLWRldGFpbC1jYXJkLWZvcm0vbWFzdGVyLWRldGFpbC1jYXJkLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVE5RCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsc0JBQXNCO0lBQ3JFLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzs7MEhBSFEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMEZDVDFDLG1PQU1BOzJGREdhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDSSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmRjLW1hc3Rlci1kZXRhaWwtY2FyZC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFzdGVyLWRldGFpbC1jYXJkLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21hc3Rlci1kZXRhaWwtY2FyZC1mb3JtLmNvbXBvbmVudC5jc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXN0ZXJEZXRhaWxDYXJkRm9ybUNvbXBvbmVudCBleHRlbmRzIEZvcm1Qcm9wc0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cbn1cbiIsIjxmZC1jYXJkIGNsYXNzPVwibWFzdGVyLXRhYlwiPlxuICAgIDxic3UtbHktdGFiLXBhZ2UgW2NvbmZpZ109XCJtb2Rlcm5UYWJzWzBdXCI+PC9ic3UtbHktdGFiLXBhZ2U+XG48L2ZkLWNhcmQ+XG48ZmQtY2FyZCBjbGFzcz1cImRldGFpbHMtdGFiXCI+XG4gICAgPGJzdS1seS10YWItcGFnZSBbY29uZmlnXT1cIm1vZGVyblRhYnNbMV1cIj48L2JzdS1seS10YWItcGFnZT5cbjwvZmQtY2FyZD5cbiJdfQ==
@@ -1,238 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core';
2
- import { AudioRecordingService, BarsaApi, UploadService, VideoRecordingService } from 'barsa-novin-ray-core';
3
- import { UiPdfViewerComponent } from 'barsa-sap-ui';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@fundamental-ngx/core/button";
7
- import * as i3 from "@fundamental-ngx/core/card";
8
- import * as i4 from "@fundamental-ngx/core/nested-list";
9
- import * as i5 from "@fundamental-ngx/core/progress-indicator";
10
- import * as i6 from "barsa-novin-ray-core";
11
- export class MediaFileUploaderComponent extends UiPdfViewerComponent {
12
- constructor() {
13
- super(...arguments);
14
- this.isPlaying = false;
15
- this.displayControls = true;
16
- this.isRecording = false;
17
- this.audioConf = { audio: true };
18
- this.videoConf = { video: { facingMode: 'user', width: 320 }, audio: true };
19
- this.recordType = 'audio';
20
- }
21
- get video() {
22
- return this.videoElement?.nativeElement;
23
- }
24
- get fileInput() {
25
- return this.photoElement?.nativeElement;
26
- }
27
- ngOnInit() {
28
- super.ngOnInit();
29
- this._videoRecoder.recordingFailed().subscribe(() => {
30
- this.isRecording = false;
31
- this._cdr.detectChanges();
32
- });
33
- this._videoRecoder.getRecordedTime().subscribe((time) => {
34
- this.recordedTime = time;
35
- this._cdr.detectChanges();
36
- });
37
- this._videoRecoder.getStream().subscribe((stream) => {
38
- this.videoStream = stream;
39
- this._cdr.detectChanges();
40
- });
41
- this._videoRecoder.getRecordedBlob().subscribe((data) => {
42
- this.fileBlob = data.blob;
43
- this.fileName = data.title;
44
- this.valueUrl = this._domSanitizer.bypassSecurityTrustUrl(data.url);
45
- this._cdr.detectChanges();
46
- });
47
- this._audioRecorder.recordingFailed().subscribe(() => {
48
- this.isRecording = false;
49
- this._cdr.detectChanges();
50
- });
51
- this._audioRecorder.getRecordedTime().subscribe((time) => {
52
- this.recordedTime = time;
53
- this._cdr.detectChanges();
54
- });
55
- this._audioRecorder.getRecordedBlob().subscribe((data) => {
56
- this.fileBlob = data.blob;
57
- this.fileName = data.title;
58
- this.valueUrl = this._domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(data.blob));
59
- this._cdr.detectChanges();
60
- });
61
- let glyph = '';
62
- switch (this.recordType) {
63
- case 'audio':
64
- glyph = 'attachment-audio';
65
- break;
66
- case 'video':
67
- glyph = 'attachment-video';
68
- break;
69
- default:
70
- glyph = 'attachment-photo';
71
- break;
72
- }
73
- this.glyph = glyph;
74
- this.fileName = this.value?.FileName;
75
- this.recordType = this.parameters?.MediaType$Caption || 'audio';
76
- }
77
- onDelete() {
78
- super.onDelete();
79
- this.onClearRecord();
80
- }
81
- onClearRecord() {
82
- this.abortVideoRecording();
83
- this.abortAudioRecording();
84
- this.fileBlob = null;
85
- this.valueUrl = null;
86
- this._cdr.detectChanges();
87
- }
88
- onToggleRecord() {
89
- if (this.recordType === 'audio') {
90
- if (this.isRecording) {
91
- this.stopAudioRecording();
92
- }
93
- else {
94
- this.startAudioRecording();
95
- }
96
- }
97
- else if (this.recordType === 'video') {
98
- this.video.hidden = false;
99
- if (this.isRecording) {
100
- this.stopVideoRecording();
101
- }
102
- else {
103
- this.startVideoRecording();
104
- }
105
- }
106
- else if (this.recordType === 'photo') {
107
- }
108
- }
109
- onTakePhoto() {
110
- if (this.fileInput?.files?.length) {
111
- const file = this.fileInput.files.item(0);
112
- if (file) {
113
- this.fileName = file.name;
114
- this._uploadFile([file]).subscribe();
115
- }
116
- }
117
- }
118
- onUpload() {
119
- const videoFile = new File([this.fileBlob], this.fileName);
120
- this._uploadFile([videoFile]).subscribe();
121
- }
122
- startVideoRecording() {
123
- if (!this.isRecording) {
124
- this.video.controls = false;
125
- this.isRecording = true;
126
- this._videoRecoder
127
- .startRecording(this.videoConf)
128
- .then((stream) => {
129
- // this.video.src = window.URL.createObjectURL(stream);
130
- this.video.srcObject = stream;
131
- this.video.play();
132
- })
133
- .catch(function (err) {
134
- console.log(err.name + ': ' + err.message);
135
- });
136
- }
137
- }
138
- abortVideoRecording() {
139
- if (this.isRecording && this.recordType === 'video') {
140
- this.isRecording = false;
141
- this._videoRecoder.abortRecording();
142
- }
143
- if (this.video) {
144
- const video = this.video;
145
- video.controls = false;
146
- video.hidden = true;
147
- }
148
- }
149
- stopVideoRecording() {
150
- if (this.isRecording && this.recordType === 'video') {
151
- this._videoRecoder.stopRecording();
152
- const video = this.video;
153
- video.srcObject = this.valueUrl;
154
- video.controls = true;
155
- this.isRecording = false;
156
- }
157
- }
158
- clearVideoRecordedData() {
159
- this.valueUrl = null;
160
- const video = this.video;
161
- video.srcObject = null;
162
- video.controls = false;
163
- this._cdr.detectChanges();
164
- }
165
- downloadVideoRecordedData() {
166
- this._downloadFile(this.fileBlob, 'video/mp4', this.fileName);
167
- }
168
- startAudioRecording() {
169
- if (!this.isRecording) {
170
- this.isRecording = true;
171
- this._audioRecorder.startRecording();
172
- }
173
- }
174
- abortAudioRecording() {
175
- if (this.isRecording && this.recordType === 'audio') {
176
- this.isRecording = false;
177
- this._audioRecorder.abortRecording();
178
- }
179
- }
180
- stopAudioRecording() {
181
- if (this.isRecording && this.recordType === 'audio') {
182
- this._audioRecorder.stopRecording();
183
- this.isRecording = false;
184
- }
185
- }
186
- clearAudioRecordedData() {
187
- this.valueUrl = null;
188
- }
189
- downloadAudioRecordedData() {
190
- this._downloadFile(this.fileBlob, 'audio/mp3', this.fileName);
191
- }
192
- ngOnDestroy() {
193
- this.abortAudioRecording();
194
- }
195
- _downloadFile(data, type, filename) {
196
- const blob = new Blob([data], { type });
197
- const url = window.URL.createObjectURL(blob);
198
- // this.video.srcObject = stream;
199
- // const url = data;
200
- const anchor = document.createElement('a');
201
- anchor.download = filename;
202
- anchor.href = url;
203
- document.body.appendChild(anchor);
204
- anchor.click();
205
- document.body.removeChild(anchor);
206
- }
207
- _downloadFileIdCompleted(response) {
208
- super._downloadFileIdCompleted(response);
209
- if (this.valueUrl) {
210
- if (this.recordType === 'video') {
211
- this.video.controls = true;
212
- }
213
- }
214
- }
215
- _refresh(_) {
216
- if (BarsaApi.Ext.isEmpty(this.value)) {
217
- return;
218
- }
219
- const fileId = this.value.Id;
220
- this.DownloadFileId(fileId, true, '', null, false);
221
- }
222
- }
223
- MediaFileUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MediaFileUploaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
224
- MediaFileUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MediaFileUploaderComponent, selector: "bdc-media-file-uploader", providers: [AudioRecordingService, VideoRecordingService, UploadService], viewQueries: [{ propertyName: "videoElement", first: true, predicate: ["videoElement"], descendants: true }, { propertyName: "photoElement", first: true, predicate: ["photoElement"], descendants: true }, { propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<fd-card class=\"upload\" [ngClass]=\"recordType\">\n <fd-card-content class=\"file-content\">\n <div [class.no-recording]=\"!isRecording && valueUrl\" [ngClass]=\"recordType\" class=\"media-wrapper\">\n <div class=\"icon\">\n <i\n style=\"left: 45%; position: absolute\"\n fd-nested-list-icon\n [glyph]=\"glyph\"\n *ngIf=\"!value && !valueUrl && !isRecording\"\n ></i>\n </div>\n <video #videoElement *ngIf=\"recordType === 'video'\" [class.video-novalue]=\"!valueUrl\">\n <source *ngIf=\"!isRecording && valueUrl\" [src]=\"valueUrl\" />\n <i\n style=\"left: 45%; position: absolute\"\n fd-nested-list-icon\n [glyph]=\"glyph\"\n *ngIf=\"!value && !valueUrl && !isRecording\"\n ></i>\n </video>\n <audio *ngIf=\"!isRecording && valueUrl && recordType === 'audio'\" controls>\n <source [src]=\"valueUrl\" type=\"audio/mp3\" />\n </audio>\n <input\n #photoElement\n *ngIf=\"recordType === 'photo'\"\n type=\"file\"\n accept=\"image/*\"\n id=\"file-input\"\n capture=\"environment\"\n (change)=\"onTakePhoto()\"\n />\n </div>\n <div *ngIf=\"isRecording || valueUrl\" class=\"media-info\">\n <div>\n {{ !isRecording ? '' : ('Recording' | bbbTranslate) }} <strong>{{ recordedTime }}</strong>\n </div>\n <div>{{ fileName }}</div>\n </div>\n <ng-container *ngIf=\"uploadingState$ | async as uploadingState\">\n <div class=\"progress\" *ngIf=\"uploadingState.state === 'Uploading'\">\n <div>\n <fd-progress-indicator\n state=\"informative\"\n [valueNow]=\"uploadingState?.progress\"\n ></fd-progress-indicator>\n </div>\n </div>\n </ng-container>\n <div class=\"btn-wrapper\">\n <button\n class=\"btn-record\"\n *ngIf=\"!value && !valueUrl\"\n fd-button\n [glyph]=\"isRecording ? 'stop' : 'record'\"\n [fdType]=\"isRecording ? 'attention' : 'ghost'\"\n (click)=\"onToggleRecord()\"\n ></button>\n <div *ngIf=\"!value && valueUrl\" class=\"btn-toolbar\">\n <button fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onClearRecord()\"></button>\n <button fd-button [label]=\"'Upload' | bbbTranslate\" [glyph]=\"'upload'\" (click)=\"onUpload()\"></button>\n </div>\n <div *ngIf=\"value\" class=\"btn-toolbar\">\n <button *ngIf=\"value\" fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onDelete()\"></button>\n <button *ngIf=\"value\" fd-button [glyph]=\"'download'\" fdType=\"standard\" (click)=\"onDownload()\"></button>\n </div>\n </div>\n </fd-card-content>\n</fd-card>\n", styles: [":host .upload{display:flex;justify-content:center;align-items:center;flex-direction:column;max-width:380px;position:relative}:host .upload .file-content{width:100%}:host .upload i:before{color:#0a6ed1!important;font-size:2rem}fd-card.audio{min-height:120px;max-height:120px}fd-card.video{min-height:340px;max-height:340px}.icon{display:flex;align-items:center;justify-content:center;position:absolute;top:45%;left:45%}.video-novalue{border:1px dashed var(--sapObjectHeader_BorderColor);min-height:240px}audio,video{width:100%}.progress{position:absolute;width:100%;height:100%;background-color:#e4e4e4c7;z-index:4;display:flex;justify-content:center;align-items:center;top:0;left:0}.progress div{flex:.5}.file-content{width:100%;height:100%;display:flex;flex-direction:column;padding:1rem}.media-wrapper{flex-grow:1}.btn-wrapper{align-self:center}.btn-record{flex-shrink:1}.btn-toolbar{flex-grow:1;display:flex;column-gap:1rem}.media-info{flex-shrink:1;display:flex;width:100%;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i3.CardContentComponent, selector: "fd-card-content" }, { kind: "directive", type: i4.NestedListIconDirective, selector: "[fdNestedDirectivesIcon], [fd-nested-list-icon]", inputs: ["class", "glyph", "role"] }, { kind: "component", type: i5.ProgressIndicatorComponent, selector: "fd-progress-indicator", inputs: ["valueText", "unit", "valueMin", "valueMax", "valueNow", "state", "animate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MediaFileUploaderComponent, decorators: [{
226
- type: Component,
227
- args: [{ selector: 'bdc-media-file-uploader', changeDetection: ChangeDetectionStrategy.OnPush, providers: [AudioRecordingService, VideoRecordingService, UploadService], template: "<fd-card class=\"upload\" [ngClass]=\"recordType\">\n <fd-card-content class=\"file-content\">\n <div [class.no-recording]=\"!isRecording && valueUrl\" [ngClass]=\"recordType\" class=\"media-wrapper\">\n <div class=\"icon\">\n <i\n style=\"left: 45%; position: absolute\"\n fd-nested-list-icon\n [glyph]=\"glyph\"\n *ngIf=\"!value && !valueUrl && !isRecording\"\n ></i>\n </div>\n <video #videoElement *ngIf=\"recordType === 'video'\" [class.video-novalue]=\"!valueUrl\">\n <source *ngIf=\"!isRecording && valueUrl\" [src]=\"valueUrl\" />\n <i\n style=\"left: 45%; position: absolute\"\n fd-nested-list-icon\n [glyph]=\"glyph\"\n *ngIf=\"!value && !valueUrl && !isRecording\"\n ></i>\n </video>\n <audio *ngIf=\"!isRecording && valueUrl && recordType === 'audio'\" controls>\n <source [src]=\"valueUrl\" type=\"audio/mp3\" />\n </audio>\n <input\n #photoElement\n *ngIf=\"recordType === 'photo'\"\n type=\"file\"\n accept=\"image/*\"\n id=\"file-input\"\n capture=\"environment\"\n (change)=\"onTakePhoto()\"\n />\n </div>\n <div *ngIf=\"isRecording || valueUrl\" class=\"media-info\">\n <div>\n {{ !isRecording ? '' : ('Recording' | bbbTranslate) }} <strong>{{ recordedTime }}</strong>\n </div>\n <div>{{ fileName }}</div>\n </div>\n <ng-container *ngIf=\"uploadingState$ | async as uploadingState\">\n <div class=\"progress\" *ngIf=\"uploadingState.state === 'Uploading'\">\n <div>\n <fd-progress-indicator\n state=\"informative\"\n [valueNow]=\"uploadingState?.progress\"\n ></fd-progress-indicator>\n </div>\n </div>\n </ng-container>\n <div class=\"btn-wrapper\">\n <button\n class=\"btn-record\"\n *ngIf=\"!value && !valueUrl\"\n fd-button\n [glyph]=\"isRecording ? 'stop' : 'record'\"\n [fdType]=\"isRecording ? 'attention' : 'ghost'\"\n (click)=\"onToggleRecord()\"\n ></button>\n <div *ngIf=\"!value && valueUrl\" class=\"btn-toolbar\">\n <button fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onClearRecord()\"></button>\n <button fd-button [label]=\"'Upload' | bbbTranslate\" [glyph]=\"'upload'\" (click)=\"onUpload()\"></button>\n </div>\n <div *ngIf=\"value\" class=\"btn-toolbar\">\n <button *ngIf=\"value\" fd-button [glyph]=\"'delete'\" fdType=\"negative\" (click)=\"onDelete()\"></button>\n <button *ngIf=\"value\" fd-button [glyph]=\"'download'\" fdType=\"standard\" (click)=\"onDownload()\"></button>\n </div>\n </div>\n </fd-card-content>\n</fd-card>\n", styles: [":host .upload{display:flex;justify-content:center;align-items:center;flex-direction:column;max-width:380px;position:relative}:host .upload .file-content{width:100%}:host .upload i:before{color:#0a6ed1!important;font-size:2rem}fd-card.audio{min-height:120px;max-height:120px}fd-card.video{min-height:340px;max-height:340px}.icon{display:flex;align-items:center;justify-content:center;position:absolute;top:45%;left:45%}.video-novalue{border:1px dashed var(--sapObjectHeader_BorderColor);min-height:240px}audio,video{width:100%}.progress{position:absolute;width:100%;height:100%;background-color:#e4e4e4c7;z-index:4;display:flex;justify-content:center;align-items:center;top:0;left:0}.progress div{flex:.5}.file-content{width:100%;height:100%;display:flex;flex-direction:column;padding:1rem}.media-wrapper{flex-grow:1}.btn-wrapper{align-self:center}.btn-record{flex-shrink:1}.btn-toolbar{flex-grow:1;display:flex;column-gap:1rem}.media-info{flex-shrink:1;display:flex;width:100%;justify-content:space-between}\n"] }]
228
- }], propDecorators: { videoElement: [{
229
- type: ViewChild,
230
- args: ['videoElement']
231
- }], photoElement: [{
232
- type: ViewChild,
233
- args: ['photoElement']
234
- }], dialogContainer: [{
235
- type: ViewChild,
236
- args: ['container', { read: TemplateRef }]
237
- }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtZmlsZS11cGxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9tZWRpYS1maWxlLXVwbG9hZGVyL21lZGlhLWZpbGUtdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvbWVkaWEtZmlsZS11cGxvYWRlci9tZWRpYS1maWxlLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFTcEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQVBwRTs7UUFhSSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBTXBCLGNBQVMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM1QixjQUFTLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFdkUsZUFBVSxHQUFHLE9BQU8sQ0FBQztLQXlOeEI7SUF2TkcsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztJQUM1QyxD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eUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxDQUFDOzhCQUc3QyxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0UsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUV6QixlQUFlO3NCQURkLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLCBCYXJzYUFwaSwgVXBsb2FkU2VydmljZSwgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVWlQZGZWaWV3ZXJDb21wb25lbnQgfSBmcm9tICdiYXJzYS1zYXAtdWknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JkYy1tZWRpYS1maWxlLXVwbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVkaWEtZmlsZS11cGxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWVkaWEtZmlsZS11cGxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0F1ZGlvUmVjb3JkaW5nU2VydmljZSwgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZWRpYUZpbGVVcGxvYWRlckNvbXBvbmVudCBleHRlbmRzIFVpUGRmVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCd2aWRlb0VsZW1lbnQnKSB2aWRlb0VsZW1lbnQ6IGFueTtcbiAgICBAVmlld0NoaWxkKCdwaG90b0VsZW1lbnQnKSBwaG90b0VsZW1lbnQ6IGFueTtcbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gICAgZGlhbG9nQ29udGFpbmVyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaXNQbGF5aW5nID0gZmFsc2U7XG4gICAgZGlzcGxheUNvbnRyb2xzID0gdHJ1ZTtcbiAgICBpc1JlY29yZGluZyA9IGZhbHNlO1xuICAgIHJlY29yZGVkVGltZTtcbiAgICBmaWxlQmxvYjtcbiAgICBmaWxlTmFtZTtcbiAgICBhdWRpb1N0cmVhbTtcbiAgICB2aWRlb1N0cmVhbTogTWVkaWFTdHJlYW07XG4gICAgYXVkaW9Db25mID0geyBhdWRpbzogdHJ1ZSB9O1xuICAgIHZpZGVvQ29uZiA9IHsgdmlkZW86IHsgZmFjaW5nTW9kZTogJ3VzZXInLCB3aWR0aDogMzIwIH0sIGF1ZGlvOiB0cnVlIH07XG4gICAgZ2x5cGg6IHN0cmluZztcbiAgICByZWNvcmRUeXBlID0gJ2F1ZGlvJztcblxuICAgIGdldCB2aWRlbygpOiBIVE1MTWVkaWFFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlkZW9FbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuICAgIH1cbiAgICBnZXQgZmlsZUlucHV0KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5waG90b0VsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl92aWRlb1JlY29kZXIucmVjb3JkaW5nRmFpbGVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNSZWNvcmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3ZpZGVvUmVjb2Rlci5nZXRSZWNvcmRlZFRpbWUoKS5zdWJzY3JpYmUoKHRpbWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVjb3JkZWRUaW1lID0gdGltZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3ZpZGVvUmVjb2Rlci5nZXRTdHJlYW0oKS5zdWJzY3JpYmUoKHN0cmVhbSkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aWRlb1N0cmVhbSA9IHN0cmVhbTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3ZpZGVvUmVjb2Rlci5nZXRSZWNvcmRlZEJsb2IoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmlsZUJsb2IgPSBkYXRhLmJsb2I7XG4gICAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gZGF0YS50aXRsZTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVVcmwgPSB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChkYXRhLnVybCk7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9hdWRpb1JlY29yZGVyLnJlY29yZGluZ0ZhaWxlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9hdWRpb1JlY29yZGVyLmdldFJlY29yZGVkVGltZSgpLnN1YnNjcmliZSgodGltZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWNvcmRlZFRpbWUgPSB0aW1lO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fYXVkaW9SZWNvcmRlci5nZXRSZWNvcmRlZEJsb2IoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmlsZUJsb2IgPSBkYXRhLmJsb2I7XG4gICAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gZGF0YS50aXRsZTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVVcmwgPSB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChVUkwuY3JlYXRlT2JqZWN0VVJMKGRhdGEuYmxvYikpO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBnbHlwaCA9ICcnO1xuICAgICAgICBzd2l0Y2ggKHRoaXMucmVjb3JkVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnYXVkaW8nOlxuICAgICAgICAgICAgICAgIGdseXBoID0gJ2F0dGFjaG1lbnQtYXVkaW8nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndmlkZW8nOlxuICAgICAgICAgICAgICAgIGdseXBoID0gJ2F0dGFjaG1lbnQtdmlkZW8nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBnbHlwaCA9ICdhdHRhY2htZW50LXBob3RvJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdseXBoID0gZ2x5cGg7XG4gICAgICAgIHRoaXMuZmlsZU5hbWUgPSB0aGlzLnZhbHVlPy5GaWxlTmFtZTtcbiAgICAgICAgdGhpcy5yZWNvcmRUeXBlID0gdGhpcy5wYXJhbWV0ZXJzPy5NZWRpYVR5cGUkQ2FwdGlvbiB8fCAnYXVkaW8nO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5vbkRlbGV0ZSgpO1xuICAgICAgICB0aGlzLm9uQ2xlYXJSZWNvcmQoKTtcbiAgICB9XG4gICAgb25DbGVhclJlY29yZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hYm9ydFZpZGVvUmVjb3JkaW5nKCk7XG4gICAgICAgIHRoaXMuYWJvcnRBdWRpb1JlY29yZGluZygpO1xuICAgICAgICB0aGlzLmZpbGVCbG9iID0gbnVsbDtcbiAgICAgICAgdGhpcy52YWx1ZVVybCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIG9uVG9nZ2xlUmVjb3JkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWNvcmRUeXBlID09PSAnYXVkaW8nKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1JlY29yZGluZykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RvcEF1ZGlvUmVjb3JkaW5nKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRBdWRpb1JlY29yZGluZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmVjb3JkVHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgICAgdGhpcy52aWRlby5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVjb3JkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9wVmlkZW9SZWNvcmRpbmcoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydFZpZGVvUmVjb3JkaW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZWNvcmRUeXBlID09PSAncGhvdG8nKSB7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25UYWtlUGhvdG8oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dD8uZmlsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuZmlsZUlucHV0LmZpbGVzLml0ZW0oMCk7XG4gICAgICAgICAgICBpZiAoZmlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsZU5hbWUgPSBmaWxlLm5hbWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShbZmlsZV0pLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uVXBsb2FkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2aWRlb0ZpbGU6IEZpbGUgPSBuZXcgRmlsZShbdGhpcy5maWxlQmxvYl0sIHRoaXMuZmlsZU5hbWUpO1xuICAgICAgICB0aGlzLl91cGxvYWRGaWxlKFt2aWRlb0ZpbGVdKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgc3RhcnRWaWRlb1JlY29yZGluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzUmVjb3JkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLnZpZGVvLmNvbnRyb2xzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX3ZpZGVvUmVjb2RlclxuICAgICAgICAgICAgICAgIC5zdGFydFJlY29yZGluZyh0aGlzLnZpZGVvQ29uZilcbiAgICAgICAgICAgICAgICAudGhlbigoc3RyZWFtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMudmlkZW8uc3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoc3RyZWFtKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWRlby5zcmNPYmplY3QgPSBzdHJlYW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmlkZW8ucGxheSgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyLm5hbWUgKyAnOiAnICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWJvcnRWaWRlb1JlY29yZGluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZWNvcmRpbmcgJiYgdGhpcy5yZWNvcmRUeXBlID09PSAndmlkZW8nKSB7XG4gICAgICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl92aWRlb1JlY29kZXIuYWJvcnRSZWNvcmRpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52aWRlbykge1xuICAgICAgICAgICAgY29uc3QgdmlkZW8gPSB0aGlzLnZpZGVvO1xuICAgICAgICAgICAgdmlkZW8uY29udHJvbHMgPSBmYWxzZTtcbiAgICAgICAgICAgIHZpZGVvLmhpZGRlbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdG9wVmlkZW9SZWNvcmRpbmcoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVjb3JkaW5nICYmIHRoaXMucmVjb3JkVHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgICAgdGhpcy5fdmlkZW9SZWNvZGVyLnN0b3BSZWNvcmRpbmcoKTtcbiAgICAgICAgICAgIGNvbnN0IHZpZGVvOiBhbnkgPSB0aGlzLnZpZGVvO1xuICAgICAgICAgICAgdmlkZW8uc3JjT2JqZWN0ID0gdGhpcy52YWx1ZVVybDtcbiAgICAgICAgICAgIHZpZGVvLmNvbnRyb2xzID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuaXNSZWNvcmRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsZWFyVmlkZW9SZWNvcmRlZERhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWVVcmwgPSBudWxsO1xuICAgICAgICBjb25zdCB2aWRlbyA9IHRoaXMudmlkZW87XG4gICAgICAgIHZpZGVvLnNyY09iamVjdCA9IG51bGw7XG4gICAgICAgIHZpZGVvLmNvbnRyb2xzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgZG93bmxvYWRWaWRlb1JlY29yZGVkRGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZG93bmxvYWRGaWxlKHRoaXMuZmlsZUJsb2IsICd2aWRlby9tcDQnLCB0aGlzLmZpbGVOYW1lKTtcbiAgICB9XG5cbiAgICBzdGFydEF1ZGlvUmVjb3JkaW5nKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNSZWNvcmRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNSZWNvcmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fYXVkaW9SZWNvcmRlci5zdGFydFJlY29yZGluZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWJvcnRBdWRpb1JlY29yZGluZygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZWNvcmRpbmcgJiYgdGhpcy5yZWNvcmRUeXBlID09PSAnYXVkaW8nKSB7XG4gICAgICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9hdWRpb1JlY29yZGVyLmFib3J0UmVjb3JkaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdG9wQXVkaW9SZWNvcmRpbmcoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVjb3JkaW5nICYmIHRoaXMucmVjb3JkVHlwZSA9PT0gJ2F1ZGlvJykge1xuICAgICAgICAgICAgdGhpcy5fYXVkaW9SZWNvcmRlci5zdG9wUmVjb3JkaW5nKCk7XG4gICAgICAgICAgICB0aGlzLmlzUmVjb3JkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhckF1ZGlvUmVjb3JkZWREYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlVXJsID0gbnVsbDtcbiAgICB9XG5cbiAgICBkb3dubG9hZEF1ZGlvUmVjb3JkZWREYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kb3dubG9hZEZpbGUodGhpcy5maWxlQmxvYiwgJ2F1ZGlvL21wMycsIHRoaXMuZmlsZU5hbWUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFib3J0QXVkaW9SZWNvcmRpbmcoKTtcbiAgICB9XG5cbiAgICBfZG93bmxvYWRGaWxlKGRhdGE6IGFueSwgdHlwZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtkYXRhXSwgeyB0eXBlIH0pO1xuICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgICAgLy8gdGhpcy52aWRlby5zcmNPYmplY3QgPSBzdHJlYW07XG4gICAgICAgIC8vIGNvbnN0IHVybCA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgICAgYW5jaG9yLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgICAgIGFuY2hvci5ocmVmID0gdXJsO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGFuY2hvcik7XG4gICAgICAgIGFuY2hvci5jbGljaygpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGFuY2hvcik7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZG93bmxvYWRGaWxlSWRDb21wbGV0ZWQocmVzcG9uc2UpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuX2Rvd25sb2FkRmlsZUlkQ29tcGxldGVkKHJlc3BvbnNlKTtcbiAgICAgICAgaWYgKHRoaXMudmFsdWVVcmwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJlY29yZFR5cGUgPT09ICd2aWRlbycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvLmNvbnRyb2xzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3JlZnJlc2goXz86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKEJhcnNhQXBpLkV4dC5pc0VtcHR5KHRoaXMudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsZUlkID0gdGhpcy52YWx1ZS5JZDtcbiAgICAgICAgdGhpcy5Eb3dubG9hZEZpbGVJZChmaWxlSWQsIHRydWUsICcnLCBudWxsLCBmYWxzZSk7XG4gICAgfVxufVxuIiwiPGZkLWNhcmQgY2xhc3M9XCJ1cGxvYWRcIiBbbmdDbGFzc109XCJyZWNvcmRUeXBlXCI+XG4gICAgPGZkLWNhcmQtY29udGVudCBjbGFzcz1cImZpbGUtY29udGVudFwiPlxuICAgICAgICA8ZGl2IFtjbGFzcy5uby1yZWNvcmRpbmddPVwiIWlzUmVjb3JkaW5nICYmIHZhbHVlVXJsXCIgW25nQ2xhc3NdPVwicmVjb3JkVHlwZVwiIGNsYXNzPVwibWVkaWEtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImxlZnQ6IDQ1JTsgcG9zaXRpb246IGFic29sdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZmQtbmVzdGVkLWxpc3QtaWNvblxuICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZ2x5cGhcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiF2YWx1ZSAmJiAhdmFsdWVVcmwgJiYgIWlzUmVjb3JkaW5nXCJcbiAgICAgICAgICAgICAgICA+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8dmlkZW8gI3ZpZGVvRWxlbWVudCAqbmdJZj1cInJlY29yZFR5cGUgPT09ICd2aWRlbydcIiBbY2xhc3MudmlkZW8tbm92YWx1ZV09XCIhdmFsdWVVcmxcIj5cbiAgICAgICAgICAgICAgICA8c291cmNlICpuZ0lmPVwiIWlzUmVjb3JkaW5nICYmIHZhbHVlVXJsXCIgW3NyY109XCJ2YWx1ZVVybFwiIC8+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJsZWZ0OiA0NSU7IHBvc2l0aW9uOiBhYnNvbHV0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkLW5lc3RlZC1saXN0LWljb25cbiAgICAgICAgICAgICAgICAgICAgW2dseXBoXT1cImdseXBoXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhdmFsdWUgJiYgIXZhbHVlVXJsICYmICFpc1JlY29yZGluZ1wiXG4gICAgICAgICAgICAgICAgPjwvaT5cbiAgICAgICAgICAgIDwvdmlkZW8+XG4gICAgICAgICAgICA8YXVkaW8gKm5nSWY9XCIhaXNSZWNvcmRpbmcgJiYgdmFsdWVVcmwgJiYgcmVjb3JkVHlwZSA9PT0gJ2F1ZGlvJ1wiIGNvbnRyb2xzPlxuICAgICAgICAgICAgICAgIDxzb3VyY2UgW3NyY109XCJ2YWx1ZVVybFwiIHR5cGU9XCJhdWRpby9tcDNcIiAvPlxuICAgICAgICAgICAgPC9hdWRpbz5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICNwaG90b0VsZW1lbnRcbiAgICAgICAgICAgICAgICAqbmdJZj1cInJlY29yZFR5cGUgPT09ICdwaG90bydcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICBhY2NlcHQ9XCJpbWFnZS8qXCJcbiAgICAgICAgICAgICAgICBpZD1cImZpbGUtaW5wdXRcIlxuICAgICAgICAgICAgICAgIGNhcHR1cmU9XCJlbnZpcm9ubWVudFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRha2VQaG90bygpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNSZWNvcmRpbmcgfHwgdmFsdWVVcmxcIiBjbGFzcz1cIm1lZGlhLWluZm9cIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge3sgIWlzUmVjb3JkaW5nID8gJycgOiAoJ1JlY29yZGluZycgfCBiYmJUcmFuc2xhdGUpIH19IDxzdHJvbmc+e3sgcmVjb3JkZWRUaW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+e3sgZmlsZU5hbWUgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1cGxvYWRpbmdTdGF0ZSQgfCBhc3luYyBhcyB1cGxvYWRpbmdTdGF0ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCIgKm5nSWY9XCJ1cGxvYWRpbmdTdGF0ZS5zdGF0ZSA9PT0gJ1VwbG9hZGluZydcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZmQtcHJvZ3Jlc3MtaW5kaWNhdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZT1cImluZm9ybWF0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZU5vd109XCJ1cGxvYWRpbmdTdGF0ZT8ucHJvZ3Jlc3NcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1wcm9ncmVzcy1pbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4td3JhcHBlclwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLXJlY29yZFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhdmFsdWUgJiYgIXZhbHVlVXJsXCJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiaXNSZWNvcmRpbmcgPyAnc3RvcCcgOiAncmVjb3JkJ1wiXG4gICAgICAgICAgICAgICAgW2ZkVHlwZV09XCJpc1JlY29yZGluZyA/ICdhdHRlbnRpb24nIDogJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVG9nZ2xlUmVjb3JkKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiF2YWx1ZSAmJiB2YWx1ZVVybFwiIGNsYXNzPVwiYnRuLXRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbZ2x5cGhdPVwiJ2RlbGV0ZSdcIiBmZFR5cGU9XCJuZWdhdGl2ZVwiIChjbGljayk9XCJvbkNsZWFyUmVjb3JkKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBbbGFiZWxdPVwiJ1VwbG9hZCcgfCBiYmJUcmFuc2xhdGVcIiBbZ2x5cGhdPVwiJ3VwbG9hZCdcIiAoY2xpY2spPVwib25VcGxvYWQoKVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidmFsdWVcIiBjbGFzcz1cImJ0bi10b29sYmFyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInZhbHVlXCIgZmQtYnV0dG9uIFtnbHlwaF09XCInZGVsZXRlJ1wiIGZkVHlwZT1cIm5lZ2F0aXZlXCIgKGNsaWNrKT1cIm9uRGVsZXRlKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidmFsdWVcIiBmZC1idXR0b24gW2dseXBoXT1cIidkb3dubG9hZCdcIiBmZFR5cGU9XCJzdGFuZGFyZFwiIChjbGljayk9XCJvbkRvd25sb2FkKClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZkLWNhcmQtY29udGVudD5cbjwvZmQtY2FyZD5cbiJdfQ==
@@ -1,53 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
2
- import { BaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@fundamental-ngx/core/button";
6
- import * as i3 from "@fundamental-ngx/core/micro-process-flow";
7
- export class MicroProccessFlowComponent extends BaseComponent {
8
- /**
9
- *
10
- */
11
- constructor(_el) {
12
- super();
13
- this._el = _el;
14
- this.selectedChange = new EventEmitter();
15
- }
16
- ngOnInit() {
17
- super.ngOnInit();
18
- this._setIndex(this.selected, this.items);
19
- this.maxWidth = this._el.nativeElement.offsetWidth;
20
- }
21
- onItemClick(item) {
22
- this.selectedChange.emit(item);
23
- }
24
- ngOnChanges(changes) {
25
- const { selected, items } = changes;
26
- if (selected && !selected.firstChange) {
27
- this._setIndex(selected.currentValue, this.items);
28
- }
29
- else if (items && !items.firstChange) {
30
- this._setIndex(this.selected, items.currentValue);
31
- }
32
- }
33
- _setIndex(val, items) {
34
- this.selectedIndex = items.findIndex((c) => (this.idIskey ? c.id === val : c.label === val));
35
- }
36
- }
37
- MicroProccessFlowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroProccessFlowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
38
- MicroProccessFlowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MicroProccessFlowComponent, selector: "bdc-micro-proccess-flow", inputs: { items: "items", selected: "selected", readonly: "readonly", idIskey: "idIskey" }, outputs: { selectedChange: "selectedChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-micro-process-flow class=\"flow\" [style.max-width.px]=\"maxWidth\">\n <fd-micro-process-flow-item\n *ngFor=\"let item of items; let i = index\"\n [state]=\"i <= selectedIndex ? 'positive' : 'none'\"\n >\n <div class=\"flow-item\">\n <button\n *ngIf=\"selectedIndex > -1\"\n [class.reached]=\"i <= selectedIndex\"\n fd-button\n [fdType]=\"i <= selectedIndex ? 'positive' : i === selectedIndex + 1 ? 'standard' : 'transparent'\"\n [label]=\"item.label\"\n [glyph]=\"i <= selectedIndex ? 'accept' : null\"\n [disabled]=\"readonly || (i > selectedIndex + 1 && selectedIndex > -1)\"\n (click)=\"onItemClick(item)\"\n ></button>\n <button\n *ngIf=\"selectedIndex === -1\"\n [class.reached]=\"false\"\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"item.label\"\n [glyph]=\"null\"\n [disabled]=\"readonly\"\n (click)=\"onItemClick(item)\"\n ></button>\n </div>\n </fd-micro-process-flow-item>\n</fd-micro-process-flow>\n", styles: [":host{display:block}.reached{pointer-events:none;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MicroProcessFlowComponent, selector: "fd-micro-process-flow", inputs: ["independentSteps", "transitionSpeed", "transitionTimingFunction"] }, { kind: "component", type: i3.MicroProcessFlowItemComponent, selector: "fd-micro-process-flow-item", inputs: ["state", "intermediate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroProccessFlowComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'bdc-micro-proccess-flow', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-micro-process-flow class=\"flow\" [style.max-width.px]=\"maxWidth\">\n <fd-micro-process-flow-item\n *ngFor=\"let item of items; let i = index\"\n [state]=\"i <= selectedIndex ? 'positive' : 'none'\"\n >\n <div class=\"flow-item\">\n <button\n *ngIf=\"selectedIndex > -1\"\n [class.reached]=\"i <= selectedIndex\"\n fd-button\n [fdType]=\"i <= selectedIndex ? 'positive' : i === selectedIndex + 1 ? 'standard' : 'transparent'\"\n [label]=\"item.label\"\n [glyph]=\"i <= selectedIndex ? 'accept' : null\"\n [disabled]=\"readonly || (i > selectedIndex + 1 && selectedIndex > -1)\"\n (click)=\"onItemClick(item)\"\n ></button>\n <button\n *ngIf=\"selectedIndex === -1\"\n [class.reached]=\"false\"\n fd-button\n [fdType]=\"'transparent'\"\n [label]=\"item.label\"\n [glyph]=\"null\"\n [disabled]=\"readonly\"\n (click)=\"onItemClick(item)\"\n ></button>\n </div>\n </fd-micro-process-flow-item>\n</fd-micro-process-flow>\n", styles: [":host{display:block}.reached{pointer-events:none;border:none}\n"] }]
42
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { items: [{
43
- type: Input
44
- }], selected: [{
45
- type: Input
46
- }], readonly: [{
47
- type: Input
48
- }], idIskey: [{
49
- type: Input
50
- }], selectedChange: [{
51
- type: Output
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tcHJvY2Nlc3MtZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9taWNyby1wcm9jY2Vzcy1mbG93L21pY3JvLXByb2NjZXNzLWZsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvbWljcm8tcHJvY2Nlc3MtZmxvdy9taWNyby1wcm9jY2Vzcy1mbG93LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUlmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFRckQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGFBQWE7SUFRekQ7O09BRUc7SUFDSCxZQUFvQixHQUFvQjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQURRLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBTjlCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztJQVF4RCxDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUE2QixDQUFDLFdBQVcsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQWM7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUNwQyxJQUFJLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUNTLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBaUI7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQzs7dUhBaENRLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHNQQ2xCdkMsOHRDQTZCQTsyRkRYYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNO2lHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiZGMtbWljcm8tcHJvY2Nlc3MtZmxvdycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21pY3JvLXByb2NjZXNzLWZsb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21pY3JvLXByb2NjZXNzLWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNaWNyb1Byb2NjZXNzRmxvd0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxGbG93SXRlbT47XG4gICAgQElucHV0KCkgc2VsZWN0ZWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpZElza2V5OiBib29sZWFuO1xuICAgIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Rmxvd0l0ZW0+KCk7XG4gICAgc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICAgIG1heFdpZHRoOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICpcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbDogRWxlbWVudFJlZjxhbnk+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl9zZXRJbmRleCh0aGlzLnNlbGVjdGVkLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgdGhpcy5tYXhXaWR0aCA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aDtcbiAgICB9XG4gICAgb25JdGVtQ2xpY2soaXRlbTogRmxvd0l0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0ZWQsIGl0ZW1zIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAoc2VsZWN0ZWQgJiYgIXNlbGVjdGVkLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRJbmRleChzZWxlY3RlZC5jdXJyZW50VmFsdWUsIHRoaXMuaXRlbXMpO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW1zICYmICFpdGVtcy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0SW5kZXgodGhpcy5zZWxlY3RlZCwgaXRlbXMuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldEluZGV4KHZhbDogc3RyaW5nLCBpdGVtczogRmxvd0l0ZW1bXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBpdGVtcy5maW5kSW5kZXgoKGMpID0+ICh0aGlzLmlkSXNrZXkgPyBjLmlkID09PSB2YWwgOiBjLmxhYmVsID09PSB2YWwpKTtcbiAgICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIEZsb3dJdGVtIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xufVxuIiwiPGZkLW1pY3JvLXByb2Nlc3MtZmxvdyBjbGFzcz1cImZsb3dcIiBbc3R5bGUubWF4LXdpZHRoLnB4XT1cIm1heFdpZHRoXCI+XG4gICAgPGZkLW1pY3JvLXByb2Nlc3MtZmxvdy1pdGVtXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgW3N0YXRlXT1cImkgPD0gc2VsZWN0ZWRJbmRleCA/ICdwb3NpdGl2ZScgOiAnbm9uZSdcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsb3ctaXRlbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJbmRleCA+IC0xXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MucmVhY2hlZF09XCJpIDw9IHNlbGVjdGVkSW5kZXhcIlxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiaSA8PSBzZWxlY3RlZEluZGV4ID8gJ3Bvc2l0aXZlJyA6IGkgPT09IHNlbGVjdGVkSW5kZXggKyAxID8gJ3N0YW5kYXJkJyA6ICd0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiaSA8PSBzZWxlY3RlZEluZGV4ID8gJ2FjY2VwdCcgOiBudWxsXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHkgfHwgKGkgPiBzZWxlY3RlZEluZGV4ICsgMSAmJiBzZWxlY3RlZEluZGV4ID4gLTEpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRJbmRleCA9PT0gLTFcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5yZWFjaGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwibnVsbFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2ZkLW1pY3JvLXByb2Nlc3MtZmxvdy1pdGVtPlxuPC9mZC1taWNyby1wcm9jZXNzLWZsb3c+XG4iXX0=