@acorex/platform 18.0.2 → 18.0.5

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 (258) hide show
  1. package/common/lib/app/application.types.d.ts +43 -26
  2. package/common/lib/common.module.d.ts +6 -5
  3. package/common/lib/data/data-provider.types.d.ts +1 -1
  4. package/common/lib/data/dexie-storage.service.d.ts +14 -0
  5. package/common/lib/data/entity-data-provider.d.ts +14 -0
  6. package/common/lib/data/index.d.ts +3 -0
  7. package/common/lib/data/storage-service.d.ts +22 -0
  8. package/common/lib/layout/grid-layout/grid-layout.types.d.ts +1 -2
  9. package/common/lib/schema/entity/entity.class.d.ts +3 -0
  10. package/common/lib/schema/widgets/lookup/lookup-widget-filter.component.d.ts +1 -1
  11. package/common/lib/schema/widgets/lookup/lookup-widget-view.component.d.ts +2 -1
  12. package/common/lib/utils/data-generator.d.ts +15 -1
  13. package/common/lib/utils/index.d.ts +1 -0
  14. package/common/lib/utils/pdf.service.d.ts +25 -0
  15. package/esm2022/common/lib/app/application.types.mjs +1 -1
  16. package/esm2022/common/lib/common.module.mjs +19 -2
  17. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  18. package/esm2022/common/lib/data/dexie-storage.service.mjs +34 -0
  19. package/esm2022/common/lib/data/entity-data-provider.mjs +26 -0
  20. package/esm2022/common/lib/data/index.mjs +4 -1
  21. package/esm2022/common/lib/data/storage-service.mjs +5 -0
  22. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +5 -5
  23. package/esm2022/common/lib/layout/grid-layout/grid-layout.types.mjs +1 -1
  24. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +2 -2
  25. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  26. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +20 -3
  27. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +20 -3
  28. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +5 -5
  29. package/esm2022/common/lib/utils/data-generator.mjs +88 -2
  30. package/esm2022/common/lib/utils/index.mjs +2 -1
  31. package/esm2022/common/lib/utils/pdf.service.mjs +85 -0
  32. package/esm2022/common/lib/workflows/common.workflow.mjs +3 -3
  33. package/esm2022/layout/builder/lib/builder/builder.service.mjs +7 -2
  34. package/esm2022/layout/builder/lib/builder/widget.types.mjs +5 -1
  35. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +9 -8
  36. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +44 -27
  37. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +42 -15
  38. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +64 -62
  39. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +9 -7
  40. package/esm2022/layout/entity/lib/entity-registery.service.mjs +2 -2
  41. package/esm2022/layout/entity/lib/entity.module.mjs +13 -4
  42. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +7 -6
  43. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +142 -39
  44. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +82 -37
  45. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +45 -22
  46. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +17 -21
  47. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +14 -15
  48. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +11 -23
  49. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +3 -3
  50. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +35 -0
  51. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +3 -3
  52. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
  53. package/esm2022/layouts/lib/layout.module.mjs +3 -3
  54. package/esm2022/themes/default/lib/default.module.mjs +3 -3
  55. package/esm2022/themes/default/lib/entity-reuse.strategy.mjs +2 -2
  56. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +2 -2
  57. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/{entity-list-view.component.mjs → entity-master-list-view.component.mjs} +11 -2
  58. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +2 -1
  59. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +6 -3
  60. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +2 -2
  61. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +21 -12
  62. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +2 -2
  63. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +2 -2
  64. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +2 -2
  65. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.mjs +3 -3
  66. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +14 -8
  67. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +3 -2
  68. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +3 -2
  69. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +3 -2
  70. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +3 -2
  71. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +3 -2
  72. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +32 -0
  73. package/esm2022/workflow/lib/workflow.module.mjs +7 -2
  74. package/esm2022/workflow/lib/workflow.service.mjs +54 -7
  75. package/esm2022/workflow/lib/workflow.types.mjs +17 -10
  76. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs → acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs} +3 -2
  77. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-DAmNXjDm.mjs.map → acorex-platform-common-avatar-widget-edit.component-B-of5ssU.mjs.map} +1 -1
  78. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs → acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs} +4 -3
  79. package/fesm2022/acorex-platform-common-avatar-widget-view.component-CJvrSkTv.mjs.map +1 -0
  80. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs → acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs} +4 -3
  81. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BTcOjuUm.mjs.map +1 -0
  82. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs → acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs} +4 -3
  83. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BiUHPDqV.mjs.map → acorex-platform-common-checkbox-widget-column.component-X9d1iY_F.mjs.map} +1 -1
  84. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs → acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs} +4 -3
  85. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map +1 -0
  86. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs → acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs} +4 -3
  87. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CfGkMcDi.mjs.map → acorex-platform-common-checkbox-widget-view.component-nYmtb8bK.mjs.map} +1 -1
  88. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs → acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs} +4 -3
  89. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map +1 -0
  90. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs → acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs} +4 -3
  91. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-B0s6FN-g.mjs.map → acorex-platform-common-dateTime-widget-edit.component-D8FSiqAo.mjs.map} +1 -1
  92. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs → acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs} +4 -3
  93. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-B7KBCsUt.mjs.map → acorex-platform-common-dateTime-widget-filter.component-Df0DuDtw.mjs.map} +1 -1
  94. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs → acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs} +4 -3
  95. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Dy7pAkGG.mjs.map → acorex-platform-common-dateTime-widget-view.component-CjVjQkPh.mjs.map} +1 -1
  96. package/fesm2022/{acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs → acorex-platform-common-email-widget-column.component-BgNdL62k.mjs} +4 -3
  97. package/fesm2022/acorex-platform-common-email-widget-column.component-BgNdL62k.mjs.map +1 -0
  98. package/fesm2022/{acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs → acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs} +4 -3
  99. package/fesm2022/{acorex-platform-common-email-widget-edit.component-DWT24mCM.mjs.map → acorex-platform-common-email-widget-edit.component-CgHPGccx.mjs.map} +1 -1
  100. package/fesm2022/{acorex-platform-common-email-widget-view.component-B6puyycL.mjs → acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs} +4 -3
  101. package/fesm2022/{acorex-platform-common-email-widget-view.component-B6puyycL.mjs.map → acorex-platform-common-email-widget-view.component-C2aQ14k-.mjs.map} +1 -1
  102. package/fesm2022/{acorex-platform-common-file-widget-column.component-C1faGR4K.mjs → acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs} +4 -3
  103. package/fesm2022/acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map +1 -0
  104. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs → acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs} +4 -3
  105. package/fesm2022/{acorex-platform-common-file-widget-edit.component-CTvS9ls8.mjs.map → acorex-platform-common-file-widget-edit.component-DxoQR4CU.mjs.map} +1 -1
  106. package/fesm2022/{acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs → acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs} +4 -3
  107. package/fesm2022/acorex-platform-common-file-widget-filter.component-BvG0iaKU.mjs.map +1 -0
  108. package/fesm2022/{acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs → acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs} +4 -3
  109. package/fesm2022/{acorex-platform-common-file-widget-view.component-CHI4VCvt.mjs.map → acorex-platform-common-file-widget-view.component-BC9l3YrO.mjs.map} +1 -1
  110. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs → acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs} +4 -3
  111. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-CAOctYzV.mjs.map → acorex-platform-common-gallery-widget-edit.component-BihOIJ9T.mjs.map} +1 -1
  112. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs → acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs} +4 -3
  113. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-DS1PCIJp.mjs.map +1 -0
  114. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs → acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs} +4 -3
  115. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Ci50jeO5.mjs.map → acorex-platform-common-gallery-widget-view.component-CnQONVdg.mjs.map} +1 -1
  116. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs → acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs} +4 -3
  117. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-BCtGkz1a.mjs.map +1 -0
  118. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs → acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs} +4 -3
  119. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cl-vO5XW.mjs.map +1 -0
  120. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs → acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs} +22 -4
  121. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-Do_yV2hi.mjs.map +1 -0
  122. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs → acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs} +22 -4
  123. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-AKqbYe-l.mjs.map +1 -0
  124. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs → acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs} +8 -7
  125. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map +1 -0
  126. package/fesm2022/{acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs → acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs} +4 -3
  127. package/fesm2022/acorex-platform-common-map-widget-edit.component-SSrR3xxv.mjs.map +1 -0
  128. package/fesm2022/{acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs → acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs} +4 -3
  129. package/fesm2022/acorex-platform-common-map-widget-view.component-DrGG3gzg.mjs.map +1 -0
  130. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs → acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs} +4 -3
  131. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BJ_XzNKc.mjs.map +1 -0
  132. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs → acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs} +4 -3
  133. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-kiEHxJia.mjs.map → acorex-platform-common-messenger-widget-edit.component-B_FG_n0O.mjs.map} +1 -1
  134. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs → acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs} +4 -3
  135. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DzbjgZA7.mjs.map → acorex-platform-common-messenger-widget-view.component-EBiPO9ds.mjs.map} +1 -1
  136. package/fesm2022/{acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs → acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs} +4 -3
  137. package/fesm2022/acorex-platform-common-number-widget-edit.component-B1XXga-9.mjs.map +1 -0
  138. package/fesm2022/{acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs → acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs} +4 -3
  139. package/fesm2022/{acorex-platform-common-number-widget-filter.component-jQ4DaFQH.mjs.map → acorex-platform-common-number-widget-filter.component-B2JCpDjU.mjs.map} +1 -1
  140. package/fesm2022/{acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs → acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs} +4 -3
  141. package/fesm2022/acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map +1 -0
  142. package/fesm2022/{acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs → acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs} +4 -3
  143. package/fesm2022/{acorex-platform-common-password-widget-column.component-BRzyuK5c.mjs.map → acorex-platform-common-password-widget-column.component-eyqgQlAt.mjs.map} +1 -1
  144. package/fesm2022/{acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs → acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs} +4 -3
  145. package/fesm2022/acorex-platform-common-password-widget-edit.component-C2yNb9Pl.mjs.map +1 -0
  146. package/fesm2022/{acorex-platform-common-password-widget-view.component-CKaQItON.mjs → acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs} +4 -3
  147. package/fesm2022/{acorex-platform-common-password-widget-view.component-CKaQItON.mjs.map → acorex-platform-common-password-widget-view.component-o9S7pwJW.mjs.map} +1 -1
  148. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs → acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs} +4 -3
  149. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BD7BScjW.mjs.map → acorex-platform-common-phone-widget-column.component-BL9Xl2XH.mjs.map} +1 -1
  150. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs → acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs} +4 -3
  151. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-D8tGKfNj.mjs.map → acorex-platform-common-phone-widget-edit.component-DSh9zoZj.mjs.map} +1 -1
  152. package/fesm2022/{acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs → acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs} +4 -3
  153. package/fesm2022/{acorex-platform-common-phone-widget-view.component-CFiMsGOB.mjs.map → acorex-platform-common-phone-widget-view.component-Br3xbaDd.mjs.map} +1 -1
  154. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs → acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs} +4 -3
  155. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BPzwY_8L.mjs.map → acorex-platform-common-rich-text-widget-column.component-DDT58tca.mjs.map} +1 -1
  156. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs → acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs} +4 -3
  157. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-Dz1toc21.mjs.map +1 -0
  158. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs → acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs} +4 -3
  159. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CxTPcEIQ.mjs.map +1 -0
  160. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs → acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs} +4 -3
  161. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-_MglaOmo.mjs.map → acorex-platform-common-selection-list-widget-column.component-BCCmg8MI.mjs.map} +1 -1
  162. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs → acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs} +4 -3
  163. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-B5eUdN2R.mjs.map +1 -0
  164. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs → acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs} +4 -3
  165. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DPpZq1TB.mjs.map +1 -0
  166. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs → acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs} +4 -3
  167. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-Bxvd_AKZ.mjs.map +1 -0
  168. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs → acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs} +4 -3
  169. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DF29uWl2.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-CNjYCEi6.mjs.map} +1 -1
  170. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs → acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs} +4 -3
  171. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CsiBv_7i.mjs.map +1 -0
  172. package/fesm2022/{acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs → acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs} +4 -3
  173. package/fesm2022/acorex-platform-common-string-widget-filter.component-CrGt6Bov.mjs.map +1 -0
  174. package/fesm2022/{acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs → acorex-platform-common-text-widget-column.component-qXusAevm.mjs} +4 -3
  175. package/fesm2022/{acorex-platform-common-text-widget-column.component-BSYd1CbC.mjs.map → acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map} +1 -1
  176. package/fesm2022/{acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs → acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs} +4 -3
  177. package/fesm2022/{acorex-platform-common-text-widget-edit.component-K9z9N1qw.mjs.map → acorex-platform-common-text-widget-edit.component-ed0MUYnD.mjs.map} +1 -1
  178. package/fesm2022/{acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs → acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs} +4 -3
  179. package/fesm2022/{acorex-platform-common-text-widget-view.component-WbZtm_bf.mjs.map → acorex-platform-common-text-widget-view.component-BpxTaeQW.mjs.map} +1 -1
  180. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs → acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs} +4 -3
  181. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-ZCBSYMuz.mjs.map → acorex-platform-common-toggle-widget-column.component-BqiUQrmV.mjs.map} +1 -1
  182. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs → acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs} +4 -3
  183. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map +1 -0
  184. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs → acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs} +4 -3
  185. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DLDIrci1.mjs.map → acorex-platform-common-toggle-widget-view.component-DWYcIPTd.mjs.map} +1 -1
  186. package/fesm2022/acorex-platform-common.mjs +389 -140
  187. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  188. package/fesm2022/acorex-platform-layout-builder.mjs +10 -1
  189. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  190. package/fesm2022/acorex-platform-layout-entity.mjs +514 -280
  191. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  192. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs → acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs} +3 -3
  193. package/fesm2022/acorex-platform-layouts-entity-create-view.component-fkKPKxlb.mjs.map +1 -0
  194. package/fesm2022/acorex-platform-layouts.mjs +4 -4
  195. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  196. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Buanq4is.mjs → acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs} +2 -2
  197. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-BxYT9KhH.mjs.map +1 -0
  198. package/fesm2022/acorex-platform-themes-default.mjs +21 -8
  199. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  200. package/fesm2022/acorex-platform-widgets.mjs +73 -56
  201. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  202. package/fesm2022/acorex-platform-workflow.mjs +194 -109
  203. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  204. package/layout/builder/lib/builder/widget.types.d.ts +3 -0
  205. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +6 -5
  206. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +11 -5
  207. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +17 -10
  208. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +0 -1
  209. package/layout/entity/lib/entity.viewmodel.d.ts +3 -3
  210. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +20 -3
  211. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.d.ts +8 -1
  212. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.d.ts +10 -3
  213. package/layout/entity/lib/workflows/create-entity.workflow.d.ts +0 -2
  214. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +2 -4
  215. package/layout/entity/lib/workflows/modify-section.workflow.d.ts +2 -5
  216. package/layout/entity/lib/workflows/show-list.workflow.d.ts +10 -0
  217. package/package.json +1 -1
  218. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/{entity-list-view.component.d.ts → entity-master-list-view.component.d.ts} +1 -0
  219. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -0
  220. package/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +4 -0
  221. package/widgets/lib/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +1 -1
  222. package/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.d.ts +3 -2
  223. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +1 -1
  224. package/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +1 -1
  225. package/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.d.ts +1 -1
  226. package/widgets/lib/editors/text-box-widget/text-box-widget-view.component.d.ts +1 -1
  227. package/workflow/lib/actions/start-workflow.action.d.ts +10 -0
  228. package/workflow/lib/workflow.service.d.ts +4 -2
  229. package/workflow/lib/workflow.types.d.ts +6 -3
  230. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BlA_cFkP.mjs.map +0 -1
  231. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-CEqibiML.mjs.map +0 -1
  232. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BVG9_XXh.mjs.map +0 -1
  233. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BlXTU887.mjs.map +0 -1
  234. package/fesm2022/acorex-platform-common-email-widget-column.component-D_UNn2dW.mjs.map +0 -1
  235. package/fesm2022/acorex-platform-common-file-widget-column.component-C1faGR4K.mjs.map +0 -1
  236. package/fesm2022/acorex-platform-common-file-widget-filter.component-D4AMg5M0.mjs.map +0 -1
  237. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-lgaYDZeD.mjs.map +0 -1
  238. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DFKG-kum.mjs.map +0 -1
  239. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CFzCGcqA.mjs.map +0 -1
  240. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CYTSeEOq.mjs.map +0 -1
  241. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-BkxT9_Hh.mjs.map +0 -1
  242. package/fesm2022/acorex-platform-common-lookup-widget-view.component-5YeixMp7.mjs.map +0 -1
  243. package/fesm2022/acorex-platform-common-map-widget-edit.component-CE3QQBmX.mjs.map +0 -1
  244. package/fesm2022/acorex-platform-common-map-widget-view.component-Cv4OCTxz.mjs.map +0 -1
  245. package/fesm2022/acorex-platform-common-messenger-widget-column.component-CJdh6TKb.mjs.map +0 -1
  246. package/fesm2022/acorex-platform-common-number-widget-edit.component-BRuIP96Y.mjs.map +0 -1
  247. package/fesm2022/acorex-platform-common-number-widget-view.component-BzUWjT8m.mjs.map +0 -1
  248. package/fesm2022/acorex-platform-common-password-widget-edit.component-q6R2dw5k.mjs.map +0 -1
  249. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-CA2xRfVg.mjs.map +0 -1
  250. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DYfTZ64H.mjs.map +0 -1
  251. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-QKw_tyOd.mjs.map +0 -1
  252. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DRToTnHQ.mjs.map +0 -1
  253. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-CjDiuUdj.mjs.map +0 -1
  254. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-BWzoR4HM.mjs.map +0 -1
  255. package/fesm2022/acorex-platform-common-string-widget-filter.component-Di_GFHme.mjs.map +0 -1
  256. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-rkDfLA-J.mjs.map +0 -1
  257. package/fesm2022/acorex-platform-layouts-entity-create-view.component-BmSMt95H.mjs.map +0 -1
  258. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Buanq4is.mjs.map +0 -1
