@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.
- package/_index.scss +20 -0
- package/bundles/mtna-web-form-angular.umd.js +5912 -359
- package/bundles/mtna-web-form-angular.umd.js.map +1 -1
- package/esm2015/lib/components/acknowledge-dialog/acknowledge-dialog.component.js +1 -1
- package/esm2015/lib/components/base-form/base-form.component.js +11 -2
- package/esm2015/lib/components/base-items/base-form-item.component.js +11 -2
- package/esm2015/lib/components/base-items/base-section-item.component.js +1 -2
- package/esm2015/lib/components/form/form.component.js +2 -2
- package/esm2015/lib/components/form-item/form-item.component.js +11 -2
- package/esm2015/lib/components/form-item-dialog/form-item-dialog.component.js +1 -1
- package/esm2015/lib/components/form-item-impl/boolean/boolean.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/checkbox/checkbox.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/date/date.component.js +1 -1
- package/esm2015/lib/components/form-item-impl/date/date.module.js +5 -2
- package/esm2015/lib/components/form-item-impl/date-range/date-range.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/file-upload/file-upload.component.js +1 -1
- package/esm2015/lib/components/form-item-impl/form-group/form-group.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/form-section/form-section.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.component.js +3 -2
- package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.module.js +6 -3
- package/esm2015/lib/components/form-item-impl/multiple-choice/multiple-choice.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.js +11 -10
- package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.js +6 -2
- package/esm2015/lib/components/form-item-impl/search/resource-search.component.js +9 -8
- package/esm2015/lib/components/form-item-impl/table-item/table-item.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +3 -3
- package/esm2015/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.js +2 -2
- package/esm2015/lib/components/form-item-injector/form-item-injector.component.js +12 -2
- package/esm2015/lib/components/index.js +2 -1
- package/esm2015/lib/components/progressive-form/progressive-form/progressive-form.component.js +2 -2
- package/esm2015/lib/components/step-card/step-card.component.js +1 -2
- package/esm2015/lib/components/template-item-impl/base/base-template-item-with-list.component.js +26 -0
- package/esm2015/lib/components/template-item-impl/base/base-template-item.component.js +80 -0
- package/esm2015/lib/components/template-item-impl/base/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.component.js +24 -0
- package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/boolean-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.component.js +37 -0
- package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.module.js +24 -0
- package/esm2015/lib/components/template-item-impl/checkbox-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/index.js +4 -0
- package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.js +41 -0
- package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.js +59 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.js +48 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.js +22 -0
- package/esm2015/lib/components/template-item-impl/date-item/date-item.component.js +85 -0
- package/esm2015/lib/components/template-item-impl/date-item/date-item.module.js +52 -0
- package/esm2015/lib/components/template-item-impl/date-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.js +29 -0
- package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.js +41 -0
- package/esm2015/lib/components/template-item-impl/decimal-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.component.js +23 -0
- package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.module.js +48 -0
- package/esm2015/lib/components/template-item-impl/dropdown-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.component.js +25 -0
- package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.module.js +45 -0
- package/esm2015/lib/components/template-item-impl/file-upload-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.js +51 -0
- package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.js +45 -0
- package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.js +50 -0
- package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.js +48 -0
- package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/index.js +29 -0
- package/esm2015/lib/components/template-item-impl/models/index.js +2 -0
- package/esm2015/lib/components/template-item-impl/models/step-aware.model.js +6 -0
- package/esm2015/lib/components/template-item-impl/multiple-choice-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/option/template-option-group-item.component.js +17 -0
- package/esm2015/lib/components/template-item-impl/option/template-option-item.component.js +17 -0
- package/esm2015/lib/components/template-item-impl/ordered-list-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/paragraph-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.js +28 -0
- package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.js +41 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.component.js +23 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.module.js +18 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item-container/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.js +46 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.js +50 -0
- package/esm2015/lib/components/template-item-impl/short-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.component.js +28 -0
- package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.module.js +41 -0
- package/esm2015/lib/components/template-item-impl/template/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template/template.component.js +89 -0
- package/esm2015/lib/components/template-item-impl/template/template.module.js +46 -0
- package/esm2015/lib/components/template-item-impl/template-display-viewer/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.js +44 -0
- package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.js +57 -0
- package/esm2015/lib/components/template-item-impl/template-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item/template-item.component.js +81 -0
- package/esm2015/lib/components/template-item-impl/template-item/template-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/template-item-component-provider/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.js +8 -0
- package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.js +107 -0
- package/esm2015/lib/components/template-item-impl/template-item-group/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.component.js +52 -0
- package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.module.js +22 -0
- package/esm2015/lib/components/template-item-impl/template-item-header/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.component.js +68 -0
- package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/template-item-injector/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.component.js +115 -0
- package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.module.js +18 -0
- package/esm2015/lib/components/template-item-impl/template-section/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-section/template-section.component.js +32 -0
- package/esm2015/lib/components/template-item-impl/template-section/template-section.module.js +44 -0
- package/esm2015/lib/components/template-item-impl/text-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/text-item/text-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/text-item/text-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/title-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/title-item/title-item.component.js +20 -0
- package/esm2015/lib/components/template-item-impl/title-item/title-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/unordered-list-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/whole-number-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.js +28 -0
- package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.js +41 -0
- package/esm2015/lib/models/custom-date-format-provider.model.js +13 -0
- package/esm2015/lib/models/date/default-year-range.model.js +3 -0
- package/esm2015/lib/models/date/index.js +2 -0
- package/esm2015/lib/models/design/conditional-processing-resources.model.js +2 -0
- package/esm2015/lib/models/design/design-mapper/boolean-item-template-mapper.js +15 -0
- package/esm2015/lib/models/design/design-mapper/bulleted-list-item-template-mapper.js +27 -0
- package/esm2015/lib/models/design/design-mapper/checkbox-item-template-mapper.js +15 -0
- package/esm2015/lib/models/design/design-mapper/date-item-template-mapper.js +39 -0
- package/esm2015/lib/models/design/design-mapper/dropdown-item-template-mapper.js +26 -0
- package/esm2015/lib/models/design/design-mapper/file-upload-item-template-mapper.js +31 -0
- package/esm2015/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.js +28 -0
- package/esm2015/lib/models/design/design-mapper/index.js +27 -0
- package/esm2015/lib/models/design/design-mapper/mapper-classes.model.js +89 -0
- package/esm2015/lib/models/design/design-mapper/mapping-logic-core.js +19 -0
- package/esm2015/lib/models/design/design-mapper/multiple-choice-item-template-mapper.js +25 -0
- package/esm2015/lib/models/design/design-mapper/numbered-list-item-template-mapper.js +27 -0
- package/esm2015/lib/models/design/design-mapper/numeric-response-item-template-mapper.js +37 -0
- package/esm2015/lib/models/design/design-mapper/offset-date-range-template-mapper.js +32 -0
- package/esm2015/lib/models/design/design-mapper/option-group-item-mapper.js +59 -0
- package/esm2015/lib/models/design/design-mapper/option-item-mapper.js +54 -0
- package/esm2015/lib/models/design/design-mapper/option-selector-mapper.js +117 -0
- package/esm2015/lib/models/design/design-mapper/repeatable-item-template-mapper.js +50 -0
- package/esm2015/lib/models/design/design-mapper/template-item-group-mapper.js +34 -0
- package/esm2015/lib/models/design/design-mapper/template-item-mapper.js +79 -0
- package/esm2015/lib/models/design/design-mapper/template-mapper.js +64 -0
- package/esm2015/lib/models/design/design-mapper/template-section-mapper.js +40 -0
- package/esm2015/lib/models/design/design-mapper/text-item-template-mapper.js +26 -0
- package/esm2015/lib/models/design/design-mapper/text-response-item-template-mapper.js +32 -0
- package/esm2015/lib/models/design/design-mapper/time-item-template-mapper.js +30 -0
- package/esm2015/lib/models/design/design-mapper/title-item-template-mapper.js +26 -0
- package/esm2015/lib/models/design/design-mapper/year-quarter-range-template-mapper.js +28 -0
- package/esm2015/lib/models/design/enumerations/date-enumeration.model.js +33 -0
- package/esm2015/lib/models/design/enumerations/index.js +2 -0
- package/esm2015/lib/models/design/index.js +9 -0
- package/esm2015/lib/models/design/option-group-item-section-display-name-map.model.js +8 -0
- package/esm2015/lib/models/design/option-item-section-display-name-map.model.js +6 -0
- package/esm2015/lib/models/design/potential-designs.model.js +160 -0
- package/esm2015/lib/models/design/template-design-constants.model.js +48 -0
- package/esm2015/lib/models/design/template-design-context.model.js +10 -0
- package/esm2015/lib/models/i18n-constants.model.js +185 -0
- package/esm2015/lib/models/index.js +5 -1
- package/esm2015/lib/pipes/filter-hidden-items.pipe.js +1 -1
- package/esm2015/lib/pipes/get-i18n-string-value-from-locale.pipe.js +36 -0
- package/esm2015/lib/pipes/get-i18n-strings-value-from-locale.pipe.js +36 -0
- package/esm2015/lib/pipes/get-progressive-form-item.pipe.js +1 -2
- package/esm2015/lib/pipes/index.js +6 -1
- package/esm2015/lib/pipes/instance-of-template-item-group-impl.pipe.js +33 -0
- package/esm2015/lib/pipes/instance-of-template-item.pipe.js +29 -0
- package/esm2015/lib/pipes/instance-of-template.pipe.js +29 -0
- package/esm2015/lib/pipes/items-with-value.pipe.js +1 -3
- package/esm2015/lib/services/api.service.js +8 -2
- package/esm2015/lib/services/dialog.service.js +9 -9
- package/esm2015/lib/services/index.js +2 -1
- package/esm2015/lib/services/template-transformation.service.js +27 -0
- package/esm2015/lib/state/design/index.js +2 -0
- package/esm2015/lib/state/design/template-design.facade.js +239 -0
- package/esm2015/lib/state/form/index.js +8 -0
- package/esm2015/lib/state/form/template-form-api.actions.js +6 -0
- package/esm2015/lib/state/form/template-form.actions.js +5 -0
- package/esm2015/lib/state/form/template-form.effects.js +39 -0
- package/esm2015/lib/state/form/template-form.facade.js +28 -0
- package/esm2015/lib/state/form/template-form.reducer.js +18 -0
- package/esm2015/lib/state/form/template-form.selectors.js +8 -0
- package/esm2015/lib/state/index.js +3 -0
- package/esm2015/lib/utilities/design-conditionals-util.js +124 -0
- package/esm2015/lib/utilities/form-option-design-util.js +88 -0
- package/esm2015/lib/utilities/generate-form-steps.js +1 -1
- package/esm2015/lib/utilities/index.js +6 -2
- package/esm2015/lib/utilities/merge-template-util.js +116 -0
- package/esm2015/lib/utilities/new-base-designs.util.js +193 -0
- package/esm2015/lib/utilities/serializer-util.js +33 -2
- package/esm2015/lib/utilities/template-design-core-util.js +34 -0
- package/esm2015/lib/utilities/template-design-util.js +113 -0
- package/esm2015/public-api.js +2 -1
- package/fesm2015/mtna-web-form-angular.js +4649 -138
- package/fesm2015/mtna-web-form-angular.js.map +1 -1
- package/lib/_index.scss +45 -0
- package/lib/components/base-form/base-form.component.d.ts +6 -2
- package/lib/components/base-items/base-form-item.component.d.ts +4 -1
- package/lib/components/form-item/form-item.component.d.ts +4 -1
- package/lib/components/form-item-impl/checkbox/_checkbox-theme.scss +3 -20
- package/lib/components/form-item-impl/i18n-input/i18n-input.module.d.ts +2 -1
- package/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +2 -1
- package/lib/components/form-item-impl/search/resource-search.component.d.ts +3 -3
- package/lib/components/form-item-impl/year-quarter/year-quarter.component.d.ts +2 -6
- package/lib/components/form-item-injector/form-item-injector.component.d.ts +5 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/template-item-impl/base/base-template-item-with-list.component.d.ts +12 -0
- package/lib/components/template-item-impl/base/base-template-item.component.d.ts +30 -0
- package/lib/components/template-item-impl/base/index.d.ts +2 -0
- package/lib/components/template-item-impl/boolean-item/boolean-item.component.d.ts +11 -0
- package/lib/components/template-item-impl/boolean-item/boolean-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/boolean-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/checkbox-item/_checkbox-item-template-theme.scss +47 -0
- package/lib/components/template-item-impl/checkbox-item/checkbox-item.component.d.ts +11 -0
- package/lib/components/template-item-impl/checkbox-item/checkbox-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/checkbox-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/index.d.ts +3 -0
- package/lib/components/template-item-impl/date/offset-date-range-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.d.ts +13 -0
- package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/date/year-quarter-item/_year-quarter-item-template-theme.scss +28 -0
- package/lib/components/template-item-impl/date/year-quarter-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.d.ts +23 -0
- package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/date/year-quarter-range-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.d.ts +12 -0
- package/lib/components/template-item-impl/date-item/_date-item-template-theme.scss +29 -0
- package/lib/components/template-item-impl/date-item/date-item.component.d.ts +22 -0
- package/lib/components/template-item-impl/date-item/date-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/date-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/decimal-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/dropdown-item/_dropdown-item-template-theme.scss +35 -0
- package/lib/components/template-item-impl/dropdown-item/dropdown-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/dropdown-item/dropdown-item.module.d.ts +15 -0
- package/lib/components/template-item-impl/dropdown-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/file-upload-item/file-upload-item.component.d.ts +9 -0
- package/lib/components/template-item-impl/file-upload-item/file-upload-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/file-upload-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.d.ts +13 -0
- package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/i18n-paragraph-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.d.ts +11 -0
- package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.d.ts +15 -0
- package/lib/components/template-item-impl/i18n-short-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/index.d.ts +28 -0
- package/lib/components/template-item-impl/models/index.d.ts +1 -0
- package/lib/components/template-item-impl/models/step-aware.model.d.ts +5 -0
- package/lib/components/template-item-impl/multiple-choice-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/option/template-option-group-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/option/template-option-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/ordered-list-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.d.ts +10 -0
- package/lib/components/template-item-impl/paragraph-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/repeatable-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/repeatable-item/repeatable-item.component.d.ts +5 -0
- package/lib/components/template-item-impl/repeatable-item/repeatable-item.module.d.ts +8 -0
- package/lib/components/template-item-impl/repeatable-item-container/_repeatable-item-template-container-theme.scss +28 -0
- package/lib/components/template-item-impl/repeatable-item-container/index.d.ts +2 -0
- package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.d.ts +8 -0
- package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +15 -0
- package/lib/components/template-item-impl/short-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/short-answer-item/short-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/short-answer-item/short-answer-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/template/index.d.ts +2 -0
- package/lib/components/template-item-impl/template/template.component.d.ts +35 -0
- package/lib/components/template-item-impl/template/template.module.d.ts +14 -0
- package/lib/components/template-item-impl/template-display-viewer/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.d.ts +25 -0
- package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.d.ts +17 -0
- package/lib/components/template-item-impl/template-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item/template-item.component.d.ts +29 -0
- package/lib/components/template-item-impl/template-item/template-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/template-item-component-provider/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.d.ts +4 -0
- package/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-group/_template-item-group-theme.scss +31 -0
- package/lib/components/template-item-impl/template-item-group/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-group/template-item-group.component.d.ts +18 -0
- package/lib/components/template-item-impl/template-item-group/template-item-group.module.d.ts +12 -0
- package/lib/components/template-item-impl/template-item-header/_template-item-header-theme.scss +28 -0
- package/lib/components/template-item-impl/template-item-header/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-header/template-item-header.component.d.ts +26 -0
- package/lib/components/template-item-impl/template-item-header/template-item-header.module.d.ts +10 -0
- package/lib/components/template-item-impl/template-item-injector/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-injector/template-item-injector.component.d.ts +43 -0
- package/lib/components/template-item-impl/template-item-injector/template-item-injector.module.d.ts +8 -0
- package/lib/components/template-item-impl/template-section/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-section/template-section.component.d.ts +12 -0
- package/lib/components/template-item-impl/template-section/template-section.module.d.ts +13 -0
- package/lib/components/template-item-impl/text-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/text-item/text-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/text-item/text-item.module.d.ts +10 -0
- package/lib/components/template-item-impl/title-item/_title-item-template-theme.scss +28 -0
- package/lib/components/template-item-impl/title-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/title-item/title-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/title-item/title-item.module.d.ts +9 -0
- package/lib/components/template-item-impl/unordered-list-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.d.ts +10 -0
- package/lib/components/template-item-impl/whole-number-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.d.ts +13 -0
- package/lib/core/_all-color.scss +18 -0
- package/lib/core/_all-theme.scss +18 -0
- package/lib/core/_all-typography.scss +18 -0
- package/lib/core/_mixins.scss +58 -0
- package/lib/models/custom-date-format-provider.model.d.ts +2 -0
- package/lib/models/date/default-year-range.model.d.ts +6 -0
- package/lib/models/date/index.d.ts +1 -0
- package/lib/models/design/conditional-processing-resources.model.d.ts +7 -0
- package/lib/models/design/design-mapper/boolean-item-template-mapper.d.ts +10 -0
- package/lib/models/design/design-mapper/bulleted-list-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/checkbox-item-template-mapper.d.ts +10 -0
- package/lib/models/design/design-mapper/date-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/dropdown-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/file-upload-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/index.d.ts +26 -0
- package/lib/models/design/design-mapper/mapper-classes.model.d.ts +1 -0
- package/lib/models/design/design-mapper/mapping-logic-core.d.ts +19 -0
- package/lib/models/design/design-mapper/multiple-choice-item-template-mapper.d.ts +10 -0
- package/lib/models/design/design-mapper/numbered-list-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/numeric-response-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/offset-date-range-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/option-group-item-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/option-item-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/option-selector-mapper.d.ts +29 -0
- package/lib/models/design/design-mapper/repeatable-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/template-item-group-mapper.d.ts +12 -0
- package/lib/models/design/design-mapper/template-item-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/template-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/template-section-mapper.d.ts +12 -0
- package/lib/models/design/design-mapper/text-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/text-response-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/time-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/title-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/year-quarter-range-template-mapper.d.ts +11 -0
- package/lib/models/design/enumerations/date-enumeration.model.d.ts +8 -0
- package/lib/models/design/enumerations/index.d.ts +1 -0
- package/lib/models/design/index.d.ts +8 -0
- package/lib/models/design/option-group-item-section-display-name-map.model.d.ts +3 -0
- package/lib/models/design/option-item-section-display-name-map.model.d.ts +3 -0
- package/lib/models/design/potential-designs.model.d.ts +27 -0
- package/lib/models/design/template-design-constants.model.d.ts +47 -0
- package/lib/models/design/template-design-context.model.d.ts +3 -0
- package/lib/models/i18n-constants.model.d.ts +183 -0
- package/lib/models/index.d.ts +4 -0
- package/lib/pipes/get-i18n-string-value-from-locale.pipe.d.ts +14 -0
- package/lib/pipes/get-i18n-strings-value-from-locale.pipe.d.ts +14 -0
- package/lib/pipes/index.d.ts +5 -0
- package/lib/pipes/instance-of-template-item-group-impl.pipe.d.ts +14 -0
- package/lib/pipes/instance-of-template-item.pipe.d.ts +13 -0
- package/lib/pipes/instance-of-template.pipe.d.ts +13 -0
- package/lib/services/api.service.d.ts +4 -2
- package/lib/services/dialog.service.d.ts +3 -3
- package/lib/services/index.d.ts +1 -0
- package/lib/services/template-transformation.service.d.ts +14 -0
- package/lib/state/design/index.d.ts +1 -0
- package/lib/state/design/template-design.facade.d.ts +31 -0
- package/lib/state/form/index.d.ts +7 -0
- package/lib/state/form/template-form-api.actions.d.ts +13 -0
- package/lib/state/form/template-form.actions.d.ts +12 -0
- package/lib/state/form/template-form.effects.d.ts +23 -0
- package/lib/state/form/template-form.facade.d.ts +16 -0
- package/lib/state/form/template-form.reducer.d.ts +11 -0
- package/lib/state/form/template-form.selectors.d.ts +6 -0
- package/lib/state/index.d.ts +2 -0
- package/lib/utilities/design-conditionals-util.d.ts +13 -0
- package/lib/utilities/form-option-design-util.d.ts +12 -0
- package/lib/utilities/generate-form-steps.d.ts +2 -2
- package/lib/utilities/index.d.ts +5 -1
- package/lib/utilities/merge-template-util.d.ts +11 -0
- package/lib/utilities/new-base-designs.util.d.ts +25 -0
- package/lib/utilities/serializer-util.d.ts +1 -0
- package/lib/utilities/template-design-core-util.d.ts +10 -0
- package/lib/utilities/template-design-util.d.ts +14 -0
- package/package.json +5 -2
- 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLWl0ZW0tbWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL21vZGVscy9kZXNpZ24vZGVzaWduLW1hcHBlci9vcHRpb24tZ3JvdXAtaXRlbS1tYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUtMLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsc0JBQXNCLEdBRXZCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUNMLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIsa0JBQWtCLEVBQ2xCLDhCQUE4QixFQUM5QixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLHdCQUF3QixHQUN6QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNILE9BQU8sS0FBSyxvQkFBb0IsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRixNQUFNLE9BQU8scUJBSVgsU0FBUSxrQkFBd0I7SUFDaEMsWUFBWSxNQUF1RDtRQUNqRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQXdCO1FBQzFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUyxRQUFRLENBQUMsS0FBUSxFQUFFLFVBQTBCLEVBQUUsTUFBbUI7UUFDMUUsTUFBTSxNQUFNLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLE1BQU0sUUFBUSxHQUFvQixDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRSx1Q0FBWSxNQUFNLEtBQUUsUUFBUSxFQUFFLE1BQU0sSUFBRztJQUN6QyxDQUFDO0lBRVMsT0FBTyxDQUFDLE1BQWM7UUFDOUIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsQyxNQUFNLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsb0NBQW9DLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RHLHdCQUF3QjtZQUN4Qix3QkFBd0I7U0FDekIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLG9CQUFvQixDQUFDLHdCQUF3QixDQUNsRixNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLHNCQUFzQixDQUFDLGNBQWMsRUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRUYsS0FBSyxpREFBUSxLQUFLLEdBQUssZUFBZSxLQUFFLGlCQUFpQixFQUFFLE9BQU8sR0FBRSxDQUFDO1FBQ3JFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDhCQUE4QixDQUFDLEtBQVEsRUFBRSxVQUEwQjtRQUN6RSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzVCLHVIQUF1SDtRQUN2SCxJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN2QixPQUFPLEdBQUcsb0JBQW9CLENBQUM7U0FDaEM7UUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDO1FBQ25DLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBQVEsRUFBRSxVQUEwQixFQUFFLE1BQW1CO1FBQ3BGLE1BQU0sVUFBVSxHQUFxQixFQUFFLENBQUM7UUFDeEMsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFDO1FBRW5DLFVBQVUsQ0FBQyxJQUFJLENBQ2Isd0JBQXdCLENBQUMsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDdkksQ0FBQztRQUNGLFVBQVUsQ0FBQyxJQUFJLENBQ2Isd0JBQXdCLENBQUMsa0JBQWtCLEVBQUUsOEJBQThCLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDdkksQ0FBQztRQUVGLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUUzRixLQUFLLE1BQU0sa0JBQWtCLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUM5QyxNQUFNLFlBQVksR0FBVyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FDdEUsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixLQUFLLENBQUMsaUJBQWlCLEVBQ3ZCLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3JGLDJCQUEyQixFQUMzQixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7WUFDRixhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsVUFBVSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uLCBUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbSB9IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcbmltcG9ydCB7IFRlbXBsYXRlSXRlbU1hcHBlciB9IGZyb20gJy4vdGVtcGxhdGUtaXRlbS1tYXBwZXInO1xuaW1wb3J0IHtcbiAgRGVzaWduLFxuICBEZXNpZ25CYXNlLFxuICBEZXNpZ25Qcm9wZXJ0eSxcbiAgRGVzaWduU2VjdGlvbixcbiAgZ2V0TGl0ZXJhbERlc2lnblByb3BlcnR5LFxuICBnZXRMaXRlcmFsUHJvcGVydGllcyxcbiAgZ2V0TW9kZWxEZXNpZ25Qcm9wZXJ0eSxcbiAgUmVmZXJlbmNlRGVzaWduUGFyYW1zLFxufSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBNdG5hTGFuZ3VhZ2VJZCB9IGZyb20gJ0BtdG5hL2NvcmUtaTE4bi1hbmd1bGFyJztcbmltcG9ydCB7XG4gIGkxOG5fbWF4U2VsZWN0aW9ucyxcbiAgaTE4bl9tYXhTZWxlY3Rpb25zSW5zdHJ1Y3Rpb25zLFxuICBpMThuX21pblNlbGVjdGlvbnMsXG4gIGkxOG5fbWluU2VsZWN0aW9uc0luc3RydWN0aW9ucyxcbiAgaTE4bl9uZXdUZW1wbGF0ZUl0ZW0sXG4gIGkxOG5fb3B0aW9ucyxcbiAgaTE4bl9vcHRpb25zSW5zdHJ1Y3Rpb25zLFxufSBmcm9tICcuLi8uLi9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBwcm9wX2l0ZW1fbWF4X3NlbGVjdGlvbnMsIHByb3BfaXRlbV9taW5fc2VsZWN0aW9ucywgcHJvcF9pdGVtX29wdGlvbnMgfSBmcm9tICcuLi90ZW1wbGF0ZS1kZXNpZ24tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCAqIGFzIEZvcm1PcHRpb25EZXNpZ25VdGlsIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9mb3JtLW9wdGlvbi1kZXNpZ24tdXRpbCc7XG5pbXBvcnQgeyBEZXNpZ25NYXBwZXJQYXJhbXMsIE1vZGVsTWFwcGVyUGFyYW1zIH0gZnJvbSAnQG10bmEvZGVzaWduZXItYW5ndWxhcic7XG5pbXBvcnQgeyBvcHRpb25Hcm91cEl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXAgfSBmcm9tICcuLi9vcHRpb24tZ3JvdXAtaXRlbS1zZWN0aW9uLWRpc3BsYXktbmFtZS1tYXAubW9kZWwnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgKiBhcyBNdG5hVGVtcGxhdGVDb3JlRGVzaWduIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy90ZW1wbGF0ZS1kZXNpZ24tY29yZS11dGlsJztcbmltcG9ydCB7IEZPUk1fT1BUSU9OX1NFTEVDVE9SX1BPVEVOVElBTF9ERVNJR04gfSBmcm9tICcuLi9wb3RlbnRpYWwtZGVzaWducy5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBPcHRpb25Hcm91cEl0ZW1NYXBwZXI8XG4gIE8gZXh0ZW5kcyBPcHRpb248dW5rbm93bj4sXG4gIFQgZXh0ZW5kcyBUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbTxPPixcbiAgUCBleHRlbmRzIFJlZmVyZW5jZURlc2lnblBhcmFtcyA9IFJlZmVyZW5jZURlc2lnblBhcmFtc1xuPiBleHRlbmRzIFRlbXBsYXRlSXRlbU1hcHBlcjxULCBQPiB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogRGVzaWduTWFwcGVyUGFyYW1zPFA+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=
|