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,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BaseComponent, getUniqueId } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "barsa-novin-ray-core";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@fundamental-ngx/core/bar";
7
+ import * as i4 from "@fundamental-ngx/core/button";
8
+ import * as i5 from "@fundamental-ngx/core/form";
9
+ import * as i6 from "@fundamental-ngx/core/object-status";
10
+ import * as i7 from "@fundamental-ngx/core/popover";
11
+ export class AcceptRejectComponent extends BaseComponent {
12
+ constructor(_cdr) {
13
+ super();
14
+ this._cdr = _cdr;
15
+ this.rejectedChanged = new EventEmitter();
16
+ this.id = getUniqueId(3);
17
+ this.applied = false;
18
+ }
19
+ ngOnInit() {
20
+ super.ngOnInit();
21
+ this._initilaize();
22
+ }
23
+ onReject() {
24
+ this._raiseEvent(true, true, this.rejectedReason);
25
+ }
26
+ onReset() {
27
+ this._raiseEvent(false, false);
28
+ }
29
+ onAccept() {
30
+ this._raiseEvent(true, false);
31
+ }
32
+ _initilaize() {
33
+ if (this.rejectedReason) {
34
+ this.rejected = true;
35
+ this.applied = true;
36
+ }
37
+ }
38
+ _raiseEvent(applied, rejected, rejectedReason = '') {
39
+ this.applied = applied;
40
+ this.rejected = rejected;
41
+ this.rejectedReason = rejectedReason;
42
+ this.rejectedChanged.emit({ accept: rejected, error: rejectedReason });
43
+ this._cdr.detectChanges();
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AcceptRejectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: AcceptRejectComponent, selector: "bdc-accept-reject", inputs: { negativeText: "negativeText", positiveText: "positiveText", rejectedReason: "rejectedReason", acceptedText: "acceptedText", deviceSize: "deviceSize", readonly: "readonly", rejected: "rejected" }, outputs: { rejectedChanged: "rejectedChanged" }, usesInheritance: true, ngImport: i0, template: "@if (!applied && !readonly) {\r\n<div>\r\n <button\r\n fd-button\r\n [label]=\"positiveText | bbbTranslate\"\r\n fdType=\"positive\"\r\n glyph=\"message-success\"\r\n ariaLabel=\"positive\"\r\n value=\"yes\"\r\n style=\"margin: 0 5px\"\r\n (click)=\"onAccept()\"\r\n ></button>\r\n <fd-popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\" [mobile]=\"deviceSize === 's'\" #popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n [label]=\"negativeText | bbbTranslate\"\r\n glyph=\"message-error\"\r\n fdType=\"negative\"\r\n ariaLabel=\"Negative\"\r\n value=\"no\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px\">\r\n <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-1\">\r\n <div fd-bar-left>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"message-error\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Negative\"\r\n ></span>\r\n <fd-bar-element>\u0639\u0644\u062A \u0631\u062F</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-form-item>\r\n <fd-form-input-message-group>\r\n <textarea fd-form-control [id]=\"id\" [(ngModel)]=\"rejectedReason\"></textarea>\r\n </fd-form-input-message-group>\r\n </div>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Ok' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"popover.close(); onReject()\"\r\n ></fd-button-bar>\r\n <fd-button-bar [label]=\"'Cancel' | bbbTranslate\" (click)=\"popover.close()\"></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n} @if (readonly || applied) {\r\n<div>\r\n <span>{{ rejected ? rejectedReason : ('\u2713' + acceptedText | bbbTranslate) }}</span>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"onReset()\"></button>\r\n</div>\r\n}\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.MobileDirective, selector: "[mobile]" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i3.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i5.FormItemComponent, selector: "[fd-form-item]", inputs: ["isInline", "horizontal"] }, { kind: "component", type: i5.FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen", "preventSpaceKeyScroll"], outputs: ["isOpenChange"] }, { kind: "component", type: i6.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AcceptRejectComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'bdc-accept-reject', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!applied && !readonly) {\r\n<div>\r\n <button\r\n fd-button\r\n [label]=\"positiveText | bbbTranslate\"\r\n fdType=\"positive\"\r\n glyph=\"message-success\"\r\n ariaLabel=\"positive\"\r\n value=\"yes\"\r\n style=\"margin: 0 5px\"\r\n (click)=\"onAccept()\"\r\n ></button>\r\n <fd-popover [focusTrapped]=\"true\" [focusAutoCapture]=\"true\" [mobile]=\"deviceSize === 's'\" #popover>\r\n <fd-popover-control>\r\n <button\r\n fd-button\r\n [label]=\"negativeText | bbbTranslate\"\r\n glyph=\"message-error\"\r\n fdType=\"negative\"\r\n ariaLabel=\"Negative\"\r\n value=\"no\"\r\n ></button>\r\n </fd-popover-control>\r\n <fd-popover-body style=\"min-width: 320px\">\r\n <div fd-popover-body-header>\r\n <div fd-bar [cozy]=\"true\" id=\"popover-bar-header-1\">\r\n <div fd-bar-left>\r\n <span\r\n fd-object-status\r\n status=\"negative\"\r\n glyph=\"message-error\"\r\n glyphAriaLabel=\"Negative\"\r\n title=\"Negative\"\r\n ></span>\r\n <fd-bar-element>\u0639\u0644\u062A \u0631\u062F</fd-bar-element>\r\n </div>\r\n </div>\r\n </div>\r\n <div fd-form-item>\r\n <fd-form-input-message-group>\r\n <textarea fd-form-control [id]=\"id\" [(ngModel)]=\"rejectedReason\"></textarea>\r\n </fd-form-input-message-group>\r\n </div>\r\n <div fd-popover-body-footer>\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'Ok' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"popover.close(); onReject()\"\r\n ></fd-button-bar>\r\n <fd-button-bar [label]=\"'Cancel' | bbbTranslate\" (click)=\"popover.close()\"></fd-button-bar>\r\n </div>\r\n </div>\r\n </div>\r\n </fd-popover-body>\r\n </fd-popover>\r\n</div>\r\n} @if (readonly || applied) {\r\n<div>\r\n <span>{{ rejected ? rejectedReason : ('\u2713' + acceptedText | bbbTranslate) }}</span>\r\n <button fd-button glyph=\"decline\" fdType=\"transparent\" (click)=\"onReset()\"></button>\r\n</div>\r\n}\r\n", styles: [":host{display:block}\n"] }]
51
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { negativeText: [{
52
+ type: Input
53
+ }], positiveText: [{
54
+ type: Input
55
+ }], rejectedReason: [{
56
+ type: Input
57
+ }], acceptedText: [{
58
+ type: Input
59
+ }], deviceSize: [{
60
+ type: Input
61
+ }], readonly: [{
62
+ type: Input
63
+ }], rejected: [{
64
+ type: Input
65
+ }], rejectedChanged: [{
66
+ type: Output
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXB0LXJlamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1kZXZlbG9wLWNvbXBvbmVudHMvc3JjL2xpYi9hY2NlcHQtcmVqZWN0L2FjY2VwdC1yZWplY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYWNjZXB0LXJlamVjdC9hY2NlcHQtcmVqZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFRekYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUFZcEQsWUFBb0IsSUFBdUI7UUFDdkMsS0FBSyxFQUFFLENBQUM7UUFEUSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUpqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFzQyxDQUFDO1FBRW5GLE9BQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUdoQixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUNTLFdBQVcsQ0FBQyxPQUFnQixFQUFFLFFBQWlCLEVBQUUsY0FBYyxHQUFHLEVBQUU7UUFDMUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0F6Q1EscUJBQXFCO2tHQUFyQixxQkFBcUIsK1VDakJsQywrcEZBZ0VBOzsyRkQvQ2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25Jbml0LFxyXG4gICAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFiYnJldmF0aW9uRGV2aWNlU2l6ZSwgQmFzZUNvbXBvbmVudCwgZ2V0VW5pcXVlSWQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLWFjY2VwdC1yZWplY3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjY2VwdC1yZWplY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYWNjZXB0LXJlamVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY2VwdFJlamVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgbmVnYXRpdmVUZXh0OiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBwb3NpdGl2ZVRleHQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHJlamVjdGVkUmVhc29uOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBhY2NlcHRlZFRleHQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcmVqZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBAT3V0cHV0KCkgcmVqZWN0ZWRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGFjY2VwdDogYm9vbGVhbjsgZXJyb3I6IHN0cmluZyB9PigpO1xyXG5cclxuICAgIGlkID0gZ2V0VW5pcXVlSWQoMyk7XHJcbiAgICBhcHBsaWVkID0gZmFsc2U7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX2luaXRpbGFpemUoKTtcclxuICAgIH1cclxuICAgIG9uUmVqZWN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnQodHJ1ZSwgdHJ1ZSwgdGhpcy5yZWplY3RlZFJlYXNvbik7XHJcbiAgICB9XHJcbiAgICBvblJlc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnQoZmFsc2UsIGZhbHNlKTtcclxuICAgIH1cclxuICAgIG9uQWNjZXB0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JhaXNlRXZlbnQodHJ1ZSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9pbml0aWxhaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnJlamVjdGVkUmVhc29uKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVqZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmFwcGxpZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmFpc2VFdmVudChhcHBsaWVkOiBib29sZWFuLCByZWplY3RlZDogYm9vbGVhbiwgcmVqZWN0ZWRSZWFzb24gPSAnJyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXBwbGllZCA9IGFwcGxpZWQ7XHJcbiAgICAgICAgdGhpcy5yZWplY3RlZCA9IHJlamVjdGVkO1xyXG4gICAgICAgIHRoaXMucmVqZWN0ZWRSZWFzb24gPSByZWplY3RlZFJlYXNvbjtcclxuICAgICAgICB0aGlzLnJlamVjdGVkQ2hhbmdlZC5lbWl0KHsgYWNjZXB0OiByZWplY3RlZCwgZXJyb3I6IHJlamVjdGVkUmVhc29uIH0pO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmICghYXBwbGllZCAmJiAhcmVhZG9ubHkpIHtcclxuPGRpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgICBmZC1idXR0b25cclxuICAgICAgICBbbGFiZWxdPVwicG9zaXRpdmVUZXh0IHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBmZFR5cGU9XCJwb3NpdGl2ZVwiXHJcbiAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLXN1Y2Nlc3NcIlxyXG4gICAgICAgIGFyaWFMYWJlbD1cInBvc2l0aXZlXCJcclxuICAgICAgICB2YWx1ZT1cInllc1wiXHJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW46IDAgNXB4XCJcclxuICAgICAgICAoY2xpY2spPVwib25BY2NlcHQoKVwiXHJcbiAgICA+PC9idXR0b24+XHJcbiAgICA8ZmQtcG9wb3ZlciBbZm9jdXNUcmFwcGVkXT1cInRydWVcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgW21vYmlsZV09XCJkZXZpY2VTaXplID09PSAncydcIiAjcG9wb3Zlcj5cclxuICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJuZWdhdGl2ZVRleHQgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLWVycm9yXCJcclxuICAgICAgICAgICAgICAgIGZkVHlwZT1cIm5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIk5lZ2F0aXZlXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlPVwibm9cIlxyXG4gICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XHJcbiAgICAgICAgPGZkLXBvcG92ZXItYm9keSBzdHlsZT1cIm1pbi13aWR0aDogMzIwcHhcIj5cclxuICAgICAgICAgICAgPGRpdiBmZC1wb3BvdmVyLWJvZHktaGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1iYXIgW2NvenldPVwidHJ1ZVwiIGlkPVwicG9wb3Zlci1iYXItaGVhZGVyLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtb2JqZWN0LXN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPVwibmVnYXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJtZXNzYWdlLWVycm9yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdseXBoQXJpYUxhYmVsPVwiTmVnYXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJOZWdhdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1iYXItZWxlbWVudD7YudmE2Kog2LHYrzwvZmQtYmFyLWVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtZm9ybS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGZkLWZvcm0taW5wdXQtbWVzc2FnZS1ncm91cD5cclxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgZmQtZm9ybS1jb250cm9sIFtpZF09XCJpZFwiIFsobmdNb2RlbCldPVwicmVqZWN0ZWRSZWFzb25cIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgPC9mZC1mb3JtLWlucHV0LW1lc3NhZ2UtZ3JvdXA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhciBiYXJEZXNpZ249XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInT2snIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cImVtcGhhc2l6ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvcG92ZXIuY2xvc2UoKTsgb25SZWplY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIFtsYWJlbF09XCInQ2FuY2VsJyB8IGJiYlRyYW5zbGF0ZVwiIChjbGljayk9XCJwb3BvdmVyLmNsb3NlKClcIj48L2ZkLWJ1dHRvbi1iYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XHJcbiAgICA8L2ZkLXBvcG92ZXI+XHJcbjwvZGl2PlxyXG59IEBpZiAocmVhZG9ubHkgfHwgYXBwbGllZCkge1xyXG48ZGl2PlxyXG4gICAgPHNwYW4+e3sgcmVqZWN0ZWQgPyByZWplY3RlZFJlYXNvbiA6ICgn4pyTJyArIGFjY2VwdGVkVGV4dCB8IGJiYlRyYW5zbGF0ZSkgfX08L3NwYW4+XHJcbiAgICA8YnV0dG9uIGZkLWJ1dHRvbiBnbHlwaD1cImRlY2xpbmVcIiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIChjbGljayk9XCJvblJlc2V0KClcIj48L2J1dHRvbj5cclxuPC9kaXY+XHJcbn1cclxuIl19
@@ -0,0 +1,29 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { BaseItemContentPropsComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "barsa-novin-ray-core";
5
+ import * as i2 from "@fundamental-ngx/core/avatar";
6
+ import * as i3 from "@fundamental-ngx/core/card";
7
+ export class AvatarComponent extends BaseItemContentPropsComponent {
8
+ ngOnInit() {
9
+ super.ngOnInit();
10
+ this._setProps(this.mo);
11
+ }
12
+ ngOnChanges(changes) {
13
+ const { mo } = changes;
14
+ if (mo && !mo.firstChange) {
15
+ this._setProps(mo.currentValue);
16
+ this._cdr.detectChanges();
17
+ }
18
+ }
19
+ _setProps(mo) {
20
+ this.pictureId = this.mo[this.parameters.FieldName]?.FileId;
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AvatarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: AvatarComponent, selector: "bdc-avatar", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fd-card>\r\n <fd-card-header>\r\n <fd-avatar\r\n [placeholder]=\"!mo[parameters.FieldName]\"\r\n [size]=\"'xs'\"\r\n [glyph]=\"parameters.DefaultIcon || null\"\r\n [circle]=\"parameters.Circle\"\r\n [placeHolder]=\"parameters.DefaultIcon!!\"\r\n [image]=\"pictureId ? (pictureId | picFieldSrc: 'PictureFileInfo':mo.Id:column.FieldDefId) : null\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n ></fd-avatar>\r\n <h2 fd-card-title>\r\n {{ column.Name | val: mo:true | bbbTranslate }}\r\n </h2>\r\n <h3 fd-card-subtitle>{{ parameters.Subtitle | rval: mo:allColumns:true | bbbTranslate }}</h3>\r\n </fd-card-header>\r\n</fd-card>\r\n", styles: [":host{display:flex;align-items:flex-start;column-gap:5px;padding:3px 0}.avatar-data{display:flex;flex-direction:column;row-gap:5px}fd-card{border:none;box-shadow:none;background:transparent!important}fd-card-header{padding:.2rem 0!important;border:none!important;background:transparent!important}fd-card-header:hover{background:transparent!important}fd-card,fd-card-header{cursor:default;font-weight:inherit!important}fd-card:focus:before,fd-card-header:focus:before{border:none!important}fd-card ::ng-deep .fd-card__title-area,fd-card ::ng-deep .fd-card__header-text,fd-card ::ng-deep .fd-card__subtitle-area,fd-card ::ng-deep h2,fd-card ::ng-deep h3,fd-card-header ::ng-deep .fd-card__title-area,fd-card-header ::ng-deep .fd-card__header-text,fd-card-header ::ng-deep .fd-card__subtitle-area,fd-card-header ::ng-deep h2,fd-card-header ::ng-deep h3{font-weight:inherit!important}fd-card-header{padding:0!important;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.PlaceHolderDirective, selector: "[placeHolder]", inputs: ["placeHolder"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "component", type: i3.CardComponent, selector: "fd-card", inputs: ["badge", "isLoading", "cardType", "id", "role"] }, { kind: "component", type: i3.CardHeaderComponent, selector: "fd-card-header", inputs: ["interactive", "tabindex"] }, { kind: "directive", type: i3.CardTitleDirective, selector: "[fd-card-title]", inputs: ["id"] }, { kind: "directive", type: i3.CardSubtitleDirective, selector: "[fd-card-subtitle]" }, { kind: "pipe", type: i1.MoValuePipe, name: "val" }, { kind: "pipe", type: i1.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i1.PictureFieldSourcePipe, name: "picFieldSrc" }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: AvatarComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'bdc-avatar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-card>\r\n <fd-card-header>\r\n <fd-avatar\r\n [placeholder]=\"!mo[parameters.FieldName]\"\r\n [size]=\"'xs'\"\r\n [glyph]=\"parameters.DefaultIcon || null\"\r\n [circle]=\"parameters.Circle\"\r\n [placeHolder]=\"parameters.DefaultIcon!!\"\r\n [image]=\"pictureId ? (pictureId | picFieldSrc: 'PictureFileInfo':mo.Id:column.FieldDefId) : null\"\r\n alterIcon=\"alt|content|backup|default-icon\"\r\n ></fd-avatar>\r\n <h2 fd-card-title>\r\n {{ column.Name | val: mo:true | bbbTranslate }}\r\n </h2>\r\n <h3 fd-card-subtitle>{{ parameters.Subtitle | rval: mo:allColumns:true | bbbTranslate }}</h3>\r\n </fd-card-header>\r\n</fd-card>\r\n", styles: [":host{display:flex;align-items:flex-start;column-gap:5px;padding:3px 0}.avatar-data{display:flex;flex-direction:column;row-gap:5px}fd-card{border:none;box-shadow:none;background:transparent!important}fd-card-header{padding:.2rem 0!important;border:none!important;background:transparent!important}fd-card-header:hover{background:transparent!important}fd-card,fd-card-header{cursor:default;font-weight:inherit!important}fd-card:focus:before,fd-card-header:focus:before{border:none!important}fd-card ::ng-deep .fd-card__title-area,fd-card ::ng-deep .fd-card__header-text,fd-card ::ng-deep .fd-card__subtitle-area,fd-card ::ng-deep h2,fd-card ::ng-deep h3,fd-card-header ::ng-deep .fd-card__title-area,fd-card-header ::ng-deep .fd-card__header-text,fd-card-header ::ng-deep .fd-card__subtitle-area,fd-card-header ::ng-deep h2,fd-card-header ::ng-deep h3{font-weight:inherit!important}fd-card-header{padding:0!important;align-items:center}\n"] }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQWdELE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUW5ILE1BQU0sT0FBTyxlQUFnQixTQUFRLDZCQUFzRDtJQUd2RixRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBQ1MsU0FBUyxDQUFDLEVBQXVCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoRSxDQUFDOzhHQWhCUSxlQUFlO2tHQUFmLGVBQWUsOEZDVDVCLGd3QkFpQkE7OzJGRFJhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0ksWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VJdGVtQ29udGVudFByb3BzQ29tcG9uZW50LCBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZywgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtYXZhdGFyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db250ZW50UHJvcHNDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHBpY3R1cmVJZDogc3RyaW5nO1xyXG4gICAgc3VidGl0bGU6IHN0cmluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fc2V0UHJvcHModGhpcy5tbyk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyBtbyB9ID0gY2hhbmdlcztcclxuICAgICAgICBpZiAobW8gJiYgIW1vLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFByb3BzKG1vLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRQcm9wcyhtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucGljdHVyZUlkID0gdGhpcy5tb1t0aGlzLnBhcmFtZXRlcnMuRmllbGROYW1lXT8uRmlsZUlkO1xyXG4gICAgfVxyXG59XHJcbiIsIjxmZC1jYXJkPlxyXG4gICAgPGZkLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxmZC1hdmF0YXJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIiFtb1twYXJhbWV0ZXJzLkZpZWxkTmFtZV1cIlxyXG4gICAgICAgICAgICBbc2l6ZV09XCIneHMnXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cInBhcmFtZXRlcnMuRGVmYXVsdEljb24gfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFtjaXJjbGVdPVwicGFyYW1ldGVycy5DaXJjbGVcIlxyXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwicGFyYW1ldGVycy5EZWZhdWx0SWNvbiEhXCJcclxuICAgICAgICAgICAgW2ltYWdlXT1cInBpY3R1cmVJZCA/IChwaWN0dXJlSWQgfCBwaWNGaWVsZFNyYzogJ1BpY3R1cmVGaWxlSW5mbyc6bW8uSWQ6Y29sdW1uLkZpZWxkRGVmSWQpIDogbnVsbFwiXHJcbiAgICAgICAgICAgIGFsdGVySWNvbj1cImFsdHxjb250ZW50fGJhY2t1cHxkZWZhdWx0LWljb25cIlxyXG4gICAgICAgID48L2ZkLWF2YXRhcj5cclxuICAgICAgICA8aDIgZmQtY2FyZC10aXRsZT5cclxuICAgICAgICAgICAge3sgY29sdW1uLk5hbWUgfCB2YWw6IG1vOnRydWUgfCBiYmJUcmFuc2xhdGUgfX1cclxuICAgICAgICA8L2gyPlxyXG4gICAgICAgIDxoMyBmZC1jYXJkLXN1YnRpdGxlPnt7IHBhcmFtZXRlcnMuU3VidGl0bGUgfCBydmFsOiBtbzphbGxDb2x1bW5zOnRydWUgfCBiYmJUcmFuc2xhdGUgfX08L2gzPlxyXG4gICAgPC9mZC1jYXJkLWhlYWRlcj5cclxuPC9mZC1jYXJkPlxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { BarcodeFormat } from '@zxing/library';
3
+ import * as i0 from "@angular/core";
4
+ export class BarcodeFormatPipe {
5
+ transform(value) {
6
+ let format = '';
7
+ for (const enumMember of Object.keys(BarcodeFormat)) {
8
+ const isValueProperty = parseInt(enumMember, 10) >= 0;
9
+ if (isValueProperty && Number(enumMember) === value) {
10
+ format = BarcodeFormat[enumMember];
11
+ }
12
+ }
13
+ return format;
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: BarcodeFormatPipe, name: "barcodeFormat" }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeFormatPipe, decorators: [{
19
+ type: Pipe,
20
+ args: [{
21
+ name: 'barcodeFormat'
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1mb3JtYXQtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2JhcmNvZGUtZm9ybWF0LXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLGVBQWUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQ2xELE1BQU0sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzhHQVZRLGlCQUFpQjs0R0FBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUg3QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFyY29kZUZvcm1hdCB9IGZyb20gJ0B6eGluZy9saWJyYXJ5JztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdiYXJjb2RlRm9ybWF0J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyY29kZUZvcm1hdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgZm9ybWF0ID0gJyc7XHJcbiAgICAgICAgZm9yIChjb25zdCBlbnVtTWVtYmVyIG9mIE9iamVjdC5rZXlzKEJhcmNvZGVGb3JtYXQpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsdWVQcm9wZXJ0eSA9IHBhcnNlSW50KGVudW1NZW1iZXIsIDEwKSA+PSAwO1xyXG4gICAgICAgICAgICBpZiAoaXNWYWx1ZVByb3BlcnR5ICYmIE51bWJlcihlbnVtTWVtYmVyKSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGZvcm1hdCA9IEJhcmNvZGVGb3JtYXRbZW51bU1lbWJlcl07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZvcm1hdDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { takeUntil } from 'rxjs/operators';
3
+ import { BarsaApi } from 'barsa-novin-ray-core';
4
+ import { UiMoInfoSubFormUiComponent } from 'barsa-sap-ui';
5
+ import { BarcodeReaderDialogComponent } from '../barcode-reader-dialog/barcode-reader-dialog.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@fundamental-ngx/platform";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "barsa-novin-ray-core";
10
+ export class BarcodeReaderComponent extends UiMoInfoSubFormUiComponent {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.size = 'large';
14
+ }
15
+ ngOnInit() {
16
+ super.ngOnInit();
17
+ this.barcodeValue = this.context.Setting.FormPanelSetting.Data.Mo.Value;
18
+ const format = this.context.Setting.CustomFieldInfo?.Format;
19
+ if (format) {
20
+ this.barcodeFormat = format
21
+ .split(',')
22
+ .filter((c) => c)
23
+ .map((c) => Number(c) - 1);
24
+ }
25
+ this.size = BarsaApi.Bw.GetWindowSize();
26
+ }
27
+ onOpenBarcodeReader() {
28
+ const data = { barcodeFormats: this.barcodeFormat };
29
+ const dialogRef = this._dialogService.open(BarcodeReaderDialogComponent, {
30
+ data,
31
+ fullScreen: this.isMobileDevice ? false : true,
32
+ verticalPadding: true,
33
+ responsivePadding: true,
34
+ mobile: this.isMobileDevice,
35
+ mobileOuterSpacing: true
36
+ });
37
+ dialogRef.afterClosed.pipe(takeUntil(this._onDestroy$)).subscribe((value) => {
38
+ if (value) {
39
+ this._setFieldValue(value);
40
+ }
41
+ });
42
+ }
43
+ onValueChange(e) {
44
+ this._setFieldValue(e.target.value);
45
+ }
46
+ _addFormControl(formControl) {
47
+ this.customFormPanelUi = formControl;
48
+ }
49
+ _setFieldValue(value) {
50
+ this.barcodeValue = value;
51
+ const valueCustomFieldUi = this.context.formControl._dictFieldUi.Value;
52
+ valueCustomFieldUi.value = value;
53
+ valueCustomFieldUi.fireEvent('change', value);
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeReaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BarcodeReaderComponent, selector: "bdc-barcode-reader", usesInheritance: true, ngImport: i0, template: "<!-- <fd-input-group\r\n placement=\"after\"\r\n glyph=\"camera\"\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [button]=\"true\"\r\n ariaLabelledBy=\"fd-input-group-button-label-2\"\r\n (addOnButtonClicked)=\"onOpenBarcodeReader()\"\r\n (input)=\"onValueChange($event)\"\r\n>\r\n</fd-input-group> -->\r\n\r\n<fdp-input-group\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [value]=\"barcodeValue\"\r\n (input)=\"onValueChange($event)\"\r\n [name]=\"'barcode_' + id\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n>\r\n <fdp-input-group-input type=\"text\"></fdp-input-group-input>\r\n <fdp-input-group-addon>\r\n <fdp-button glyph=\"camera\" (click)=\"onOpenBarcodeReader()\"></fdp-button>\r\n </fdp-input-group-addon>\r\n</fdp-input-group>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.InputGroupComponent, selector: "fdp-input-group", inputs: ["value"] }, { kind: "component", type: i1.InputGroupAddonComponent, selector: "fdp-input-group-addon" }, { kind: "component", type: i1.InputGroupInputComponent, selector: "fdp-input-group-input", inputs: ["type"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeReaderComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'bdc-barcode-reader', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <fd-input-group\r\n placement=\"after\"\r\n glyph=\"camera\"\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [button]=\"true\"\r\n ariaLabelledBy=\"fd-input-group-button-label-2\"\r\n (addOnButtonClicked)=\"onOpenBarcodeReader()\"\r\n (input)=\"onValueChange($event)\"\r\n>\r\n</fd-input-group> -->\r\n\r\n<fdp-input-group\r\n [placeholder]=\"'BarcodeReader' | bbbTranslate\"\r\n [value]=\"barcodeValue\"\r\n (input)=\"onValueChange($event)\"\r\n [name]=\"'barcode_' + id\"\r\n [disabled]=\"(disableOrReadonly$ | async)!!\"\r\n>\r\n <fdp-input-group-input type=\"text\"></fdp-input-group-input>\r\n <fdp-input-group-addon>\r\n <fdp-button glyph=\"camera\" (click)=\"onOpenBarcodeReader()\"></fdp-button>\r\n </fdp-input-group-addon>\r\n</fdp-input-group>\r\n" }]
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1yZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXIvYmFyY29kZS1yZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXIvYmFyY29kZS1yZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7QUFReEcsTUFBTSxPQUFPLHNCQUF1QixTQUFRLDBCQUEwQjtJQU50RTs7UUFPVyxTQUFJLEdBQThCLE9BQU8sQ0FBQztLQThDcEQ7SUF6Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUM7UUFDcEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTTtpQkFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDaEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsTUFBTSxJQUFJLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JFLElBQUk7WUFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzlDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hFLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsYUFBYSxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNTLGVBQWUsQ0FBQyxXQUFXO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUM7SUFDekMsQ0FBQztJQUNPLGNBQWMsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUN2RSxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQzs4R0E5Q1Esc0JBQXNCO2tHQUF0QixzQkFBc0IsaUZDaEJuQyw0eUJBdUJBOzsyRkRQYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLXNhcC11aSc7XHJcblxyXG5pbXBvcnQgeyBCYXJjb2RlUmVhZGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFyY29kZS1yZWFkZXItZGlhbG9nL2JhcmNvZGUtcmVhZGVyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJjb2RlRm9ybWF0IH0gZnJvbSAnQHp4aW5nL2xpYnJhcnknO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLWJhcmNvZGUtcmVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJjb2RlLXJlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJjb2RlLXJlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcmNvZGVSZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBwdWJsaWMgc2l6ZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSA9ICdsYXJnZSc7XHJcbiAgICBwdWJsaWMgYmFyY29kZVZhbHVlOiBzdHJpbmc7XHJcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xyXG4gICAgYmFyY29kZUZvcm1hdDogQXJyYXk8QmFyY29kZUZvcm1hdD47XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLmJhcmNvZGVWYWx1ZSA9IHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1QYW5lbFNldHRpbmcuRGF0YS5Nby5WYWx1ZTtcclxuICAgICAgICBjb25zdCBmb3JtYXQ6IHN0cmluZyA9IHRoaXMuY29udGV4dC5TZXR0aW5nLkN1c3RvbUZpZWxkSW5mbz8uRm9ybWF0O1xyXG4gICAgICAgIGlmIChmb3JtYXQpIHtcclxuICAgICAgICAgICAgdGhpcy5iYXJjb2RlRm9ybWF0ID0gZm9ybWF0XHJcbiAgICAgICAgICAgICAgICAuc3BsaXQoJywnKVxyXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gYylcclxuICAgICAgICAgICAgICAgIC5tYXAoKGMpID0+IE51bWJlcihjKSAtIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNpemUgPSBCYXJzYUFwaS5Cdy5HZXRXaW5kb3dTaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVuQmFyY29kZVJlYWRlcigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRhID0geyBiYXJjb2RlRm9ybWF0czogdGhpcy5iYXJjb2RlRm9ybWF0IH07XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKEJhcmNvZGVSZWFkZXJEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgZnVsbFNjcmVlbjogdGhpcy5pc01vYmlsZURldmljZSA/IGZhbHNlIDogdHJ1ZSxcclxuICAgICAgICAgICAgdmVydGljYWxQYWRkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgICByZXNwb25zaXZlUGFkZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgbW9iaWxlOiB0aGlzLmlzTW9iaWxlRGV2aWNlLFxyXG4gICAgICAgICAgICBtb2JpbGVPdXRlclNwYWNpbmc6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRGaWVsZFZhbHVlKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25WYWx1ZUNoYW5nZShlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2V0RmllbGRWYWx1ZShlLnRhcmdldC52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2FkZEZvcm1Db250cm9sKGZvcm1Db250cm9sKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21Gb3JtUGFuZWxVaSA9IGZvcm1Db250cm9sO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc2V0RmllbGRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5iYXJjb2RlVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICBjb25zdCB2YWx1ZUN1c3RvbUZpZWxkVWkgPSB0aGlzLmNvbnRleHQuZm9ybUNvbnRyb2wuX2RpY3RGaWVsZFVpLlZhbHVlO1xyXG4gICAgICAgIHZhbHVlQ3VzdG9tRmllbGRVaS52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHZhbHVlQ3VzdG9tRmllbGRVaS5maXJlRXZlbnQoJ2NoYW5nZScsIHZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iLCI8IS0tIDxmZC1pbnB1dC1ncm91cFxyXG4gIHBsYWNlbWVudD1cImFmdGVyXCJcclxuICBnbHlwaD1cImNhbWVyYVwiXHJcbiAgW3BsYWNlaG9sZGVyXT1cIidCYXJjb2RlUmVhZGVyJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgW2J1dHRvbl09XCJ0cnVlXCJcclxuICBhcmlhTGFiZWxsZWRCeT1cImZkLWlucHV0LWdyb3VwLWJ1dHRvbi1sYWJlbC0yXCJcclxuICAoYWRkT25CdXR0b25DbGlja2VkKT1cIm9uT3BlbkJhcmNvZGVSZWFkZXIoKVwiXHJcbiAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbj5cclxuPC9mZC1pbnB1dC1ncm91cD4gLS0+XHJcblxyXG48ZmRwLWlucHV0LWdyb3VwXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ0JhcmNvZGVSZWFkZXInIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgIFt2YWx1ZV09XCJiYXJjb2RlVmFsdWVcIlxyXG4gICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICBbbmFtZV09XCInYmFyY29kZV8nICsgaWRcIlxyXG4gICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhIVwiXHJcbj5cclxuICAgIDxmZHAtaW5wdXQtZ3JvdXAtaW5wdXQgdHlwZT1cInRleHRcIj48L2ZkcC1pbnB1dC1ncm91cC1pbnB1dD5cclxuICAgIDxmZHAtaW5wdXQtZ3JvdXAtYWRkb24+XHJcbiAgICAgICAgPGZkcC1idXR0b24gZ2x5cGg9XCJjYW1lcmFcIiAoY2xpY2spPVwib25PcGVuQmFyY29kZVJlYWRlcigpXCI+PC9mZHAtYnV0dG9uPlxyXG4gICAgPC9mZHAtaW5wdXQtZ3JvdXAtYWRkb24+XHJcbjwvZmRwLWlucHV0LWdyb3VwPlxyXG4iXX0=
@@ -0,0 +1,82 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { BaseComponent } from 'barsa-novin-ray-core';
4
+ import { concatMap, delay, exhaustMap, finalize, takeUntil, tap } from 'rxjs/operators';
5
+ import { BarcodeFormat } from '@zxing/library';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@fundamental-ngx/core";
8
+ import * as i2 from "../barcode.service";
9
+ import * as i3 from "@fundamental-ngx/core/bar";
10
+ import * as i4 from "@fundamental-ngx/core/dialog";
11
+ import * as i5 from "@fundamental-ngx/cdk/utils";
12
+ import * as i6 from "@fundamental-ngx/core/title";
13
+ import * as i7 from "@fundamental-ngx/core/select";
14
+ import * as i8 from "../barcode-reader-video/barcode-reader-video.component";
15
+ import * as i9 from "@angular/common";
16
+ import * as i10 from "barsa-novin-ray-core";
17
+ export class BarcodeReaderDialogComponent extends BaseComponent {
18
+ constructor(_dialogRef, _userMediaService) {
19
+ super();
20
+ this._dialogRef = _dialogRef;
21
+ this._userMediaService = _userMediaService;
22
+ this.value = '';
23
+ this.format = [BarcodeFormat.QR_CODE];
24
+ this.loading = true;
25
+ this._dialogRef.loading(true);
26
+ this.barcodeFormats = this._dialogRef.data?.barcodeFormats ?? [];
27
+ this.selectedFormat = this.barcodeFormats.length > 0 ? this.barcodeFormats[0] : BarcodeFormat.QR_CODE;
28
+ }
29
+ ngAfterViewInit() {
30
+ super.ngAfterViewInit();
31
+ this._initialize();
32
+ }
33
+ onDismiss() {
34
+ this._dialogRef.dismiss();
35
+ }
36
+ onOk() {
37
+ this._close();
38
+ }
39
+ onCameraChange(value) {
40
+ this.selectedCamera = value;
41
+ }
42
+ onFormatChange(format) {
43
+ this.selectedFormat = format;
44
+ }
45
+ onScanSuccess(result) {
46
+ this.value = result;
47
+ this._close();
48
+ }
49
+ onValueChanged(e) {
50
+ this.value = e.target.value;
51
+ }
52
+ _close() {
53
+ this._dialogRef.close(this.value);
54
+ }
55
+ _initialize() {
56
+ of(true)
57
+ .pipe(takeUntil(this._onDestroy$), exhaustMap(() => this._userMediaService.askForPermission()), concatMap((permission) => {
58
+ if (permission) {
59
+ return this._userMediaService.updateVideoInputDevices();
60
+ }
61
+ else {
62
+ return of(true);
63
+ }
64
+ }), finalize(() => {
65
+ this.loading = false;
66
+ this._dialogRef.loading(false);
67
+ }))
68
+ .subscribe();
69
+ this.hasDevice$ = this._userMediaService.hasDevices$;
70
+ this.permission$ = this._userMediaService.permission$;
71
+ this.cameras$ = this._userMediaService.cameras$.pipe(delay(0), tap((cameras) => {
72
+ this.selectedCamera = cameras.find((c) => c.label.indexOf('back') > -1) ?? cameras[0];
73
+ }));
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeReaderDialogComponent, deps: [{ token: i1.DialogRef }, { token: i2.UserMediaBaseService }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarcodeReaderDialogComponent, selector: "bdc-barcode-reader-dialog", usesInheritance: true, ngImport: i0, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'BarcodeReader' | bbbTranslate }} {{ selectedCamera?.label }}</h1>\r\n <button fd-dialog-close-button (click)=\"onDismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if (!loading) { @if (permission$ | async) { @if (hasDevice$ | async) { @if (selectedCamera) {\r\n <bdc-barcode-reader-video\r\n [format]=\"format\"\r\n [selectedCamera]=\"selectedCamera\"\r\n [allFormats]=\"barcodeFormats\"\r\n (scanSuccess)=\"onScanSuccess($event)\"\r\n ></bdc-barcode-reader-video>\r\n } } @else {\r\n <p>BrowserNotSupport</p>\r\n } } @else {\r\n <p>NoPermission</p>\r\n } }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n @if (cameras$ | async; as cameraList) {\r\n <div fd-bar-left>\r\n @if (cameraList.length > 1) {\r\n <fd-select\r\n [placeholder]=\"'Camera' | bbbTranslate\"\r\n (valueChange)=\"onCameraChange($event)\"\r\n [value]=\"selectedCamera\"\r\n >\r\n @for (camera of cameraList; track camera) {\r\n <fd-option [value]=\"camera\">{{ camera.label }}</fd-option>\r\n }\r\n </fd-select>\r\n }\r\n </div>\r\n <div fd-bar-right></div>\r\n }\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i3.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i4.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i4.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i4.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "directive", type: i5.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i6.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: i7.SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "glyphFont", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "component", type: i7.OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "component", type: i8.BarcodeReaderVideoComponent, selector: "bdc-barcode-reader-video", inputs: ["allFormats", "previewFitMode", "selectedCamera"], outputs: ["scanSuccess"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeReaderDialogComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'bdc-barcode-reader-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog>\r\n <fd-dialog-header>\r\n <h1 fd-title>{{ 'BarcodeReader' | bbbTranslate }} {{ selectedCamera?.label }}</h1>\r\n <button fd-dialog-close-button (click)=\"onDismiss()\"></button>\r\n </fd-dialog-header>\r\n <fd-dialog-body>\r\n @if (!loading) { @if (permission$ | async) { @if (hasDevice$ | async) { @if (selectedCamera) {\r\n <bdc-barcode-reader-video\r\n [format]=\"format\"\r\n [selectedCamera]=\"selectedCamera\"\r\n [allFormats]=\"barcodeFormats\"\r\n (scanSuccess)=\"onScanSuccess($event)\"\r\n ></bdc-barcode-reader-video>\r\n } } @else {\r\n <p>BrowserNotSupport</p>\r\n } } @else {\r\n <p>NoPermission</p>\r\n } }\r\n </fd-dialog-body>\r\n <fd-dialog-footer>\r\n <ng-template fdkTemplate=\"footer\">\r\n @if (cameras$ | async; as cameraList) {\r\n <div fd-bar-left>\r\n @if (cameraList.length > 1) {\r\n <fd-select\r\n [placeholder]=\"'Camera' | bbbTranslate\"\r\n (valueChange)=\"onCameraChange($event)\"\r\n [value]=\"selectedCamera\"\r\n >\r\n @for (camera of cameraList; track camera) {\r\n <fd-option [value]=\"camera\">{{ camera.label }}</fd-option>\r\n }\r\n </fd-select>\r\n }\r\n </div>\r\n <div fd-bar-right></div>\r\n }\r\n </ng-template>\r\n </fd-dialog-footer>\r\n</fd-dialog>\r\n" }]
81
+ }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.UserMediaBaseService }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1yZWFkZXItZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWRldmVsb3AtY29tcG9uZW50cy9zcmMvbGliL2JhcmNvZGUtcmVhZGVyLWRpYWxvZy9iYXJjb2RlLXJlYWRlci1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXItZGlhbG9nL2JhcmNvZGUtcmVhZGVyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQU8vQyxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsYUFBYTtJQVUzRCxZQUFvQixVQUFxQixFQUFVLGlCQUF1QztRQUN0RixLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQVc7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBVDFGLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxXQUFNLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFTN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQzFHLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUk7UUFDQSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxjQUFjLENBQUMsTUFBTTtRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxjQUFjLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNPLE1BQU07UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNPLFdBQVc7UUFDZixFQUFFLENBQUMsSUFBSSxDQUFDO2FBQ0gsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUMzRCxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNyQixJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDNUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDTCxDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7OEdBeEVRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLHdGQ2R6Qyxza0RBd0NBOzsyRkQxQmEsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFVzZXJNZWRpYUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vYmFyY29kZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBkZWxheSwgZXhoYXVzdE1hcCwgZmluYWxpemUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXJjb2RlRm9ybWF0IH0gZnJvbSAnQHp4aW5nL2xpYnJhcnknO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmRjLWJhcmNvZGUtcmVhZGVyLWRpYWxvZycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyY29kZS1yZWFkZXItZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcmNvZGUtcmVhZGVyLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcmNvZGVSZWFkZXJEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICB2YWx1ZSA9ICcnO1xyXG4gICAgY2FtZXJhcyQ6IE9ic2VydmFibGU8TWVkaWFEZXZpY2VJbmZvW10+O1xyXG4gICAgZm9ybWF0ID0gW0JhcmNvZGVGb3JtYXQuUVJfQ09ERV07XHJcbiAgICBoYXNEZXZpY2UkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcGVybWlzc2lvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgc2VsZWN0ZWRDYW1lcmE6IE1lZGlhRGV2aWNlSW5mbztcclxuICAgIGJhcmNvZGVGb3JtYXRzOiBBcnJheTxCYXJjb2RlRm9ybWF0PjtcclxuICAgIHNlbGVjdGVkRm9ybWF0OiBCYXJjb2RlRm9ybWF0O1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlhbG9nUmVmOiBEaWFsb2dSZWYsIHByaXZhdGUgX3VzZXJNZWRpYVNlcnZpY2U6IFVzZXJNZWRpYUJhc2VTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5sb2FkaW5nKHRydWUpO1xyXG4gICAgICAgIHRoaXMuYmFyY29kZUZvcm1hdHMgPSB0aGlzLl9kaWFsb2dSZWYuZGF0YT8uYmFyY29kZUZvcm1hdHMgPz8gW107XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZvcm1hdCA9IHRoaXMuYmFyY29kZUZvcm1hdHMubGVuZ3RoID4gMCA/IHRoaXMuYmFyY29kZUZvcm1hdHNbMF0gOiBCYXJjb2RlRm9ybWF0LlFSX0NPREU7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkRpc21pc3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmLmRpc21pc3MoKTtcclxuICAgIH1cclxuICAgIG9uT2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNhbWVyYUNoYW5nZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYW1lcmEgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIG9uRm9ybWF0Q2hhbmdlKGZvcm1hdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGb3JtYXQgPSBmb3JtYXQ7XHJcbiAgICB9XHJcbiAgICBvblNjYW5TdWNjZXNzKHJlc3VsdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSByZXN1bHQ7XHJcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIH1cclxuICAgIG9uVmFsdWVDaGFuZ2VkKGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9jbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgICAgIG9mKHRydWUpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLl91c2VyTWVkaWFTZXJ2aWNlLmFza0ZvclBlcm1pc3Npb24oKSksXHJcbiAgICAgICAgICAgICAgICBjb25jYXRNYXAoKHBlcm1pc3Npb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdXNlck1lZGlhU2VydmljZS51cGRhdGVWaWRlb0lucHV0RGV2aWNlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kaWFsb2dSZWYubG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgICAgICB0aGlzLmhhc0RldmljZSQgPSB0aGlzLl91c2VyTWVkaWFTZXJ2aWNlLmhhc0RldmljZXMkO1xyXG4gICAgICAgIHRoaXMucGVybWlzc2lvbiQgPSB0aGlzLl91c2VyTWVkaWFTZXJ2aWNlLnBlcm1pc3Npb24kO1xyXG4gICAgICAgIHRoaXMuY2FtZXJhcyQgPSB0aGlzLl91c2VyTWVkaWFTZXJ2aWNlLmNhbWVyYXMkLnBpcGUoXHJcbiAgICAgICAgICAgIGRlbGF5KDApLFxyXG4gICAgICAgICAgICB0YXAoKGNhbWVyYXMpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDYW1lcmEgPSBjYW1lcmFzLmZpbmQoKGMpID0+IGMubGFiZWwuaW5kZXhPZignYmFjaycpID4gLTEpID8/IGNhbWVyYXNbMF07XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZmQtZGlhbG9nPlxyXG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICAgICAgPGgxIGZkLXRpdGxlPnt7ICdCYXJjb2RlUmVhZGVyJyB8IGJiYlRyYW5zbGF0ZSB9fSB7eyBzZWxlY3RlZENhbWVyYT8ubGFiZWwgfX08L2gxPlxyXG4gICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwib25EaXNtaXNzKClcIj48L2J1dHRvbj5cclxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cclxuICAgIDxmZC1kaWFsb2ctYm9keT5cclxuICAgICAgICBAaWYgKCFsb2FkaW5nKSB7IEBpZiAocGVybWlzc2lvbiQgfCBhc3luYykgeyBAaWYgKGhhc0RldmljZSQgfCBhc3luYykgeyBAaWYgKHNlbGVjdGVkQ2FtZXJhKSB7XHJcbiAgICAgICAgPGJkYy1iYXJjb2RlLXJlYWRlci12aWRlb1xyXG4gICAgICAgICAgICBbZm9ybWF0XT1cImZvcm1hdFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZENhbWVyYV09XCJzZWxlY3RlZENhbWVyYVwiXHJcbiAgICAgICAgICAgIFthbGxGb3JtYXRzXT1cImJhcmNvZGVGb3JtYXRzXCJcclxuICAgICAgICAgICAgKHNjYW5TdWNjZXNzKT1cIm9uU2NhblN1Y2Nlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYmRjLWJhcmNvZGUtcmVhZGVyLXZpZGVvPlxyXG4gICAgICAgIH0gfSBAZWxzZSB7XHJcbiAgICAgICAgPHA+QnJvd3Nlck5vdFN1cHBvcnQ8L3A+XHJcbiAgICAgICAgfSB9IEBlbHNlIHtcclxuICAgICAgICA8cD5Ob1Blcm1pc3Npb248L3A+XHJcbiAgICAgICAgfSB9XHJcbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxyXG4gICAgPGZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGZka1RlbXBsYXRlPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIEBpZiAoY2FtZXJhcyQgfCBhc3luYzsgYXMgY2FtZXJhTGlzdCkge1xyXG4gICAgICAgICAgICA8ZGl2IGZkLWJhci1sZWZ0PlxyXG4gICAgICAgICAgICAgICAgQGlmIChjYW1lcmFMaXN0Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgIDxmZC1zZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NhbWVyYScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNhbWVyYUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRDYW1lcmFcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNhbWVyYSBvZiBjYW1lcmFMaXN0OyB0cmFjayBjYW1lcmEpIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZmQtb3B0aW9uIFt2YWx1ZV09XCJjYW1lcmFcIj57eyBjYW1lcmEubGFiZWwgfX08L2ZkLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L2ZkLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgZmQtYmFyLXJpZ2h0PjwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZmQtZGlhbG9nLWZvb3Rlcj5cclxuPC9mZC1kaWFsb2c+XHJcbiJdfQ==
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { BaseComponent } from 'barsa-novin-ray-core';
4
+ import { debounceTime, filter, takeUntil, tap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../barcode.service";
7
+ import * as i2 from "barsa-novin-ray-core";
8
+ export class BarcodeReaderVideoComponent extends BaseComponent {
9
+ set selectedCamera(val) {
10
+ this._cameraSource.next(val);
11
+ }
12
+ constructor(_webBarcodeService) {
13
+ super();
14
+ this._webBarcodeService = _webBarcodeService;
15
+ this.previewFitMode = 'fill';
16
+ this.scanSuccess = new EventEmitter();
17
+ this._cameraSource = new BehaviorSubject(null);
18
+ }
19
+ ngOnInit() {
20
+ super.ngOnInit();
21
+ this._setFormat(this.allFormats);
22
+ this._cameraSource
23
+ .asObservable()
24
+ .pipe(takeUntil(this._onDestroy$), debounceTime(500), filter((camera) => camera != null), tap((camera) => {
25
+ this._stopScan();
26
+ this._startScan(camera);
27
+ }))
28
+ .subscribe();
29
+ this._webBarcodeService.scanSuccess$.subscribe((result) => {
30
+ this.scanSuccess.emit(result);
31
+ });
32
+ }
33
+ ngOnDestroy() {
34
+ super.ngOnDestroy();
35
+ this._webBarcodeService.scanStop();
36
+ }
37
+ _setFormat(formats) {
38
+ this._webBarcodeService.setFormat(formats);
39
+ }
40
+ _stopScan() {
41
+ this._webBarcodeService.scanStop();
42
+ }
43
+ _startScan(camera) {
44
+ if (this.videoElement) {
45
+ this._webBarcodeService.startScan(camera, this.videoElement.nativeElement);
46
+ }
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeReaderVideoComponent, deps: [{ token: i1.WebBarcodeService }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: BarcodeReaderVideoComponent, selector: "bdc-barcode-reader-video", inputs: { allFormats: "allFormats", previewFitMode: "previewFitMode", selectedCamera: "selectedCamera" }, outputs: { scanSuccess: "scanSuccess" }, viewQueries: [{ propertyName: "videoElement", first: true, predicate: ["videoElement"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<video #videoElement [style.object-fit]=\"previewFitMode\">\r\n <p>{{ 'BrowserNotSupport' | bbbTranslate }}</p>\r\n</video>\r\n", styles: [":host,video{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarcodeReaderVideoComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'bdc-barcode-reader-video', changeDetection: ChangeDetectionStrategy.OnPush, template: "<video #videoElement [style.object-fit]=\"previewFitMode\">\r\n <p>{{ 'BrowserNotSupport' | bbbTranslate }}</p>\r\n</video>\r\n", styles: [":host,video{display:block;width:100%;height:100%}\n"] }]
54
+ }], ctorParameters: () => [{ type: i1.WebBarcodeService }], propDecorators: { allFormats: [{
55
+ type: Input
56
+ }], previewFitMode: [{
57
+ type: Input
58
+ }], scanSuccess: [{
59
+ type: Output
60
+ }], videoElement: [{
61
+ type: ViewChild,
62
+ args: ['videoElement', { static: true }]
63
+ }], selectedCamera: [{
64
+ type: Input
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyY29kZS1yZWFkZXItdmlkZW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXItdmlkZW8vYmFyY29kZS1yZWFkZXItdmlkZW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2EtZGV2ZWxvcC1jb21wb25lbnRzL3NyYy9saWIvYmFyY29kZS1yZWFkZXItdmlkZW8vYmFyY29kZS1yZWFkZXItdmlkZW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQVF0RSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQVMxRCxJQUFhLGNBQWMsQ0FBQyxHQUFvQjtRQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsWUFBb0Isa0JBQXFDO1FBQ3JELEtBQUssRUFBRSxDQUFDO1FBRFEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQVh6RCxtQkFBYyxHQUF5RCxNQUFNLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBTzNDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXlCLElBQUksQ0FBQyxDQUFDO0lBSTFFLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxhQUFhO2FBQ2IsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQzNCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBRWxDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBd0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ08sU0FBUztRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBQ08sVUFBVSxDQUFDLE1BQU07UUFDckIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0wsQ0FBQzs4R0F2RFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsc1dDeEJ4QyxvSUFHQTs7MkZEcUJhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07c0ZBR3RDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRU4sY0FBYztzQkFEYixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBR1AsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRTlCLGNBQWM7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhcmNvZGVGb3JtYXQgfSBmcm9tICdAenhpbmcvbGlicmFyeSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5pbXBvcnQgeyBXZWJCYXJjb2RlU2VydmljZSB9IGZyb20gJy4uL2JhcmNvZGUuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZGMtYmFyY29kZS1yZWFkZXItdmlkZW8nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcmNvZGUtcmVhZGVyLXZpZGVvLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcmNvZGUtcmVhZGVyLXZpZGVvLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyY29kZVJlYWRlclZpZGVvQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGFsbEZvcm1hdHM6IEJhcmNvZGVGb3JtYXRbXTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwcmV2aWV3Rml0TW9kZTogJ2ZpbGwnIHwgJ2NvbnRhaW4nIHwgJ2NvdmVyJyB8ICdzY2FsZS1kb3duJyB8ICdub25lJyA9ICdmaWxsJztcclxuXHJcbiAgICBAT3V0cHV0KCkgc2NhblN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCd2aWRlb0VsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgdmlkZW9FbGVtZW50OiBFbGVtZW50UmVmPEhUTUxWaWRlb0VsZW1lbnQ+O1xyXG4gICAgQElucHV0KCkgc2V0IHNlbGVjdGVkQ2FtZXJhKHZhbDogTWVkaWFEZXZpY2VJbmZvKSB7XHJcbiAgICAgICAgdGhpcy5fY2FtZXJhU291cmNlLm5leHQodmFsKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NhbWVyYVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVkaWFEZXZpY2VJbmZvIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfd2ViQmFyY29kZVNlcnZpY2U6IFdlYkJhcmNvZGVTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldEZvcm1hdCh0aGlzLmFsbEZvcm1hdHMpO1xyXG5cclxuICAgICAgICB0aGlzLl9jYW1lcmFTb3VyY2VcclxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwMCksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGNhbWVyYSkgPT4gY2FtZXJhICE9IG51bGwpLFxyXG5cclxuICAgICAgICAgICAgICAgIHRhcCgoY2FtZXJhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc3RvcFNjYW4oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdGFydFNjYW4oY2FtZXJhKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG5cclxuICAgICAgICB0aGlzLl93ZWJCYXJjb2RlU2VydmljZS5zY2FuU3VjY2VzcyQuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zY2FuU3VjY2Vzcy5lbWl0KHJlc3VsdCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnNjYW5TdG9wKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0Rm9ybWF0KGZvcm1hdHM6IEJhcmNvZGVGb3JtYXRbXSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnNldEZvcm1hdChmb3JtYXRzKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3N0b3BTY2FuKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnNjYW5TdG9wKCk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zdGFydFNjYW4oY2FtZXJhKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlkZW9FbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3dlYkJhcmNvZGVTZXJ2aWNlLnN0YXJ0U2NhbihjYW1lcmEsIHRoaXMudmlkZW9FbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8dmlkZW8gI3ZpZGVvRWxlbWVudCBbc3R5bGUub2JqZWN0LWZpdF09XCJwcmV2aWV3Rml0TW9kZVwiPlxyXG4gICAgPHA+e3sgJ0Jyb3dzZXJOb3RTdXBwb3J0JyB8IGJiYlRyYW5zbGF0ZSB9fTwvcD5cclxuPC92aWRlbz5cclxuIl19