@mtna/web-form-angular 1.0.4 → 1.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 (394) hide show
  1. package/_index.scss +20 -0
  2. package/bundles/mtna-web-form-angular.umd.js +5912 -359
  3. package/bundles/mtna-web-form-angular.umd.js.map +1 -1
  4. package/esm2015/lib/components/acknowledge-dialog/acknowledge-dialog.component.js +1 -1
  5. package/esm2015/lib/components/base-form/base-form.component.js +11 -2
  6. package/esm2015/lib/components/base-items/base-form-item.component.js +11 -2
  7. package/esm2015/lib/components/base-items/base-section-item.component.js +1 -2
  8. package/esm2015/lib/components/form/form.component.js +2 -2
  9. package/esm2015/lib/components/form-item/form-item.component.js +11 -2
  10. package/esm2015/lib/components/form-item-dialog/form-item-dialog.component.js +1 -1
  11. package/esm2015/lib/components/form-item-impl/boolean/boolean.component.js +2 -2
  12. package/esm2015/lib/components/form-item-impl/checkbox/checkbox.component.js +2 -2
  13. package/esm2015/lib/components/form-item-impl/date/date.component.js +1 -1
  14. package/esm2015/lib/components/form-item-impl/date/date.module.js +5 -2
  15. package/esm2015/lib/components/form-item-impl/date-range/date-range.component.js +2 -2
  16. package/esm2015/lib/components/form-item-impl/file-upload/file-upload.component.js +1 -1
  17. package/esm2015/lib/components/form-item-impl/form-group/form-group.component.js +2 -2
  18. package/esm2015/lib/components/form-item-impl/form-section/form-section.component.js +2 -2
  19. package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.component.js +3 -2
  20. package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.module.js +6 -3
  21. package/esm2015/lib/components/form-item-impl/multiple-choice/multiple-choice.component.js +2 -2
  22. package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.js +11 -10
  23. package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.js +6 -2
  24. package/esm2015/lib/components/form-item-impl/search/resource-search.component.js +9 -8
  25. package/esm2015/lib/components/form-item-impl/table-item/table-item.component.js +2 -2
  26. package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +3 -3
  27. package/esm2015/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.js +2 -2
  28. package/esm2015/lib/components/form-item-injector/form-item-injector.component.js +12 -2
  29. package/esm2015/lib/components/index.js +2 -1
  30. package/esm2015/lib/components/progressive-form/progressive-form/progressive-form.component.js +2 -2
  31. package/esm2015/lib/components/step-card/step-card.component.js +1 -2
  32. package/esm2015/lib/components/template-item-impl/base/base-template-item-with-list.component.js +26 -0
  33. package/esm2015/lib/components/template-item-impl/base/base-template-item.component.js +80 -0
  34. package/esm2015/lib/components/template-item-impl/base/index.js +3 -0
  35. package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.component.js +24 -0
  36. package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.module.js +21 -0
  37. package/esm2015/lib/components/template-item-impl/boolean-item/index.js +3 -0
  38. package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.component.js +37 -0
  39. package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.module.js +24 -0
  40. package/esm2015/lib/components/template-item-impl/checkbox-item/index.js +3 -0
  41. package/esm2015/lib/components/template-item-impl/date/index.js +4 -0
  42. package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/index.js +3 -0
  43. package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.js +41 -0
  44. package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.js +21 -0
  45. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/index.js +3 -0
  46. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.js +59 -0
  47. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.js +48 -0
  48. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/index.js +3 -0
  49. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.js +21 -0
  50. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.js +22 -0
  51. package/esm2015/lib/components/template-item-impl/date-item/date-item.component.js +85 -0
  52. package/esm2015/lib/components/template-item-impl/date-item/date-item.module.js +52 -0
  53. package/esm2015/lib/components/template-item-impl/date-item/index.js +3 -0
  54. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.js +29 -0
  55. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.js +41 -0
  56. package/esm2015/lib/components/template-item-impl/decimal-answer-item/index.js +3 -0
  57. package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.component.js +23 -0
  58. package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.module.js +48 -0
  59. package/esm2015/lib/components/template-item-impl/dropdown-item/index.js +3 -0
  60. package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.component.js +25 -0
  61. package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.module.js +45 -0
  62. package/esm2015/lib/components/template-item-impl/file-upload-item/index.js +3 -0
  63. package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.js +51 -0
  64. package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.js +45 -0
  65. package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/index.js +3 -0
  66. package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.js +50 -0
  67. package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.js +48 -0
  68. package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/index.js +3 -0
  69. package/esm2015/lib/components/template-item-impl/index.js +29 -0
  70. package/esm2015/lib/components/template-item-impl/models/index.js +2 -0
  71. package/esm2015/lib/components/template-item-impl/models/step-aware.model.js +6 -0
  72. package/esm2015/lib/components/template-item-impl/multiple-choice-item/index.js +3 -0
  73. package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.js +21 -0
  74. package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.js +21 -0
  75. package/esm2015/lib/components/template-item-impl/option/template-option-group-item.component.js +17 -0
  76. package/esm2015/lib/components/template-item-impl/option/template-option-item.component.js +17 -0
  77. package/esm2015/lib/components/template-item-impl/ordered-list-item/index.js +3 -0
  78. package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.js +21 -0
  79. package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.js +19 -0
  80. package/esm2015/lib/components/template-item-impl/paragraph-answer-item/index.js +3 -0
  81. package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.js +28 -0
  82. package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.js +41 -0
  83. package/esm2015/lib/components/template-item-impl/repeatable-item/index.js +3 -0
  84. package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.component.js +23 -0
  85. package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.module.js +18 -0
  86. package/esm2015/lib/components/template-item-impl/repeatable-item-container/index.js +3 -0
  87. package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.js +46 -0
  88. package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.js +50 -0
  89. package/esm2015/lib/components/template-item-impl/short-answer-item/index.js +3 -0
  90. package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.component.js +28 -0
  91. package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.module.js +41 -0
  92. package/esm2015/lib/components/template-item-impl/template/index.js +3 -0
  93. package/esm2015/lib/components/template-item-impl/template/template.component.js +89 -0
  94. package/esm2015/lib/components/template-item-impl/template/template.module.js +46 -0
  95. package/esm2015/lib/components/template-item-impl/template-display-viewer/index.js +3 -0
  96. package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.js +44 -0
  97. package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.js +57 -0
  98. package/esm2015/lib/components/template-item-impl/template-item/index.js +3 -0
  99. package/esm2015/lib/components/template-item-impl/template-item/template-item.component.js +81 -0
  100. package/esm2015/lib/components/template-item-impl/template-item/template-item.module.js +21 -0
  101. package/esm2015/lib/components/template-item-impl/template-item-component-provider/index.js +3 -0
  102. package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.js +8 -0
  103. package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.js +107 -0
  104. package/esm2015/lib/components/template-item-impl/template-item-group/index.js +3 -0
  105. package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.component.js +52 -0
  106. package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.module.js +22 -0
  107. package/esm2015/lib/components/template-item-impl/template-item-header/index.js +3 -0
  108. package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.component.js +68 -0
  109. package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.module.js +19 -0
  110. package/esm2015/lib/components/template-item-impl/template-item-injector/index.js +3 -0
  111. package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.component.js +115 -0
  112. package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.module.js +18 -0
  113. package/esm2015/lib/components/template-item-impl/template-section/index.js +3 -0
  114. package/esm2015/lib/components/template-item-impl/template-section/template-section.component.js +32 -0
  115. package/esm2015/lib/components/template-item-impl/template-section/template-section.module.js +44 -0
  116. package/esm2015/lib/components/template-item-impl/text-item/index.js +3 -0
  117. package/esm2015/lib/components/template-item-impl/text-item/text-item.component.js +21 -0
  118. package/esm2015/lib/components/template-item-impl/text-item/text-item.module.js +19 -0
  119. package/esm2015/lib/components/template-item-impl/title-item/index.js +3 -0
  120. package/esm2015/lib/components/template-item-impl/title-item/title-item.component.js +20 -0
  121. package/esm2015/lib/components/template-item-impl/title-item/title-item.module.js +19 -0
  122. package/esm2015/lib/components/template-item-impl/unordered-list-item/index.js +3 -0
  123. package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.js +21 -0
  124. package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.js +19 -0
  125. package/esm2015/lib/components/template-item-impl/whole-number-answer-item/index.js +3 -0
  126. package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.js +28 -0
  127. package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.js +41 -0
  128. package/esm2015/lib/models/custom-date-format-provider.model.js +13 -0
  129. package/esm2015/lib/models/date/default-year-range.model.js +3 -0
  130. package/esm2015/lib/models/date/index.js +2 -0
  131. package/esm2015/lib/models/design/conditional-processing-resources.model.js +2 -0
  132. package/esm2015/lib/models/design/design-mapper/boolean-item-template-mapper.js +15 -0
  133. package/esm2015/lib/models/design/design-mapper/bulleted-list-item-template-mapper.js +27 -0
  134. package/esm2015/lib/models/design/design-mapper/checkbox-item-template-mapper.js +15 -0
  135. package/esm2015/lib/models/design/design-mapper/date-item-template-mapper.js +39 -0
  136. package/esm2015/lib/models/design/design-mapper/dropdown-item-template-mapper.js +26 -0
  137. package/esm2015/lib/models/design/design-mapper/file-upload-item-template-mapper.js +31 -0
  138. package/esm2015/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.js +28 -0
  139. package/esm2015/lib/models/design/design-mapper/index.js +27 -0
  140. package/esm2015/lib/models/design/design-mapper/mapper-classes.model.js +89 -0
  141. package/esm2015/lib/models/design/design-mapper/mapping-logic-core.js +19 -0
  142. package/esm2015/lib/models/design/design-mapper/multiple-choice-item-template-mapper.js +25 -0
  143. package/esm2015/lib/models/design/design-mapper/numbered-list-item-template-mapper.js +27 -0
  144. package/esm2015/lib/models/design/design-mapper/numeric-response-item-template-mapper.js +37 -0
  145. package/esm2015/lib/models/design/design-mapper/offset-date-range-template-mapper.js +32 -0
  146. package/esm2015/lib/models/design/design-mapper/option-group-item-mapper.js +59 -0
  147. package/esm2015/lib/models/design/design-mapper/option-item-mapper.js +54 -0
  148. package/esm2015/lib/models/design/design-mapper/option-selector-mapper.js +117 -0
  149. package/esm2015/lib/models/design/design-mapper/repeatable-item-template-mapper.js +50 -0
  150. package/esm2015/lib/models/design/design-mapper/template-item-group-mapper.js +34 -0
  151. package/esm2015/lib/models/design/design-mapper/template-item-mapper.js +79 -0
  152. package/esm2015/lib/models/design/design-mapper/template-mapper.js +64 -0
  153. package/esm2015/lib/models/design/design-mapper/template-section-mapper.js +40 -0
  154. package/esm2015/lib/models/design/design-mapper/text-item-template-mapper.js +26 -0
  155. package/esm2015/lib/models/design/design-mapper/text-response-item-template-mapper.js +32 -0
  156. package/esm2015/lib/models/design/design-mapper/time-item-template-mapper.js +30 -0
  157. package/esm2015/lib/models/design/design-mapper/title-item-template-mapper.js +26 -0
  158. package/esm2015/lib/models/design/design-mapper/year-quarter-range-template-mapper.js +28 -0
  159. package/esm2015/lib/models/design/enumerations/date-enumeration.model.js +33 -0
  160. package/esm2015/lib/models/design/enumerations/index.js +2 -0
  161. package/esm2015/lib/models/design/index.js +9 -0
  162. package/esm2015/lib/models/design/option-group-item-section-display-name-map.model.js +8 -0
  163. package/esm2015/lib/models/design/option-item-section-display-name-map.model.js +6 -0
  164. package/esm2015/lib/models/design/potential-designs.model.js +160 -0
  165. package/esm2015/lib/models/design/template-design-constants.model.js +48 -0
  166. package/esm2015/lib/models/design/template-design-context.model.js +10 -0
  167. package/esm2015/lib/models/i18n-constants.model.js +185 -0
  168. package/esm2015/lib/models/index.js +5 -1
  169. package/esm2015/lib/pipes/filter-hidden-items.pipe.js +1 -1
  170. package/esm2015/lib/pipes/get-i18n-string-value-from-locale.pipe.js +36 -0
  171. package/esm2015/lib/pipes/get-i18n-strings-value-from-locale.pipe.js +36 -0
  172. package/esm2015/lib/pipes/get-progressive-form-item.pipe.js +1 -2
  173. package/esm2015/lib/pipes/index.js +6 -1
  174. package/esm2015/lib/pipes/instance-of-template-item-group-impl.pipe.js +33 -0
  175. package/esm2015/lib/pipes/instance-of-template-item.pipe.js +29 -0
  176. package/esm2015/lib/pipes/instance-of-template.pipe.js +29 -0
  177. package/esm2015/lib/pipes/items-with-value.pipe.js +1 -3
  178. package/esm2015/lib/services/api.service.js +8 -2
  179. package/esm2015/lib/services/dialog.service.js +9 -9
  180. package/esm2015/lib/services/index.js +2 -1
  181. package/esm2015/lib/services/template-transformation.service.js +27 -0
  182. package/esm2015/lib/state/design/index.js +2 -0
  183. package/esm2015/lib/state/design/template-design.facade.js +239 -0
  184. package/esm2015/lib/state/form/index.js +8 -0
  185. package/esm2015/lib/state/form/template-form-api.actions.js +6 -0
  186. package/esm2015/lib/state/form/template-form.actions.js +5 -0
  187. package/esm2015/lib/state/form/template-form.effects.js +39 -0
  188. package/esm2015/lib/state/form/template-form.facade.js +28 -0
  189. package/esm2015/lib/state/form/template-form.reducer.js +18 -0
  190. package/esm2015/lib/state/form/template-form.selectors.js +8 -0
  191. package/esm2015/lib/state/index.js +3 -0
  192. package/esm2015/lib/utilities/design-conditionals-util.js +124 -0
  193. package/esm2015/lib/utilities/form-option-design-util.js +88 -0
  194. package/esm2015/lib/utilities/generate-form-steps.js +1 -1
  195. package/esm2015/lib/utilities/index.js +6 -2
  196. package/esm2015/lib/utilities/merge-template-util.js +116 -0
  197. package/esm2015/lib/utilities/new-base-designs.util.js +193 -0
  198. package/esm2015/lib/utilities/serializer-util.js +33 -2
  199. package/esm2015/lib/utilities/template-design-core-util.js +34 -0
  200. package/esm2015/lib/utilities/template-design-util.js +113 -0
  201. package/esm2015/public-api.js +2 -1
  202. package/fesm2015/mtna-web-form-angular.js +4649 -138
  203. package/fesm2015/mtna-web-form-angular.js.map +1 -1
  204. package/lib/_index.scss +45 -0
  205. package/lib/components/base-form/base-form.component.d.ts +6 -2
  206. package/lib/components/base-items/base-form-item.component.d.ts +4 -1
  207. package/lib/components/form-item/form-item.component.d.ts +4 -1
  208. package/lib/components/form-item-impl/checkbox/_checkbox-theme.scss +3 -20
  209. package/lib/components/form-item-impl/i18n-input/i18n-input.module.d.ts +2 -1
  210. package/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +2 -1
  211. package/lib/components/form-item-impl/search/resource-search.component.d.ts +3 -3
  212. package/lib/components/form-item-impl/year-quarter/year-quarter.component.d.ts +2 -6
  213. package/lib/components/form-item-injector/form-item-injector.component.d.ts +5 -1
  214. package/lib/components/index.d.ts +1 -0
  215. package/lib/components/template-item-impl/base/base-template-item-with-list.component.d.ts +12 -0
  216. package/lib/components/template-item-impl/base/base-template-item.component.d.ts +30 -0
  217. package/lib/components/template-item-impl/base/index.d.ts +2 -0
  218. package/lib/components/template-item-impl/boolean-item/boolean-item.component.d.ts +11 -0
  219. package/lib/components/template-item-impl/boolean-item/boolean-item.module.d.ts +11 -0
  220. package/lib/components/template-item-impl/boolean-item/index.d.ts +2 -0
  221. package/lib/components/template-item-impl/checkbox-item/_checkbox-item-template-theme.scss +47 -0
  222. package/lib/components/template-item-impl/checkbox-item/checkbox-item.component.d.ts +11 -0
  223. package/lib/components/template-item-impl/checkbox-item/checkbox-item.module.d.ts +14 -0
  224. package/lib/components/template-item-impl/checkbox-item/index.d.ts +2 -0
  225. package/lib/components/template-item-impl/date/index.d.ts +3 -0
  226. package/lib/components/template-item-impl/date/offset-date-range-item/index.d.ts +2 -0
  227. package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.d.ts +13 -0
  228. package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.d.ts +11 -0
  229. package/lib/components/template-item-impl/date/year-quarter-item/_year-quarter-item-template-theme.scss +28 -0
  230. package/lib/components/template-item-impl/date/year-quarter-item/index.d.ts +2 -0
  231. package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.d.ts +23 -0
  232. package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.d.ts +14 -0
  233. package/lib/components/template-item-impl/date/year-quarter-range-item/index.d.ts +2 -0
  234. package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.d.ts +7 -0
  235. package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.d.ts +12 -0
  236. package/lib/components/template-item-impl/date-item/_date-item-template-theme.scss +29 -0
  237. package/lib/components/template-item-impl/date-item/date-item.component.d.ts +22 -0
  238. package/lib/components/template-item-impl/date-item/date-item.module.d.ts +14 -0
  239. package/lib/components/template-item-impl/date-item/index.d.ts +2 -0
  240. package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.d.ts +8 -0
  241. package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.d.ts +13 -0
  242. package/lib/components/template-item-impl/decimal-answer-item/index.d.ts +2 -0
  243. package/lib/components/template-item-impl/dropdown-item/_dropdown-item-template-theme.scss +35 -0
  244. package/lib/components/template-item-impl/dropdown-item/dropdown-item.component.d.ts +7 -0
  245. package/lib/components/template-item-impl/dropdown-item/dropdown-item.module.d.ts +15 -0
  246. package/lib/components/template-item-impl/dropdown-item/index.d.ts +2 -0
  247. package/lib/components/template-item-impl/file-upload-item/file-upload-item.component.d.ts +9 -0
  248. package/lib/components/template-item-impl/file-upload-item/file-upload-item.module.d.ts +13 -0
  249. package/lib/components/template-item-impl/file-upload-item/index.d.ts +2 -0
  250. package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.d.ts +13 -0
  251. package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.d.ts +14 -0
  252. package/lib/components/template-item-impl/i18n-paragraph-answer-item/index.d.ts +2 -0
  253. package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.d.ts +11 -0
  254. package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.d.ts +15 -0
  255. package/lib/components/template-item-impl/i18n-short-answer-item/index.d.ts +2 -0
  256. package/lib/components/template-item-impl/index.d.ts +28 -0
  257. package/lib/components/template-item-impl/models/index.d.ts +1 -0
  258. package/lib/components/template-item-impl/models/step-aware.model.d.ts +5 -0
  259. package/lib/components/template-item-impl/multiple-choice-item/index.d.ts +2 -0
  260. package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.d.ts +7 -0
  261. package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.d.ts +11 -0
  262. package/lib/components/template-item-impl/option/template-option-group-item.component.d.ts +8 -0
  263. package/lib/components/template-item-impl/option/template-option-item.component.d.ts +8 -0
  264. package/lib/components/template-item-impl/ordered-list-item/index.d.ts +2 -0
  265. package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.d.ts +7 -0
  266. package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.d.ts +10 -0
  267. package/lib/components/template-item-impl/paragraph-answer-item/index.d.ts +2 -0
  268. package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.d.ts +8 -0
  269. package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.d.ts +13 -0
  270. package/lib/components/template-item-impl/repeatable-item/index.d.ts +2 -0
  271. package/lib/components/template-item-impl/repeatable-item/repeatable-item.component.d.ts +5 -0
  272. package/lib/components/template-item-impl/repeatable-item/repeatable-item.module.d.ts +8 -0
  273. package/lib/components/template-item-impl/repeatable-item-container/_repeatable-item-template-container-theme.scss +28 -0
  274. package/lib/components/template-item-impl/repeatable-item-container/index.d.ts +2 -0
  275. package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.d.ts +8 -0
  276. package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +15 -0
  277. package/lib/components/template-item-impl/short-answer-item/index.d.ts +2 -0
  278. package/lib/components/template-item-impl/short-answer-item/short-answer-item.component.d.ts +8 -0
  279. package/lib/components/template-item-impl/short-answer-item/short-answer-item.module.d.ts +13 -0
  280. package/lib/components/template-item-impl/template/index.d.ts +2 -0
  281. package/lib/components/template-item-impl/template/template.component.d.ts +35 -0
  282. package/lib/components/template-item-impl/template/template.module.d.ts +14 -0
  283. package/lib/components/template-item-impl/template-display-viewer/index.d.ts +2 -0
  284. package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.d.ts +25 -0
  285. package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.d.ts +17 -0
  286. package/lib/components/template-item-impl/template-item/index.d.ts +2 -0
  287. package/lib/components/template-item-impl/template-item/template-item.component.d.ts +29 -0
  288. package/lib/components/template-item-impl/template-item/template-item.module.d.ts +11 -0
  289. package/lib/components/template-item-impl/template-item-component-provider/index.d.ts +2 -0
  290. package/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.d.ts +4 -0
  291. package/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.d.ts +2 -0
  292. package/lib/components/template-item-impl/template-item-group/_template-item-group-theme.scss +31 -0
  293. package/lib/components/template-item-impl/template-item-group/index.d.ts +2 -0
  294. package/lib/components/template-item-impl/template-item-group/template-item-group.component.d.ts +18 -0
  295. package/lib/components/template-item-impl/template-item-group/template-item-group.module.d.ts +12 -0
  296. package/lib/components/template-item-impl/template-item-header/_template-item-header-theme.scss +28 -0
  297. package/lib/components/template-item-impl/template-item-header/index.d.ts +2 -0
  298. package/lib/components/template-item-impl/template-item-header/template-item-header.component.d.ts +26 -0
  299. package/lib/components/template-item-impl/template-item-header/template-item-header.module.d.ts +10 -0
  300. package/lib/components/template-item-impl/template-item-injector/index.d.ts +2 -0
  301. package/lib/components/template-item-impl/template-item-injector/template-item-injector.component.d.ts +43 -0
  302. package/lib/components/template-item-impl/template-item-injector/template-item-injector.module.d.ts +8 -0
  303. package/lib/components/template-item-impl/template-section/index.d.ts +2 -0
  304. package/lib/components/template-item-impl/template-section/template-section.component.d.ts +12 -0
  305. package/lib/components/template-item-impl/template-section/template-section.module.d.ts +13 -0
  306. package/lib/components/template-item-impl/text-item/index.d.ts +2 -0
  307. package/lib/components/template-item-impl/text-item/text-item.component.d.ts +7 -0
  308. package/lib/components/template-item-impl/text-item/text-item.module.d.ts +10 -0
  309. package/lib/components/template-item-impl/title-item/_title-item-template-theme.scss +28 -0
  310. package/lib/components/template-item-impl/title-item/index.d.ts +2 -0
  311. package/lib/components/template-item-impl/title-item/title-item.component.d.ts +7 -0
  312. package/lib/components/template-item-impl/title-item/title-item.module.d.ts +9 -0
  313. package/lib/components/template-item-impl/unordered-list-item/index.d.ts +2 -0
  314. package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.d.ts +7 -0
  315. package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.d.ts +10 -0
  316. package/lib/components/template-item-impl/whole-number-answer-item/index.d.ts +2 -0
  317. package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.d.ts +8 -0
  318. package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.d.ts +13 -0
  319. package/lib/core/_all-color.scss +18 -0
  320. package/lib/core/_all-theme.scss +18 -0
  321. package/lib/core/_all-typography.scss +18 -0
  322. package/lib/core/_mixins.scss +58 -0
  323. package/lib/models/custom-date-format-provider.model.d.ts +2 -0
  324. package/lib/models/date/default-year-range.model.d.ts +6 -0
  325. package/lib/models/date/index.d.ts +1 -0
  326. package/lib/models/design/conditional-processing-resources.model.d.ts +7 -0
  327. package/lib/models/design/design-mapper/boolean-item-template-mapper.d.ts +10 -0
  328. package/lib/models/design/design-mapper/bulleted-list-item-template-mapper.d.ts +11 -0
  329. package/lib/models/design/design-mapper/checkbox-item-template-mapper.d.ts +10 -0
  330. package/lib/models/design/design-mapper/date-item-template-mapper.d.ts +11 -0
  331. package/lib/models/design/design-mapper/dropdown-item-template-mapper.d.ts +11 -0
  332. package/lib/models/design/design-mapper/file-upload-item-template-mapper.d.ts +11 -0
  333. package/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.d.ts +11 -0
  334. package/lib/models/design/design-mapper/index.d.ts +26 -0
  335. package/lib/models/design/design-mapper/mapper-classes.model.d.ts +1 -0
  336. package/lib/models/design/design-mapper/mapping-logic-core.d.ts +19 -0
  337. package/lib/models/design/design-mapper/multiple-choice-item-template-mapper.d.ts +10 -0
  338. package/lib/models/design/design-mapper/numbered-list-item-template-mapper.d.ts +11 -0
  339. package/lib/models/design/design-mapper/numeric-response-item-template-mapper.d.ts +11 -0
  340. package/lib/models/design/design-mapper/offset-date-range-template-mapper.d.ts +11 -0
  341. package/lib/models/design/design-mapper/option-group-item-mapper.d.ts +13 -0
  342. package/lib/models/design/design-mapper/option-item-mapper.d.ts +13 -0
  343. package/lib/models/design/design-mapper/option-selector-mapper.d.ts +29 -0
  344. package/lib/models/design/design-mapper/repeatable-item-template-mapper.d.ts +11 -0
  345. package/lib/models/design/design-mapper/template-item-group-mapper.d.ts +12 -0
  346. package/lib/models/design/design-mapper/template-item-mapper.d.ts +13 -0
  347. package/lib/models/design/design-mapper/template-mapper.d.ts +13 -0
  348. package/lib/models/design/design-mapper/template-section-mapper.d.ts +12 -0
  349. package/lib/models/design/design-mapper/text-item-template-mapper.d.ts +11 -0
  350. package/lib/models/design/design-mapper/text-response-item-template-mapper.d.ts +11 -0
  351. package/lib/models/design/design-mapper/time-item-template-mapper.d.ts +11 -0
  352. package/lib/models/design/design-mapper/title-item-template-mapper.d.ts +11 -0
  353. package/lib/models/design/design-mapper/year-quarter-range-template-mapper.d.ts +11 -0
  354. package/lib/models/design/enumerations/date-enumeration.model.d.ts +8 -0
  355. package/lib/models/design/enumerations/index.d.ts +1 -0
  356. package/lib/models/design/index.d.ts +8 -0
  357. package/lib/models/design/option-group-item-section-display-name-map.model.d.ts +3 -0
  358. package/lib/models/design/option-item-section-display-name-map.model.d.ts +3 -0
  359. package/lib/models/design/potential-designs.model.d.ts +27 -0
  360. package/lib/models/design/template-design-constants.model.d.ts +47 -0
  361. package/lib/models/design/template-design-context.model.d.ts +3 -0
  362. package/lib/models/i18n-constants.model.d.ts +183 -0
  363. package/lib/models/index.d.ts +4 -0
  364. package/lib/pipes/get-i18n-string-value-from-locale.pipe.d.ts +14 -0
  365. package/lib/pipes/get-i18n-strings-value-from-locale.pipe.d.ts +14 -0
  366. package/lib/pipes/index.d.ts +5 -0
  367. package/lib/pipes/instance-of-template-item-group-impl.pipe.d.ts +14 -0
  368. package/lib/pipes/instance-of-template-item.pipe.d.ts +13 -0
  369. package/lib/pipes/instance-of-template.pipe.d.ts +13 -0
  370. package/lib/services/api.service.d.ts +4 -2
  371. package/lib/services/dialog.service.d.ts +3 -3
  372. package/lib/services/index.d.ts +1 -0
  373. package/lib/services/template-transformation.service.d.ts +14 -0
  374. package/lib/state/design/index.d.ts +1 -0
  375. package/lib/state/design/template-design.facade.d.ts +31 -0
  376. package/lib/state/form/index.d.ts +7 -0
  377. package/lib/state/form/template-form-api.actions.d.ts +13 -0
  378. package/lib/state/form/template-form.actions.d.ts +12 -0
  379. package/lib/state/form/template-form.effects.d.ts +23 -0
  380. package/lib/state/form/template-form.facade.d.ts +16 -0
  381. package/lib/state/form/template-form.reducer.d.ts +11 -0
  382. package/lib/state/form/template-form.selectors.d.ts +6 -0
  383. package/lib/state/index.d.ts +2 -0
  384. package/lib/utilities/design-conditionals-util.d.ts +13 -0
  385. package/lib/utilities/form-option-design-util.d.ts +12 -0
  386. package/lib/utilities/generate-form-steps.d.ts +2 -2
  387. package/lib/utilities/index.d.ts +5 -1
  388. package/lib/utilities/merge-template-util.d.ts +11 -0
  389. package/lib/utilities/new-base-designs.util.d.ts +25 -0
  390. package/lib/utilities/serializer-util.d.ts +1 -0
  391. package/lib/utilities/template-design-core-util.d.ts +10 -0
  392. package/lib/utilities/template-design-util.d.ts +14 -0
  393. package/package.json +5 -2
  394. package/public-api.d.ts +1 -0