@@ -0,0 +1,85 @@
1
+ // AXPPdfService
2
+ import { inject, Injectable, RendererFactory2 } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export var AXPPdfPageSize;
5
+ (function (AXPPdfPageSize) {
6
+ AXPPdfPageSize["A4"] = "a4";
7
+ AXPPdfPageSize["A5"] = "a5";
8
+ AXPPdfPageSize["Letter"] = "letter";
9
+ AXPPdfPageSize["Legal"] = "legal";
10
+ AXPPdfPageSize["Custom"] = "custom"; // Handle custom sizes
11
+ })(AXPPdfPageSize || (AXPPdfPageSize = {}));
12
+ export class AXPPdfService {
13
+ constructor() {
14
+ this.renderer = inject(RendererFactory2).createRenderer(null, null);
15
+ }
16
+ async generatePdfBlob(div, options = {}) {
17
+ const { jsPDF } = await import('jspdf');
18
+ const html2canvas = (await import('html2canvas')).default;
19
+ const element = typeof div === 'string' ? document.getElementById(div) : div;
20
+ if (!element) {
21
+ console.error('Element not found.');
22
+ return Promise.reject('Element not found.');
23
+ }
24
+ const { pageSize = AXPPdfPageSize.A4 } = options;
25
+ let pdf;
26
+ if (typeof pageSize === 'string' && pageSize !== AXPPdfPageSize.Custom) {
27
+ pdf = new jsPDF({
28
+ orientation: 'portrait',
29
+ format: pageSize
30
+ });
31
+ }
32
+ else if (typeof pageSize !== 'string') {
33
+ const { width, height } = pageSize;
34
+ pdf = new jsPDF({
35
+ orientation: 'portrait',
36
+ unit: 'pt',
37
+ format: [width, height]
38
+ });
39
+ }
40
+ else {
41
+ return Promise.reject("Invalid page size.");
42
+ }
43
+ const canvas = await html2canvas(element);
44
+ const imageData = canvas.toDataURL('image/png');
45
+ const imgProps = pdf.getImageProperties(imageData);
46
+ const pdfWidth = pdf.internal.pageSize.getWidth();
47
+ const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
48
+ pdf.addImage(imageData, 'PNG', 0, 0, pdfWidth, pdfHeight);
49
+ return pdf.output('bloburl');
50
+ }
51
+ async printPdf(div, options = {}) {
52
+ const blobUrl = await this.generatePdfBlob(div, options).catch(err => {
53
+ console.error('Failed to generate PDF', err);
54
+ return null;
55
+ });
56
+ if (!blobUrl)
57
+ return;
58
+ const iframe = this.renderer.createElement('iframe');
59
+ this.renderer.setStyle(iframe, 'display', 'none');
60
+ this.renderer.appendChild(document.body, iframe);
61
+ iframe.src = blobUrl;
62
+ iframe.onload = () => {
63
+ setTimeout(() => {
64
+ iframe.contentWindow.print();
65
+ }, 1000);
66
+ };
67
+ // Add a button or some UI element that allows the user to manually signal they are done printing
68
+ // const finishButton = this.renderer.createElement('button');
69
+ // this.renderer.setProperty(finishButton, 'innerText', 'Finish Printing');
70
+ // this.renderer.listen(finishButton, 'click', () => {
71
+ // this.renderer.removeChild(document.body, iframe);
72
+ // this.renderer.removeChild(document.body, finishButton);
73
+ // });
74
+ // this.renderer.appendChild(document.body, finishButton);
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
77
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPPdfService, providedIn: 'root' }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPPdfService, decorators: [{
80
+ type: Injectable,
81
+ args: [{
82
+ providedIn: 'root'
83
+ }]
84
+ }] });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL3BkZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFckUsTUFBTSxDQUFOLElBQVksY0FNWDtBQU5ELFdBQVksY0FBYztJQUN0QiwyQkFBUyxDQUFBO0lBQ1QsMkJBQVMsQ0FBQTtJQUNULG1DQUFpQixDQUFBO0lBQ2pCLGlDQUFlLENBQUE7SUFDZixtQ0FBaUIsQ0FBQSxDQUFFLHNCQUFzQjtBQUM3QyxDQUFDLEVBTlcsY0FBYyxLQUFkLGNBQWMsUUFNekI7QUFLRCxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUlZLGFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBc0UxRTtJQXBFRyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQXlCLEVBQUUsVUFBNkUsRUFBRTtRQUM1SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUUxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUU3RSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDcEMsT0FBTyxPQUFP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QUFNO1FBQ04sMERBQTBEO0lBQzlELENBQUM7OEdBdEVRLGFBQWE7a0hBQWIsYUFBYSxjQUZWLE1BQU07OzJGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQVhQUGRmU2VydmljZVxyXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBlbnVtIEFYUFBkZlBhZ2VTaXplIHtcclxuICAgIEE0ID0gJ2E0JyxcclxuICAgIEE1ID0gJ2E1JyxcclxuICAgIExldHRlciA9ICdsZXR0ZXInLFxyXG4gICAgTGVnYWwgPSAnbGVnYWwnLFxyXG4gICAgQ3VzdG9tID0gJ2N1c3RvbScgIC8vIEhhbmRsZSBjdXN0b20gc2l6ZXNcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFBQZGZTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXJGYWN0b3J5MikuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcblxyXG4gICAgYXN5bmMgZ2VuZXJhdGVQZGZCbG9iKGRpdjogc3RyaW5nIHwgSFRNTEVsZW1lbnQsIG9wdGlvbnM6IHsgcGFnZVNpemU/OiBBWFBQZGZQYWdlU2l6ZSB8IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB9ID0ge30pOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGNvbnN0IHsganNQREYgfSA9IGF3YWl0IGltcG9ydCgnanNwZGYnKTtcclxuICAgICAgICBjb25zdCBodG1sMmNhbnZhcyA9IChhd2FpdCBpbXBvcnQoJ2h0bWwyY2FudmFzJykpLmRlZmF1bHQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0eXBlb2YgZGl2ID09PSAnc3RyaW5nJyA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdikgOiBkaXY7XHJcblxyXG4gICAgICAgIGlmICghZWxlbWVudCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFbGVtZW50IG5vdCBmb3VuZC4nKTtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCdFbGVtZW50IG5vdCBmb3VuZC4nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHsgcGFnZVNpemUgPSBBWFBQZGZQYWdlU2l6ZS5BNCB9ID0gb3B0aW9ucztcclxuICAgICAgICBsZXQgcGRmO1xyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHBhZ2VTaXplID09PSAnc3RyaW5nJyAmJiBwYWdlU2l6ZSAhPT0gQVhQUGRmUGFnZVNpemUuQ3VzdG9tKSB7XHJcbiAgICAgICAgICAgIHBkZiA9IG5ldyBqc1BERih7XHJcbiAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogJ3BvcnRyYWl0JyxcclxuICAgICAgICAgICAgICAgIGZvcm1hdDogcGFnZVNpemVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcGFnZVNpemUgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gcGFnZVNpemU7XHJcbiAgICAgICAgICAgIHBkZiA9IG5ldyBqc1BERih7XHJcbiAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogJ3BvcnRyYWl0JyxcclxuICAgICAgICAgICAgICAgIHVuaXQ6ICdwdCcsXHJcbiAgICAgICAgICAgICAgICBmb3JtYXQ6IFt3aWR0aCwgaGVpZ2h0XVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXCJJbnZhbGlkIHBhZ2Ugc2l6ZS5cIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjYW52YXMgPSBhd2FpdCBodG1sMmNhbnZhcyhlbGVtZW50KTtcclxuICAgICAgICBjb25zdCBpbWFnZURhdGEgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnKTtcclxuICAgICAgICBjb25zdCBpbWdQcm9wcyA9IHBkZi5nZXRJbWFnZVByb3BlcnRpZXMoaW1hZ2VEYXRhKTtcclxuICAgICAgICBjb25zdCBwZGZXaWR0aCA9IHBkZi5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRXaWR0aCgpO1xyXG4gICAgICAgIGNvbnN0IHBkZkhlaWdodCA9IChpbWdQcm9wcy5oZWlnaHQgKiBwZGZXaWR0aCkgLyBpbWdQcm9wcy53aWR0aDtcclxuXHJcbiAgICAgICAgcGRmLmFkZEltYWdlKGltYWdlRGF0YSwgJ1BORycsIDAsIDAsIHBkZldpZHRoLCBwZGZIZWlnaHQpO1xyXG4gICAgICAgIHJldHVybiBwZGYub3V0cHV0KCdibG9idXJsJykgYXMgYW55IGFzIHN0cmluZztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwcmludFBkZihkaXY6IHN0cmluZyB8IEhUTUxFbGVtZW50LCBvcHRpb25zOiB7IHBhZ2VTaXplPzogQVhQUGRmUGFnZVNpemUgfCB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH0gfSA9IHt9KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgYmxvYlVybCA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVQZGZCbG9iKGRpdiwgb3B0aW9ucykuY2F0Y2goZXJyID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGdlbmVyYXRlIFBERicsIGVycik7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoIWJsb2JVcmwpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgaWZyYW1lID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGlmcmFtZSwgJ2Rpc3BsYXknLCAnbm9uZScpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgaWZyYW1lKTtcclxuXHJcbiAgICAgICAgaWZyYW1lLnNyYyA9IGJsb2JVcmw7XHJcbiAgICAgICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wcmludCgpO1xyXG4gICAgICAgICAgICB9LCAxMDAwKTtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBBZGQgYSBidXR0b24gb3Igc29tZSBVSSBlbGVtZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIG1hbnVhbGx5IHNpZ25hbCB0aGV5IGFyZSBkb25lIHByaW50aW5nXHJcbiAgICAgICAgLy8gY29uc3QgZmluaXNoQnV0dG9uID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgICAgICAvLyB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KGZpbmlzaEJ1dHRvbiwgJ2lubmVyVGV4dCcsICdGaW5pc2ggUHJpbnRpbmcnKTtcclxuICAgICAgICAvLyB0aGlzLnJlbmRlcmVyLmxpc3RlbihmaW5pc2hCdXR0b24sICdjbGljaycsICgpID0+IHtcclxuICAgICAgICAvLyAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCBpZnJhbWUpO1xyXG4gICAgICAgIC8vICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHksIGZpbmlzaEJ1dHRvbik7XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5ib2R5LCBmaW5pc2hCdXR0b24pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -34,9 +34,9 @@ export class AXPDialogConfirmAction extends AXPWorkflowAction {
34
34
  this.dialogService = inject(AXDialogService);
35
35
  }
36
36
  async execute(context) {
37
- context.setOutput('deleteConfirmed', false);
37
+ context.setOutput('result', false);
38
38
  const dialogResult = await this.dialogService.confirm(this.title, this.message, this.type);
39
- context.setOutput('deleteConfirmed', dialogResult.result);
39
+ context.setOutput('result', dialogResult.result);
40
40
  }