@@ -0,0 +1,27 @@
1
+ import { TemplateItemMapper } from './template-item-mapper';
2
+ import { getI18nListDesignProperty, getI18nListProperties, } from '@mtna/designer-ts';
3
+ import { i18n_item, i18n_items, i18n_newItem, i18n_numberedListConfiguration, i18n_templateItemsInstructions, } from '../../i18n-constants.model';
4
+ import { prop_item_items } from '../template-design-constants.model';
5
+ export class NumberedListItemTemplateMapper extends TemplateItemMapper {
6
+ constructor(params) {
7
+ super(params);
8
+ }
9
+ toDesign(model, languageId, parent) {
10
+ const design = super.toDesign(model, languageId, parent);
11
+ design.sections = [...design.sections, this.getSectionItemNumberedList(model)];
12
+ return design;
13
+ }
14
+ toModel(design) {
15
+ let model = super.toModel(design);
16
+ const numberedListProperties = getI18nListProperties(design, i18n_numberedListConfiguration, [prop_item_items]);
17
+ model = Object.assign(Object.assign({}, model), numberedListProperties);
18
+ return model;
19
+ }
20
+ getSectionItemNumberedList(item) {
21
+ const properties = [];
22
+ // TODO need to handle for repeated literals, add new type of REPEATED_STRING_I18N(?) and component to handle input
23
+ properties.push(getI18nListDesignProperty(i18n_items, i18n_templateItemsInstructions, prop_item_items, i18n_item, i18n_newItem, item.items));
24
+ return { display: i18n_numberedListConfiguration, properties };
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyZWQtbGlzdC1pdGVtLXRlbXBsYXRlLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvZGVzaWduL2Rlc2lnbi1tYXBwZXIvbnVtYmVyZWQtbGlzdC1pdGVtLXRlbXBsYXRlLW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBS0wseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWiw4QkFBOEIsRUFDOUIsOEJBQThCLEdBQy9CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3JFLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxrQkFBNEM7SUFDOUYsWUFBWSxNQUFzSDtRQUNoSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUErQixFQUFFLFVBQTBCLEVBQUUsTUFBbUI7UUFDakcsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0UsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLE9BQU8sQ0FBQyxNQUFjO1FBQzlCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxzQkFBc0IsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ2hILEtBQUssbUNBQVEsS0FBSyxHQUFLLHNCQUFzQixDQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sMEJBQTBCLENBQUMsSUFBOEI7UUFDL0QsTUFBTSxVQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUN4QyxtSEFBbUg7UUFDbkgsVUFBVSxDQUFDLElBQUksQ0FDYix5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsOEJBQThCLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUM1SCxDQUFDO1FBQ0YsT0FBTyxFQUFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZUl0ZW1NYXBwZXIgfSBmcm9tICcuL3RlbXBsYXRlLWl0ZW0tbWFwcGVyJztcbmltcG9ydCB7IE51bWJlcmVkTGlzdEl0ZW1UZW1wbGF0ZSB9IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcbmltcG9ydCB7XG4gIERlc2lnbixcbiAgRGVzaWduQmFzZSxcbiAgRGVzaWduUHJvcGVydHksXG4gIERlc2lnblNlY3Rpb24sXG4gIGdldEkxOG5MaXN0RGVzaWduUHJvcGVydHksXG4gIGdldEkxOG5MaXN0UHJvcGVydGllcyxcbiAgUmVmZXJlbmNlRGVzaWduUGFyYW1zLFxufSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBNdG5hTGFuZ3VhZ2VJZCB9IGZyb20gJ0BtdG5hL2NvcmUtaTE4bi1hbmd1bGFyJztcbmltcG9ydCB7XG4gIGkxOG5faXRlbSxcbiAgaTE4bl9pdGVtcyxcbiAgaTE4bl9uZXdJdGVtLFxuICBpMThuX251bWJlcmVkTGlzdENvbmZpZ3VyYXRpb24sXG4gIGkxOG5fdGVtcGxhdGVJdGVtc0luc3RydWN0aW9ucyxcbn0gZnJvbSAnLi4vLi4vaTE4bi1jb25zdGFudHMubW9kZWwnO1xuaW1wb3J0IHsgcHJvcF9pdGVtX2l0ZW1zIH0gZnJvbSAnLi4vdGVtcGxhdGUtZGVzaWduLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBEZXNpZ25NYXBwZXJQYXJhbXMsIE1vZGVsTWFwcGVyUGFyYW1zIH0gZnJvbSAnQG10bmEvZGVzaWduZXItYW5ndWxhcic7XG5cbmV4cG9ydCBjbGFzcyBOdW1iZXJlZExpc3RJdGVtVGVtcGxhdGVNYXBwZXIgZXh0ZW5kcyBUZW1wbGF0ZUl0ZW1NYXBwZXI8TnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlPiB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogRGVzaWduTWFwcGVyUGFyYW1zPFJlZmVyZW5jZURlc2lnblBhcmFtcz4gfCBNb2RlbE1hcHBlclBhcmFtczxOdW1iZXJlZExpc3RJdGVtVGVtcGxhdGUsIFJlZmVyZW5jZURlc2lnblBhcmFtcz4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvRGVzaWduKG1vZGVsOiBOdW1iZXJlZExpc3RJdGVtVGVtcGxhdGUsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduIHtcbiAgICBjb25zdCBkZXNpZ24gPSBzdXBlci50b0Rlc2lnbihtb2RlbCwgbGFuZ3VhZ2VJZCwgcGFyZW50KTtcbiAgICBkZXNpZ24uc2VjdGlvbnMgPSBbLi4uZGVzaWduLnNlY3Rpb25zLCB0aGlzLmdldFNlY3Rpb25JdGVtTnVtYmVyZWRMaXN0KG1vZGVsKV07XG4gICAgcmV0dXJuIGRlc2lnbjtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b01vZGVsKGRlc2lnbjogRGVzaWduKTogTnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlIHtcbiAgICBsZXQgbW9kZWwgPSBzdXBlci50b01vZGVsKGRlc2lnbik7XG4gICAgY29uc3QgbnVtYmVyZWRMaXN0UHJvcGVydGllcyA9IGdldEkxOG5MaXN0UHJvcGVydGllcyhkZXNpZ24sIGkxOG5fbnVtYmVyZWRMaXN0Q29uZmlndXJhdGlvbiwgW3Byb3BfaXRlbV9pdGVtc10pO1xuICAgIG1vZGVsID0geyAuLi5tb2RlbCwgLi4ubnVtYmVyZWRMaXN0UHJvcGVydGllcyB9O1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VjdGlvbkl0ZW1OdW1iZXJlZExpc3QoaXRlbTogTnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlKTogRGVzaWduU2VjdGlvbiB7XG4gICAgY29uc3QgcHJvcGVydGllczogRGVzaWduUHJvcGVydHlbXSA9IFtdO1xuICAgIC8vIFRPRE8gbmVlZCB0byBoYW5kbGUgZm9yIHJlcGVhdGVkIGxpdGVyYWxzLCBhZGQgbmV3IHR5cGUgb2YgUkVQRUFURURfU1RSSU5HX0kxOE4oPykgYW5kIGNvbXBvbmVudCB0byBoYW5kbGUgaW5wdXRcbiAgICBwcm9wZXJ0aWVzLnB1c2goXG4gICAgICBnZXRJMThuTGlzdERlc2lnblByb3BlcnR5KGkxOG5faXRlbXMsIGkxOG5fdGVtcGxhdGVJdGVtc0luc3RydWN0aW9ucywgcHJvcF9pdGVtX2l0ZW1zLCBpMThuX2l0ZW0sIGkxOG5fbmV3SXRlbSwgaXRlbS5pdGVtcylcbiAgICApO1xuICAgIHJldHVybiB7IGRpc3BsYXk6IGkxOG5fbnVtYmVyZWRMaXN0Q29uZmlndXJhdGlvbiwgcHJvcGVydGllcyB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import { instanceOfWholeNumberAnswerItemTemplate } from '@mtna/web-form-ts';
2
+ import { getLiteralDesignProperty, getLiteralProperties, } from '@mtna/designer-ts';
3
+ import { TemplateItemMapper } from './template-item-mapper';
4
+ import { i18n_label, i18n_labelInstructions, i18n_maxValue, i18n_maxValueInstructions, i18n_minValue, i18n_minValueInstructions, i18n_numericConfiguration, i18n_positiveOnly, i18n_positiveOnlyInstructions, } from '../../i18n-constants.model';
5
+ import { prop_item_label, prop_item_max_value, prop_item_min_value, prop_item_positive_only } from '../template-design-constants.model';
6
+ export class NumericResponseItemTemplateMapper extends TemplateItemMapper {
7
+ constructor(params) {
8
+ super(params);
9
+ }
10
+ toDesign(model, languageId, parent) {
11
+ const design = super.toDesign(model, languageId, parent);
12
+ design.sections = [...design.sections, this.getSectionItemNumericAnswer(model)];
13
+ return design;
14
+ }
15
+ toModel(design) {
16
+ let model = super.toModel(design);
17
+ const numericProperties = getLiteralProperties(design, i18n_numericConfiguration, [
18
+ prop_item_label,
19
+ prop_item_min_value,
20
+ prop_item_max_value,
21
+ prop_item_positive_only,
22
+ ]);
23
+ model = Object.assign(Object.assign({}, model), numericProperties);
24
+ return model;
25
+ }
26
+ getSectionItemNumericAnswer(item) {
27
+ var _a;
28
+ const type = instanceOfWholeNumberAnswerItemTemplate(item) ? 'INTEGER' : 'DOUBLE';
29
+ const properties = [];
30
+ properties.push(getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));
31
+ properties.push(getLiteralDesignProperty(i18n_minValue, i18n_minValueInstructions, prop_item_min_value, type, item.maxValue));
32
+ properties.push(getLiteralDesignProperty(i18n_maxValue, i18n_maxValueInstructions, prop_item_max_value, type, item.minValue));
33
+ properties.push(getLiteralDesignProperty(i18n_positiveOnly, i18n_positiveOnlyInstructions, prop_item_positive_only, 'BOOLEAN', (_a = item.positiveOnly) !== null && _a !== void 0 ? _a : false));
34
+ return { display: i18n_numericConfiguration, properties };
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1yZXNwb25zZS1pdGVtLXRlbXBsYXRlLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvZGVzaWduL2Rlc2lnbi1tYXBwZXIvbnVtZXJpYy1yZXNwb25zZS1pdGVtLXRlbXBsYXRlLW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLHVDQUF1QyxFQUFpQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3RJLE9BQU8sRUFLTCx3QkFBd0IsRUFDeEIsb0JBQW9CLEdBR3JCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUNMLFVBQVUsRUFDVixzQkFBc0IsRUFDdEIsYUFBYSxFQUNiLHlCQUF5QixFQUN6QixhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixpQkFBaUIsRUFDakIsNkJBQTZCLEdBQzlCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR3hJLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxrQkFBNkU7SUFDbEksWUFDRSxNQUV1RztRQUV2RyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVTLFFBQVEsQ0FDaEIsS0FBZ0UsRUFDaEUsVUFBMEIsRUFDMUIsTUFBbUI7UUFFbkIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLE9BQU8sQ0FBQyxNQUFjO1FBQzlCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLEVBQUU7WUFDaEYsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCO1NBQ3hCLENBQUMsQ0FBQztRQUNILEtBQUssbUNBQVEsS0FBSyxHQUFLLGlCQUFpQixDQUFFLENBQUM7UUFDM0MsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sMkJBQTJCLENBQUMsSUFBK0Q7O1FBQ2pHLE1BQU0sSUFBSSxHQUFnQix1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDL0YsTUFBTSxVQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUN4QyxVQUFVLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFILFVBQVUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLHlCQUF5QixFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUM5SCxVQUFVLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDOUgsVUFBVSxDQUFDLElBQUksQ0FDYix3QkFBd0IsQ0FDdEIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQUEsSUFBSSxDQUFDLFlBQVksbUNBQUksS0FBSyxDQUMzQixDQUNGLENBQUM7UUFDRixPQUFPLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzVELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxBbnN3ZXJJdGVtVGVtcGxhdGUsIGluc3RhbmNlT2ZXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZSwgV2hvbGVOdW1iZXJBbnN3ZXJJdGVtVGVtcGxhdGUgfSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5pbXBvcnQge1xuICBEZXNpZ24sXG4gIERlc2lnbkJhc2UsXG4gIERlc2lnblByb3BlcnR5LFxuICBEZXNpZ25TZWN0aW9uLFxuICBnZXRMaXRlcmFsRGVzaWduUHJvcGVydHksXG4gIGdldExpdGVyYWxQcm9wZXJ0aWVzLFxuICBMaXRlcmFsVHlwZSxcbiAgUmVmZXJlbmNlRGVzaWduUGFyYW1zLFxufSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBNdG5hTGFuZ3VhZ2VJZCB9IGZyb20gJ0BtdG5hL2NvcmUtaTE4bi1hbmd1bGFyJztcbmltcG9ydCB7IFRlbXBsYXRlSXRlbU1hcHBlciB9IGZyb20gJy4vdGVtcGxhdGUtaXRlbS1tYXBwZXInO1xuaW1wb3J0IHtcbiAgaTE4bl9sYWJlbCxcbiAgaTE4bl9sYWJlbEluc3RydWN0aW9ucyxcbiAgaTE4bl9tYXhWYWx1ZSxcbiAgaTE4bl9tYXhWYWx1ZUluc3RydWN0aW9ucyxcbiAgaTE4bl9taW5WYWx1ZSxcbiAgaTE4bl9taW5WYWx1ZUluc3RydWN0aW9ucyxcbiAgaTE4bl9udW1lcmljQ29uZmlndXJhdGlvbixcbiAgaTE4bl9wb3NpdGl2ZU9ubHksXG4gIGkxOG5fcG9zaXRpdmVPbmx5SW5zdHJ1Y3Rpb25zLFxufSBmcm9tICcuLi8uLi9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBwcm9wX2l0ZW1fbGFiZWwsIHByb3BfaXRlbV9tYXhfdmFsdWUsIHByb3BfaXRlbV9taW5fdmFsdWUsIHByb3BfaXRlbV9wb3NpdGl2ZV9vbmx5IH0gZnJvbSAnLi4vdGVtcGxhdGUtZGVzaWduLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBEZXNpZ25NYXBwZXJQYXJhbXMsIE1vZGVsTWFwcGVyUGFyYW1zIH0gZnJvbSAnQG10bmEvZGVzaWduZXItYW5ndWxhcic7XG5cbmV4cG9ydCBjbGFzcyBOdW1lcmljUmVzcG9uc2VJdGVtVGVtcGxhdGVNYXBwZXIgZXh0ZW5kcyBUZW1wbGF0ZUl0ZW1NYXBwZXI8RGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSB8IFdob2xlTnVtYmVyQW5zd2VySXRlbVRlbXBsYXRlPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhcmFtczpcbiAgICAgIHwgRGVzaWduTWFwcGVyUGFyYW1zPFJlZmVyZW5jZURlc2lnblBhcmFtcz5cbiAgICAgIHwgTW9kZWxNYXBwZXJQYXJhbXM8RGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSB8IFdob2xlTnVtYmVyQW5zd2VySXRlbVRlbXBsYXRlLCBSZWZlcmVuY2VEZXNpZ25QYXJhbXM+XG4gICkge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9EZXNpZ24oXG4gICAgbW9kZWw6IERlY2ltYWxBbnN3ZXJJdGVtVGVtcGxhdGUgfCBXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgICBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCxcbiAgICBwYXJlbnQ/OiBEZXNpZ25CYXNlXG4gICk6IERlc2lnbiB7XG4gICAgY29uc3QgZGVzaWduID0gc3VwZXIudG9EZXNpZ24obW9kZWwsIGxhbmd1YWdlSWQsIHBhcmVudCk7XG4gICAgZGVzaWduLnNlY3Rpb25zID0gWy4uLmRlc2lnbi5zZWN0aW9ucywgdGhpcy5nZXRTZWN0aW9uSXRlbU51bWVyaWNBbnN3ZXIobW9kZWwpXTtcbiAgICByZXR1cm4gZGVzaWduO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvTW9kZWwoZGVzaWduOiBEZXNpZ24pOiBEZWNpbWFsQW5zd2VySXRlbVRlbXBsYXRlIHwgV2hvbGVOdW1iZXJBbnN3ZXJJdGVtVGVtcGxhdGUge1xuICAgIGxldCBtb2RlbCA9IHN1cGVyLnRvTW9kZWwoZGVzaWduKTtcbiAgICBjb25zdCBudW1lcmljUHJvcGVydGllcyA9IGdldExpdGVyYWxQcm9wZXJ0aWVzKGRlc2lnbiwgaTE4bl9udW1lcmljQ29uZmlndXJhdGlvbiwgW1xuICAgICAgcHJvcF9pdGVtX2xhYmVsLFxuICAgICAgcHJvcF9pdGVtX21pbl92YWx1ZSxcbiAgICAgIHByb3BfaXRlbV9tYXhfdmFsdWUsXG4gICAgICBwcm9wX2l0ZW1fcG9zaXRpdmVfb25seSxcbiAgICBdKTtcbiAgICBtb2RlbCA9IHsgLi4ubW9kZWwsIC4uLm51bWVyaWNQcm9wZXJ0aWVzIH07XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWN0aW9uSXRlbU51bWVyaWNBbnN3ZXIoaXRlbTogV2hvbGVOdW1iZXJBbnN3ZXJJdGVtVGVtcGxhdGUgfCBEZWNpbWFsQW5zd2VySXRlbVRlbXBsYXRlKTogRGVzaWduU2VjdGlvbiB7XG4gICAgY29uc3QgdHlwZTogTGl0ZXJhbFR5cGUgPSBpbnN0YW5jZU9mV2hvbGVOdW1iZXJBbnN3ZXJJdGVtVGVtcGxhdGUoaXRlbSkgPyAnSU5URUdFUicgOiAnRE9VQkxFJztcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBEZXNpZ25Qcm9wZXJ0eVtdID0gW107XG4gICAgcHJvcGVydGllcy5wdXNoKGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShpMThuX2xhYmVsLCBpMThuX2xhYmVsSW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fbGFiZWwsICdTVFJJTkdfSTE4TicsIGl0ZW0ubGFiZWwpKTtcbiAgICBwcm9wZXJ0aWVzLnB1c2goZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5KGkxOG5fbWluVmFsdWUsIGkxOG5fbWluVmFsdWVJbnN0cnVjdGlvbnMsIHByb3BfaXRlbV9taW5fdmFsdWUsIHR5cGUsIGl0ZW0ubWF4VmFsdWUpKTtcbiAgICBwcm9wZXJ0aWVzLnB1c2goZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5KGkxOG5fbWF4VmFsdWUsIGkxOG5fbWF4VmFsdWVJbnN0cnVjdGlvbnMsIHByb3BfaXRlbV9tYXhfdmFsdWUsIHR5cGUsIGl0ZW0ubWluVmFsdWUpKTtcbiAgICBwcm9wZXJ0aWVzLnB1c2goXG4gICAgICBnZXRMaXRlcmFsRGVzaWduUHJvcGVydHkoXG4gICAgICAgIGkxOG5fcG9zaXRpdmVPbmx5LFxuICAgICAgICBpMThuX3Bvc2l0aXZlT25seUluc3RydWN0aW9ucyxcbiAgICAgICAgcHJvcF9pdGVtX3Bvc2l0aXZlX29ubHksXG4gICAgICAgICdCT09MRUFOJyxcbiAgICAgICAgaXRlbS5wb3NpdGl2ZU9ubHkgPz8gZmFsc2VcbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB7IGRpc3BsYXk6IGkxOG5fbnVtZXJpY0NvbmZpZ3VyYXRpb24sIHByb3BlcnRpZXMgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import { TemplateItemMapper } from './template-item-mapper';
2
+ import { getLiteralDesignProperty, getLiteralProperties, } from '@mtna/designer-ts';
3
+ import { i18n_format, i18n_formatInstructions, i18n_offsetDateRangeConfiguration } from '../../i18n-constants.model';
4
+ import { prop_item_format } from '../template-design-constants.model';
5
+ export class OffsetDateRangeTemplateMapper extends TemplateItemMapper {
6
+ constructor(params) {
7
+ super(params);
8
+ }
9
+ toDesign(model, languageId, parent) {
10
+ const design = super.toDesign(model, languageId, parent);
11
+ design.sections = [...design.sections, this.getSectionItemOffsetDateRange(model)];
12
+ return design;
13
+ }
14
+ toModel(design) {
15
+ let model = super.toModel(design);
16
+ const offsetDateRangeProperties = getLiteralProperties(design, i18n_offsetDateRangeConfiguration, [
17
+ prop_item_format,
18
+ // prop_item_range_limits
19
+ ]);
20
+ model = Object.assign(Object.assign({}, model), offsetDateRangeProperties);
21
+ return model;
22
+ }
23
+ getSectionItemOffsetDateRange(item) {
24
+ const properties = [];
25
+ // TODO need to handle for the range limits input
26
+ // properties.push(getLiteralDesignProperty(i18n_rangeLimits, i18n_rangeLimitsInstructions, prop_item_range_limits, '', item.rangeLimits));
27
+ // TODO need a way to constrain the values that the format can take instead of just a string
28
+ properties.push(getLiteralDesignProperty(i18n_format, i18n_formatInstructions, prop_item_format, 'STRING', item.format));
29
+ return { display: i18n_offsetDateRangeConfiguration, properties };
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Zmc2V0LWRhdGUtcmFuZ2UtdGVtcGxhdGUtbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL21vZGVscy9kZXNpZ24vZGVzaWduLW1hcHBlci9vZmZzZXQtZGF0ZS1yYW5nZS10ZW1wbGF0ZS1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQsT0FBTyxFQUtMLHdCQUF3QixFQUN4QixvQkFBb0IsR0FFckIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHdEUsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGtCQUEyQztJQUM1RixZQUFZLE1BQXFIO1FBQy9ILEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQThCLEVBQUUsVUFBMEIsRUFBRSxNQUFtQjtRQUNoRyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsT0FBTyxDQUFDLE1BQWM7UUFDOUIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLHlCQUF5QixHQUFHLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxpQ0FBaUMsRUFBRTtZQUNoRyxnQkFBZ0I7WUFDaEIseUJBQXlCO1NBQzFCLENBQUMsQ0FBQztRQUNILEtBQUssbUNBQVEsS0FBSyxHQUFLLHlCQUF5QixDQUFFLENBQUM7UUFDbkQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sNkJBQTZCLENBQUMsSUFBNkI7UUFDakUsTUFBTSxVQUFVLEdBQXFCLEVBQUUsQ0FBQztRQUN4QyxpREFBaUQ7UUFDakQsMklBQTJJO1FBQzNJLDRGQUE0RjtRQUM1RixVQUFVLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZUl0ZW1NYXBwZXIgfSBmcm9tICcuL3RlbXBsYXRlLWl0ZW0tbWFwcGVyJztcbmltcG9ydCB7IE9mZnNldERhdGVSYW5nZVRlbXBsYXRlIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQge1xuICBEZXNpZ24sXG4gIERlc2lnbkJhc2UsXG4gIERlc2lnblByb3BlcnR5LFxuICBEZXNpZ25TZWN0aW9uLFxuICBnZXRMaXRlcmFsRGVzaWduUHJvcGVydHksXG4gIGdldExpdGVyYWxQcm9wZXJ0aWVzLFxuICBSZWZlcmVuY2VEZXNpZ25QYXJhbXMsXG59IGZyb20gJ0BtdG5hL2Rlc2lnbmVyLXRzJztcbmltcG9ydCB7IGkxOG5fZm9ybWF0LCBpMThuX2Zvcm1hdEluc3RydWN0aW9ucywgaTE4bl9vZmZzZXREYXRlUmFuZ2VDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vaTE4bi1jb25zdGFudHMubW9kZWwnO1xuaW1wb3J0IHsgcHJvcF9pdGVtX2Zvcm1hdCB9IGZyb20gJy4uL3RlbXBsYXRlLWRlc2lnbi1jb25zdGFudHMubW9kZWwnO1xuaW1wb3J0IHsgRGVzaWduTWFwcGVyUGFyYW1zLCBNb2RlbE1hcHBlclBhcmFtcyB9IGZyb20gJ0BtdG5hL2Rlc2lnbmVyLWFuZ3VsYXInO1xuXG5leHBvcnQgY2xhc3MgT2Zmc2V0RGF0ZVJhbmdlVGVtcGxhdGVNYXBwZXIgZXh0ZW5kcyBUZW1wbGF0ZUl0ZW1NYXBwZXI8T2Zmc2V0RGF0ZVJhbmdlVGVtcGxhdGU+IHtcbiAgY29uc3RydWN0b3IocGFyYW1zOiBEZXNpZ25NYXBwZXJQYXJhbXM8UmVmZXJlbmNlRGVzaWduUGFyYW1zPiB8IE1vZGVsTWFwcGVyUGFyYW1zPE9mZnNldERhdGVSYW5nZVRlbXBsYXRlLCBSZWZlcmVuY2VEZXNpZ25QYXJhbXM+KSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b0Rlc2lnbihtb2RlbDogT2Zmc2V0RGF0ZVJhbmdlVGVtcGxhdGUsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduIHtcbiAgICBjb25zdCBkZXNpZ24gPSBzdXBlci50b0Rlc2lnbihtb2RlbCwgbGFuZ3VhZ2VJZCwgcGFyZW50KTtcbiAgICBkZXNpZ24uc2VjdGlvbnMgPSBbLi4uZGVzaWduLnNlY3Rpb25zLCB0aGlzLmdldFNlY3Rpb25JdGVtT2Zmc2V0RGF0ZVJhbmdlKG1vZGVsKV07XG4gICAgcmV0dXJuIGRlc2lnbjtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b01vZGVsKGRlc2lnbjogRGVzaWduKTogT2Zmc2V0RGF0ZVJhbmdlVGVtcGxhdGUge1xuICAgIGxldCBtb2RlbCA9IHN1cGVyLnRvTW9kZWwoZGVzaWduKTtcbiAgICBjb25zdCBvZmZzZXREYXRlUmFuZ2VQcm9wZXJ0aWVzID0gZ2V0TGl0ZXJhbFByb3BlcnRpZXMoZGVzaWduLCBpMThuX29mZnNldERhdGVSYW5nZUNvbmZpZ3VyYXRpb24sIFtcbiAgICAgIHByb3BfaXRlbV9mb3JtYXQsXG4gICAgICAvLyBwcm9wX2l0ZW1fcmFuZ2VfbGltaXRzXG4gICAgXSk7XG4gICAgbW9kZWwgPSB7IC4uLm1vZGVsLCAuLi5vZmZzZXREYXRlUmFuZ2VQcm9wZXJ0aWVzIH07XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWN0aW9uSXRlbU9mZnNldERhdGVSYW5nZShpdGVtOiBPZmZzZXREYXRlUmFuZ2VUZW1wbGF0ZSk6IERlc2lnblNlY3Rpb24ge1xuICAgIGNvbnN0IHByb3BlcnRpZXM6IERlc2lnblByb3BlcnR5W10gPSBbXTtcbiAgICAvLyBUT0RPIG5lZWQgdG8gaGFuZGxlIGZvciB0aGUgcmFuZ2UgbGltaXRzIGlucHV0XG4gICAgLy8gcHJvcGVydGllcy5wdXNoKGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShpMThuX3JhbmdlTGltaXRzLCBpMThuX3JhbmdlTGltaXRzSW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fcmFuZ2VfbGltaXRzLCAnJywgaXRlbS5yYW5nZUxpbWl0cykpO1xuICAgIC8vIFRPRE8gbmVlZCBhIHdheSB0byBjb25zdHJhaW4gdGhlIHZhbHVlcyB0aGF0IHRoZSBmb3JtYXQgY2FuIHRha2UgaW5zdGVhZCBvZiBqdXN0IGEgc3RyaW5nXG4gICAgcHJvcGVydGllcy5wdXNoKGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShpMThuX2Zvcm1hdCwgaTE4bl9mb3JtYXRJbnN0cnVjdGlvbnMsIHByb3BfaXRlbV9mb3JtYXQsICdTVFJJTkcnLCBpdGVtLmZvcm1hdCkpO1xuICAgIHJldHVybiB7IGRpc3BsYXk6IGkxOG5fb2Zmc2V0RGF0ZVJhbmdlQ29uZmlndXJhdGlvbiwgcHJvcGVydGllcyB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { TemplateItemMapper } from './template-item-mapper';
2
+ import { getLiteralDesignProperty, getLiteralProperties, getModelDesignProperty, } from '@mtna/designer-ts';
3
+ import { i18n_maxSelections, i18n_maxSelectionsInstructions, i18n_minSelections, i18n_minSelectionsInstructions, i18n_newTemplateItem, i18n_options, i18n_optionsInstructions, } from '../../i18n-constants.model';
4
+ import { prop_item_max_selections, prop_item_min_selections, prop_item_options } from '../template-design-constants.model';
5
+ import * as FormOptionDesignUtil from '../../../utilities/form-option-design-util';
6
+ import { optionGroupItemSectionDisplayNameMap } from '../option-group-item-section-display-name-map.model';
7
+ import { isPresent } from '@mtna/core-ts';
8
+ import * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';
9
+ import { FORM_OPTION_SELECTOR_POTENTIAL_DESIGN } from '../potential-designs.model';
10
+ export class OptionGroupItemMapper extends TemplateItemMapper {
11
+ constructor(params) {
12
+ super(params);
13
+ }
14
+ getPotentialDesigns(property) {
15
+ return [FORM_OPTION_SELECTOR_POTENTIAL_DESIGN];
16
+ }
17
+ toDesign(model, languageId, parent) {
18
+ const design = super.toDesign(model, languageId, parent);
19
+ const groupSection = this.getGroupSectionItems(model, languageId, parent);
20
+ const sections = [...design.sections, groupSection];
21
+ return Object.assign(Object.assign({}, design), { sections, parent });
22
+ }
23
+ toModel(design) {
24
+ let model = super.toModel(design);
25
+ const groupProperties = getLiteralProperties(design, optionGroupItemSectionDisplayNameMap[design.type], [
26
+ prop_item_min_selections,
27
+ prop_item_max_selections,
28
+ ]);
29
+ const { options, optionTemplateMap } = FormOptionDesignUtil.getOptionsAndTemplateMap(design, 'optionGroupItem', MtnaTemplateCoreDesign.toTemplateItem, this.context);
30
+ model = Object.assign(Object.assign(Object.assign({}, model), groupProperties), { optionTemplateMap, options });
31
+ return model;
32
+ }
33
+ getParentForFormOptionSelector(model, languageId) {
34
+ const id = model.instanceId;
35
+ // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;
36
+ let display = isPresent(model.name) && model.name !== '' ? model.name : undefined;
37
+ if (!isPresent(display)) {
38
+ display = i18n_newTemplateItem;
39
+ }
40
+ const type = model.itemId;
41
+ const typeDisplay = this.getTypeDisplay(model.itemId);
42
+ const focusType = 'MAINTAIN_FOCUS';
43
+ return { id, display, type, typeDisplay, focusType };
44
+ }
45
+ getGroupSectionItems(model, languageId, parent) {
46
+ const properties = [];
47
+ const designOptions = [];
48
+ properties.push(getLiteralDesignProperty(i18n_minSelections, i18n_minSelectionsInstructions, prop_item_min_selections, 'INTEGER', model.minSelections));
49
+ properties.push(getLiteralDesignProperty(i18n_maxSelections, i18n_maxSelectionsInstructions, prop_item_max_selections, 'INTEGER', model.maxSelections));
50
+ const parentForFormOptionSelector = this.getParentForFormOptionSelector(model, languageId);
51
+ for (const formOptionSelector of model.options) {
52
+ const designOption = FormOptionDesignUtil.optionSelectorToDesign(formOptionSelector, languageId, model.optionTemplateMap, this.customParams && this.customParams.references ? this.customParams.references : {}, parentForFormOptionSelector, this.context);
53
+ designOptions.push(designOption);
54
+ }
55
+ properties.push(getModelDesignProperty(i18n_options, i18n_optionsInstructions, prop_item_options, true, designOptions));
56
+ return { display: optionGroupItemSectionDisplayNameMap[model.itemId], properties };
57
+ }
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLWl0ZW0tbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL21vZGVscy9kZXNpZ24vZGVzaWduLW1hcHBlci9vcHRpb24tZ3JvdXAtaXRlbS1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUtMLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsc0JBQXNCLEdBRXZCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIsa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUM5QixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLHdCQUF3QixHQUN6QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNILE9BQU8sS0FBSyxvQkFBb0IsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRixNQUFNLE9BQU8scUJBSVgsU0FBUSxrQkFBd0I7SUFDaEMsWUFBWSxNQUF1RDtRQUNqRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQXdCO1FBQzFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUyxR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Q3ZCLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3JGLDJCQUEyQixFQUMzQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7WUFDRixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbSB9IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcbmltcG9ydCB7IFRlbXBsYXRlSXRlbU1hcHBlciB9IGZyb20gJy4vdGVtcGxhdGUtaXRlbS1tYXBwZXInO1xuaW1wb3J0IHtcbiAgRGVzaWduLFxuICBEZXNpZ25CYXNlLFxuICBEZXNpZ25Qcm9wZXJ0eSxcbiAgRGVzaWduU2VjdGlvbixcbiAgZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5LFxuICBnZXRMaXRlcmFsUHJvcGVydGllcyxcbiAgZ2V0TW9kZWxEZXNpZ25Qcm9wZXJ0eSxcbiAgUmVmZXJlbmNlRGVzaWduUGFyYW1zLFxufSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBNdG5hTGFuZ3VhZ2VJZCB9IGZyb20gJ0BtdG5hL2NvcmUtaTE4bi1hbmd1bGFyJztcbmltcG9ydCB7XG4gIGkxOG5fbWF4U2VsZWN0aW9ucyxcbiAgaTE4bl9tYXhTZWxlY3Rpb25zSW5zdHJ1Y3Rpb25zLFxuICBpMThuX21pblNlbGVjdGlvbnMsXG4gIGkxOG5fbWluU2VsZWN0aW9uc0luc3RydWN0aW9ucyxcbiAgaTE4bl9uZXdUZW1wbGF0ZUl0ZW0sXG4gIGkxOG5fb3B0aW9ucyxcbiAgaTE4bl9vcHRpb25zSW5zdHJ1Y3Rpb25zLFxufSBmcm9tICcuLi8uLi9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBwcm9wX2l0ZW1fbWF4X3NlbGVjdGlvbnMsIHByb3BfaXRlbV9taW5fc2VsZWN0aW9ucywgcHJvcF9pdGVtX29wdGlvbnMgfSBmcm9tICcuLi90ZW1wbGF0ZS1kZXNpZ24tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCAqIGFzIEZvcm1PcHRpb25EZXNpZ25VdGlsIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9mb3JtLW9wdGlvbi1kZXNpZ24tdXRpbCc7XG5pbXBvcnQgeyBEZXNpZ25NYXBwZXJQYXJhbXMsIE1vZGVsTWFwcGVyUGFyYW1zIH0gZnJvbSAnQG10bmEvZGVzaWduZXItYW5ndWxhcic7XG5pbXBvcnQgeyBvcHRpb25Hcm91cEl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXAgfSBmcm9tICcuLi9vcHRpb24tZ3JvdXAtaXRlbS1zZWN0aW9uLWRpc3BsYXktbmFtZS1tYXAubW9kZWwnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgKiBhcyBNdG5hVGVtcGxhdGVDb3JlRGVzaWduIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy90ZW1wbGF0ZS1kZXNpZ24tY29yZS11dGlsJztcbmltcG9ydCB7IEZPUk1fT1BUSU9OX1NFTEVDVE9SX1BPVEVOVElBTF9ERVNJR04gfSBmcm9tICcuLi9wb3RlbnRpYWwtZGVzaWducy5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBPcHRpb25Hcm91cEl0ZW1NYXBwZXI8XG4gIE8gZXh0ZW5kcyBPcHRpb248dW5rbm93bj4sXG4gIFQgZXh0ZW5kcyBUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbTxPPixcbiAgUCBleHRlbmRzIFJlZmVyZW5jZURlc2lnblBhcmFtcyA9IFJlZmVyZW5jZURlc2lnblBhcmFtc1xuPiBleHRlbmRzIFRlbXBsYXRlSXRlbU1hcHBlcjxULCBQPiB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogRGVzaWduTWFwcGVyUGFyYW1zPFA+IHwgTW9kZWxNYXBwZXJQYXJhbXM8VCwgUD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgZ2V0UG90ZW50aWFsRGVzaWducyhwcm9wZXJ0eTogRGVzaWduUHJvcGVydHkpOiBEZXNpZ25CYXNlW10ge1xuICAgIHJldHVybiBbRk9STV9PUFRJT05fU0VMRUNUT1JfUE9URU5USUFMX0RFU0lHTl07XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9EZXNpZ24obW9kZWw6IFQsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduIHtcbiAgICBjb25zdCBkZXNpZ246IERlc2lnbiA9IHN1cGVyLnRvRGVzaWduKG1vZGVsLCBsYW5ndWFnZUlkLCBwYXJlbnQpO1xuICAgIGNvbnN0IGdyb3VwU2VjdGlvbiA9IHRoaXMuZ2V0R3JvdXBTZWN0aW9uSXRlbXMobW9kZWwsIGxhbmd1YWdlSWQsIHBhcmVudCk7XG4gICAgY29uc3Qgc2VjdGlvbnM6IERlc2lnblNlY3Rpb25bXSA9IFsuLi5kZXNpZ24uc2VjdGlvbnMsIGdyb3VwU2VjdGlvbl07XG4gICAgcmV0dXJuIHsgLi4uZGVzaWduLCBzZWN0aW9ucywgcGFyZW50IH07XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9Nb2RlbChkZXNpZ246IERlc2lnbik6IFQge1xuICAgIGxldCBtb2RlbCA9IHN1cGVyLnRvTW9kZWwoZGVzaWduKTtcblxuICAgIGNvbnN0IGdyb3VwUHJvcGVydGllcyA9IGdldExpdGVyYWxQcm9wZXJ0aWVzKGRlc2lnbiwgb3B0aW9uR3JvdXBJdGVtU2VjdGlvbkRpc3BsYXlOYW1lTWFwW2Rlc2lnbi50eXBlXSwgW1xuICAgICAgcHJvcF9pdGVtX21pbl9zZWxlY3Rpb25zLFxuICAgICAgcHJvcF9pdGVtX21heF9zZWxlY3Rpb25zLFxuICAgIF0pO1xuXG4gICAgY29uc3QgeyBvcHRpb25zLCBvcHRpb25UZW1wbGF0ZU1hcCB9ID0gRm9ybU9wdGlvbkRlc2lnblV0aWwuZ2V0T3B0aW9uc0FuZFRlbXBsYXRlTWFwPE8+KFxuICAgICAgZGVzaWduLFxuICAgICAgJ29wdGlvbkdyb3VwSXRlbScsXG4gICAgICBNdG5hVGVtcGxhdGVDb3JlRGVzaWduLnRvVGVtcGxhdGVJdGVtLFxuICAgICAgdGhpcy5jb250ZXh0XG4gICAgKTtcblxuICAgIG1vZGVsID0geyAuLi5tb2RlbCwgLi4uZ3JvdXBQcm9wZXJ0aWVzLCBvcHRpb25UZW1wbGF0ZU1hcCwgb3B0aW9ucyB9O1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50Rm9yRm9ybU9wdGlvblNlbGVjdG9yKG1vZGVsOiBULCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IERlc2lnbkJhc2Uge1xuICAgIGNvbnN0IGlkID0gbW9kZWwuaW5zdGFuY2VJZDtcbiAgICAvLyBsZXQgZGlzcGxheSA9IGlzUHJlc2VudChtb2RlbC5kZXNjcmlwdGl2ZVRleHQpID8gZ2V0STE4blN0cmluZyhtb2RlbC5kZXNjcmlwdGl2ZVRleHQsIGxhbmd1YWdlSWQsIHRydWUpIDogdW5kZWZpbmVkO1xuICAgIGxldCBkaXNwbGF5ID0gaXNQcmVzZW50KG1vZGVsLm5hbWUpICYmIG1vZGVsLm5hbWUgIT09ICcnID8gbW9kZWwubmFtZSA6IHVuZGVmaW5lZDtcbiAgICBpZiAoIWlzUHJlc2VudChkaXNwbGF5KSkge1xuICAgICAgZGlzcGxheSA9IGkxOG5fbmV3VGVtcGxhdGVJdGVtO1xuICAgIH1cbiAgICBjb25zdCB0eXBlID0gbW9kZWwuaXRlbUlkO1xuICAgIGNvbnN0IHR5cGVEaXNwbGF5ID0gdGhpcy5nZXRUeXBlRGlzcGxheShtb2RlbC5pdGVtSWQpO1xuICAgIGNvbnN0IGZvY3VzVHlwZSA9ICdNQUlOVEFJTl9GT0NVUyc7XG4gICAgcmV0dXJuIHsgaWQsIGRpc3BsYXksIHR5cGUsIHR5cGVEaXNwbGF5LCBmb2N1c1R5cGUgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0R3JvdXBTZWN0aW9uSXRlbXMobW9kZWw6IFQsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduU2VjdGlvbiB7XG4gICAgY29uc3QgcHJvcGVydGllczogRGVzaWduUHJvcGVydHlbXSA9IFtdO1xuICAgIGNvbnN0IGRlc2lnbk9wdGlvbnM6IERlc2lnbltdID0gW107XG5cbiAgICBwcm9wZXJ0aWVzLnB1c2goXG4gICAgICBnZXRMaXRlcmFsRGVzaWduUHJvcGVydHkoaTE4bl9taW5TZWxlY3Rpb25zLCBpMThuX21pblNlbGVjdGlvbnNJbnN0cnVjdGlvbnMsIHByb3BfaXRlbV9taW5fc2VsZWN0aW9ucywgJ0lOVEVHRVInLCBtb2RlbC5taW5TZWxlY3Rpb25zKVxuICAgICk7XG4gICAgcHJvcGVydGllcy5wdXNoKFxuICAgICAgZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5KGkxOG5fbWF4U2VsZWN0aW9ucywgaTE4bl9tYXhTZWxlY3Rpb25zSW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fbWF4X3NlbGVjdGlvbnMsICdJTlRFR0VSJywgbW9kZWwubWF4U2VsZWN0aW9ucylcbiAgICApO1xuXG4gICAgY29uc3QgcGFyZW50Rm9yRm9ybU9wdGlvblNlbGVjdG9yID0gdGhpcy5nZXRQYXJlbnRGb3JGb3JtT3B0aW9uU2VsZWN0b3IobW9kZWwsIGxhbmd1YWdlSWQpO1xuXG4gICAgZm9yIChjb25zdCBmb3JtT3B0aW9uU2VsZWN0b3Igb2YgbW9kZWwub3B0aW9ucykge1xuICAgICAgY29uc3QgZGVzaWduT3B0aW9uOiBEZXNpZ24gPSBGb3JtT3B0aW9uRGVzaWduVXRpbC5vcHRpb25TZWxlY3RvclRvRGVzaWduPE8+KFxuICAgICAgICBmb3JtT3B0aW9uU2VsZWN0b3IsXG4gICAgICAgIGxhbmd1YWdlSWQsXG4gICAgICAgIG1vZGVsLm9wdGlvblRlbXBsYXRlTWFwLFxuICAgICAgICB0aGlzLmN1c3RvbVBhcmFtcyAmJiB0aGlzLmN1c3RvbVBhcmFtcy5yZWZlcmVuY2VzID8gdGhpcy5jdXN0b21QYXJhbXMucmVmZXJlbmNlcyA6IHt9LFxuICAgICAgICBwYXJlbnRGb3JGb3JtT3B0aW9uU2VsZWN0b3IsXG4gICAgICAgIHRoaXMuY29udGV4dFxuICAgICAgKTtcbiAgICAgIGRlc2lnbk9wdGlvbnMucHVzaChkZXNpZ25PcHRpb24pO1xuICAgIH1cblxuICAgIHByb3BlcnRpZXMucHVzaChnZXRNb2RlbERlc2lnblByb3BlcnR5KGkxOG5fb3B0aW9ucywgaTE4bl9vcHRpb25zSW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fb3B0aW9ucywgdHJ1ZSwgZGVzaWduT3B0aW9ucykpO1xuXG4gICAgcmV0dXJuIHsgZGlzcGxheTogb3B0aW9uR3JvdXBJdGVtU2VjdGlvbkRpc3BsYXlOYW1lTWFwW21vZGVsLml0ZW1JZF0sIHByb3BlcnRpZXMgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { TemplateItemMapper } from './template-item-mapper';
2
+ import { getModelDesignProperty } from '@mtna/designer-ts';
3
+ import { isPresent } from '@mtna/core-ts';
4
+ import { i18n_newTemplateItem, i18n_option, i18n_optionInstructions } from '../../i18n-constants.model';
5
+ import * as FormOptionDesignUtil from '../../../utilities/form-option-design-util';
6
+ import { prop_item_option } from '../template-design-constants.model';
7
+ import { optionItemSectionDisplayNameMap } from '../option-item-section-display-name-map.model';
8
+ import * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';
9
+ import { FORM_OPTION_SELECTOR_POTENTIAL_DESIGN } from '../potential-designs.model';
10
+ export class OptionItemMapper extends TemplateItemMapper {
11
+ constructor(params) {
12
+ super(params);
13
+ }
14
+ getPotentialDesigns(property) {
15
+ return [FORM_OPTION_SELECTOR_POTENTIAL_DESIGN];
16
+ }
17
+ toDesign(model, languageId, parent) {
18
+ const design = super.toDesign(model, languageId, parent);
19
+ const optionSection = this.getOptionSectionItems(model, languageId, parent);
20
+ const sections = [...design.sections, optionSection];
21
+ return Object.assign(Object.assign({}, design), { sections, parent });
22
+ }
23
+ toModel(design) {
24
+ let model = super.toModel(design);
25
+ const { options, optionTemplateMap } = FormOptionDesignUtil.getOptionsAndTemplateMap(design, 'optionItem', MtnaTemplateCoreDesign.toTemplateItem, this.context);
26
+ if (isPresent(options[0])) {
27
+ model = Object.assign(Object.assign({}, model), { optionTemplateMap, option: Object.assign({}, options[0]) });
28
+ }
29
+ else {
30
+ model = Object.assign(Object.assign({}, model), { optionTemplateMap, option: {} });
31
+ }
32
+ return model;
33
+ }
34
+ getParentForFormOptionSelector(model, languageId) {
35
+ const id = model.instanceId;
36
+ // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;
37
+ let display = isPresent(model.name) && model.name !== '' ? model.name : undefined;
38
+ if (!isPresent(display)) {
39
+ display = i18n_newTemplateItem;
40
+ }
41
+ const type = model.itemId;
42
+ const typeDisplay = this.getTypeDisplay(model.itemId);
43
+ const focusType = 'MAINTAIN_FOCUS';
44
+ return { id, display, type, typeDisplay, focusType };
45
+ }
46
+ getOptionSectionItems(model, languageId, parent) {
47
+ const properties = [];
48
+ const parentForFormOptionSelector = this.getParentForFormOptionSelector(model, languageId);
49
+ const designOption = FormOptionDesignUtil.optionSelectorToDesign(model.option, languageId, model.optionTemplateMap, this.customParams && this.customParams.references ? this.customParams.references : {}, parentForFormOptionSelector, this.context);
50
+ properties.push(getModelDesignProperty(i18n_option, i18n_optionInstructions, prop_item_option, false, [designOption]));
51
+ return { display: optionItemSectionDisplayNameMap[model.itemId], properties };
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWl0ZW0tbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL21vZGVscy9kZXNpZ24vZGVzaWduLW1hcHBlci9vcHRpb24taXRlbS1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHNUQsT0FBTyxFQUFxRCxzQkFBc0IsRUFBeUIsTUFBTSxtQkFBbUIsQ0FBQztBQUNySSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RyxPQUFPLEtBQUssb0JBQW9CLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEcsT0FBTyxLQUFLLHNCQUFzQixNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5GLE1BQU0sT0FBTyxnQkFJWCxTQUFRLGtCQUF3QjtJQUNoQyxZQUFZLE1BQXVEO1FBQ2pFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBd0I7UUFDMUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFRLEVBQUUsVUFBMEIsRUFBRSxNQUFtQjtRQUMxRSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFD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LCBUZW1wbGF0ZU9wdGlvbkl0ZW0gfSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5pbXBvcnQgeyBUZW1wbGF0ZUl0ZW1NYXBwZXIgfSBmcm9tICcuL3RlbXBsYXRlLWl0ZW0tbWFwcGVyJztcbmltcG9ydCB7IERlc2lnbk1hcHBlclBhcmFtcywgTW9kZWxNYXBwZXJQYXJhbXMgfSBmcm9tICdAbXRuYS9kZXNpZ25lci1hbmd1bGFyJztcbmltcG9ydCB7IE10bmFMYW5ndWFnZUlkIH0gZnJvbSAnQG10bmEvY29yZS1pMThuLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGVzaWduLCBEZXNpZ25CYXNlLCBEZXNpZ25Qcm9wZXJ0eSwgRGVzaWduU2VjdGlvbiwgZ2V0TW9kZWxEZXNpZ25Qcm9wZXJ0eSwgUmVmZXJlbmNlRGVzaWduUGFyYW1zIH0gZnJvbSAnQG10bmEvZGVzaWduZXItdHMnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgeyBpMThuX25ld1RlbXBsYXRlSXRlbSwgaTE4bl9vcHRpb24sIGkxOG5fb3B0aW9uSW5zdHJ1Y3Rpb25zIH0gZnJvbSAnLi4vLi4vaTE4bi1jb25zdGFudHMubW9kZWwnO1xuaW1wb3J0ICogYXMgRm9ybU9wdGlvbkRlc2lnblV0aWwgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2Zvcm0tb3B0aW9uLWRlc2lnbi11dGlsJztcbmltcG9ydCB7IHByb3BfaXRlbV9vcHRpb24gfSBmcm9tICcuLi90ZW1wbGF0ZS1kZXNpZ24tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCB7IG9wdGlvbkl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXAgfSBmcm9tICcuLi9vcHRpb24taXRlbS1zZWN0aW9uLWRpc3BsYXktbmFtZS1tYXAubW9kZWwnO1xuaW1wb3J0ICogYXMgTXRuYVRlbXBsYXRlQ29yZURlc2lnbiBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvdGVtcGxhdGUtZGVzaWduLWNvcmUtdXRpbCc7XG5pbXBvcnQgeyBGT1JNX09QVElPTl9TRUxFQ1RPUl9QT1RFTlRJQUxfREVTSUdOIH0gZnJvbSAnLi4vcG90ZW50aWFsLWRlc2lnbnMubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgT3B0aW9uSXRlbU1hcHBlcjxcbiAgTyBleHRlbmRzIE9wdGlvbjx1bmtub3duPixcbiAgVCBleHRlbmRzIFRlbXBsYXRlT3B0aW9uSXRlbTxPPixcbiAgUCBleHRlbmRzIFJlZmVyZW5jZURlc2lnblBhcmFtcyA9IFJlZmVyZW5jZURlc2lnblBhcmFtc1xuPiBleHRlbmRzIFRlbXBsYXRlSXRlbU1hcHBlcjxULCBQPiB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogRGVzaWduTWFwcGVyUGFyYW1zPFA+IHwgTW9kZWxNYXBwZXJQYXJhbXM8VCwgUD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgZ2V0UG90ZW50aWFsRGVzaWducyhwcm9wZXJ0eTogRGVzaWduUHJvcGVydHkpOiBEZXNpZ25CYXNlW10ge1xuICAgIHJldHVybiBbRk9STV9PUFRJT05fU0VMRUNUT1JfUE9URU5USUFMX0RFU0lHTl07XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9EZXNpZ24obW9kZWw6IFQsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduIHtcbiAgICBjb25zdCBkZXNpZ24gPSBzdXBlci50b0Rlc2lnbihtb2RlbCwgbGFuZ3VhZ2VJZCwgcGFyZW50KTtcbiAgICBjb25zdCBvcHRpb25TZWN0aW9uID0gdGhpcy5nZXRPcHRpb25TZWN0aW9uSXRlbXMobW9kZWwsIGxhbmd1YWdlSWQsIHBhcmVudCk7XG4gICAgY29uc3Qgc2VjdGlvbnM6IERlc2lnblNlY3Rpb25bXSA9IFsuLi5kZXNpZ24uc2VjdGlvbnMsIG9wdGlvblNlY3Rpb25dO1xuICAgIHJldHVybiB7IC4uLmRlc2lnbiwgc2VjdGlvbnMsIHBhcmVudCB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvTW9kZWwoZGVzaWduOiBEZXNpZ24pOiBUIHtcbiAgICBsZXQgbW9kZWwgPSBzdXBlci50b01vZGVsKGRlc2lnbik7XG5cbiAgICBjb25zdCB7IG9wdGlvbnMsIG9wdGlvblRlbXBsYXRlTWFwIH0gPSBGb3JtT3B0aW9uRGVzaWduVXRpbC5nZXRPcHRpb25zQW5kVGVtcGxhdGVNYXA8Tz4oXG4gICAgICBkZXNpZ24sXG4gICAgICAnb3B0aW9uSXRlbScsXG4gICAgICBNdG5hVGVtcGxhdGVDb3JlRGVzaWduLnRvVGVtcGxhdGVJdGVtLFxuICAgICAgdGhpcy5jb250ZXh0XG4gICAgKTtcblxuICAgIGlmIChpc1ByZXNlbnQob3B0aW9uc1swXSkpIHtcbiAgICAgIG1vZGVsID0geyAuLi5tb2RlbCwgb3B0aW9uVGVtcGxhdGVNYXAsIG9wdGlvbjogeyAuLi5vcHRpb25zWzBdIH0gfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbW9kZWwgPSB7IC4uLm1vZGVsLCBvcHRpb25UZW1wbGF0ZU1hcCwgb3B0aW9uOiB7fSB9O1xuICAgIH1cbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudEZvckZvcm1PcHRpb25TZWxlY3Rvcihtb2RlbDogVCwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBEZXNpZ25CYXNlIHtcbiAgICBjb25zdCBpZCA9IG1vZGVsLmluc3RhbmNlSWQ7XG4gICAgLy8gbGV0IGRpc3BsYXkgPSBpc1ByZXNlbnQobW9kZWwuZGVzY3JpcHRpdmVUZXh0KSA/IGdldEkxOG5TdHJpbmcobW9kZWwuZGVzY3JpcHRpdmVUZXh0LCBsYW5ndWFnZUlkLCB0cnVlKSA6IHVuZGVmaW5lZDtcbiAgICBsZXQgZGlzcGxheSA9IGlzUHJlc2VudChtb2RlbC5uYW1lKSAmJiBtb2RlbC5uYW1lICE9PSAnJyA/IG1vZGVsLm5hbWUgOiB1bmRlZmluZWQ7XG4gICAgaWYgKCFpc1ByZXNlbnQoZGlzcGxheSkpIHtcbiAgICAgIGRpc3BsYXkgPSBpMThuX25ld1RlbXBsYXRlSXRlbTtcbiAgICB9XG4gICAgY29uc3QgdHlwZSA9IG1vZGVsLml0ZW1JZDtcbiAgICBjb25zdCB0eXBlRGlzcGxheSA9IHRoaXMuZ2V0VHlwZURpc3BsYXkobW9kZWwuaXRlbUlkKTtcbiAgICBjb25zdCBmb2N1c1R5cGUgPSAnTUFJTlRBSU5fRk9DVVMnO1xuICAgIHJldHVybiB7IGlkLCBkaXNwbGF5LCB0eXBlLCB0eXBlRGlzcGxheSwgZm9jdXNUeXBlIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9wdGlvblNlY3Rpb25JdGVtcyhtb2RlbDogVCwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQsIHBhcmVudD86IERlc2lnbkJhc2UpOiBEZXNpZ25TZWN0aW9uIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBEZXNpZ25Qcm9wZXJ0eVtdID0gW107XG4gICAgY29uc3QgcGFyZW50Rm9yRm9ybU9wdGlvblNlbGVjdG9yID0gdGhpcy5nZXRQYXJlbnRGb3JGb3JtT3B0aW9uU2VsZWN0b3IobW9kZWwsIGxhbmd1YWdlSWQpO1xuICAgIGNvbnN0IGRlc2lnbk9wdGlvbiA9IEZvcm1PcHRpb25EZXNpZ25VdGlsLm9wdGlvblNlbGVjdG9yVG9EZXNpZ248Tz4oXG4gICAgICBtb2RlbC5vcHRpb24sXG4gICAgICBsYW5ndWFnZUlkLFxuICAgICAgbW9kZWwub3B0aW9uVGVtcGxhdGVNYXAsXG4gICAgICB0aGlzLmN1c3RvbVBhcmFtcyAmJiB0aGlzLmN1c3RvbVBhcmFtcy5yZWZlcmVuY2VzID8gdGhpcy5jdXN0b21QYXJhbXMucmVmZXJlbmNlcyA6IHt9LFxuICAgICAgcGFyZW50Rm9yRm9ybU9wdGlvblNlbGVjdG9yLFxuICAgICAgdGhpcy5jb250ZXh0XG4gICAgKTtcbiAgICBwcm9wZXJ0aWVzLnB1c2goZ2V0TW9kZWxEZXNpZ25Qcm9wZXJ0eShpMThuX29wdGlvbiwgaTE4bl9vcHRpb25JbnN0cnVjdGlvbnMsIHByb3BfaXRlbV9vcHRpb24sIGZhbHNlLCBbZGVzaWduT3B0aW9uXSkpO1xuICAgIHJldHVybiB7IGRpc3BsYXk6IG9wdGlvbkl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXBbbW9kZWwuaXRlbUlkXSwgcHJvcGVydGllcyB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,117 @@
1
+ import { DesignMapper } from '@mtna/designer-angular';
2
+ import { getLiteralDesignProperty, getLiteralProperties, getModelDesignProperty, getReferenceDesignProperty, getReferenceProperties, } from '@mtna/designer-ts';
3
+ import { i18n_disabledItems, i18n_disabledItemsInstructions, i18n_enabledAndDisabledItems, i18n_enabledItems, i18n_enabledItemsInstructions, i18n_name, i18n_nameInstructions, i18n_option, i18n_optionProperties, i18n_optionTemplate, i18n_optionTemplateInstructions, } from '../../i18n-constants.model';
4
+ import { prop_item_name, prop_option_disabled_items, prop_option_enabled_items, prop_option_template, } from '../template-design-constants.model';
5
+ import { isPresent } from '@mtna/core-ts';
6
+ import * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';
7
+ import { OPTION_SELECTOR_POTENTIAL_DESIGN_LIST } from '../potential-designs.model';
8
+ export class OptionSelectorMapper extends DesignMapper {
9
+ constructor(params) {
10
+ super(params);
11
+ }
12
+ getPotentialDesigns(property) {
13
+ return OPTION_SELECTOR_POTENTIAL_DESIGN_LIST;
14
+ }
15
+ toDesign(model, languageId, parent) {
16
+ const designBase = this.formOptionSelectorToDesignBase(model);
17
+ const optionPropertiesSection = this.getOptionPropertiesSection(model, languageId, designBase);
18
+ const enabledDisabledItemsSection = this.getEnabledDisabledItemsSection(model);
19
+ const sections = [optionPropertiesSection, enabledDisabledItemsSection];
20
+ return Object.assign(Object.assign({}, designBase), { sections, parent });
21
+ }
22
+ toModel(design) {
23
+ var _a;
24
+ // Convert the design object back to a model
25
+ const coreOptionProperties = getLiteralProperties(design, i18n_optionProperties, [prop_item_name]);
26
+ const option = {
27
+ name: (_a = coreOptionProperties[prop_item_name]) !== null && _a !== void 0 ? _a : '',
28
+ help: '',
29
+ description: '',
30
+ id: design.id,
31
+ value: undefined,
32
+ };
33
+ const { enabledItems, disabledItems } = this.getEnabledAndDisabledItemsFromDesign(design);
34
+ const formOptionSelector = {
35
+ acknowledgement: {},
36
+ containerDescription: '',
37
+ codeValue: '',
38
+ disabledItems: [...disabledItems],
39
+ enabledItems: [...enabledItems],
40
+ multiSelect: false,
41
+ option: Object.assign({}, option),
42
+ selected: false,
43
+ selectionCount: 0,
44
+ unavailable: false,
45
+ };
46
+ const model = Object.assign({}, formOptionSelector);
47
+ return model;
48
+ }
49
+ formOptionSelectorToDesignBase(model) {
50
+ const id = model.option.id;
51
+ const display = model.option.name;
52
+ const type = 'OPTION';
53
+ const typeDisplay = i18n_option;
54
+ const focusType = 'MAINTAIN_FOCUS';
55
+ return { id, display, type, typeDisplay, focusType };
56
+ }
57
+ getOptionPropertiesSection(model, languageId, parent) {
58
+ const properties = [];
59
+ properties.push(getLiteralDesignProperty(i18n_name, i18n_nameInstructions, prop_item_name, 'STRING', model.option.name));
60
+ const optionTemplateProperties = this.getOptionTemplateProperties(model, languageId, parent);
61
+ if (optionTemplateProperties.length > 0) {
62
+ properties.push(...optionTemplateProperties);
63
+ }
64
+ // const optionAcknowledgementProperties: DesignProperty[] = this.getOptionAcknowledgementProperties(model, languageId, parent);
65
+ return { display: i18n_optionProperties, properties };
66
+ }
67
+ getOptionTemplateProperties(model, languageId, parent) {
68
+ const properties = [];
69
+ if (this.customParams && this.customParams.optionTemplateMap) {
70
+ const templateItem = this.customParams.optionTemplateMap[model.option.id];
71
+ properties.push(getModelDesignProperty(i18n_optionTemplate, i18n_optionTemplateInstructions, prop_option_template, false, isPresent(templateItem) ? [MtnaTemplateCoreDesign.itemToDesign(templateItem, languageId, parent, this.context)] : []));
72
+ }
73
+ return properties;
74
+ }
75
+ getEnabledDisabledItemsSection(model) {
76
+ const properties = [];
77
+ const enabledItemsReferenceDesignValues = [];
78
+ const disabledItemsReferenceDesignValues = [];
79
+ if (this.customParams && this.customParams.references) {
80
+ const references = this.customParams.references;
81
+ model.enabledItems.forEach((enabledItemId) => {
82
+ if (isPresent(references[enabledItemId])) {
83
+ enabledItemsReferenceDesignValues.push(references[enabledItemId]);
84
+ }
85
+ });
86
+ model.disabledItems.forEach((disabledItemId) => {
87
+ if (isPresent(references[disabledItemId])) {
88
+ disabledItemsReferenceDesignValues.push(references[disabledItemId]);
89
+ }
90
+ });
91
+ }
92
+ properties.push(getReferenceDesignProperty(i18n_enabledItems, i18n_enabledItemsInstructions, prop_option_enabled_items, enabledItemsReferenceDesignValues));
93
+ properties.push(getReferenceDesignProperty(i18n_disabledItems, i18n_disabledItemsInstructions, prop_option_disabled_items, disabledItemsReferenceDesignValues));
94
+ return { display: i18n_enabledAndDisabledItems, properties };
95
+ }
96
+ getEnabledAndDisabledItemsFromDesign(design) {
97
+ var _a, _b;
98
+ const enabledItems = [];
99
+ const disabledItems = [];
100
+ const enabledAndDisabledItems = getReferenceProperties(design, i18n_enabledAndDisabledItems, [
101
+ prop_option_enabled_items,
102
+ prop_option_disabled_items,
103
+ ]);
104
+ for (const enabledItem of (_a = enabledAndDisabledItems[prop_option_enabled_items]) !== null && _a !== void 0 ? _a : []) {
105
+ if (isPresent(enabledItem.id)) {
106
+ enabledItems.push(enabledItem.id);
107
+ }
108
+ }
109
+ for (const disabledItem of (_b = enabledAndDisabledItems[prop_option_disabled_items]) !== null && _b !== void 0 ? _b : []) {
110
+ if (isPresent(disabledItem.id)) {
111
+ disabledItems.push(disabledItem.id);
112
+ }
113
+ }
114
+ return { enabledItems, disabledItems };
115
+ }
116
+ }
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLXNlbGVjdG9yLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvZGVzaWduL2Rlc2lnbi1tYXBwZXIvb3B0aW9uLXNlbGVjdG9yLW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQU1MLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixzQkFBc0IsR0FFdkIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixTQUFTLEVBQ1QscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLCtCQUErQixHQUNoQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixvQkFBb0IsR0FDckIsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRixNQUFNLE9BQU8sb0JBQWlGLFNBQVEsWUFHckc7SUFDQyxZQUNFLE1BVUs7UUFFTCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQXdCO1FBQzFDLE9BQU8scUNBQXFDLENBQUM7SUFDL0MsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFRLEVB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QywwQkFBMEIsQ0FBQyxtQ0FBSSxFQUFFLEVBQUU7WUFDcEYsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUM5QixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBRUQsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBc0JGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybU9wdGlvblNlbGVjdG9yLCBPcHRpb24sIFNlY3Rpb24sIFRlbXBsYXRlSXRlbSB9IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcbmltcG9ydCB7IERlc2lnbk1hcHBlciB9IGZyb20gJ0BtdG5hL2Rlc2lnbmVyLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgQ29udGV4dCxcbiAgRGVzaWduLFxuICBEZXNpZ25CYXNlLFxuICBEZXNpZ25Qcm9wZXJ0eSxcbiAgRGVzaWduU2VjdGlvbixcbiAgZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5LFxuICBnZXRMaXRlcmFsUHJvcGVydGllcyxcbiAgZ2V0TW9kZWxEZXNpZ25Qcm9wZXJ0eSxcbiAgZ2V0UmVmZXJlbmNlRGVzaWduUHJvcGVydHksXG4gIGdldFJlZmVyZW5jZVByb3BlcnRpZXMsXG4gIFJlZmVyZW5jZURlc2lnblZhbHVlLFxufSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBNdG5hTGFuZ3VhZ2VJZCB9IGZyb20gJ0BtdG5hL2NvcmUtaTE4bi1hbmd1bGFyJztcbmltcG9ydCB7XG4gIGkxOG5fZGlzYWJsZWRJdGVtcyxcbiAgaTE4bl9kaXNhYmxlZEl0ZW1zSW5zdHJ1Y3Rpb25zLFxuICBpMThuX2VuYWJsZWRBbmREaXNhYmxlZEl0ZW1zLFxuICBpMThuX2VuYWJsZWRJdGVtcyxcbiAgaTE4bl9lbmFibGVkSXRlbXNJbnN0cnVjdGlvbnMsXG4gIGkxOG5fbmFtZSxcbiAgaTE4bl9uYW1lSW5zdHJ1Y3Rpb25zLFxuICBpMThuX29wdGlvbixcbiAgaTE4bl9vcHRpb25Qcm9wZXJ0aWVzLFxuICBpMThuX29wdGlvblRlbXBsYXRlLFxuICBpMThuX29wdGlvblRlbXBsYXRlSW5zdHJ1Y3Rpb25zLFxufSBmcm9tICcuLi8uLi9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQge1xuICBwcm9wX2l0ZW1fbmFtZSxcbiAgcHJvcF9vcHRpb25fZGlzYWJsZWRfaXRlbXMsXG4gIHByb3Bfb3B0aW9uX2VuYWJsZWRfaXRlbXMsXG4gIHByb3Bfb3B0aW9uX3RlbXBsYXRlLFxufSBmcm9tICcuLi90ZW1wbGF0ZS1kZXNpZ24tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCB7IGlzUHJlc2VudCB9IGZyb20gJ0BtdG5hL2NvcmUtdHMnO1xuaW1wb3J0ICogYXMgTXRuYVRlbXBsYXRlQ29yZURlc2lnbiBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvdGVtcGxhdGUtZGVzaWduLWNvcmUtdXRpbCc7XG5pbXBvcnQgeyBPUFRJT05fU0VMRUNUT1JfUE9URU5USUFMX0RFU0lHTl9MSVNUIH0gZnJvbSAnLi4vcG90ZW50aWFsLWRlc2lnbnMubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgT3B0aW9uU2VsZWN0b3JNYXBwZXI8TyBleHRlbmRzIE9wdGlvbjx1bmtub3duPiwgRiBleHRlbmRzIEZvcm1PcHRpb25TZWxlY3RvcjxPPj4gZXh0ZW5kcyBEZXNpZ25NYXBwZXI8XG4gIEYsXG4gIHsgb3B0aW9uVGVtcGxhdGVNYXA6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlSXRlbT47IHJlZmVyZW5jZXM6IFJlY29yZDxzdHJpbmcsIFJlZmVyZW5jZURlc2lnblZhbHVlPiB9XG4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcGFyYW1zOlxuICAgICAgfCB7IGRlc2lnbjogRGVzaWduOyBjb250ZXh0PzogQ29udGV4dCB9XG4gICAgICB8IHtcbiAgICAgICAgICBtb2RlbDogRjtcbiAgICAgICAgICBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZDtcbiAgICAgICAgICBjb250ZXh0PzogQ29udGV4dDtcbiAgICAgICAgICBjdXN0b21QYXJhbXM6IHtcbiAgICAgICAgICAgIG9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+O1xuICAgICAgICAgICAgcmVmZXJlbmNlczogUmVjb3JkPHN0cmluZywgUmVmZXJlbmNlRGVzaWduVmFsdWU+O1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgfVxuXG4gIGdldFBvdGVudGlhbERlc2lnbnMocHJvcGVydHk6IERlc2lnblByb3BlcnR5KSB7XG4gICAgcmV0dXJuIE9QVElPTl9TRUxFQ1RPUl9QT1RFTlRJQUxfREVTSUdOX0xJU1Q7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9EZXNpZ24obW9kZWw6IEYsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduIHtcbiAgICBjb25zdCBkZXNpZ25CYXNlOiBEZXNpZ25CYXNlID0gdGhpcy5mb3JtT3B0aW9uU2VsZWN0b3JUb0Rlc2lnbkJhc2UobW9kZWwpO1xuICAgIGNvbnN0IG9wdGlvblByb3BlcnRpZXNTZWN0aW9uID0gdGhpcy5nZXRPcHRpb25Qcm9wZXJ0aWVzU2VjdGlvbihtb2RlbCwgbGFuZ3VhZ2VJZCwgZGVzaWduQmFzZSk7XG4gICAgY29uc3QgZW5hYmxlZERpc2FibGVkSXRlbXNTZWN0aW9uID0gdGhpcy5nZXRFbmFibGVkRGlzYWJsZWRJdGVtc1NlY3Rpb24obW9kZWwpO1xuICAgIGNvbnN0IHNlY3Rpb25zOiBEZXNpZ25TZWN0aW9uW10gPSBbb3B0aW9uUHJvcGVydGllc1NlY3Rpb24sIGVuYWJsZWREaXNhYmxlZEl0ZW1zU2VjdGlvbl07XG4gICAgcmV0dXJuIHsgLi4uZGVzaWduQmFzZSwgc2VjdGlvbnMsIHBhcmVudCB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvTW9kZWwoZGVzaWduOiBEZXNpZ24pOiBGIHtcbiAgICAvLyBDb252ZXJ0IHRoZSBkZXNpZ24gb2JqZWN0IGJhY2sgdG8gYSBtb2RlbFxuICAgIGNvbnN0IGNvcmVPcHRpb25Qcm9wZXJ0aWVzID0gZ2V0TGl0ZXJhbFByb3BlcnRpZXMoZGVzaWduLCBpMThuX29wdGlvblByb3BlcnRpZXMsIFtwcm9wX2l0ZW1fbmFtZV0pO1xuXG4gICAgY29uc3Qgb3B0aW9uOiBPcHRpb248dW5rbm93bj4gPSB7XG4gICAgICBuYW1lOiBjb3JlT3B0aW9uUHJvcGVydGllc1twcm9wX2l0ZW1fbmFtZV0gPz8gJycsXG4gICAgICBoZWxwOiAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGlkOiBkZXNpZ24uaWQsXG4gICAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBjb25zdCB7IGVuYWJsZWRJdGVtcywgZGlzYWJsZWRJdGVtcyB9ID0gdGhpcy5nZXRFbmFibGVkQW5kRGlzYWJsZWRJdGVtc0Zyb21EZXNpZ24oZGVzaWduKTtcblxuICAgIGNvbnN0IGZvcm1PcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPE8+ID0ge1xuICAgICAgYWNrbm93bGVkZ2VtZW50OiB7fSBhcyBTZWN0aW9uLFxuICAgICAgY29udGFpbmVyRGVzY3JpcHRpb246ICcnLFxuICAgICAgY29kZVZhbHVlOiAnJyxcbiAgICAgIGRpc2FibGVkSXRlbXM6IFsuLi5kaXNhYmxlZEl0ZW1zXSwgLy8gVE9ETzogTmVlZCB0byBoYW5kbGUgZ2V0dGluZyB0aGVzZSB2YWx1ZXMgZnJvbSB0aGUgZmlyc3QgbW9kZWwgdGhhdCBpcyBwYXNzZWQgaW4gZnJvbSB0aGUgZmFjYWRlLlxuICAgICAgZW5hYmxlZEl0ZW1zOiBbLi4uZW5hYmxlZEl0ZW1zXSwgLy8gVE9ETzogTmVlZCB0byBoYW5kbGUgZ2V0dGluZyB0aGVzZSB2YWx1ZXMgZnJvbSB0aGUgZmlyc3QgbW9kZWwgdGhhdCBpcyBwYXNzZWQgaW4gZnJvbSB0aGUgZmFjYWRlLlxuICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICAgICAgb3B0aW9uOiB7XG4gICAgICAgIC4uLm9wdGlvbixcbiAgICAgIH0gYXMgTyxcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHNlbGVjdGlvbkNvdW50OiAwLFxuICAgICAgdW5hdmFpbGFibGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBjb25zdCBtb2RlbCA9IHsgLi4uZm9ybU9wdGlvblNlbGVjdG9yIH07XG4gICAgcmV0dXJuIG1vZGVsIGFzIEY7XG4gIH1cblxuICBwcml2YXRlIGZvcm1PcHRpb25TZWxlY3RvclRvRGVzaWduQmFzZShtb2RlbDogRik6IERlc2lnbkJhc2Uge1xuICAgIGNvbnN0IGlkID0gbW9kZWwub3B0aW9uLmlkO1xuICAgIGNvbnN0IGRpc3BsYXkgPSBtb2RlbC5vcHRpb24ubmFtZTtcbiAgICBjb25zdCB0eXBlID0gJ09QVElPTic7XG4gICAgY29uc3QgdHlwZURpc3BsYXkgPSBpMThuX29wdGlvbjtcbiAgICBjb25zdCBmb2N1c1R5cGUgPSAnTUFJTlRBSU5fRk9DVVMnO1xuICAgIHJldHVybiB7IGlkLCBkaXNwbGF5LCB0eXBlLCB0eXBlRGlzcGxheSwgZm9jdXNUeXBlIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9wdGlvblByb3BlcnRpZXNTZWN0aW9uKG1vZGVsOiBGLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCwgcGFyZW50PzogRGVzaWduQmFzZSk6IERlc2lnblNlY3Rpb24ge1xuICAgIGNvbnN0IHByb3BlcnRpZXM6IERlc2lnblByb3BlcnR5W10gPSBbXTtcbiAgICBwcm9wZXJ0aWVzLnB1c2goZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5KGkxOG5fbmFtZSwgaTE4bl9uYW1lSW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fbmFtZSwgJ1NUUklORycsIG1vZGVsLm9wdGlvbi5uYW1lKSk7XG5cbiAgICBjb25zdCBvcHRpb25UZW1wbGF0ZVByb3BlcnRpZXM6IERlc2lnblByb3BlcnR5W10gPSB0aGlzLmdldE9wdGlvblRlbXBsYXRlUHJvcGVydGllcyhtb2RlbCwgbGFuZ3VhZ2VJZCwgcGFyZW50KTtcbiAgICBpZiAob3B0aW9uVGVtcGxhdGVQcm9wZXJ0aWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIHByb3BlcnRpZXMucHVzaCguLi5vcHRpb25UZW1wbGF0ZVByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8vIGNvbnN0IG9wdGlvbkFja25vd2xlZGdlbWVudFByb3BlcnRpZXM6IERlc2lnblByb3BlcnR5W10gPSB0aGlzLmdldE9wdGlvbkFja25vd2xlZGdlbWVudFByb3BlcnRpZXMobW9kZWwsIGxhbmd1YWdlSWQsIHBhcmVudCk7XG5cbiAgICByZXR1cm4geyBkaXNwbGF5OiBpMThuX29wdGlvblByb3BlcnRpZXMsIHByb3BlcnRpZXMgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3B0aW9uVGVtcGxhdGVQcm9wZXJ0aWVzKG1vZGVsOiBGLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCwgcGFyZW50PzogRGVzaWduQmFzZSk6IERlc2lnblByb3BlcnR5W10ge1xuICAgIGNvbnN0IHByb3BlcnRpZXM6IERlc2lnblByb3BlcnR5W10gPSBbXTtcblxuICAgIGlmICh0aGlzLmN1c3RvbVBhcmFtcyAmJiB0aGlzLmN1c3RvbVBhcmFtcy5vcHRpb25UZW1wbGF0ZU1hcCkge1xuICAgICAgY29uc3QgdGVtcGxhdGVJdGVtID0gdGhpcy5jdXN0b21QYXJhbXMub3B0aW9uVGVtcGxhdGVNYXBbbW9kZWwub3B0aW9uLmlkXTtcbiAgICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgICAgZ2V0TW9kZWxEZXNpZ25Qcm9wZXJ0eShcbiAgICAgICAgICBpMThuX29wdGlvblRlbXBsYXRlLFxuICAgICAgICAgIGkxOG5fb3B0aW9uVGVtcGxhdGVJbnN0cnVjdGlvbnMsXG4gICAgICAgICAgcHJvcF9vcHRpb25fdGVtcGxhdGUsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgaXNQcmVzZW50KHRlbXBsYXRlSXRlbSkgPyBbTXRuYVRlbXBsYXRlQ29yZURlc2lnbi5pdGVtVG9EZXNpZ24odGVtcGxhdGVJdGVtLCBsYW5ndWFnZUlkLCBwYXJlbnQsIHRoaXMuY29udGV4dCldIDogW11cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydGllcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RW5hYmxlZERpc2FibGVkSXRlbXNTZWN0aW9uKG1vZGVsOiBGKTogRGVzaWduU2VjdGlvbiB7XG4gICAgY29uc3QgcHJvcGVydGllczogRGVzaWduUHJvcGVydHlbXSA9IFtdO1xuXG4gICAgY29uc3QgZW5hYmxlZEl0ZW1zUmVmZXJlbmNlRGVzaWduVmFsdWVzOiBSZWZlcmVuY2VEZXNpZ25WYWx1ZVtdID0gW107XG4gICAgY29uc3QgZGlzYWJsZWRJdGVtc1JlZmVyZW5jZURlc2lnblZhbHVlczogUmVmZXJlbmNlRGVzaWduVmFsdWVbXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMuY3VzdG9tUGFyYW1zICYmIHRoaXMuY3VzdG9tUGFyYW1zLnJlZmVyZW5jZXMpIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSB0aGlzLmN1c3RvbVBhcmFtcy5yZWZlcmVuY2VzO1xuICAgICAgbW9kZWwuZW5hYmxlZEl0ZW1zLmZvckVhY2goKGVuYWJsZWRJdGVtSWQpID0+IHtcbiAgICAgICAgaWYgKGlzUHJlc2VudChyZWZlcmVuY2VzW2VuYWJsZWRJdGVtSWRdKSkge1xuICAgICAgICAgIGVuYWJsZWRJdGVtc1JlZmVyZW5jZURlc2lnblZhbHVlcy5wdXNoKHJlZmVyZW5jZXNbZW5hYmxlZEl0ZW1JZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1vZGVsLmRpc2FibGVkSXRlbXMuZm9yRWFjaCgoZGlzYWJsZWRJdGVtSWQpID0+IHtcbiAgICAgICAgaWYgKGlzUHJlc2VudChyZWZlcmVuY2VzW2Rpc2FibGVkSXRlbUlkXSkpIHtcbiAgICAgICAgICBkaXNhYmxlZEl0ZW1zUmVmZXJlbmNlRGVzaWduVmFsdWVzLnB1c2gocmVmZXJlbmNlc1tkaXNhYmxlZEl0ZW1JZF0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm9wZXJ0aWVzLnB1c2goXG4gICAgICBnZXRSZWZlcmVuY2VEZXNpZ25Qcm9wZXJ0eShcbiAgICAgICAgaTE4bl9lbmFibGVkSXRlbXMsXG4gICAgICAgIGkxOG5fZW5hYmxlZEl0ZW1zSW5zdHJ1Y3Rpb25zLFxuICAgICAgICBwcm9wX29wdGlvbl9lbmFibGVkX2l0ZW1zLFxuICAgICAgICBlbmFibGVkSXRlbXNSZWZlcmVuY2VEZXNpZ25WYWx1ZXNcbiAgICAgIClcbiAgICApO1xuICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgIGdldFJlZmVyZW5jZURlc2lnblByb3BlcnR5KFxuICAgICAgICBpMThuX2Rpc2FibGVkSXRlbXMsXG4gICAgICAgIGkxOG5fZGlzYWJsZWRJdGVtc0luc3RydWN0aW9ucyxcbiAgICAgICAgcHJvcF9vcHRpb25fZGlzYWJsZWRfaXRlbXMsXG4gICAgICAgIGRpc2FibGVkSXRlbXNSZWZlcmVuY2VEZXNpZ25WYWx1ZXNcbiAgICAgIClcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgZGlzcGxheTogaTE4bl9lbmFibGVkQW5kRGlzYWJsZWRJdGVtcywgcHJvcGVydGllcyB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbmFibGVkQW5kRGlzYWJsZWRJdGVtc0Zyb21EZXNpZ24oZGVzaWduOiBEZXNpZ24pOiB7IGVuYWJsZWRJdGVtczogc3RyaW5nW107IGRpc2FibGVkSXRlbXM6IHN0cmluZ1tdIH0ge1xuICAgIGNvbnN0IGVuYWJsZWRJdGVtczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBkaXNhYmxlZEl0ZW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGVuYWJsZWRBbmREaXNhYmxlZEl0ZW1zID0gZ2V0UmVmZXJlbmNlUHJvcGVydGllcyhkZXNpZ24sIGkxOG5fZW5hYmxlZEFuZERpc2FibGVkSXRlbXMsIFtcbiAgICAgIHByb3Bfb3B0aW9uX2VuYWJsZWRfaXRlbXMsXG4gICAgICBwcm9wX29wdGlvbl9kaXNhYmxlZF9pdGVtcyxcbiAgICBdKTtcblxuICAgIGZvciAoY29uc3QgZW5hYmxlZEl0ZW0gb2YgZW5hYmxlZEFuZERpc2FibGVkSXRlbXNbcHJvcF9vcHRpb25fZW5hYmxlZF9pdGVtc10gPz8gW10pIHtcbiAgICAgIGlmIChpc1ByZXNlbnQoZW5hYmxlZEl0ZW0uaWQpKSB7XG4gICAgICAgIGVuYWJsZWRJdGVtcy5wdXNoKGVuYWJsZWRJdGVtLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGRpc2FibGVkSXRlbSBvZiBlbmFibGVkQW5kRGlzYWJsZWRJdGVtc1twcm9wX29wdGlvbl9kaXNhYmxlZF9pdGVtc10gPz8gW10pIHtcbiAgICAgIGlmIChpc1ByZXNlbnQoZGlzYWJsZWRJdGVtLmlkKSkge1xuICAgICAgICBkaXNhYmxlZEl0ZW1zLnB1c2goZGlzYWJsZWRJdGVtLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBlbmFibGVkSXRlbXMsIGRpc2FibGVkSXRlbXMgfTtcbiAgfVxuXG4gIC8vRklYTUU6IHRoZSBvcHRpb24gYWNrbm93bGVkZ2VtZW50IG11c3QgYmUgcmVtb2RlbGVkIHRvIGJlIGEgVGVtcGxhdGVTZWN0aW9uIGJlZm9yZSB0aGlzIGNhbiBiZSBpbXBsZW1lbnRlZCBiZWxvdy5cblxuICAvLyBwcml2YXRlIGdldE9wdGlvbkFja25vd2xlZGdlbWVudFByb3BlcnRpZXMobW9kZWw6IEYsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBwYXJlbnQ/OiBEZXNpZ25CYXNlKTogRGVzaWduUHJvcGVydHlbXSB7XG4gIC8vICAgY29uc3QgcHJvcGVydGllczogRGVzaWduUHJvcGVydHlbXSA9IFtdO1xuICAvL1xuICAvLyAgIHByb3BlcnRpZXMucHVzaChcbiAgLy8gICAgIGdldE1vZGVsRGVzaWduUHJvcGVydHkoXG4gIC8vICAgICAgIGkxOG5fYWNrbm93bGVkZ2VtZW50LFxuICAvLyAgICAgICBpMThuX2Fja25vd2xlZGdlbWVudEluc3RydWN0aW9ucyxcbiAgLy8gICAgICAgcHJvcF9pdGVtX2Fja25vd2xlZGdlbWVudCxcbiAgLy8gICAgICAgZmFsc2UsXG4gIC8vICAgICAgIGlzUHJlc2VudChtb2RlbC5hY2tub3dsZWRnZW1lbnQpXG4gIC8vICAgICAgICAgP1xuICAvLyAgICAgICAgICAgW010bmFUZW1wbGF0ZUNvcmVEZXNpZ24uaXRlbVRvRGVzaWduKG1vZGVsLmFja25vd2xlZGdlbWVudCwgbGFuZ3VhZ2VJZCwgcGFyZW50LCB0aGlzLmNvbnRleHQpXVxuICAvLyAgICAgICAgIDogW11cbiAgLy8gICAgIClcbiAgLy8gICApO1xuICAvL1xuICAvLyAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICAvLyB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { TemplateItemMapper } from './template-item-mapper';
2
+ import { getLiteralDesignProperty, getLiteralProperties, } from '@mtna/designer-ts';
3
+ import { i18n_additionalText, i18n_additionalTextInstructions, i18n_maxOccurrances, i18n_maxOccurrancesInstructions, i18n_minOccurrances, i18n_minOccurrancesInstructions, i18n_repeatableItemConfiguration, i18n_repeatableItemTemplateId, i18n_repeatableItemTemplateIdInstructions, i18n_startingInstances, i18n_startingInstancesInstructions, } from '../../i18n-constants.model';
4
+ import { prop_item_additional_text, prop_item_max_occurrences, prop_item_min_occurrences, prop_item_repeatable_item_template_id, prop_item_starting_instances, } from '../template-design-constants.model';
5
+ export class RepeatableItemTemplateMapper extends TemplateItemMapper {
6
+ constructor(params) {
7
+ super(params);
8
+ }
9
+ toDesign(model, languageId, parent) {
10
+ const design = super.toDesign(model, languageId, parent);
11
+ design.sections = [...design.sections, this.getSectionItemRepeatableItem(model)];
12
+ return design;
13
+ }
14
+ toModel(design) {
15
+ let model = super.toModel(design);
16
+ const repeatableItemProperties = getLiteralProperties(design, i18n_repeatableItemConfiguration, [
17
+ prop_item_repeatable_item_template_id,
18
+ prop_item_min_occurrences,
19
+ prop_item_max_occurrences,
20
+ prop_item_starting_instances,
21
+ // prop_item_item,
22
+ prop_item_additional_text,
23
+ // prop_item_full_width,
24
+ ]);
25
+ model = Object.assign(Object.assign({}, model), repeatableItemProperties);
26
+ return model;
27
+ }
28
+ getSectionItemRepeatableItem(item) {
29
+ const properties = [];
30
+ properties.push(getLiteralDesignProperty(i18n_repeatableItemTemplateId, i18n_repeatableItemTemplateIdInstructions, prop_item_repeatable_item_template_id, 'STRING', item.repeatableItemTemplateId));
31
+ properties.push(getLiteralDesignProperty(i18n_minOccurrances, i18n_minOccurrancesInstructions, prop_item_min_occurrences, 'INTEGER', item.minOccurances));
32
+ properties.push(getLiteralDesignProperty(i18n_maxOccurrances, i18n_maxOccurrancesInstructions, prop_item_max_occurrences, 'INTEGER', item.maxOccurances));
33
+ properties.push(getLiteralDesignProperty(i18n_startingInstances, i18n_startingInstancesInstructions, prop_item_starting_instances, 'INTEGER', item.startingInstances));
34
+ // TODO need to handle for selecting the appropriate template item
35
+ // properties.push(
36
+ // getLiteralDesignProperty(
37
+ // i18n_templateItem,
38
+ // i18n_templateItemInstructions,
39
+ // prop_item_item,
40
+ // '',
41
+ // item.item
42
+ // )
43
+ // )
44
+ properties.push(getLiteralDesignProperty(i18n_additionalText, i18n_additionalTextInstructions, prop_item_additional_text, 'STRING', item.additionalText));
45
+ // TODO pull in updated web-form-ts to include fullWidth property on RepeatableItemTemplate
46
+ // properties.push(getLiteralDesignProperty(i18n_fullWidth, i18n_fullWidthInstructions, prop_item_full_width, 'BOOLEAN', item.fullWidth));
47
+ return { display: i18n_repeatableItemConfiguration, properties };
48
+ }
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0YWJsZS1pdGVtLXRlbXBsYXRlLW1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvZGVzaWduL2Rlc2lnbi1tYXBwZXIvcmVwZWF0YWJsZS1pdGVtLXRlbXBsYXRlLW1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBS0wsd0JBQXdCLEVBQ3hCLG9CQUFvQixHQUVyQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQiwrQkFBK0IsRUFDL0IsbUJBQW1CLEVBQ25CLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLHlDQUF5QyxFQUN6QyxzQkFBc0IsRUFDdEIsa0NBQWtDLEdBQ25DLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHFDQUFxQyxFQUNyQyw0QkFBNEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUc1QyxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsa0JBQTBDO0lBQzFGLFlBQVksTUFBb0g7UUFDOUgsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFUyxRQUFRLENBQUMsS0FBNkIsRUFBRSxVQUEwQixFQUFFLE1BQW1CO1FBQy9GLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxPQUFPLENBQUMsTUFBYztRQUM5QixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sd0JBQXdCLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxFQUFFLGdDQUFnQyxFQUFFO1lBQzlGLHFDQUFxQztZQUNyQyx5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLDRCQUE0QjtZQUM1QixrQkFBa0I7WUFDbEIseUJBQXlCO1lBQ3pCLHdCQUF3QjtTQUN6QixDQUFDLENBQUM7UUFDSCxLQUFLLG1DQUFRLEtBQUssR0FBSyx3QkFBd0IsQ0FBRSxDQUFDO1FBQ2xELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDRCQUE0QixDQUFDLElBQTRCO1FBQy9ELE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7UUFDeEMsVUFBVSxDQUFDLElBQUksQ0FDYix3QkFBd0IsQ0FDdEIsNkJBQTZCLEVBQzdCLHlDQUF5QyxFQUN6QyxxQ0FBcUMsRUFDckMsUUFBUSxFQUNSLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUIsQ0FDRixDQUFDO1FBQ0YsVUFBVSxDQUFDLElBQUksQ0FDYix3QkFBd0IsQ0FDdEIsbUJBQW1CLEVBQ25CLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsU0FBUyxFQUNULElBQUksQ0FBQyxhQUFhLENBQ25CLENBQ0YsQ0FBQztRQUNGLFVBQVUsQ0FBQyxJQUFJLENBQ2Isd0JBQXdCLENBQ3RCLG1CQUFtQixFQUNuQiwrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLFNBQVMsRUFDVCxJQUFJLENBQUMsYUFBYSxDQUNuQixDQUNGLENBQUM7UUFDRixVQUFVLENBQUMsSUFBSSxDQUNiLHdCQUF3QixDQUN0QixzQkFBc0IsRUFDdEIsa0NBQWtDLEVBQ2xDLDRCQUE0QixFQUM1QixTQUFTLEVBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUNGLENBQUM7UUFDRixrRUFBa0U7UUFDbEUsbUJBQW1CO1FBQ25CLGdDQUFnQztRQUNoQyw2QkFBNkI7UUFDN0IseUNBQXlDO1FBQ3pDLDBCQUEwQjtRQUMxQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLFFBQVE7UUFDUixJQUFJO1FBQ0osVUFBVSxDQUFDLElBQUksQ0FDYix3QkFBd0IsQ0FDdEIsbUJBQW1CLEVBQ25CLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsUUFBUSxFQUNSLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQ0YsQ0FBQztRQUNGLDJGQUEyRjtRQUMzRiwwSUFBMEk7UUFDMUksT0FBTyxFQUFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZUl0ZW1NYXBwZXIgfSBmcm9tICcuL3RlbXBsYXRlLWl0ZW0tbWFwcGVyJztcbmltcG9ydCB7IFJlcGVhdGFibGVJdGVtVGVtcGxhdGUgfSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5pbXBvcnQge1xuICBEZXNpZ24sXG4gIERlc2lnbkJhc2UsXG4gIERlc2lnblByb3BlcnR5LFxuICBEZXNpZ25TZWN0aW9uLFxuICBnZXRMaXRlcmFsRGVzaWduUHJvcGVydHksXG4gIGdldExpdGVyYWxQcm9wZXJ0aWVzLFxuICBSZWZlcmVuY2VEZXNpZ25QYXJhbXMsXG59IGZyb20gJ0BtdG5hL2Rlc2lnbmVyLXRzJztcbmltcG9ydCB7IE10bmFMYW5ndWFnZUlkIH0gZnJvbSAnQG10bmEvY29yZS1pMThuLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgaTE4bl9hZGRpdGlvbmFsVGV4dCxcbiAgaTE4bl9hZGRpdGlvbmFsVGV4dEluc3RydWN0aW9ucyxcbiAgaTE4bl9tYXhPY2N1cnJhbmNlcyxcbiAgaTE4bl9tYXhPY2N1cnJhbmNlc0luc3RydWN0aW9ucyxcbiAgaTE4bl9taW5PY2N1cnJhbmNlcyxcbiAgaTE4bl9taW5PY2N1cnJhbmNlc0luc3RydWN0aW9ucyxcbiAgaTE4bl9yZXBlYXRhYmxlSXRlbUNvbmZpZ3VyYXRpb24sXG4gIGkxOG5fcmVwZWF0YWJsZUl0ZW1UZW1wbGF0ZUlkLFxuICBpMThuX3JlcGVhdGFibGVJdGVtVGVtcGxhdGVJZEluc3RydWN0aW9ucyxcbiAgaTE4bl9zdGFydGluZ0luc3RhbmNlcyxcbiAgaTE4bl9zdGFydGluZ0luc3RhbmNlc0luc3RydWN0aW9ucyxcbn0gZnJvbSAnLi4vLi4vaTE4bi1jb25zdGFudHMubW9kZWwnO1xuaW1wb3J0IHtcbiAgcHJvcF9pdGVtX2FkZGl0aW9uYWxfdGV4dCxcbiAgcHJvcF9pdGVtX21heF9vY2N1cnJlbmNlcyxcbiAgcHJvcF9pdGVtX21pbl9vY2N1cnJlbmNlcyxcbiAgcHJvcF9pdGVtX3JlcGVhdGFibGVfaXRlbV90ZW1wbGF0ZV9pZCxcbiAgcHJvcF9pdGVtX3N0YXJ0aW5nX2luc3RhbmNlcyxcbn0gZnJvbSAnLi4vdGVtcGxhdGUtZGVzaWduLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBEZXNpZ25NYXBwZXJQYXJhbXMsIE1vZGVsTWFwcGVyUGFyYW1zIH0gZnJvbSAnQG10bmEvZGVzaWduZXItYW5ndWxhcic7XG5cbmV4cG9ydCBjbGFzcyBSZXBlYXRhYmxlSXRlbVRlbXBsYXRlTWFwcGVyIGV4dGVuZHMgVGVtcGxhdGVJdGVtTWFwcGVyPFJlcGVhdGFibGVJdGVtVGVtcGxhdGU+IHtcbiAgY29uc3RydWN0b3IocGFyYW1zOiBEZXNpZ25NYXBwZXJQYXJhbXM8UmVmZXJlbmNlRGVzaWduUGFyYW1zPiB8IE1vZGVsTWFwcGVyUGFyYW1zPFJlcGVhdGFibGVJdGVtVGVtcGxhdGUsIFJlZmVyZW5jZURlc2lnblBhcmFtcz4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvRGVzaWduKG1vZGVsOiBSZXBlYXRhYmxlSXRlbVRlbXBsYXRlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCwgcGFyZW50PzogRGVzaWduQmFzZSk6IERlc2lnbiB7XG4gICAgY29uc3QgZGVzaWduID0gc3VwZXIudG9EZXNpZ24obW9kZWwsIGxhbmd1YWdlSWQsIHBhcmVudCk7XG4gICAgZGVzaWduLnNlY3Rpb25zID0gWy4uLmRlc2lnbi5zZWN0aW9ucywgdGhpcy5nZXRTZWN0aW9uSXRlbVJlcGVhdGFibGVJdGVtKG1vZGVsKV07XG4gICAgcmV0dXJuIGRlc2lnbjtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b01vZGVsKGRlc2lnbjogRGVzaWduKTogUmVwZWF0YWJsZUl0ZW1UZW1wbGF0ZSB7XG4gICAgbGV0IG1vZGVsID0gc3VwZXIudG9Nb2RlbChkZXNpZ24pO1xuICAgIGNvbnN0IHJlcGVhdGFibGVJdGVtUHJvcGVydGllcyA9IGdldExpdGVyYWxQcm9wZXJ0aWVzKGRlc2lnbiwgaTE4bl9yZXBlYXRhYmxlSXRlbUNvbmZpZ3VyYXRpb24sIFtcbiAgICAgIHByb3BfaXRlbV9yZXBlYXRhYmxlX2l0ZW1fdGVtcGxhdGVfaWQsXG4gICAgICBwcm9wX2l0ZW1fbWluX29jY3VycmVuY2VzLFxuICAgICAgcHJvcF9pdGVtX21heF9vY2N1cnJlbmNlcyxcbiAgICAgIHByb3BfaXRlbV9zdGFydGluZ19pbnN0YW5jZXMsXG4gICAgICAvLyBwcm9wX2l0ZW1faXRlbSxcbiAgICAgIHByb3BfaXRlbV9hZGRpdGlvbmFsX3RleHQsXG4gICAgICAvLyBwcm9wX2l0ZW1fZnVsbF93aWR0aCxcbiAgICBdKTtcbiAgICBtb2RlbCA9IHsgLi4ubW9kZWwsIC4uLnJlcGVhdGFibGVJdGVtUHJvcGVydGllcyB9O1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VjdGlvbkl0ZW1SZXBlYXRhYmxlSXRlbShpdGVtOiBSZXBlYXRhYmxlSXRlbVRlbXBsYXRlKTogRGVzaWduU2VjdGlvbiB7XG4gICAgY29uc3QgcHJvcGVydGllczogRGVzaWduUHJvcGVydHlbXSA9IFtdO1xuICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgIGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShcbiAgICAgICAgaTE4bl9yZXBlYXRhYmxlSXRlbVRlbXBsYXRlSWQsXG4gICAgICAgIGkxOG5fcmVwZWF0YWJsZUl0ZW1UZW1wbGF0ZUlkSW5zdHJ1Y3Rpb25zLFxuICAgICAgICBwcm9wX2l0ZW1fcmVwZWF0YWJsZV9pdGVtX3RlbXBsYXRlX2lkLFxuICAgICAgICAnU1RSSU5HJyxcbiAgICAgICAgaXRlbS5yZXBlYXRhYmxlSXRlbVRlbXBsYXRlSWRcbiAgICAgIClcbiAgICApO1xuICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgIGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShcbiAgICAgICAgaTE4bl9taW5PY2N1cnJhbmNlcyxcbiAgICAgICAgaTE4bl9taW5PY2N1cnJhbmNlc0luc3RydWN0aW9ucyxcbiAgICAgICAgcHJvcF9pdGVtX21pbl9vY2N1cnJlbmNlcyxcbiAgICAgICAgJ0lOVEVHRVInLFxuICAgICAgICBpdGVtLm1pbk9jY3VyYW5jZXNcbiAgICAgIClcbiAgICApO1xuICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgIGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShcbiAgICAgICAgaTE4bl9tYXhPY2N1cnJhbmNlcyxcbiAgICAgICAgaTE4bl9tYXhPY2N1cnJhbmNlc0luc3RydWN0aW9ucyxcbiAgICAgICAgcHJvcF9pdGVtX21heF9vY2N1cnJlbmNlcyxcbiAgICAgICAgJ0lOVEVHRVInLFxuICAgICAgICBpdGVtLm1heE9jY3VyYW5jZXNcbiAgICAgIClcbiAgICApO1xuICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgIGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShcbiAgICAgICAgaTE4bl9zdGFydGluZ0luc3RhbmNlcyxcbiAgICAgICAgaTE4bl9zdGFydGluZ0luc3RhbmNlc0luc3RydWN0aW9ucyxcbiAgICAgICAgcHJvcF9pdGVtX3N0YXJ0aW5nX2luc3RhbmNlcyxcbiAgICAgICAgJ0lOVEVHRVInLFxuICAgICAgICBpdGVtLnN0YXJ0aW5nSW5zdGFuY2VzXG4gICAgICApXG4gICAgKTtcbiAgICAvLyBUT0RPIG5lZWQgdG8gaGFuZGxlIGZvciBzZWxlY3RpbmcgdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIGl0ZW1cbiAgICAvLyBwcm9wZXJ0aWVzLnB1c2goXG4gICAgLy8gICAgIGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eShcbiAgICAvLyAgICAgICAgIGkxOG5fdGVtcGxhdGVJdGVtLFxuICAgIC8vICAgICAgICAgaTE4bl90ZW1wbGF0ZUl0ZW1JbnN0cnVjdGlvbnMsXG4gICAgLy8gICAgICAgICBwcm9wX2l0ZW1faXRlbSxcbiAgICAvLyAgICAgICAgICcnLFxuICAgIC8vICAgICAgICAgaXRlbS5pdGVtXG4gICAgLy8gICAgIClcbiAgICAvLyApXG4gICAgcHJvcGVydGllcy5wdXNoKFxuICAgICAgZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5KFxuICAgICAgICBpMThuX2FkZGl0aW9uYWxUZXh0LFxuICAgICAgICBpMThuX2FkZGl0aW9uYWxUZXh0SW5zdHJ1Y3Rpb25zLFxuICAgICAgICBwcm9wX2l0ZW1fYWRkaXRpb25hbF90ZXh0LFxuICAgICAgICAnU1RSSU5HJyxcbiAgICAgICAgaXRlbS5hZGRpdGlvbmFsVGV4dFxuICAgICAgKVxuICAgICk7XG4gICAgLy8gVE9ETyBwdWxsIGluIHVwZGF0ZWQgd2ViLWZvcm0tdHMgdG8gaW5jbHVkZSBmdWxsV2lkdGggcHJvcGVydHkgb24gUmVwZWF0YWJsZUl0ZW1UZW1wbGF0ZVxuICAgIC8vIHByb3BlcnRpZXMucHVzaChnZXRMaXRlcmFsRGVzaWduUHJvcGVydHkoaTE4bl9mdWxsV2lkdGgsIGkxOG5fZnVsbFdpZHRoSW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fZnVsbF93aWR0aCwgJ0JPT0xFQU4nLCBpdGVtLmZ1bGxXaWR0aCkpO1xuICAgIHJldHVybiB7IGRpc3BsYXk6IGkxOG5fcmVwZWF0YWJsZUl0ZW1Db25maWd1cmF0aW9uLCBwcm9wZXJ0aWVzIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { getLiteralDesignProperty, getLiteralProperties, getModelDesignProperty, } from '@mtna/designer-ts';
2
+ import { i18n_childItems, i18n_layout, i18n_layoutInstructions, i18n_templateItems, i18n_templateItemsInstructionsGroup, } from '../../i18n-constants.model';
3
+ import { prop_item_items, prop_item_layout } from '../template-design-constants.model';
4
+ import { TemplateItemMapper } from './template-item-mapper';
5
+ import { GROUP_POTENTIAL_DESIGN_LIST } from '../potential-designs.model';
6
+ import * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';
7
+ export class TemplateItemGroupMapper extends TemplateItemMapper {
8
+ constructor(params) {
9
+ super(params);
10
+ }
11
+ getPotentialDesigns(property) {
12
+ return GROUP_POTENTIAL_DESIGN_LIST;
13
+ }
14
+ toDesign(model, languageId, parent) {
15
+ const design = super.toDesign(model, languageId, parent);
16
+ design.sections = [...design.sections, this.getSectionItemGroup(model, languageId, parent)];
17
+ return design;
18
+ }
19
+ toModel(design) {
20
+ let model = super.toModel(design);
21
+ const itemGroupProperties = getLiteralProperties(design, i18n_childItems, [prop_item_layout]);
22
+ const itemGroupModelProperties = MtnaTemplateCoreDesign.getTemplateItems(design, i18n_childItems, [prop_item_items]);
23
+ model = Object.assign(Object.assign(Object.assign({}, model), itemGroupProperties), itemGroupModelProperties);
24
+ return model;
25
+ }
26
+ getSectionItemGroup(item, languageId, parent) {
27
+ const properties = [];
28
+ // TODO there needs a way to set possible values on enumerations, not just the actual value
29
+ properties.push(getLiteralDesignProperty(i18n_layout, i18n_layoutInstructions, prop_item_layout, 'ENUMERATION', item.layout));
30
+ properties.push(getModelDesignProperty(i18n_templateItems, i18n_templateItemsInstructionsGroup, prop_item_items, true, item.items ? item.items.map((item) => MtnaTemplateCoreDesign.itemToDesign(item, languageId, parent, this.context)) : []));
31
+ return { display: i18n_childItems, properties };
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaXRlbS1ncm91cC1tYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvbW9kZWxzL2Rlc2lnbi9kZXNpZ24tbWFwcGVyL3RlbXBsYXRlLWl0ZW0tZ3JvdXAtbWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFLTCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHNCQUFzQixHQUV2QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsV0FBVyxFQUNYLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsbUNBQW1DLEdBQ3BDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSw4Q0FBOEMsQ0FBQztBQUd2RixNQUFNLE9BQU8sdUJBR1gsU0FBUSxrQkFBd0I7SUFDaEMsWUFBWSxNQUF1RDtRQUNqRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQXdCO1FBQzFDLE9BQU8sMkJBQTJCLENBQUM7SUFDckMsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFRLEVBQUUsVUFBMEIsRUFBRSxNQUFtQjtRQUMxRSxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxPQUFPLENBQUMsTUFBYztRQUM5QixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUM5RixNQUFNLHdCQUF3QixHQUFHLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3JILEtBQUssaURBQVEsS0FBSyxHQUFLLG1CQUFtQixHQUFLLHdCQUF3QixDQUFFLENBQUM7UUFDMUUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sbUJBQW1CLENBQUMsSUFBdUIsRUFBRSxVQUEwQixFQUFFLE1BQW1CO1FBQ2xHLE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7UUFDeEMsMkZBQTJGO1FBQzNGLFVBQVUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM5SCxVQUFVLENBQUMsSUFBSSxDQUNiLHNCQUFzQixDQUNwQixrQkFBa0IsRUFDbEIsbUNBQW1DLEVBQ25DLGVBQWUsRUFDZixJQUFJLEVBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN4SCxDQUNGLENBQUM7UUFDRixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZUl0ZW1Hcm91cCB9IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcbmltcG9ydCB7XG4gIERlc2lnbixcbiAgRGVzaWduQmFzZSxcbiAgRGVzaWduUHJvcGVydHksXG4gIERlc2lnblNlY3Rpb24sXG4gIGdldExpdGVyYWxEZXNpZ25Qcm9wZXJ0eSxcbiAgZ2V0TGl0ZXJhbFByb3BlcnRpZXMsXG4gIGdldE1vZGVsRGVzaWduUHJvcGVydHksXG4gIFJlZmVyZW5jZURlc2lnblBhcmFtcyxcbn0gZnJvbSAnQG10bmEvZGVzaWduZXItdHMnO1xuaW1wb3J0IHtcbiAgaTE4bl9jaGlsZEl0ZW1zLFxuICBpMThuX2xheW91dCxcbiAgaTE4bl9sYXlvdXRJbnN0cnVjdGlvbnMsXG4gIGkxOG5fdGVtcGxhdGVJdGVtcyxcbiAgaTE4bl90ZW1wbGF0ZUl0ZW1zSW5zdHJ1Y3Rpb25zR3JvdXAsXG59IGZyb20gJy4uLy4uL2kxOG4tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCB7IHByb3BfaXRlbV9pdGVtcywgcHJvcF9pdGVtX2xheW91dCB9IGZyb20gJy4uL3RlbXBsYXRlLWRlc2lnbi1jb25zdGFudHMubW9kZWwnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQgeyBUZW1wbGF0ZUl0ZW1NYXBwZXIgfSBmcm9tICcuL3RlbXBsYXRlLWl0ZW0tbWFwcGVyJztcbmltcG9ydCB7IEdST1VQX1BPVEVOVElBTF9ERVNJR05fTElTVCB9IGZyb20gJy4uL3BvdGVudGlhbC1kZXNpZ25zLm1vZGVsJztcbmltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3RlbXBsYXRlLWRlc2lnbi1jb3JlLXV0aWwnO1xuaW1wb3J0IHsgRGVzaWduTWFwcGVyUGFyYW1zLCBNb2RlbE1hcHBlclBhcmFtcyB9IGZyb20gJ0BtdG5hL2Rlc2lnbmVyLWFuZ3VsYXInO1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVJdGVtR3JvdXBNYXBwZXI8XG4gIFQgZXh0ZW5kcyBUZW1wbGF0ZUl0ZW1Hcm91cCA9IFRlbXBsYXRlSXRlbUdyb3VwLFxuICBQIGV4dGVuZHMgUmVmZXJlbmNlRGVzaWduUGFyYW1zID0gUmVmZXJlbmNlRGVzaWduUGFyYW1zXG4+IGV4dGVuZHMgVGVtcGxhdGVJdGVtTWFwcGVyPFQsIFA+IHtcbiAgY29uc3RydWN0b3IocGFyYW1zOiBEZXNpZ25NYXBwZXJQYXJhbXM8UD4gfCBNb2RlbE1hcHBlclBhcmFtczxULCBQPikge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gIH1cblxuICBnZXRQb3RlbnRpYWxEZXNpZ25zKHByb3BlcnR5OiBEZXNpZ25Qcm9wZXJ0eSk6IERlc2lnbkJhc2VbXSB7XG4gICAgcmV0dXJuIEdST1VQX1BPVEVOVElBTF9ERVNJR05fTElTVDtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b0Rlc2lnbihtb2RlbDogVCwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQsIHBhcmVudD86IERlc2lnbkJhc2UpOiBEZXNpZ24ge1xuICAgIGNvbnN0IGRlc2lnbiA9IHN1cGVyLnRvRGVzaWduKG1vZGVsLCBsYW5ndWFnZUlkLCBwYXJlbnQpO1xuICAgIGRlc2lnbi5zZWN0aW9ucyA9IFsuLi5kZXNpZ24uc2VjdGlvbnMsIHRoaXMuZ2V0U2VjdGlvbkl0ZW1Hcm91cChtb2RlbCwgbGFuZ3VhZ2VJZCwgcGFyZW50KV07XG4gICAgcmV0dXJuIGRlc2lnbjtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b01vZGVsKGRlc2lnbjogRGVzaWduKTogVCB7XG4gICAgbGV0IG1vZGVsID0gc3VwZXIudG9Nb2RlbChkZXNpZ24pO1xuICAgIGNvbnN0IGl0ZW1Hcm91cFByb3BlcnRpZXMgPSBnZXRMaXRlcmFsUHJvcGVydGllcyhkZXNpZ24sIGkxOG5fY2hpbGRJdGVtcywgW3Byb3BfaXRlbV9sYXlvdXRdKTtcbiAgICBjb25zdCBpdGVtR3JvdXBNb2RlbFByb3BlcnRpZXMgPSBNdG5hVGVtcGxhdGVDb3JlRGVzaWduLmdldFRlbXBsYXRlSXRlbXMoZGVzaWduLCBpMThuX2NoaWxkSXRlbXMsIFtwcm9wX2l0ZW1faXRlbXNdKTtcbiAgICBtb2RlbCA9IHsgLi4ubW9kZWwsIC4uLml0ZW1Hcm91cFByb3BlcnRpZXMsIC4uLml0ZW1Hcm91cE1vZGVsUHJvcGVydGllcyB9O1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VjdGlvbkl0ZW1Hcm91cChpdGVtOiBUZW1wbGF0ZUl0ZW1Hcm91cCwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQsIHBhcmVudD86IERlc2lnbkJhc2UpOiBEZXNpZ25TZWN0aW9uIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBEZXNpZ25Qcm9wZXJ0eVtdID0gW107XG4gICAgLy8gVE9ETyB0aGVyZSBuZWVkcyBhIHdheSB0byBzZXQgcG9zc2libGUgdmFsdWVzIG9uIGVudW1lcmF0aW9ucywgbm90IGp1c3QgdGhlIGFjdHVhbCB2YWx1ZVxuICAgIHByb3BlcnRpZXMucHVzaChnZXRMaXRlcmFsRGVzaWduUHJvcGVydHkoaTE4bl9sYXlvdXQsIGkxOG5fbGF5b3V0SW5zdHJ1Y3Rpb25zLCBwcm9wX2l0ZW1fbGF5b3V0LCAnRU5VTUVSQVRJT04nLCBpdGVtLmxheW91dCkpO1xuICAgIHByb3BlcnRpZXMucHVzaChcbiAgICAgIGdldE1vZGVsRGVzaWduUHJvcGVydHkoXG4gICAgICAgIGkxOG5fdGVtcGxhdGVJdGVtcyxcbiAgICAgICAgaTE4bl90ZW1wbGF0ZUl0ZW1zSW5zdHJ1Y3Rpb25zR3JvdXAsXG4gICAgICAgIHByb3BfaXRlbV9pdGVtcyxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgaXRlbS5pdGVtcyA/IGl0ZW0uaXRlbXMubWFwKChpdGVtKSA9PiBNdG5hVGVtcGxhdGVDb3JlRGVzaWduLml0ZW1Ub0Rlc2lnbihpdGVtLCBsYW5ndWFnZUlkLCBwYXJlbnQsIHRoaXMuY29udGV4dCkpIDogW11cbiAgICAgIClcbiAgICApO1xuICAgIHJldHVybiB7IGRpc3BsYXk6IGkxOG5fY2hpbGRJdGVtcywgcHJvcGVydGllcyB9O1xuICB9XG59XG4iXX0=