41
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPDialogConfirmAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
42
42
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPDialogConfirmAction }); }
@@ -65,4 +65,4 @@ export class AXPToastAction extends AXPWorkflowAction {
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPToastAction, decorators: [{
66
66
  type: Injectable
67
67
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi93b3JrZmxvd3MvY29tbW9uLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekMsNENBQTRDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFrQixzQkFBc0IsQ0FBQyxDQUFDO0FBRzdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7SUFEaEU7O1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQVNqQztJQVJDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZGLENBQUM7WUFDSixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7O2dCQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7OEdBVFUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7O0FBY1gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUQ3RDs7UUFFVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQVdqRDtJQUxDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0YsT0FBTyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FYVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVTs7QUFnQlgsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUI7SUFEckQ7O1FBRVUsaUJBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FnQi9DO0lBVkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtZQUNiLGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBaEJVLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU3R5bGVDb2xvclR5cGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XHJcbmltcG9ydCB7IEFYVG9hc3RTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RvYXN0JztcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8vVE9ETyBMb2FkaW5nLCBSZWRpcmVjdCwgRHJhd2VyLCBTaG93IHRvYXN0XHJcblxyXG5leHBvcnQgY29uc3QgQVhQUmVkaXJlY3RFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyB1cmw6IHN0cmluZyB9PignUmVkaXJlY3QgRXZlbnQgRmlyZWQnKTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93TmF2aWdhdGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XHJcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ3BheWxvYWQnKTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHBheWxvYWQuY29tbWFuZHMpKSB0aGlzLnJvdXRlci5uYXZpZ2F0ZShwYXlsb2FkLmNvbW1hbmRzLCBwYXlsb2FkLmV4dHJhcyk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHBheWxvYWQuY29tbWFuZHMudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdodHRwJykpIHdpbmRvdy5vcGVuKHBheWxvYWQuY29tbWFuZHMsICdfYmxhbmsnKTtcclxuICAgICAgZWxzZSB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF5bG9hZC5jb21tYW5kc10sIHBheWxvYWQuZXh0cmFzKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFYUERpYWxvZ0NvbmZpcm1BY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XHJcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XHJcblxyXG4gIHRpdGxlITogc3RyaW5nO1xyXG4gIG1lc3NhZ2UhOiBzdHJpbmc7XHJcbiAgdHlwZSE6IEFYU3R5bGVDb2xvclR5cGU7XHJcblxyXG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb250ZXh0LnNldE91dHB1dCgnZGVsZXRlQ29uZmlybWVkJywgZmFsc2UpO1xyXG4gICAgY29uc3QgZGlhbG9nUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0odGhpcy50aXRsZSwgdGhpcy5tZXNzYWdlLCB0aGlzLnR5cGUpO1xyXG4gICAgY29udGV4dC5zZXRPdXRwdXQoJ2RlbGV0ZUNvbmZpcm1lZCcsIGRpYWxvZ1Jlc3VsdC5yZXN1bHQpO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhQVG9hc3RBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XHJcbiAgcHJpdmF0ZSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xyXG5cclxuICBjb2xvciE6IEFYU3R5bGVDb2xvclR5cGU7XHJcbiAgdGl0bGUhOiBzdHJpbmc7XHJcbiAgY29udGVudCE6IHN0cmluZztcclxuXHJcbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudG9hc3RTZXJ2aWNlLnNob3coe1xyXG4gICAgICBjb2xvcjogdGhpcy5jb2xvcixcclxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXHJcbiAgICAgIGNvbnRlbnQ6IHRoaXMuY29udGVudCxcclxuICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgIHRpbWVPdXQ6IDMwMDAsXHJcbiAgICAgIHRpbWVPdXRQcm9ncmVzczogdHJ1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLndvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi93b3JrZmxvd3MvY29tbW9uLndvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFekMsNENBQTRDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFrQixzQkFBc0IsQ0FBQyxDQUFDO0FBRzdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxpQkFBaUI7SUFEaEU7O1FBRVUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQVNqQztJQVJDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZGLENBQUM7WUFDSixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7O2dCQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7OEdBVFUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7O0FBY1gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUQ3RDs7UUFFVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztLQVdqRDtJQUxDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNGLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDOzhHQVhVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOztBQWdCWCxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFpQjtJQURyRDs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQWdCL0M7SUFWQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTJCO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoQlUsY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBWERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcclxuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLy9UT0RPIExvYWRpbmcsIFJlZGlyZWN0LCBEcmF3ZXIsIFNob3cgdG9hc3RcclxuXHJcbmV4cG9ydCBjb25zdCBBWFBSZWRpcmVjdEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IHVybDogc3RyaW5nIH0+KCdSZWRpcmVjdCBFdmVudCBGaXJlZCcpO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dOYXZpZ2F0ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcclxuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0gY29udGV4dC5nZXRWYXJpYWJsZSgncGF5bG9hZCcpO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGF5bG9hZC5jb21tYW5kcykpIHRoaXMucm91dGVyLm5hdmlnYXRlKHBheWxvYWQuY29tbWFuZHMsIHBheWxvYWQuZXh0cmFzKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAocGF5bG9hZC5jb21tYW5kcy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2h0dHAnKSkgd2luZG93Lm9wZW4ocGF5bG9hZC5jb21tYW5kcywgJ19ibGFuaycpO1xyXG4gICAgICBlbHNlIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXlsb2FkLmNvbW1hbmRzXSwgcGF5bG9hZC5leHRyYXMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhQRGlhbG9nQ29uZmlybUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcclxuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcclxuXHJcbiAgdGl0bGUhOiBzdHJpbmc7XHJcbiAgbWVzc2FnZSE6IHN0cmluZztcclxuICB0eXBlITogQVhTdHlsZUNvbG9yVHlwZTtcclxuXHJcbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdyZXN1bHQnLCBmYWxzZSk7XHJcbiAgICBjb25zdCBkaWFsb2dSZXN1bHQgPSBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuY29uZmlybSh0aGlzLnRpdGxlLCB0aGlzLm1lc3NhZ2UsIHRoaXMudHlwZSk7XHJcbiAgICBjb250ZXh0LnNldE91dHB1dCgncmVzdWx0JywgZGlhbG9nUmVzdWx0LnJlc3VsdCk7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWFBUb2FzdEFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcclxuICBwcml2YXRlIHRvYXN0U2VydmljZSA9IGluamVjdChBWFRvYXN0U2VydmljZSk7XHJcblxyXG4gIGNvbG9yITogQVhTdHlsZUNvbG9yVHlwZTtcclxuICB0aXRsZSE6IHN0cmluZztcclxuICBjb250ZW50ITogc3RyaW5nO1xyXG5cclxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XHJcbiAgICAgIGNvbG9yOiB0aGlzLmNvbG9yLFxyXG4gICAgICB0aXRsZTogdGhpcy50aXRsZSxcclxuICAgICAgY29udGVudDogdGhpcy5jb250ZW50LFxyXG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgdGltZU91dDogMzAwMCxcclxuICAgICAgdGltZU91dFByb2dyZXNzOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Injectable, signal } from '@angular/core';
2
- import { clone, get, set } from 'lodash-es';
2
+ import { clone, get, isEqual, set } from 'lodash-es';
3
3
  import { Subject, debounceTime } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AXPLayoutBuilderService {
@@ -42,6 +42,9 @@ export class AXPLayoutBuilderService {
42
42
  }
43
43
  }
44
44
  setValue(path, value, debounceMs = 50) {
45
+ const oldValue = get(this.context$(), path);
46
+ if (isEqual(oldValue, value))
47
+ return;
45
48
  if (!this.debouncers[path]) {
46
49
  // Create a new Subject for debouncing if it doesn't exist
47
50
  this.debouncers[path] = new Subject();
@@ -49,6 +52,8 @@ export class AXPLayoutBuilderService {
49
52
  this.debouncerSubscriptions[path] = this.debouncers[path].pipe(debounceTime(debounceMs)).subscribe(({ value }) => {
50
53
  // Only emit onChanged event after debounce time
51
54
  this.onChanged.next({
55
+ oldValue: oldValue,
56
+ newValue: value,
52
57
  data: this.context,
53
58
  path,
54
59
  });
@@ -78,4 +83,4 @@ export class AXPLayoutBuilderService {
78
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPLayoutBuilderService, decorators: [{
79
84
  type: Injectable
80
85
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSTNELE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFbUIsYUFBUSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUMzQixlQUFVLEdBQUcsTUFBTSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLGVBQVUsR0FBRyxNQUFNLENBQThCLEVBQUUsQ0FBQyxDQUFDO1FBRXRELGNBQVMsR0FBbUMsSUFBSSxPQUFPLEVBQXlCLENBQUM7UUFDekYsZUFBVSxHQUE2RCxFQUFFLENBQUM7UUFDMUUsMkJBQXNCLEdBQW9DLEVBQUUsQ0FBQztLQWtGdEU7SUFoRkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUtELFlBQVksQ0FBQyxHQUFHLElBQVc7UUFDekIsSUFB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LENBQUMsc0NBQXNDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDOzhHQXhGVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZSwgZ2V0LCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWFBMYXlvdXRDb250ZXh0RXZlbnQgfSBmcm9tICcuL3dpZGdldC50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0JCA9IHNpZ25hbDxhbnk+KHt9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHZhcmlhYmxlcyQgPSBzaWduYWw8YW55Pih7fSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmdW5jdGlvbnMkID0gc2lnbmFsPHsgW2tleTogc3RyaW5nXTogRnVuY3Rpb24gfT4oe30pO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgb25DaGFuZ2VkOiBTdWJqZWN0PEFYUExheW91dENvbnRleHRFdmVudD4gPSBuZXcgU3ViamVjdDxBWFBMYXlvdXRDb250ZXh0RXZlbnQ+KCk7XHJcbiAgcHJpdmF0ZSBkZWJvdW5jZXJzOiB7IFtrZXk6IHN0cmluZ106IFN1YmplY3Q8eyBwYXRoOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4gfSA9IHt9O1xyXG4gIHByaXZhdGUgZGVib3VuY2VyU3Vic2NyaXB0aW9uczogeyBba2V5OiBzdHJpbmddOiBTdWJzY3JpcHRpb24gfSA9IHt9O1xyXG5cclxuICBnZXQgY29udGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQkKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFyaWFibGVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGVzJCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZ1bmN0aW9ucygpOiB7IFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uIH0ge1xyXG4gICAgcmV0dXJuIHRoaXMuZnVuY3Rpb25zJCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbCh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNvbnRleHQkLnNldCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0VmFyaWFibGVzKGtleXNWYWx1ZXM6IGFueSk6IHZvaWQ7XHJcbiAgc2V0VmFyaWFibGVzKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcclxuICBzZXRWYXJpYWJsZXMoLi4uYXJnczogYW55W10pOiB2b2lkIHtcclxuICAgIGlmIChhcmdzLmxlbmd0aCA9PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBlbHNlIGlmIChhcmdzLmxlbmd0aCA9PSAxKVxyXG4gICAgICB0aGlzLnZhcmlhYmxlcyQuc2V0KGFyZ3NbMF0pO1xyXG4gICAgZWxzZSBpZiAoYXJncy5sZW5ndGggPT0gMikge1xyXG4gICAgICB0aGlzLnZhcmlhYmxlcyQudXBkYXRlKHYgPT4gc2V0KHYsIGFyZ3NbMF0sIGFyZ3NbMV0pKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0RnVuY3Rpb25zKGtleXNWYWx1ZXM6IGFueSk6IHZvaWQ7XHJcbiAgc2V0RnVuY3Rpb25zKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcclxuICBzZXRGdW5jdGlvbnMoLi4uYXJnczogYW55W10pOiB2b2lkIHtcclxuICAgIGlmIChhcmdzLmxlbmd0aCA9PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBlbHNlIGlmIChhcmdzLmxlbmd0aCA9PSAxKVxyXG4gICAgICB0aGlzLmZ1bmN0aW9ucyQuc2V0KGFyZ3NbMF0pO1xyXG4gICAgZWxzZSBpZiAoYXJncy5sZW5ndGggPT0gMikge1xyXG4gICAgICB0aGlzLmZ1bmN0aW9ucyQudXBkYXRlKHYgPT4gc2V0KHYsIGFyZ3NbMF0sIGFyZ3NbMV0pKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBzZXRWYWx1ZShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnksIGRlYm91bmNlTXM6IG51bWJlciA9IDUwKSB7XHJcbiAgICBpZiAoIXRoaXMuZGVib3VuY2Vyc1twYXRoXSkge1xyXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgU3ViamVjdCBmb3IgZGVib3VuY2luZyBpZiBpdCBkb2Vzbid0IGV4aXN0XHJcbiAgICAgIHRoaXMuZGVib3VuY2Vyc1twYXRoXSA9IG5ldyBTdWJqZWN0PHsgcGF0aDogc3RyaW5nOyB2YWx1ZTogYW55IH0+KCk7XHJcblxyXG4gICAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIHN1YmplY3Qgd2l0aCBkZWJvdW5jZVRpbWVcclxuICAgICAgdGhpcy5kZWJvdW5jZXJTdWJzY3JpcHRpb25zW3BhdGhdID0gdGhpcy5kZWJvdW5jZXJzW3BhdGhdLnBpcGUoZGVib3VuY2VUaW1lKGRlYm91bmNlTXMpKS5zdWJzY3JpYmUoKHsgdmFsdWUgfSkgPT4ge1xyXG4gICAgICAgIC8vIE9ubHkgZW1pdCBvbkNoYW5nZWQgZXZlbnQgYWZ0ZXIgZGVib3VuY2UgdGltZVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2VkLm5leHQoe1xyXG4gICAgICAgICAgZGF0YTogdGhpcy5jb250ZXh0LFxyXG4gICAgICAgICAgcGF0aCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXBkYXRlIGNvbnRleHQgaW1tZWRpYXRlbHlcclxuICAgIHRoaXMuY29udGV4dCQudXBkYXRlKChjdHgpID0+IHNldChjbG9uZShjdHgpLCBwYXRoLCB2YWx1ZSkpO1xyXG4gICAgLy8gRW1pdCB2YWx1ZSB0aHJvdWdoIHRoZSBkZWJvdW5jZXIgc3ViamVjdFxyXG4gICAgdGhpcy5kZWJvdW5jZXJzW3BhdGhdLm5leHQoeyBwYXRoLCB2YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKHBhdGg6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGdldCh0aGlzLmNvbnRleHQsIHBhdGgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZURlYm91bmNlcnMoKSB7XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbnMpLmZvckVhY2goKHBhdGgpID0+IHtcclxuICAgICAgdGhpcy5kZWJvdW5jZXJTdWJzY3JpcHRpb25zW3BhdGhdLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbnNbcGF0aF07IC8vIENsZWFuIHVwIHRoZSByZWZlcmVuY2VcclxuICAgICAgZGVsZXRlIHRoaXMuZGVib3VuY2Vyc1twYXRoXTsgLy8gQWxzbyBjbGVhbiB1cCB0aGUgZGVib3VuY2VyIHN1YmplY3RcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlRGVib3VuY2VycygpO1xyXG4gIH1cclxufVxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUkzRCxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUE4QixFQUFFLENBQUMsQ0FBQztRQUV0RCxjQUFTLEdBQW1DLElBQUksT0FBTyxFQUF5QixDQUFDO1FBQ3pGLGVBQVUsR0FBNkQsRUFBRSxDQUFDO1FBQzFFLDJCQUFzQixHQUFvQyxFQUFFLENBQUM7S0F1RnRFO0lBckZDLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFLRCxZQUFZLENBQUMsR0FBRyxJQUFX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SSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMseUJBQXlCO1lBQ25FLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQzs4R0E3RlUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2xvbmUsIGdldCwgaXNFcXVhbCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVhQTGF5b3V0Q29udGV4dEV2ZW50IH0gZnJvbSAnLi93aWRnZXQudHlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dCQgPSBzaWduYWw8YW55Pih7fSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB2YXJpYWJsZXMkID0gc2lnbmFsPGFueT4oe30pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZnVuY3Rpb25zJCA9IHNpZ25hbDx7IFtrZXk6IHN0cmluZ106IEZ1bmN0aW9uIH0+KHt9KTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IG9uQ2hhbmdlZDogU3ViamVjdDxBWFBMYXlvdXRDb250ZXh0RXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQTGF5b3V0Q29udGV4dEV2ZW50PigpO1xyXG4gIHByaXZhdGUgZGVib3VuY2VyczogeyBba2V5OiBzdHJpbmddOiBTdWJqZWN0PHsgcGF0aDogc3RyaW5nOyB2YWx1ZTogYW55IH0+IH0gPSB7fTtcclxuICBwcml2YXRlIGRlYm91bmNlclN1YnNjcmlwdGlvbnM6IHsgW2tleTogc3RyaW5nXTogU3Vic2NyaXB0aW9uIH0gPSB7fTtcclxuXHJcbiAgZ2V0IGNvbnRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0JCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZhcmlhYmxlcygpIHtcclxuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlcyQoKTtcclxuICB9XHJcblxyXG4gIGdldCBmdW5jdGlvbnMoKTogeyBba2V5OiBzdHJpbmddOiBGdW5jdGlvbiB9IHtcclxuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9ucyQoKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWwodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5jb250ZXh0JC5zZXQodmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHNldFZhcmlhYmxlcyhrZXlzVmFsdWVzOiBhbnkpOiB2b2lkO1xyXG4gIHNldFZhcmlhYmxlcyhrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XHJcbiAgc2V0VmFyaWFibGVzKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XHJcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgZWxzZSBpZiAoYXJncy5sZW5ndGggPT0gMSlcclxuICAgICAgdGhpcy52YXJpYWJsZXMkLnNldChhcmdzWzBdKTtcclxuICAgIGVsc2UgaWYgKGFyZ3MubGVuZ3RoID09IDIpIHtcclxuICAgICAgdGhpcy52YXJpYWJsZXMkLnVwZGF0ZSh2ID0+IHNldCh2LCBhcmdzWzBdLCBhcmdzWzFdKSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHNldEZ1bmN0aW9ucyhrZXlzVmFsdWVzOiBhbnkpOiB2b2lkO1xyXG4gIHNldEZ1bmN0aW9ucyhrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XHJcbiAgc2V0RnVuY3Rpb25zKC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XHJcbiAgICBpZiAoYXJncy5sZW5ndGggPT0gMClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgZWxzZSBpZiAoYXJncy5sZW5ndGggPT0gMSlcclxuICAgICAgdGhpcy5mdW5jdGlvbnMkLnNldChhcmdzWzBdKTtcclxuICAgIGVsc2UgaWYgKGFyZ3MubGVuZ3RoID09IDIpIHtcclxuICAgICAgdGhpcy5mdW5jdGlvbnMkLnVwZGF0ZSh2ID0+IHNldCh2LCBhcmdzWzBdLCBhcmdzWzFdKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0VmFsdWUocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55LCBkZWJvdW5jZU1zOiBudW1iZXIgPSA1MCkge1xyXG4gICAgY29uc3Qgb2xkVmFsdWUgPSBnZXQodGhpcy5jb250ZXh0JCgpLCBwYXRoKTtcclxuICAgIGlmIChpc0VxdWFsKG9sZFZhbHVlLCB2YWx1ZSkpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICghdGhpcy5kZWJvdW5jZXJzW3BhdGhdKSB7XHJcbiAgICAgIC8vIENyZWF0ZSBhIG5ldyBTdWJqZWN0IGZvciBkZWJvdW5jaW5nIGlmIGl0IGRvZXNuJ3QgZXhpc3RcclxuICAgICAgdGhpcy5kZWJvdW5jZXJzW3BhdGhdID0gbmV3IFN1YmplY3Q8eyBwYXRoOiBzdHJpbmc7IHZhbHVlOiBhbnkgfT4oKTtcclxuXHJcbiAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgc3ViamVjdCB3aXRoIGRlYm91bmNlVGltZVxyXG4gICAgICB0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbnNbcGF0aF0gPSB0aGlzLmRlYm91bmNlcnNbcGF0aF0ucGlwZShkZWJvdW5jZVRpbWUoZGVib3VuY2VNcykpLnN1YnNjcmliZSgoeyB2YWx1ZSB9KSA9PiB7XHJcbiAgICAgICAgLy8gT25seSBlbWl0IG9uQ2hhbmdlZCBldmVudCBhZnRlciBkZWJvdW5jZSB0aW1lXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZWQubmV4dCh7XHJcbiAgICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXHJcbiAgICAgICAgICBuZXdWYWx1ZTogdmFsdWUsXHJcbiAgICAgICAgICBkYXRhOiB0aGlzLmNvbnRleHQsXHJcbiAgICAgICAgICBwYXRoLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVcGRhdGUgY29udGV4dCBpbW1lZGlhdGVseVxyXG4gICAgdGhpcy5jb250ZXh0JC51cGRhdGUoKGN0eCkgPT4gc2V0KGNsb25lKGN0eCksIHBhdGgsIHZhbHVlKSk7XHJcbiAgICAvLyBFbWl0IHZhbHVlIHRocm91Z2ggdGhlIGRlYm91bmNlciBzdWJqZWN0XHJcbiAgICB0aGlzLmRlYm91bmNlcnNbcGF0aF0ubmV4dCh7IHBhdGgsIHZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUocGF0aDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gZ2V0KHRoaXMuY29udGV4dCwgcGF0aCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlRGVib3VuY2VycygpIHtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9ucykuZm9yRWFjaCgocGF0aCkgPT4ge1xyXG4gICAgICB0aGlzLmRlYm91bmNlclN1YnNjcmlwdGlvbnNbcGF0aF0udW5zdWJzY3JpYmUoKTtcclxuICAgICAgZGVsZXRlIHRoaXMuZGVib3VuY2VyU3Vic2NyaXB0aW9uc1twYXRoXTsgLy8gQ2xlYW4gdXAgdGhlIHJlZmVyZW5jZVxyXG4gICAgICBkZWxldGUgdGhpcy5kZWJvdW5jZXJzW3BhdGhdOyAvLyBBbHNvIGNsZWFuIHVwIHRoZSBkZWJvdW5jZXIgc3ViamVjdFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVEZWJvdW5jZXJzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -23,8 +23,10 @@ export class AXPWidgetBase {
23
23
  return this.rawValue();
24
24
  }
25
25
  setValue(value) {
26
+ const oldValue = this.rawValue();
26
27
  if (this.path) {
27
28
  this.contextService.setValue(this.path, value);
29
+ this.onValueChanged(oldValue, value);
28
30
  }
29
31
  }
30
32
  setOption(path, value) {
@@ -41,6 +43,8 @@ export class AXPWidgetBase {
41
43
  fn.bind(this)(...args);
42
44
  }
43
45
  }
46
+ onValueChanged(oldValue, newValue) {
47
+ }
44
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPWidgetBase, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
49
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPWidgetBase }); }
46
50
  }
@@ -71,4 +75,4 @@ export class AXPColumnWidgetBase {
71
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPColumnWidgetBase, decorators: [{
72
76
  type: Injectable
73
77
  }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvd2lkZ2V0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQXFCNUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWdCLGtCQUFrQixDQUFDLENBQUM7QUFDdEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHlCQUF5QixDQUFDLENBQUM7QUF1QjFHLE1BQU0sT0FBZ0IsYUFBYTtJQURuQztRQUVtQixVQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlCLE9BQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQixTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFFdkIsU0FBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFakMsbUJBQWMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVqRCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQWdDOUc7SUE5QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBUTtRQUNmLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUNoQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNwQixLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFZLEVBQUUsR0FBRyxJQUFXO1FBQy9CLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFhLENBQUM7UUFDdkMsSUFBSSxFQUFFLElBQUksT0FBTyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbEMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDOzhHQTVDbUIsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQURsQyxVQUFVOztBQWtEWCxNQUFNLE9BQWdCLG1CQUFtQjtJQUR6QztRQUVtQixVQUFLLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFdEMsU0FBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztLQWlCakQ7SUFkQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNwQixLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OEdBcEJtQixtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZXQsIG1lcmdlLCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vYnVpbGRlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYUFdpZGdldE5vZGVPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Tm9kZSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBpZD86IHN0cmluZztcclxuICBmb3JtdWxhPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogQVhQV2lkZ2V0Tm9kZVtdO1xyXG4gIG1vZGU6ICd2aWV3JyB8ICdlZGl0JyB8ICdkZXNpZ25lcic7XHJcbiAgb3B0aW9ucz86IEFYUFdpZGdldE5vZGVPcHRpb25zO1xyXG4gIHRyaWdnZXJzPzogeyBldmVudDogc3RyaW5nOyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ/OiBib29sZWFuIH1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRDb2x1bW5Ob2RlIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBBWFBXaWRnZXROb2RlT3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFYUF9XSURHRVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQV2lkZ2V0Tm9kZT4oJ0FYUF9XSURHRVRfVE9LRU4nKTtcclxuZXhwb3J0IGNvbnN0IEFYUF9XSURHRVRfQ09MVU1OX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFYUFdpZGdldENvbHVtbk5vZGU+KCdBWFBfV0lER0VUX0NPTFVNTl9UT0tFTicpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRDb21wb25lbnRDb25maWcge1xyXG4gIGNvbXBvbmVudDogKCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIGRlZmF1bHRPcHRpb25zPzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldENvbmZpZyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGRlZmF1bHRPcHRpb25zPzogYW55O1xyXG4gIGNvbXBvbmVudHM6IHtcclxuICAgIHZpZXc6IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcclxuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXaWRnZXRDb21wb25lbnRDb25maWc7XHJcbiAgfTtcclxuICBtZXRhPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBMYXlvdXRDb250ZXh0RXZlbnQge1xyXG4gIHBhdGg/OiBzdHJpbmcgfCBudWxsO1xyXG4gIGRhdGE6IGFueTtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQV2lkZ2V0QmFzZTxUID0gYW55IHwgbnVsbCB8IHZvaWQ+IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHRva2VuID0gaW5qZWN0KEFYUF9XSURHRVRfVE9LRU4pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkID0gdGhpcy50b2tlbi5pZDtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGF0aCA9IHRoaXMudG9rZW4ucGF0aDtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGUgPSB0aGlzLnRva2VuLm1vZGU7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGUgPSB0aGlzLnRva2VuLnR5cGU7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoaWxkcmVuID0gdGhpcy50b2tlbi5jaGlsZHJlbjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRCdWlsZGVyU2VydmljZSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmF3VmFsdWUgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5wYXRoID8gZ2V0KHRoaXMuY29udGV4dFNlcnZpY2UuY29udGV4dCwgdGhpcy5wYXRoKSA6IG51bGwpKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldE9wdGlvbnModGhpcy50b2tlbi5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmF3VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHNldFZhbHVlKHZhbHVlOiBUKSB7XHJcbiAgICBpZiAodGhpcy5wYXRoKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2Uuc2V0VmFsdWUodGhpcy5wYXRoLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRPcHRpb24ocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBzZXQodGhpcywgcGF0aCwgdmFsdWUpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRPcHRpb25zKHZhbHVlczogYW55KTogdm9pZCB7XHJcbiAgICBtZXJnZSh0aGlzLCB2YWx1ZXMpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBjYWxsKG5hbWU6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGZuID0gZ2V0KHRoaXMsIG5hbWUpIGFzIEZ1bmN0aW9uO1xyXG4gICAgaWYgKGZuICYmIHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGZuLmJpbmQodGhpcykoLi4uYXJncyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQQ29sdW1uV2lkZ2V0QmFzZTxUID0gYW55IHwgbnVsbCB8IHZvaWQ+IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHRva2VuID0gaW5qZWN0KEFYUF9XSURHRVRfQ09MVU1OX1RPS0VOKTtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhdGggPSB0aGlzLnRva2VuLnBhdGg7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0aGlzLnRva2VuLm9wdGlvbnM7XHJcblxyXG4gIHByaXZhdGUgX3Jhd1ZhbHVlOiBhbnk7XHJcbiAgcHVibGljIGdldCByYXdWYWx1ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jhd1ZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHJhd1ZhbHVlKHY6IGFueSkge1xyXG4gICAgdGhpcy5fcmF3VmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldE9wdGlvbnModGhpcy50b2tlbi5vcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldE9wdGlvbnModmFsdWVzOiBhbnkpOiB2b2lkIHtcclxuICAgIG1lcmdlKHRoaXMsIHZhbHVlcyk7XHJcbiAgfVxyXG59Il19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlci9zcmMvbGliL2J1aWxkZXIvd2lkZ2V0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQXFCNUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWdCLGtCQUFrQixDQUFDLENBQUM7QUFDdEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHlCQUF5QixDQUFDLENBQUM7QUF5QjFHLE1BQU0sT0FBZ0IsYUFBYTtJQURuQztRQUVtQixVQUFLLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlCLE9BQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQixTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFFdkIsU0FBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFakMsbUJBQWMsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUVqRCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQXNDOUc7SUFwQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBUTtRQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDaEMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQVc7UUFDcEIsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBWSxFQUFFLEdBQUcsSUFBVztRQUMvQixNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBYSxDQUFDO1FBQ3ZDLElBQUksRUFBRSxJQUFJLE9BQU8sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFXLEVBQUUsUUFBVztJQUV2QyxDQUFDOzhHQWxEbUIsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQURsQyxVQUFVOztBQXdEWCxNQUFNLE9BQWdCLG1CQUFtQjtJQUR6QztRQUVtQixVQUFLLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFdEMsU0FBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztLQWlCakQ7SUFkQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBVztRQUNwQixLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7OEdBcEJtQixtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZXQsIG1lcmdlLCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vYnVpbGRlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIEFYUFdpZGdldE5vZGVPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV2lkZ2V0Tm9kZSB7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBpZD86IHN0cmluZztcclxuICBmb3JtdWxhPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogQVhQV2lkZ2V0Tm9kZVtdO1xyXG4gIG1vZGU6ICd2aWV3JyB8ICdlZGl0JyB8ICdkZXNpZ25lcic7XHJcbiAgb3B0aW9ucz86IEFYUFdpZGdldE5vZGVPcHRpb25zO1xyXG4gIHRyaWdnZXJzPzogeyBldmVudDogc3RyaW5nOyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ/OiBib29sZWFuIH1bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRDb2x1bW5Ob2RlIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBBWFBXaWRnZXROb2RlT3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFYUF9XSURHRVRfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQV2lkZ2V0Tm9kZT4oJ0FYUF9XSURHRVRfVE9LRU4nKTtcclxuZXhwb3J0IGNvbnN0IEFYUF9XSURHRVRfQ09MVU1OX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEFYUFdpZGdldENvbHVtbk5vZGU+KCdBWFBfV0lER0VUX0NPTFVNTl9UT0tFTicpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBXaWRnZXRDb21wb25lbnRDb25maWcge1xyXG4gIGNvbXBvbmVudDogKCkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIGRlZmF1bHRPcHRpb25zPzogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdpZGdldENvbmZpZyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGRlZmF1bHRPcHRpb25zPzogYW55O1xyXG4gIGNvbXBvbmVudHM6IHtcclxuICAgIHZpZXc6IEFYUFdpZGdldENvbXBvbmVudENvbmZpZztcclxuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXaWRnZXRDb21wb25lbnRDb25maWc7XHJcbiAgfTtcclxuICBtZXRhPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBWFBMYXlvdXRDb250ZXh0RXZlbnQge1xyXG4gIG9sZFZhbHVlOiBhbnk7XHJcbiAgbmV3VmFsdWU6IGFueTtcclxuICBwYXRoPzogc3RyaW5nIHwgbnVsbDtcclxuICBkYXRhOiBhbnk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYUFdpZGdldEJhc2U8VCA9IGFueSB8IG51bGwgfCB2b2lkPiB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB0b2tlbiA9IGluamVjdChBWFBfV0lER0VUX1RPS0VOKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBpZCA9IHRoaXMudG9rZW4uaWQ7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhdGggPSB0aGlzLnRva2VuLnBhdGg7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBtb2RlID0gdGhpcy50b2tlbi5tb2RlO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSB0eXBlID0gdGhpcy50b2tlbi50eXBlO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGlsZHJlbiA9IHRoaXMudG9rZW4uY2hpbGRyZW47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFNlcnZpY2UgPSBpbmplY3QoQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHJhd1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMucGF0aCA/IGdldCh0aGlzLmNvbnRleHRTZXJ2aWNlLmNvbnRleHQsIHRoaXMucGF0aCkgOiBudWxsKSk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRPcHRpb25zKHRoaXMudG9rZW4ub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnJhd1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRWYWx1ZSh2YWx1ZTogVCkge1xyXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnJhd1ZhbHVlKCk7XHJcbiAgICBpZiAodGhpcy5wYXRoKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2Uuc2V0VmFsdWUodGhpcy5wYXRoLCB2YWx1ZSk7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQob2xkVmFsdWUsIHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE9wdGlvbihwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHNldCh0aGlzLCBwYXRoLCB2YWx1ZSk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHNldE9wdGlvbnModmFsdWVzOiBhbnkpOiB2b2lkIHtcclxuICAgIG1lcmdlKHRoaXMsIHZhbHVlcyk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGNhbGwobmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgZm4gPSBnZXQodGhpcywgbmFtZSkgYXMgRnVuY3Rpb247XHJcbiAgICBpZiAoZm4gJiYgdHlwZW9mIGZuID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgZm4uYmluZCh0aGlzKSguLi5hcmdzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlOiBULCBuZXdWYWx1ZTogVCkge1xyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBDb2x1bW5XaWRnZXRCYXNlPFQgPSBhbnkgfCBudWxsIHwgdm9pZD4ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW4gPSBpbmplY3QoQVhQX1dJREdFVF9DT0xVTU5fVE9LRU4pO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGF0aCA9IHRoaXMudG9rZW4ucGF0aDtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHRoaXMudG9rZW4ub3B0aW9ucztcclxuXHJcbiAgcHJpdmF0ZSBfcmF3VmFsdWU6IGFueTtcclxuICBwdWJsaWMgZ2V0IHJhd1ZhbHVlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmF3VmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcmF3VmFsdWUodjogYW55KSB7XHJcbiAgICB0aGlzLl9yYXdWYWx1ZSA9IHY7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLnRva2VuLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0T3B0aW9ucyh2YWx1ZXM6IGFueSk6IHZvaWQge1xyXG4gICAgbWVyZ2UodGhpcywgdmFsdWVzKTtcclxuICB9XHJcbn0iXX0=
@@ -67,12 +67,13 @@ export class AXPEntityDetailListViewModel {
67
67
  //****************** Columns ******************//
68
68
  this.columns = computed(() => {
69
69
  if (this.detailEntity()) {
70
- const columns = this.detailEntityConfig.columns ?? [];
71
- const props = this.detailEntity()?.properties.filter(c => c.schema.hidden != true &&
72
- c.options?.table?.enabled &&
73
- (columns?.length == 0 || columns?.includes(c.name))) ?? [];
74
- return props.map(e => {
75
- return new AXPEntityListViewColumnViewModel(e);
70
+ const detailColumns = this.detailEntityConfig.columns ?? [];
71
+ const columns = this.detailEntity()?.columns?.map(c => c.name) ?? [];
72
+ const props = this.detailEntity()?.properties.filter(p => p.schema.hidden != true &&
73
+ (detailColumns?.length == 0 || detailColumns?.includes(p.name))) ?? [];
74
+ const displayColumns = props.filter(p => columns.some(c => c == p.name));
75
+ return displayColumns.map(p => {
76
+ return new AXPEntityListViewColumnViewModel(p, this.detailEntity()?.columns?.find(c => c.name == p.name));
76
77
  });
77
78
  }
78
79
  return [];
@@ -117,7 +118,7 @@ export class AXPEntityDetailListViewModel {
117
118
  return {
118
119
  field: c.name,
119
120
  operator: c.operator,
120
- value: this.parent.data.id
121
+ value: this.parent.data?.id
121
122
  };
122
123
  }) ?? [];
123
124
  const parentFilterWrapper = {
@@ -151,4 +152,4 @@ export class AXPEntityDetailListViewModel {
151
152
  async executeCommand(commandName, data = null) {
152
153
  }
153
154
  }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbC1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1kZXRhaWwtbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFvQyxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFrRCxNQUFNLDJCQUEyQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9ELE1BQU0sT0FBTyw0QkFBNEI7SUF1QnJDLFlBQ1ksUUFBa0IsRUFDbEIsa0JBQW9DLEVBQ3BDLE1BQXdDO1FBRnhDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFrQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFrQztRQXZCNUMsaUJBQVksR0FBRyxNQUFNLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbEQsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJekQsZUFBVSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQzFCLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFB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QUMsTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEQsQ0FBQzthQUNJLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUNuQixLQUFLLEVBQUUsSUFBVztnQkFDbEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osUUFBUSxFQUFFLElBQVc7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUM7YUFDckQsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELEVBQUU7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFzQkQsbURBQW1EO0lBQzVDLEtBQUssQ0FBQyxjQUFjLENBQUMsV0FBbUIsRUFBRSxPQUFZLElBQUk7SUFDakUsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCwgQVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWwgfSBmcm9tIFwiLi9lbnRpdHkudmlld21vZGVsXCI7XHJcbmltcG9ydCB7IEFYRm9ybWF0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L2NvcmUvZm9ybWF0XCI7XHJcbmltcG9ydCB7IEFYRGF0YVNvdXJjZSwgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uLCBBWERhdGFTb3VyY2VPcGVyYXRvciB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XHJcbmltcG9ydCB7IEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIgfSBmcm9tIFwiLi9lbnRpdHkuY29uZmlnXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQUmVsYXRlZEVudGl0eSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eURldGFpbExpc3RWaWV3TW9kZWwge1xyXG5cclxuXHJcbiAgICBwcml2YXRlIGRldGFpbEVudGl0eSA9IHNpZ25hbDxBWFBFbnRpdHkgfCBudWxsPihudWxsKTtcclxuICAgIHByaXZhdGUgZm9ybWF0U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYRm9ybWF0U2VydmljZSlcclxuICAgIHByaXZhdGUgd29ya2Zsb3cgPSB0aGlzLmluamVjdG9yLmdldChBWFBXb3JrZmxvd1NlcnZpY2UpO1xyXG5cclxuXHJcblxyXG4gICAgZGF0YVNvdXJjZSA9IG5ldyBBWERhdGFTb3VyY2Uoe1xyXG4gICAgICAgIGJ5S2V5OiAoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmRldGFpbEVudGl0eSgpPy5xdWVyaWVzLmJ5S2V5LmV4ZWN1dGUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBsb2FkOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmdW5jID0gdGhpcy5kZXRhaWxFbnRpdHkoKT8ucXVlcmllcy5saXN0Py5leGVjdXRlIGFzIEZ1bmN0aW9uO1xyXG4gICAgICAgICAgICByZXR1cm4gZnVuYyhlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBhZ2VTaXplOiA1LFxyXG4gICAgICAgIGtleTogJ2lkJ1xyXG5cclxuICAgIH0pXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBkZXRhaWxFbnRpdHlDb25maWc6IEFYUFJlbGF0ZWRFbnRpdHksXHJcbiAgICAgICAgcHJpdmF0ZSBwYXJlbnQ6IHsgZW50aXR5OiBBWFBFbnRpdHksIGRhdGE6IGFueSB9LFxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLmluamVjdG9yLmdldChBWFBfRU5USVRZX0RFRklOSVRJT05fTE9BREVSKTtcclxuICAgICAgICBjb25zdCBbbW9kdWxlTmFtZSwgZW50aXR5TmFtZV0gPSB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy5lbnRpdHkuc3BsaXQoJy4nKTtcclxuICAgICAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCBsb2FkZXIuZ2V0KG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpXHJcbiAgICAgICAgaWYgKCFlbnRpdHkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWQgZW5pdGl0eSBuYW1lOiAke3RoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmVudGl0eX1gKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRldGFpbEVudGl0eS5zZXQoZW50aXR5KTtcclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRJdGVtcyA9IHNpZ25hbDxhbnlbXT4oW10pO1xyXG5cclxuICAgIHB1YmxpYyBoYXNTZWxlY3RlZEl0ZW1zID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMoKS5sZW5ndGggPiAwXHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnNldChbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogVGl0bGUgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHB1YmxpYyB0aXRsZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy50aXRsZSA/PyB0aGlzLmRldGFpbEVudGl0eSgpPy5pbnRlcmZhY2VzPy5kZXRhaWw/Lmxpc3Q/LnRpdGxlISA/PyB0aGlzLmRldGFpbEVudGl0eSgpPy5mb3JtYXRzLnBsdXJhbCE7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBJbmxpbmUgZmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgaW5saW5lRmlsdGVyc1BsYWNlaG9sZGVycyA9IGNvbXB1dGVkPHN0cmluZ1tdPigoKSA9PiB7XHJcbiAgICAgICAgLy9yZXR1cm4gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIocCA9PiBwLm9wdGlvbnM/LmZpbHRlcj8uaW5saW5lPy5lbmFibGVkKS5tYXAoYyA9PiBjLnRpdGxlKTtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgaGFzSW5saW5lRmlsdGVycyA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzKCkubGVuZ3RoID4gMDtcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBBY3Rpb25zICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwcml2YXRlIGFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgLy8gY29uc3QgbGlzdCA9IHRoaXMuZGV0YWlsRW50aXR5LmludGVyZmFjZXM/Lm1hc3Rlcj8ubGlzdD8uYWN0aW9ucyA/PyBbXTtcclxuICAgICAgICAvLyByZXR1cm4gbGlzdFxyXG4gICAgICAgIC8vICAgICAuZmlsdGVyKGEgPT5cclxuICAgICAgICAvLyAgICAgICAgIChhLnNjb3BlID09IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiB0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSkgfHxcclxuICAgICAgICAvLyAgICAgICAgIChhLnNjb3BlICE9IEFYUEVudGl0eUNvbW1hbmRTY29wZS5TZWxlY3RlZCAmJiAhdGhpcy5oYXNTZWxlY3RlZEl0ZW1zKCkpXHJcbiAgICAgICAgLy8gICAgIClcclxuICAgICAgICAvLyAgICAgLm1hcCgodHIpID0+IG5ldyBBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgdHIpKSA/PyBbXTtcclxuICAgICAgICByZXR1cm4gW11cclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBwcmltYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAncHJpbWFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHNlY29uZGFyeUFjdGlvbnMgPSBjb21wdXRlZDxBWFBFbnRpdHlDb21tYW5kVHJpZ2dlclZpZXdNb2RlbFtdPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucygpLmZpbHRlcihjID0+IGMucHJpb3JpdHkgPT0gJ3NlY29uZGFyeScpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogRmlsdGVyICoqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gICAgcHJpdmF0ZSBpbmxpbmVGaWx0ZXJzOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XHJcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGxvZ2ljOiAnb3InLFxyXG4gICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcclxuICAgICAgICBmaWx0ZXJzOiBbXVxyXG4gICAgfTtcclxuXHJcbiAgICBhcHBseUlubGluZUZpbHRlcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgLy8gY29uc3QgcHJvcHMgPSB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihjID0+IGMub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpO1xyXG4gICAgICAgIC8vIHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzID0gW107XHJcbiAgICAgICAgLy8gaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgLy8gICAgIHByb3BzLmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycz8ucHVzaCh7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgZmllbGQ6IHAubmFtZSxcclxuICAgICAgICAvLyAgICAgICAgICAgICBvcGVyYXRvcjoge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICB0eXBlOiAnY29udGFpbnMnXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgfSxcclxuICAgICAgICAvLyAgICAgICAgICAgICB2YWx1ZVxyXG4gICAgICAgIC8vICAgICAgICAgfSlcclxuICAgICAgICAvLyAgICAgfSlcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgdGhpcy5hcHBseUZpbHRlckFuZFNvcnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseUZpbHRlckFuZFNvcnQoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmNsZWFyRmlsdGVyKCk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvL3RoaXMuZGF0YVNvdXJjZS5zb3J0KC4uLnRoaXMuZGV0YWlsRW50aXR5LigpLm1hcChzID0+ICh7IGRpcjogcy5kaXIsIGZpZWxkOiBzLm5hbWUgfSBhcyBBWERhdGFTb3VyY2VTb3J0T3B0aW9uKSkpO1xyXG4gICAgICAgIC8vXHJcblxyXG4gICAgICAgIGNvbnN0IHBhcmVudEZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbltdID0gdGhpcy5kZXRhaWxFbnRpdHlDb25maWcuY29uZGl0aW9ucz8ubWFwKGMgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IGMubmFtZSxcclxuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiAoYy5vcGVyYXRvciBhcyB1bmtub3duIGFzIEFYRGF0YVNvdXJjZU9wZXJhdG9yKSxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmVudC5kYXRhLmlkXHJcbiAgICAgICAgICAgIH0gYXMgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uO1xyXG4gICAgICAgIH0pID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudEZpbHRlcldyYXBwZXI6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICBsb2dpYzogJ2FuZCcsXHJcbiAgICAgICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcclxuICAgICAgICAgICAgZmlsdGVyczogcGFyZW50RmlsdGVyc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy9cclxuICAgICAgICBjb25zdCBpbmxpbmUgPSB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycz8ubGVuZ3RoID8/IDA7XHJcbiAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50RmlsdGVyV3JhcHBlci5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmIChpbmxpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmlubGluZUZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghaW5saW5lICYmIHBhcmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHBhcmVudEZpbHRlcldyYXBwZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbmxpbmUgJiYgcGFyZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgbG9naWM6ICdhbmQnLFxyXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyczogW3RoaXMuaW5saW5lRmlsdGVycywgcGFyZW50RmlsdGVyV3JhcHBlcl1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogQ29sdW1ucyAqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuICAgIGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV0YWlsRW50aXR5KCkpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmNvbHVtbnMgPz8gW11cclxuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSB0aGlzLmRldGFpbEVudGl0eSgpPy5wcm9wZXJ0aWVzLmZpbHRlcihjID0+XHJcbiAgICAgICAgICAgICAgICBjLnNjaGVtYS5oaWRkZW4gIT0gdHJ1ZSAmJlxyXG4gICAgICAgICAgICAgICAgYy5vcHRpb25zPy50YWJsZT8uZW5hYmxlZCAmJlxyXG4gICAgICAgICAgICAgICAgKGNvbHVtbnM/Lmxlbmd0aCA9PSAwIHx8IGNvbHVtbnM/LmluY2x1ZGVzKGMubmFtZSkpXHJcbiAgICAgICAgICAgICkgPz8gW107XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy5tYXAoZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eUxpc3RWaWV3Q29sdW1uVmlld01vZGVsKGUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICB9KTtcclxuXHJcblxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqICBDb21tYW5kcyAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIGFzeW5jIGV4ZWN1dGVDb21tYW5kKGNvbW1hbmROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSA9IG51bGwpIHtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbC1saXN0LnZpZXdtb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2VudGl0eS9zcmMvbGliL2VudGl0eS1kZXRhaWwtbGlzdC52aWV3bW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFvQyxnQ0FBZ0MsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFrRCxNQUFNLDJCQUEyQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9ELE1BQU0sT0FBTyw0QkFBNEI7SUF1QnJDLFlBQ1ksUUFBa0IsRUFDbEIsa0JBQW9DLEVBQ3BDLE1BQXdDO1FBRnhDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFrQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFrQztRQXZCNUMsaUJBQVksR0FBRyxNQUFNLENBQW1CLElBQUksQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbEQsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFJekQsZUFBVSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQzFCLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFB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bEIsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsSUFBVztZQUNyQixPQUFPLEVBQUUsYUFBYTtTQUN6QixDQUFDO1FBQ0YsRUFBRTtRQUNGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDeEQsRUFBRTtRQUNGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUNJLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQ0ksSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxJQUFXO2dCQUNsQixLQUFLLEVBQUUsS0FBSztnQkFDWixRQUFRLEVBQUUsSUFBVztnQkFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQzthQUNyRCxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsRUFBRTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQXVCRCxtREFBbUQ7SUFDNUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxXQUFtQixFQUFFLE9BQVksSUFBSTtJQUNqRSxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsLCBBWFBFbnRpdHlMaXN0Vmlld0NvbHVtblZpZXdNb2RlbCB9IGZyb20gXCIuL2VudGl0eS52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHsgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcclxuaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRGF0YVNvdXJjZU9wZXJhdG9yIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcclxuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3dcIjtcclxuaW1wb3J0IHsgQVhQX0VOVElUWV9ERUZJTklUSU9OX0xPQURFUiB9IGZyb20gXCIuL2VudGl0eS5jb25maWdcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5LCBBWFBSZWxhdGVkRW50aXR5IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbCB7XHJcblxyXG5cclxuICAgIHByaXZhdGUgZGV0YWlsRW50aXR5ID0gc2lnbmFsPEFYUEVudGl0eSB8IG51bGw+KG51bGwpO1xyXG4gICAgcHJpdmF0ZSBmb3JtYXRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhGb3JtYXRTZXJ2aWNlKVxyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSk7XHJcblxyXG5cclxuXHJcbiAgICBkYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh7XHJcbiAgICAgICAgYnlLZXk6IChrZXkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZnVuYyA9IHRoaXMuZGV0YWlsRW50aXR5KCk/LnF1ZXJpZXMuYnlLZXkuZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxvYWQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSB0aGlzLmRldGFpbEVudGl0eSgpPy5xdWVyaWVzLmxpc3Q/LmV4ZWN1dGUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgIHJldHVybiBmdW5jKGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGFnZVNpemU6IDUsXHJcbiAgICAgICAga2V5OiAnaWQnXHJcblxyXG4gICAgfSlcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwcml2YXRlIGRldGFpbEVudGl0eUNvbmZpZzogQVhQUmVsYXRlZEVudGl0eSxcclxuICAgICAgICBwcml2YXRlIHBhcmVudDogeyBlbnRpdHk6IEFYUEVudGl0eSwgZGF0YTogYW55IH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbml0aWFsaXplKCkge1xyXG4gICAgICAgIGNvbnN0IGxvYWRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUF9FTlRJVFlfREVGSU5JVElPTl9MT0FERVIpO1xyXG4gICAgICAgIGNvbnN0IFttb2R1bGVOYW1lLCBlbnRpdHlOYW1lXSA9IHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmVudGl0eS5zcGxpdCgnLicpO1xyXG4gICAgICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IGxvYWRlci5nZXQobW9kdWxlTmFtZSwgZW50aXR5TmFtZSlcclxuICAgICAgICBpZiAoIWVudGl0eSkge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBlbml0aXR5IG5hbWU6ICR7dGhpcy5kZXRhaWxFbnRpdHlDb25maWcuZW50aXR5fWApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGV0YWlsRW50aXR5LnNldChlbnRpdHkpO1xyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXJBbmRTb3J0KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZWxlY3RlZEl0ZW1zID0gc2lnbmFsPGFueVtdPihbXSk7XHJcblxyXG4gICAgcHVibGljIGhhc1NlbGVjdGVkSXRlbXMgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcygpLmxlbmd0aCA+IDBcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc2V0KFtdKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBUaXRsZSAqKioqKioqKioqKioqKioqKiovL1xyXG4gICAgcHVibGljIHRpdGxlID0gY29tcHV0ZWQ8c3RyaW5nPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLnRpdGxlID8/IHRoaXMuZGV0YWlsRW50aXR5KCk/LmludGVyZmFjZXM/LmRldGFpbD8ubGlzdD8udGl0bGUhID8/IHRoaXMuZGV0YWlsRW50aXR5KCk/LmZvcm1hdHMucGx1cmFsITtcclxuICAgIH0pO1xyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIElubGluZSBmaWx0ZXIgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHB1YmxpYyBpbmxpbmVGaWx0ZXJzUGxhY2Vob2xkZXJzID0gY29tcHV0ZWQ8c3RyaW5nW10+KCgpID0+IHtcclxuICAgICAgICAvL3JldHVybiB0aGlzLmVudGl0eURlZi5wcm9wZXJ0aWVzLmZpbHRlcihwID0+IHAub3B0aW9ucz8uZmlsdGVyPy5pbmxpbmU/LmVuYWJsZWQpLm1hcChjID0+IGMudGl0bGUpO1xyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHB1YmxpYyBoYXNJbmxpbmVGaWx0ZXJzID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlubGluZUZpbHRlcnNQbGFjZWhvbGRlcnMoKS5sZW5ndGggPiAwO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIC8vKioqKioqKioqKioqKioqKioqIEFjdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cclxuICAgIHByaXZhdGUgYWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICAvLyBjb25zdCBsaXN0ID0gdGhpcy5kZXRhaWxFbnRpdHkuaW50ZXJmYWNlcz8ubWFzdGVyPy5saXN0Py5hY3Rpb25zID8/IFtdO1xyXG4gICAgICAgIC8vIHJldHVybiBsaXN0XHJcbiAgICAgICAgLy8gICAgIC5maWx0ZXIoYSA9PlxyXG4gICAgICAgIC8vICAgICAgICAgKGEuc2NvcGUgPT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkICYmIHRoaXMuaGFzU2VsZWN0ZWRJdGVtcygpKSB8fFxyXG4gICAgICAgIC8vICAgICAgICAgKGEuc2NvcGUgIT0gQVhQRW50aXR5Q29tbWFuZFNjb3BlLlNlbGVjdGVkICYmICF0aGlzLmhhc1NlbGVjdGVkSXRlbXMoKSlcclxuICAgICAgICAvLyAgICAgKVxyXG4gICAgICAgIC8vICAgICAubWFwKCh0cikgPT4gbmV3IEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsKHRoaXMuZW50aXR5RGVmLCB0cikpID8/IFtdO1xyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIHByaW1hcnlBY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q29tbWFuZFRyaWdnZXJWaWV3TW9kZWxbXT4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFjdGlvbnMoKS5maWx0ZXIoYyA9PiBjLnByaW9yaXR5ID09ICdwcmltYXJ5Jyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNvbW1hbmRUcmlnZ2VyVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkuZmlsdGVyKGMgPT4gYy5wcmlvcml0eSA9PSAnc2Vjb25kYXJ5Jyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyoqKioqKioqKioqKioqKioqKiBGaWx0ZXIgKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgICBwcml2YXRlIGlubGluZUZpbHRlcnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcclxuICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXHJcbiAgICAgICAgbG9naWM6ICdvcicsXHJcbiAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxyXG4gICAgICAgIGZpbHRlcnM6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIGFwcGx5SW5saW5lRmlsdGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICAvLyBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5RGVmLnByb3BlcnRpZXMuZmlsdGVyKGMgPT4gYy5vcHRpb25zPy5maWx0ZXI/LmlubGluZT8uZW5hYmxlZCk7XHJcbiAgICAgICAgLy8gdGhpcy5pbmxpbmVGaWx0ZXJzLmZpbHRlcnMgPSBbXTtcclxuICAgICAgICAvLyBpZiAodmFsdWUpIHtcclxuICAgICAgICAvLyAgICAgcHJvcHMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICAvLyAgICAgICAgIHRoaXMuaW5saW5lRmlsdGVycy5maWx0ZXJzPy5wdXNoKHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBmaWVsZDogcC5uYW1lLFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIG9wZXJhdG9yOiB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHR5cGU6ICdjb250YWlucydcclxuICAgICAgICAvLyAgICAgICAgICAgICB9LFxyXG4gICAgICAgIC8vICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgLy8gICAgICAgICB9KVxyXG4gICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyQW5kU29ydCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5RmlsdGVyQW5kU29ydCgpIHtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuY2xlYXJGaWx0ZXIoKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vdGhpcy5kYXRhU291cmNlLnNvcnQoLi4udGhpcy5kZXRhaWxFbnRpdHkuKCkubWFwKHMgPT4gKHsgZGlyOiBzLmRpciwgZmllbGQ6IHMubmFtZSB9IGFzIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24pKSk7XHJcbiAgICAgICAgLy9cclxuXHJcbiAgICAgICAgY29uc3QgcGFyZW50RmlsdGVyczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uW10gPSB0aGlzLmRldGFpbEVudGl0eUNvbmZpZy5jb25kaXRpb25zPy5tYXAoYyA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBmaWVsZDogYy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IChjLm9wZXJhdG9yIGFzIHVua25vd24gYXMgQVhEYXRhU291cmNlT3BlcmF0b3IpLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucGFyZW50LmRhdGE/LmlkXHJcbiAgICAgICAgICAgIH0gYXMgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uO1xyXG4gICAgICAgIH0pID8/IFtdO1xyXG4gICAgICAgIGNvbnN0IHBhcmVudEZpbHRlcldyYXBwZXI6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcclxuICAgICAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICBsb2dpYzogJ2FuZCcsXHJcbiAgICAgICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcclxuICAgICAgICAgICAgZmlsdGVyczogcGFyZW50RmlsdGVyc1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy9cclxuICAgICAgICBjb25zdCBpbmxpbmUgPSB0aGlzLmlubGluZUZpbHRlcnMuZmlsdGVycz8ubGVuZ3RoID8/IDA7XHJcbiAgICAgICAgY29uc3QgcGFyZW50ID0gcGFyZW50RmlsdGVyV3JhcHBlci5maWx0ZXJzPy5sZW5ndGggPz8gMDtcclxuICAgICAgICAvL1xyXG4gICAgICAgIGlmIChpbmxpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih0aGlzLmlubGluZUZpbHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghaW5saW5lICYmIHBhcmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHBhcmVudEZpbHRlcldyYXBwZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbmxpbmUgJiYgcGFyZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xyXG4gICAgICAgICAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgbG9naWM6ICdhbmQnLFxyXG4gICAgICAgICAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyczogW3RoaXMuaW5saW5lRmlsdGVycywgcGFyZW50RmlsdGVyV3JhcHBlcl1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogQ29sdW1ucyAqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuICAgIGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV0YWlsRW50aXR5KCkpIHtcclxuICAgICAgICAgICAgY29uc3QgZGV0YWlsQ29sdW1ucyA9IHRoaXMuZGV0YWlsRW50aXR5Q29uZmlnLmNvbHVtbnMgPz8gW11cclxuICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZGV0YWlsRW50aXR5KCk/LmNvbHVtbnM/Lm1hcChjID0+IGMubmFtZSkgPz8gW107XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5kZXRhaWxFbnRpdHkoKT8ucHJvcGVydGllcy5maWx0ZXIocCA9PlxyXG4gICAgICAgICAgICAgICAgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUgJiZcclxuICAgICAgICAgICAgICAgIChkZXRhaWxDb2x1bW5zPy5sZW5ndGggPT0gMCB8fCBkZXRhaWxDb2x1bW5zPy5pbmNsdWRlcyhwLm5hbWUpKVxyXG4gICAgICAgICAgICApID8/IFtdXHJcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlDb2x1bW5zID0gcHJvcHMuZmlsdGVyKHAgPT4gY29sdW1ucy5zb21lKGMgPT4gYyA9PSBwLm5hbWUpKTtcclxuICAgICAgICAgICAgcmV0dXJuIGRpc3BsYXlDb2x1bW5zLm1hcChwID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TGlzdFZpZXdDb2x1bW5WaWV3TW9kZWwocCwgdGhpcy5kZXRhaWxFbnRpdHkoKT8uY29sdW1ucz8uZmluZChjID0+IGMubmFtZSA9PSBwLm5hbWUpISk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH0pO1xyXG5cclxuXHJcblxyXG4gICAgLy8qKioqKioqKioqKioqKioqKiogIENvbW1hbmRzICoqKioqKioqKioqKioqKioqKi8vXHJcbiAgICBwdWJsaWMgYXN5bmMgZXhlY3V0ZUNvbW1hbmQoY29tbWFuZE5hbWU6IHN0cmluZywgZGF0YTogYW55ID0gbnVsbCkge1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -5,52 +5,54 @@ import { cloneDeep, merge, set } from "lodash-es";
5
5
  import { AXPLayoutService } from "@acorex/platform/common";
6
6
  import * as i0 from "@angular/core";
7
7
  export class AXPEntityCreateViewSectionViewModel {
8
- constructor(entity, group) {
8
+ constructor(entity, section) {
9
9
  this.entity = entity;
10
- this.group = group;
10
+ this.section = section;
11
+ this.group = this.entity.groups?.find(c => c.id == this.section.id);
11
12
  this.name = signal(this.group.id);
12
13
  this.title = computed(() => {
13
- if (this.group.title)
14
- return this.group.title;
15
- return this.group.id;
14
+ return this.group.title ?? this.group.id;
16
15
  });
17
16
  this.description = computed(() => {
18
- if (this.group.description)
19
- return this.group.description;
20
- return null;
17
+ return this.group.description;
18
+ ;
21
19
  });
22
20
  this.layout = computed(() => {
23
- const source = cloneDeep(this.group.layout ?? {});
21
+ const source = cloneDeep(this.section.layout ?? {});
24
22
  set(source, "positions.default.colSpan", 12);
25
23
  return source;
26
24
  });
27
25
  this.elements = computed(() => {
28
- const props = this.entity.properties.filter(c => c.groupId == this.group.id &&
29
- c.schema.hidden != true &&
30
- c.options?.create?.enabled != false);
31
- return props.map(e => {
32
- return new AXPEntityCreateViewElementViewModel(this.entity, this, e);
26
+ const { interfaces, properties } = this.entity;
27
+ const createProps = interfaces?.master?.create?.properties ?? [];
28
+ const createPropNames = new Set(createProps.map(({ name }) => name));
29
+ const filteredProperties = properties.filter(({ groupId, schema, name }) => groupId === this.group.id &&
30
+ !schema.hidden &&
31
+ createPropNames.has(name));
32
+ return filteredProperties.map(property => {
33
+ const createProp = createProps.find(({ name }) => name === property.name);
34
+ return new AXPEntityCreateViewElementViewModel(this.entity, this, property, createProp);
33
35
  });
34
36
  });
35
37
  }
36
38
  }
37
39
  export class AXPEntityCreateViewElementViewModel {
38
- constructor(entity, section, property) {
40
+ constructor(entity, section, property, createProp) {
39
41
  this.entity = entity;
40
42
  this.section = section;
41
43
  this.property = property;
44
+ this.createProp = createProp;
42
45
  this.name = signal(this.property.name);
43
46
  this.title = signal(this.property.title);
44
47
  this.description = signal(this.property.description);
45
48
  this.editable = computed(() => {
46
49
  return !(this.property.schema.readonly ?? false);
47
50
  });
48
- this.order = signal(this.property.options?.view?.layout?.order ?? 0);
49
51
  this.isRequired = computed(() => {
50
52
  return this.property.validations?.some(c => c.rule == 'required') || false;
51
53
  });
52
54
  this.layout = computed(() => {
53
- const source = cloneDeep(this.property.options?.create?.layout ?? this.property.options?.view?.layout ?? {});
55
+ const source = cloneDeep(this.createProp.layout ?? {});
54
56
  set(source, "positions.default.colSpan", 12);
55
57
  return source;
56
58
  });
@@ -64,28 +66,43 @@ export class AXPEntityCreateViewElementViewModel {
64
66
  children: widget.children,
65
67
  formula: widget.formula,
66
68
  triggers: widget.triggers,
67
- options: merge(schema.interface?.options, this.property.options?.create?.widget, { validationRules: this.property.validations })
69
+ options: merge(schema.interface?.options,
70
+ //this.property.options?.create?.widget,
71
+ { validationRules: this.property.validations })
68
72
  };
69
73
  });
70
74
  }
71
75
  }
72
76
  export class AXPEntityMasterCreateViewModel {
73
- constructor(injector, config, initialData = null) {
77
+ constructor(injector, config, initialData = {}) {
74
78
  this.injector = injector;
75
79
  this.config = config;
76
80
  this.initialData = initialData;
77
81
  this.entityDef = cloneDeep(this.config);
78
82
  this.workflow = this.injector.get(AXPWorkflowService);
79
- this.context = signal({});
83
+ this.context = signal(this.initialData ?? {});
80
84
  this.isInProgress = signal(false);
81
85
  this.sections = computed(() => {
82
- const props = this.entityDef.properties.filter(p => p.groupId && p.schema.hidden != true && p.options?.create?.enabled == true);
83
- const groups = this.entityDef.groups?.filter(g => props.some(p => p.groupId == g.id));
84
- const result = groups?.map((section) => {
85
- return new AXPEntityCreateViewSectionViewModel(this.entityDef, section);
86
- });
87
- return (result ?? []);
86
+ const { interfaces, properties } = this.entityDef;
87
+ const createProps = interfaces?.master?.create?.properties?.map(({ name }) => name) ?? [];
88
+ const visibleProperties = properties.filter(({ groupId, schema, name }) => groupId && !schema.hidden && createProps.includes(name));
89
+ const sections = interfaces?.master?.create?.sections?.filter(({ id }) => visibleProperties.some(({ groupId }) => groupId === id)) ?? [];
90
+ return sections.map(section => new AXPEntityCreateViewSectionViewModel(this.entityDef, section));
91
+ });
92
+ if (!initialData)
93
+ initialData = {};
94
+ this.config.properties
95
+ .filter(c => c.schema.defaultValue != null)
96
+ .forEach(p => {
97
+ if (typeof p.schema.defaultValue === 'function') {
98
+ const func = p.schema.defaultValue;
99
+ set(initialData, p.name, func(initialData));
100
+ }
101
+ else {
102
+ set(initialData, p.name, p.schema.defaultValue);
103
+ }
88
104
  });
105
+ this.context.set(initialData);
89
106
  }
90
107
  async save() {
91
108
  try {
@@ -125,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
125
142
  type: Injectable,
126
143
  args: [{ providedIn: 'root' }]
127
144
  }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5L3NyYy9saWIvZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsRCxPQUFPLEVBQThFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRXZJLE1BQU0sT0FBTyxtQ0FBbUM7SUFFNUMsWUFBb0IsTUFBaUIsRUFBVSxLQUE2QjtRQUF4RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBd0I7UUFJNUUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLFVBQUssR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxnQkFBVyxHQUFHLFFBQVEsQ0FBNEIsR0FBRyxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2dCQUN0QixP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LENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWTtRQUNyQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUN6QyxPQUFPLEVBQUU7Z0JBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtnQkFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSTthQUM5QjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSjtBQUdELE1BQU0sT0FBTywrQkFBK0I7SUFENUM7UUFFWSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELFdBQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBUXZDO0lBTlUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFrQixFQUFFLFVBQWtCLEVBQUUsY0FBbUIsSUFBSTtRQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLDhCQUE4QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7OEdBVlEsK0JBQStCO2tIQUEvQiwrQkFBK0IsY0FEbEIsTUFBTTs7MkZBQ25CLCtCQUErQjtrQkFEM0MsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIEluamVjdG9yLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQVhQRW50aXR5RGVmaW5pdGlvblJlZ2lzdHJ5U2VydmljZSB9IGZyb20gXCIuL2VudGl0eS1yZWdpc3Rlcnkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvd1wiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAsIG1lcmdlLCBzZXQgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IEFYUFdpZGdldE5vZGUgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlclwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eVByb3BlcnR5R3JvdXAsIEFYUEdyaWRMYXlvdXRPcHRpb25zLCBBWFBFbnRpdHlQcm9wZXJ0eSwgQVhQTGF5b3V0U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2NvbW1vblwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudGl0eTogQVhQRW50aXR5LCBwcml2YXRlIGdyb3VwOiBBWFBFbnRpdHlQcm9wZXJ0eUdyb3VwKSB7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5hbWUgPSBzaWduYWwodGhpcy5ncm91cC5pZCk7XHJcblxyXG4gICAgdGl0bGUgPSBjb21wdXRlZDxzdHJpbmc+KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5ncm91cC50aXRsZSlcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAudGl0bGU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuaWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5ncm91cC5kZXNjcmlwdGlvbilcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXAuZGVzY3JpcHRpb247XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsYXlvdXQgPSBjb21wdXRlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lRGVlcCh0aGlzLmdyb3VwLmxheW91dCA/PyB7fSkgYXMgb2JqZWN0O1xyXG4gICAgICAgIHNldChzb3VyY2UsIFwicG9zaXRpb25zLmRlZmF1bHQuY29sU3BhblwiLCAxMik7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBBWFBHcmlkTGF5b3V0T3B0aW9ucztcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBlbGVtZW50cyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgICBjb25zdCBwcm9wcyA9IHRoaXMuZW50aXR5LnByb3BlcnRpZXMuZmlsdGVyKGMgPT5cclxuICAgICAgICAgICAgYy5ncm91cElkID09IHRoaXMuZ3JvdXAuaWQgJiZcclxuICAgICAgICAgICAgYy5zY2hlbWEuaGlkZGVuICE9IHRydWUgJiZcclxuICAgICAgICAgICAgYy5vcHRpb25zPy5jcmVhdGU/LmVuYWJsZWQgIT0gZmFsc2UpO1xyXG4gICAgICAgIHJldHVybiBwcm9wcy5tYXAoZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5Q3JlYXRlVmlld0VsZW1lbnRWaWV3TW9kZWwodGhpcy5lbnRpdHksIHRoaXMsIGUpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNyZWF0ZVZpZXdFbGVtZW50Vmlld01vZGVsIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVudGl0eTogQVhQRW50aXR5LCBwcml2YXRlIHNlY3Rpb246IEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsLCBwcml2YXRlIHByb3BlcnR5OiBBWFBFbnRpdHlQcm9wZXJ0eSkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuYW1lID0gc2lnbmFsKHRoaXMucHJvcGVydHkubmFtZSk7XHJcbiAgICB0aXRsZSA9IHNpZ25hbCh0aGlzLnByb3BlcnR5LnRpdGxlKTtcclxuICAgIGRlc2NyaXB0aW9uID0gc2lnbmFsKHRoaXMucHJvcGVydHkuZGVzY3JpcHRpb24pO1xyXG5cclxuICAgIGVkaXRhYmxlID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhKHRoaXMucHJvcGVydHkuc2NoZW1hLnJlYWRvbmx5ID8/IGZhbHNlKVxyXG4gICAgfSk7XHJcblxyXG4gICAgb3JkZXIgPSBzaWduYWwodGhpcy5wcm9wZXJ0eS5vcHRpb25zPy52aWV3Py5sYXlvdXQ/Lm9yZGVyID8/IDApO1xyXG5cclxuICAgIGlzUmVxdWlyZWQgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydHkudmFsaWRhdGlvbnM/LnNvbWUoYyA9PiBjLnJ1bGUgPT0gJ3JlcXVpcmVkJykgfHwgZmFsc2VcclxuICAgIH0pO1xyXG5cclxuICAgIGxheW91dCA9IGNvbXB1dGVkPEFYUEdyaWRMYXlvdXRPcHRpb25zPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc291cmNlID0gY2xvbmVEZWVwKHRoaXMucHJvcGVydHkub3B0aW9ucz8uY3JlYXRlPy5sYXlvdXQgPz8gdGhpcy5wcm9wZXJ0eS5vcHRpb25zPy52aWV3Py5sYXlvdXQgPz8ge30pIGFzIG9iamVjdDtcclxuICAgICAgICBzZXQoc291cmNlLCBcInBvc2l0aW9ucy5kZWZhdWx0LmNvbFNwYW5cIiwgMTIpO1xyXG4gICAgICAgIHJldHVybiBzb3VyY2UgYXMgQVhQR3JpZExheW91dE9wdGlvbnM7XHJcbiAgICB9KTtcclxuXHJcbiAgICBub2RlID0gY29tcHV0ZWQ8QVhQV2lkZ2V0Tm9kZT4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMucHJvcGVydHkuc2NoZW1hITtcclxuICAgICAgICBjb25zdCB3aWRnZXQgPSBzY2hlbWEuaW50ZXJmYWNlITtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiB3aWRnZXQudHlwZSxcclxuICAgICAgICAgICAgbW9kZTogdGhpcy5lZGl0YWJsZSgpID8gJ2VkaXQnIDogJ3ZpZXcnLFxyXG4gICAgICAgICAgICBwYXRoOiB0aGlzLm5hbWUoKSxcclxuICAgICAgICAgICAgY2hpbGRyZW46IHdpZGdldC5jaGlsZHJlbixcclxuICAgICAgICAgICAgZm9ybXVsYTogd2lkZ2V0LmZvcm11bGEsXHJcbiAgICAgICAgICAgIHRyaWdnZXJzOiB3aWRnZXQudHJpZ2dlcnMsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IG1lcmdlKFxyXG4gICAgICAgICAgICAgICAgc2NoZW1hLmludGVyZmFjZT8ub3B0aW9ucyxcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvcGVydHkub3B0aW9ucz8uY3JlYXRlPy53aWRnZXQsXHJcbiAgICAgICAgICAgICAgICB7IHZhbGlkYXRpb25SdWxlczogdGhpcy5wcm9wZXJ0eS52YWxpZGF0aW9ucyB9LFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfSBhcyBBWFBXaWRnZXROb2RlO1xyXG4gICAgfSlcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNYXN0ZXJDcmVhdGVWaWV3TW9kZWwge1xyXG5cclxuICAgIHByaXZhdGUgZW50aXR5RGVmID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKSE7XHJcblxyXG4gICAgcHJpdmF0ZSB3b3JrZmxvdyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYUFdvcmtmbG93U2VydmljZSlcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IEFYUEVudGl0eSxcclxuICAgICAgICBwcml2YXRlIGluaXRpYWxEYXRhOiBhbnkgPSBudWxsLFxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbnRleHQgPSBzaWduYWw8YW55Pih7fSk7XHJcblxyXG4gICAgcHVibGljIGlzSW5Qcm9ncmVzcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgcHVibGljIHNlY3Rpb25zID0gY29tcHV0ZWQ8QVhQRW50aXR5Q3JlYXRlVmlld1NlY3Rpb25WaWV3TW9kZWxbXT4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHByb3BzID0gdGhpcy5lbnRpdHlEZWYucHJvcGVydGllcy5maWx0ZXIocCA9PiBwLmdyb3VwSWQgJiYgcC5zY2hlbWEuaGlkZGVuICE9IHRydWUgJiYgcC5vcHRpb25zPy5jcmVhdGU/LmVuYWJsZWQgPT0gdHJ1ZSk7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gdGhpcy5lbnRpdHlEZWYuZ3JvdXBzPy5maWx0ZXIoZyA9PiBwcm9wcy5zb21lKHAgPT4gcC5ncm91cElkID09IGcuaWQpKTtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBncm91cHM/Lm1hcCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsKHRoaXMuZW50aXR5RGVmLCBzZWN0aW9uKVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIChyZXN1bHQgPz8gW10pIGFzIEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsW107XHJcbiAgICB9KTtcclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc2F2ZSgpOiBQcm9taXNlPGFueSB8IHZvaWQ+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSW5Qcm9ncmVzcy5zZXQodHJ1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGV4ZWMgPSB0aGlzLmVudGl0eURlZi5jb21tYW5kcz8uY3JlYXRlPy5leGVjdXRlIGFzIEZ1bmN0aW9uO1xyXG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgZXhlYygodGhpcy5jb250ZXh0KCkpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNJblByb2dyZXNzLnNldChmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBjcmVhdGVOZXdPbmUoKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdjcmVhdGUtZW50aXR5Jywge1xyXG4gICAgICAgICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgICAgICAgICBtb2R1bGU6IHRoaXMuZW50aXR5RGVmLm1vZHVsZSxcclxuICAgICAgICAgICAgICAgIGVudGl0eTogdGhpcy5lbnRpdHlEZWYubmFtZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eUNyZWF0ZVZpZXdNb2RlbEZhY3Rvcnkge1xyXG4gICAgcHJpdmF0ZSBlbnRpdHlTZXJ2aWNlID0gaW5qZWN0KEFYUEVudGl0eURlZmluaXRpb25SZWdpc3RyeVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0U2VydmljZSk7XHJcbiAgICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlKG1vZHVsZU5hbWU6IHN0cmluZywgZW50aXR5TmFtZTogc3RyaW5nLCBpbml0aWFsRGF0YTogYW55ID0gbnVsbCk6IFByb21pc2U8QVhQRW50aXR5TWFzdGVyQ3JlYXRlVmlld01vZGVsPiB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XHJcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgIHJldHVybiBuZXcgQVhQRW50aXR5TWFzdGVyQ3JlYXRlVmlld01vZGVsKHRoaXMuaW5qZWN0b3IsIGNvbmZpZywgaW5pdGlhbERhdGEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5L3NyYy9saWIvZW50aXR5LW1hc3Rlci1jcmVhdGUudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsRCxPQUFPLEVBQThFLGdCQUFnQixFQUFxRCxNQUFNLHlCQUF5QixDQUFDOztBQUUxTCxNQUFNLE9BQU8sbUNBQW1DO0lBRTVDLFlBQW9CLE1BQWlCLEVBQVUsT0FBNkI7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBSTVFLFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFFLENBQUM7UUFDaEUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLFVBQUssR0FBRyxRQUFRLENBQVMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENB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QUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQ3pDLE9BQU8sRUFBRTtnQkFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNO2dCQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJO2FBQzlCO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBR0QsTUFBTSxPQUFPLCtCQUErQjtJQUQ1QztRQUVZLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDM0QsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FRdkM7SUFOVSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQWtCLEVBQUUsVUFBa0IsRUFBRSxjQUFtQixJQUFJO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs4R0FWUSwrQkFBK0I7a0hBQS9CLCtCQUErQixjQURsQixNQUFNOzsyRkFDbkIsK0JBQStCO2tCQUQzQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSBcIi4vZW50aXR5LXJlZ2lzdGVyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93XCI7XHJcbmltcG9ydCB7IGNsb25lRGVlcCwgbWVyZ2UsIHNldCB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuaW1wb3J0IHsgQVhQV2lkZ2V0Tm9kZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyXCI7XHJcbmltcG9ydCB7IEFYUEVudGl0eSwgQVhQRW50aXR5UHJvcGVydHlHcm91cCwgQVhQR3JpZExheW91dE9wdGlvbnMsIEFYUEVudGl0eVByb3BlcnR5LCBBWFBMYXlvdXRTZXJ2aWNlLCBBWFBFbnRpdHlQcm9wZXJ0eUNyZWF0ZVZpZXcsIEFYUEVudGl0eVNlY3Rpb25WaWV3IH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld1NlY3Rpb25WaWV3TW9kZWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5U2VjdGlvblZpZXcpIHtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZ3JvdXAgPSB0aGlzLmVudGl0eS5ncm91cHM/LmZpbmQoYyA9PiBjLmlkID09IHRoaXMuc2VjdGlvbi5pZCkhO1xyXG4gICAgbmFtZSA9IHNpZ25hbCh0aGlzLmdyb3VwLmlkKTtcclxuXHJcbiAgICB0aXRsZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdyb3VwLnRpdGxlID8/IHRoaXMuZ3JvdXAuaWQ7XHJcbiAgICB9KTtcclxuXHJcbiAgICBkZXNjcmlwdGlvbiA9IGNvbXB1dGVkPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ncm91cC5kZXNjcmlwdGlvbjs7XHJcbiAgICB9KTtcclxuXHJcbiAgICBsYXlvdXQgPSBjb21wdXRlZDxBWFBHcmlkTGF5b3V0T3B0aW9ucz4oKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNsb25lRGVlcCh0aGlzLnNlY3Rpb24ubGF5b3V0ID8/IHt9KSBhcyBvYmplY3Q7XHJcbiAgICAgICAgc2V0KHNvdXJjZSwgXCJwb3NpdGlvbnMuZGVmYXVsdC5jb2xTcGFuXCIsIDEyKTtcclxuICAgICAgICByZXR1cm4gc291cmNlIGFzIEFYUEdyaWRMYXlvdXRPcHRpb25zO1xyXG4gICAgfSk7XHJcblxyXG5cclxuICAgIGVsZW1lbnRzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgaW50ZXJmYWNlcywgcHJvcGVydGllcyB9ID0gdGhpcy5lbnRpdHk7XHJcbiAgICAgICAgY29uc3QgY3JlYXRlUHJvcHMgPSBpbnRlcmZhY2VzPy5tYXN0ZXI/LmNyZWF0ZT8ucHJvcGVydGllcyA/PyBbXTtcclxuICAgICAgICBjb25zdCBjcmVhdGVQcm9wTmFtZXMgPSBuZXcgU2V0KGNyZWF0ZVByb3BzLm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpKTtcclxuXHJcbiAgICAgICAgY29uc3QgZmlsdGVyZWRQcm9wZXJ0aWVzID0gcHJvcGVydGllcy5maWx0ZXIoKHsgZ3JvdXBJZCwgc2NoZW1hLCBuYW1lIH0pID0+XHJcbiAgICAgICAgICAgIGdyb3VwSWQgPT09IHRoaXMuZ3JvdXAuaWQgJiZcclxuICAgICAgICAgICAgIXNjaGVtYS5oaWRkZW4gJiZcclxuICAgICAgICAgICAgY3JlYXRlUHJvcE5hbWVzLmhhcyhuYW1lKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFByb3BlcnRpZXMubWFwKHByb3BlcnR5ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY3JlYXRlUHJvcCA9IGNyZWF0ZVByb3BzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBwcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBWFBFbnRpdHlDcmVhdGVWaWV3RWxlbWVudFZpZXdNb2RlbCh0aGlzLmVudGl0eSwgdGhpcywgcHJvcGVydHksIGNyZWF0ZVByb3AhKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5Q3JlYXRlVmlld0VsZW1lbnRWaWV3TW9kZWwge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZW50aXR5OiBBWFBFbnRpdHksIHByaXZhdGUgc2VjdGlvbjogQVhQRW50aXR5Q3JlYXRlVmlld1NlY3Rpb25WaWV3TW9kZWwsIHByaXZhdGUgcHJvcGVydHk6IEFYUEVudGl0eVByb3BlcnR5LCBwcml2YXRlIGNyZWF0ZVByb3A6IEFYUEVudGl0eVByb3BlcnR5Q3JlYXRlVmlldykge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuYW1lID0gc2lnbmFsKHRoaXMucHJvcGVydHkubmFtZSk7XHJcbiAgICB0aXRsZSA9IHNpZ25hbCh0aGlzLnByb3BlcnR5LnRpdGxlKTtcclxuICAgIGRlc2NyaXB0aW9uID0gc2lnbmFsKHRoaXMucHJvcGVydHkuZGVzY3JpcHRpb24pO1xyXG5cclxuICAgIGVkaXRhYmxlID0gY29tcHV0ZWQ8Ym9vbGVhbj4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiAhKHRoaXMucHJvcGVydHkuc2NoZW1hLnJlYWRvbmx5ID8/IGZhbHNlKVxyXG4gICAgfSk7XHJcblxyXG4gICAgaXNSZXF1aXJlZCA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eS52YWxpZGF0aW9ucz8uc29tZShjID0+IGMucnVsZSA9PSAncmVxdWlyZWQnKSB8fCBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGF5b3V0ID0gY29tcHV0ZWQ8QVhQR3JpZExheW91dE9wdGlvbnM+KCgpID0+IHtcclxuICAgICAgICBjb25zdCBzb3VyY2UgPSBjbG9uZURlZXAodGhpcy5jcmVhdGVQcm9wLmxheW91dCA/PyB7fSkgYXMgb2JqZWN0O1xyXG4gICAgICAgIHNldChzb3VyY2UsIFwicG9zaXRpb25zLmRlZmF1bHQuY29sU3BhblwiLCAxMik7XHJcbiAgICAgICAgcmV0dXJuIHNvdXJjZSBhcyBBWFBHcmlkTGF5b3V0T3B0aW9ucztcclxuICAgIH0pO1xyXG5cclxuICAgIG5vZGUgPSBjb21wdXRlZDxBWFBXaWRnZXROb2RlPigoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gdGhpcy5wcm9wZXJ0eS5zY2hlbWEhO1xyXG4gICAgICAgIGNvbnN0IHdpZGdldCA9IHNjaGVtYS5pbnRlcmZhY2UhO1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHR5cGU6IHdpZGdldC50eXBlLFxyXG4gICAgICAgICAgICBtb2RlOiB0aGlzLmVkaXRhYmxlKCkgPyAnZWRpdCcgOiAndmlldycsXHJcbiAgICAgICAgICAgIHBhdGg6IHRoaXMubmFtZSgpLFxyXG4gICAgICAgICAgICBjaGlsZHJlbjogd2lkZ2V0LmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmb3JtdWxhOiB3aWRnZXQuZm9ybXVsYSxcclxuICAgICAgICAgICAgdHJpZ2dlcnM6IHdpZGdldC50cmlnZ2VycyxcclxuICAgICAgICAgICAgb3B0aW9uczogbWVyZ2UoXHJcbiAgICAgICAgICAgICAgICBzY2hlbWEuaW50ZXJmYWNlPy5vcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgLy90aGlzLnByb3BlcnR5Lm9wdGlvbnM/LmNyZWF0ZT8ud2lkZ2V0LFxyXG4gICAgICAgICAgICAgICAgeyB2YWxpZGF0aW9uUnVsZXM6IHRoaXMucHJvcGVydHkudmFsaWRhdGlvbnMgfSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0gYXMgQVhQV2lkZ2V0Tm9kZTtcclxuICAgIH0pXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TWFzdGVyQ3JlYXRlVmlld01vZGVsIHtcclxuXHJcbiAgICBwcml2YXRlIGVudGl0eURlZiA9IGNsb25lRGVlcCh0aGlzLmNvbmZpZykhO1xyXG5cclxuICAgIHByaXZhdGUgd29ya2Zsb3cgPSB0aGlzLmluamVjdG9yLmdldChBWFBXb3JrZmxvd1NlcnZpY2UpXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHksXHJcbiAgICAgICAgcHJpdmF0ZSBpbml0aWFsRGF0YTogYW55ID0ge30sXHJcbiAgICApIHtcclxuXHJcbiAgICAgICAgaWYgKCFpbml0aWFsRGF0YSlcclxuICAgICAgICAgICAgaW5pdGlhbERhdGEgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbmZpZy5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgIC5maWx0ZXIoYyA9PiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUgIT0gbnVsbClcclxuICAgICAgICAgICAgLmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHAuc2NoZW1hLmRlZmF1bHRWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBwLnNjaGVtYS5kZWZhdWx0VmFsdWUgYXMgRnVuY3Rpb247XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0KGluaXRpYWxEYXRhLCBwLm5hbWUsIGZ1bmMoaW5pdGlhbERhdGEpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldChpbml0aWFsRGF0YSwgcC5uYW1lLCBwLnNjaGVtYS5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbnRleHQuc2V0KGluaXRpYWxEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29udGV4dCA9IHNpZ25hbDxhbnk+KHRoaXMuaW5pdGlhbERhdGEgPz8ge30pO1xyXG5cclxuICAgIHB1YmxpYyBpc0luUHJvZ3Jlc3MgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAgIHB1YmxpYyBzZWN0aW9ucyA9IGNvbXB1dGVkPEFYUEVudGl0eUNyZWF0ZVZpZXdTZWN0aW9uVmlld01vZGVsW10+KCgpID0+IHtcclxuICAgICAgICBjb25zdCB7IGludGVyZmFjZXMsIHByb3BlcnRpZXMgfSA9IHRoaXMuZW50aXR5RGVmO1xyXG4gICAgICAgIGNvbnN0IGNyZWF0ZVByb3BzID0gaW50ZXJmYWNlcz8ubWFzdGVyPy5jcmVhdGU/LnByb3BlcnRpZXM/Lm1hcCgoeyBuYW1lIH0pID0+IG5hbWUpID8/IFtdO1xyXG5cclxuICAgICAgICBjb25zdCB2aXNpYmxlUHJvcGVydGllcyA9IHByb3BlcnRpZXMuZmlsdGVyKCh7IGdyb3VwSWQsIHNjaGVtYSwgbmFtZSB9KSA9PlxyXG4gICAgICAgICAgICBncm91cElkICYmICFzY2hlbWEuaGlkZGVuICYmIGNyZWF0ZVByb3BzLmluY2x1ZGVzKG5hbWUpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2VjdGlvbnMgPSBpbnRlcmZhY2VzPy5tYXN0ZXI/LmNyZWF0ZT8uc2VjdGlvbnM/LmZpbHRlcigoeyBpZCB9KSA9PlxyXG4gICAgICAgICAgICB2aXNpYmxlUHJvcGVydGllcy5zb21lKCh7IGdyb3VwSWQgfSkgPT4gZ3JvdXBJZCA9PT0gaWQpXHJcbiAgICAgICAgKSA/PyBbXTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlY3Rpb25zLm1hcChzZWN0aW9uID0+IG5ldyBBWFBFbnRpdHlDcmVhdGVWaWV3U2VjdGlvblZpZXdNb2RlbCh0aGlzLmVudGl0eURlZiwgc2VjdGlvbikpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHNhdmUoKTogUHJvbWlzZTxhbnkgfCB2b2lkPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy5pc0luUHJvZ3Jlc3Muc2V0KHRydWUpO1xyXG4gICAgICAgICAgICBjb25zdCBleGVjID0gdGhpcy5lbnRpdHlEZWYuY29tbWFuZHM/LmNyZWF0ZT8uZXhlY3V0ZSBhcyBGdW5jdGlvbjtcclxuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGV4ZWMoKHRoaXMuY29udGV4dCgpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSW5Qcm9ncmVzcy5zZXQoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgY3JlYXRlTmV3T25lKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgnY3JlYXRlLWVudGl0eScsIHtcclxuICAgICAgICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgICAgICAgICAgbW9kdWxlOiB0aGlzLmVudGl0eURlZi5tb2R1bGUsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHk6IHRoaXMuZW50aXR5RGVmLm5hbWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlDcmVhdGVWaWV3TW9kZWxGYWN0b3J5IHtcclxuICAgIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlEZWZpbml0aW9uUmVnaXN0cnlTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZywgaW5pdGlhbERhdGE6IGFueSA9IG51bGwpOiBQcm9taXNlPEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbD4ge1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKHRydWUpO1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZW50aXR5U2VydmljZS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICByZXR1cm4gbmV3IEFYUEVudGl0eU1hc3RlckNyZWF0ZVZpZXdNb2RlbCh0aGlzLmluamVjdG9yLCBjb25maWcsIGluaXRpYWxEYXRhKTtcclxuICAgIH1cclxufVxyXG5cclxuIl19