@rxap/schematic-angular 16.2.0-dev.2 → 16.2.0-dev.21
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/CHANGELOG.md +159 -0
- package/README.md +1 -1
- package/collection.json +10 -0
- package/package.json +11 -9
- package/src/lib/accordion-header.d.ts +5 -0
- package/src/lib/accordion-header.js +9 -3
- package/src/lib/accordion-header.js.map +1 -1
- package/src/lib/accordion-identifier.d.ts +4 -0
- package/src/lib/accordion-identifier.js.map +1 -1
- package/src/lib/accordion-item.d.ts +25 -17
- package/src/lib/accordion-item.js +72 -33
- package/src/lib/accordion-item.js.map +1 -1
- package/src/lib/accordion-itme-kinds.d.ts +8 -0
- package/src/lib/accordion-itme-kinds.js +16 -0
- package/src/lib/accordion-itme-kinds.js.map +1 -0
- package/src/lib/coerce-accordion-component.js +7 -3
- package/src/lib/coerce-accordion-component.js.map +1 -1
- package/src/lib/coerce-accordion-item-table-component.js +1 -1
- package/src/lib/coerce-accordion-item-table-component.js.map +1 -1
- package/src/lib/coerce-form-component.js +17 -2
- package/src/lib/coerce-form-component.js.map +1 -1
- package/src/lib/coerce-minimum-table-component.js +9 -3
- package/src/lib/coerce-minimum-table-component.js.map +1 -1
- package/src/lib/coerce-tree-table-component.js +16 -0
- package/src/lib/coerce-tree-table-component.js.map +1 -1
- package/src/lib/data-grid-item.d.ts +46 -11
- package/src/lib/data-grid-item.js +81 -6
- package/src/lib/data-grid-item.js.map +1 -1
- package/src/lib/data-grid-mode.d.ts +4 -0
- package/src/lib/data-grid-mode.js +9 -0
- package/src/lib/data-grid-mode.js.map +1 -0
- package/src/lib/data-grid-options.d.ts +12 -5
- package/src/lib/data-grid-options.js +43 -13
- package/src/lib/data-grid-options.js.map +1 -1
- package/src/lib/form/abstract-control.d.ts +29 -0
- package/src/lib/form/abstract-control.js +37 -0
- package/src/lib/form/abstract-control.js.map +1 -0
- package/src/lib/form/array/base-form-array.d.ts +18 -0
- package/src/lib/form/array/base-form-array.js +40 -0
- package/src/lib/form/array/base-form-array.js.map +1 -0
- package/src/lib/form/array/form-array-kind.d.ts +3 -0
- package/src/lib/form/array/form-array-kind.js +8 -0
- package/src/lib/form/array/form-array-kind.js.map +1 -0
- package/src/lib/form/array/form-array.d.ts +12 -0
- package/src/lib/form/array/form-array.js +18 -0
- package/src/lib/form/array/form-array.js.map +1 -0
- package/src/lib/form/coerce-control-component-imports.d.ts +3 -0
- package/src/lib/form/coerce-control-component-imports.js +18 -0
- package/src/lib/form/coerce-control-component-imports.js.map +1 -0
- package/src/lib/form/control/base-form-control.d.ts +14 -0
- package/src/lib/form/control/base-form-control.js +19 -0
- package/src/lib/form/control/base-form-control.js.map +1 -0
- package/src/lib/form/control/checkbox-form-control.d.ts +11 -0
- package/src/lib/form/control/checkbox-form-control.js +23 -0
- package/src/lib/form/control/checkbox-form-control.js.map +1 -0
- package/src/lib/form/control/form-control-kind.d.ts +8 -0
- package/src/lib/form/control/form-control-kind.js +13 -0
- package/src/lib/form/control/form-control-kind.js.map +1 -0
- package/src/lib/form/control/form-control.d.ts +18 -0
- package/src/lib/form/control/form-control.js +40 -0
- package/src/lib/form/control/form-control.js.map +1 -0
- package/src/lib/form/control/form-field-form-control.d.ts +33 -0
- package/src/lib/form/control/form-field-form-control.js +76 -0
- package/src/lib/form/control/form-field-form-control.js.map +1 -0
- package/src/lib/form/control/input-form-control.d.ts +14 -0
- package/src/lib/form/control/input-form-control.js +71 -0
- package/src/lib/form/control/input-form-control.js.map +1 -0
- package/src/lib/form/control/select-form-control.d.ts +18 -0
- package/src/lib/form/control/select-form-control.js +29 -0
- package/src/lib/form/control/select-form-control.js.map +1 -0
- package/src/lib/form/control/slide-toggle-form-control.d.ts +11 -0
- package/src/lib/form/control/slide-toggle-form-control.js +23 -0
- package/src/lib/form/control/slide-toggle-form-control.js.map +1 -0
- package/src/lib/form/control/table-select-form-control.d.ts +43 -0
- package/src/lib/form/control/table-select-form-control.js +69 -0
- package/src/lib/form/control/table-select-form-control.js.map +1 -0
- package/src/lib/form/control.d.ts +8 -0
- package/src/lib/form/control.js +38 -0
- package/src/lib/form/control.js.map +1 -0
- package/src/lib/form/generate-form-template.d.ts +5 -0
- package/src/lib/form/generate-form-template.js +12 -0
- package/src/lib/form/generate-form-template.js.map +1 -0
- package/src/lib/form/group/base-form-group.d.ts +17 -0
- package/src/lib/form/group/base-form-group.js +20 -0
- package/src/lib/form/group/base-form-group.js.map +1 -0
- package/src/lib/form/group/form-group-kind.d.ts +3 -0
- package/src/lib/form/group/form-group-kind.js +8 -0
- package/src/lib/form/group/form-group-kind.js.map +1 -0
- package/src/lib/form/group/form-group.d.ts +12 -0
- package/src/lib/form/group/form-group.js +18 -0
- package/src/lib/form/group/form-group.js.map +1 -0
- package/src/lib/load-handlebars-template.d.ts +4 -0
- package/src/lib/load-handlebars-template.js +28 -0
- package/src/lib/load-handlebars-template.js.map +1 -0
- package/src/lib/merge-with-column-list.js +3 -1
- package/src/lib/merge-with-column-list.js.map +1 -1
- package/src/lib/minimum-table-component-options.d.ts +12 -2
- package/src/lib/minimum-table-component-options.js +14 -17
- package/src/lib/minimum-table-component-options.js.map +1 -1
- package/src/lib/minimum-table-options.d.ts +1 -1
- package/src/lib/minimum-table-options.js +2 -2
- package/src/lib/minimum-table-options.js.map +1 -1
- package/src/lib/pipe-option.d.ts +11 -0
- package/src/lib/pipe-option.js +75 -0
- package/src/lib/pipe-option.js.map +1 -0
- package/src/lib/table/table-filter-column-rule.d.ts +13 -0
- package/src/lib/table/table-filter-column-rule.js +88 -0
- package/src/lib/table/table-filter-column-rule.js.map +1 -0
- package/src/lib/table-column.d.ts +20 -9
- package/src/lib/table-column.js +133 -113
- package/src/lib/table-column.js.map +1 -1
- package/src/lib/table-options.d.ts +1 -1
- package/src/lib/tree-table-options.d.ts +1 -1
- package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +10 -0
- package/src/lib/use-pick-from-table-interface-as-form-type.js +32 -0
- package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -0
- package/src/lib/value-option.d.ts +12 -0
- package/src/lib/value-option.js +66 -0
- package/src/lib/value-option.js.map +1 -0
- package/src/schema.json +2626 -0
- package/src/schematic-input.schema.json +541 -0
- package/src/schematics/abstract-control.schema.json +78 -0
- package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +25 -0
- package/src/schematics/accordion/accordion-component/index.d.ts +5 -2
- package/src/schematics/accordion/accordion-component/index.js +56 -122
- package/src/schematics/accordion/accordion-component/index.js.map +1 -1
- package/src/schematics/accordion/accordion-component/schema.d.ts +6 -0
- package/src/schematics/accordion/accordion-component/schema.json +321 -139
- package/src/schematics/accordion/accordion-component/template.schema.json +105 -0
- package/src/schematics/accordion/accordion-item-component/index.d.ts +9 -4
- package/src/schematics/accordion/accordion-item-component/index.js +112 -86
- package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
- package/src/schematics/accordion/accordion-item-component/schema.d.ts +2 -2
- package/src/schematics/accordion/accordion-item-component/schema.json +282 -70
- package/src/schematics/accordion/accordion-item-component/template.schema.json +32 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +35 -51
- package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +963 -73
- package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +31 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-switch-component/index.js +16 -8
- package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +321 -189
- package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +81 -0
- package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-table-component/index.js +16 -19
- package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-table-component/schema.json +1005 -293
- package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +43 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +48 -84
- package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +1 -1
- package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +968 -273
- package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +43 -0
- package/src/schematics/accordion/templates/accordion-header.hbs +6 -0
- package/src/schematics/accordion/templates/data-grid-accordion-item.hbs +15 -0
- package/src/schematics/accordion/templates/default-accordion-item.hbs +15 -0
- package/src/schematics/accordion/templates/switch-accordion-item.hbs +21 -0
- package/src/schematics/accordion/templates/table-accordion-item.hbs +15 -0
- package/src/schematics/accordion/templates/tree-table-accordion-item.hbs +15 -0
- package/src/schematics/accordion-identifier.schema.json +25 -0
- package/src/schematics/accordion-item.schema.json +59 -0
- package/src/schematics/angular.schema.json +11 -11
- package/src/schematics/backend.schema.json +13 -0
- package/src/schematics/base-form-array.schema.json +45 -0
- package/src/schematics/base-form-control.schema.json +27 -0
- package/src/schematics/base-form-group.schema.json +42 -0
- package/src/schematics/button.schema.json +30 -0
- package/src/schematics/checkbox-form-control.schema.json +30 -0
- package/src/schematics/control.schema.json +26 -0
- package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +35 -0
- package/src/schematics/data-grid-component/index.d.ts +2 -4
- package/src/schematics/data-grid-component/index.js +87 -52
- package/src/schematics/data-grid-component/index.js.map +1 -1
- package/src/schematics/data-grid-component/schema.json +924 -131
- package/src/schematics/data-grid-component/template.schema.json +20 -0
- package/src/schematics/data-grid-component/templates/default-data-grid-item.hbs +3 -0
- package/src/schematics/data-grid-component/templates/link-data-grid-item.hbs +8 -0
- package/src/schematics/data-grid-item.schema.json +50 -0
- package/src/schematics/data-grid.schema.json +66 -0
- package/src/schematics/dialog-component/schema.json +141 -65
- package/src/schematics/dialog-component/template.schema.json +62 -0
- package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
- package/src/schematics/form/control/input-form-control/index.js +4 -27
- package/src/schematics/form/control/input-form-control/index.js.map +1 -1
- package/src/schematics/form/control/input-form-control/schema.d.ts +2 -3
- package/src/schematics/form/control/input-form-control/schema.json +341 -94
- package/src/schematics/form/control/input-form-control/template.schema.json +33 -0
- package/src/schematics/form/control/select-form-control/index.d.ts +4 -2
- package/src/schematics/form/control/select-form-control/index.js +140 -97
- package/src/schematics/form/control/select-form-control/index.js.map +1 -1
- package/src/schematics/form/control/select-form-control/schema.d.ts +2 -4
- package/src/schematics/form/control/select-form-control/schema.json +348 -81
- package/src/schematics/form/control/select-form-control/template.schema.json +33 -0
- package/src/schematics/form/control/table-select-form-control/index.d.ts +5 -7
- package/src/schematics/form/control/table-select-form-control/index.js +205 -143
- package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
- package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -5
- package/src/schematics/form/control/table-select-form-control/schema.json +431 -84
- package/src/schematics/form/control/table-select-form-control/template.schema.json +39 -0
- package/src/schematics/form/form-array/index.d.ts +9 -0
- package/src/schematics/form/form-array/index.js +54 -0
- package/src/schematics/form/form-array/index.js.map +1 -0
- package/src/schematics/form/form-array/schema.d.ts +4 -0
- package/src/schematics/form/form-array/schema.json +823 -0
- package/src/schematics/form/form-array/template.schema.json +33 -0
- package/src/schematics/form/form-component/files/component/{__componentName__.component.html.template → __componentName__.component.html.hbs} +7 -4
- package/src/schematics/form/form-component/index.d.ts +4 -4
- package/src/schematics/form/form-component/index.js +22 -23
- package/src/schematics/form/form-component/index.js.map +1 -1
- package/src/schematics/form/form-component/schema.d.ts +4 -2
- package/src/schematics/form/form-component/schema.json +841 -136
- package/src/schematics/form/form-component/template.schema.json +20 -0
- package/src/schematics/form/form-control/index.d.ts +6 -6
- package/src/schematics/form/form-control/index.js +23 -24
- package/src/schematics/form/form-control/index.js.map +1 -1
- package/src/schematics/form/form-control/schema.d.ts +2 -4
- package/src/schematics/form/form-control/schema.json +652 -67
- package/src/schematics/form/form-control/template.schema.json +33 -0
- package/src/schematics/form/form-definition/index.d.ts +2 -2
- package/src/schematics/form/form-definition/index.js +30 -4
- package/src/schematics/form/form-definition/index.js.map +1 -1
- package/src/schematics/form/form-definition/schema.d.ts +2 -2
- package/src/schematics/form/form-definition/schema.json +805 -118
- package/src/schematics/form/form-definition/template.schema.json +30 -0
- package/src/schematics/form/form-group/index.d.ts +9 -0
- package/src/schematics/form/form-group/index.js +54 -0
- package/src/schematics/form/form-group/index.js.map +1 -0
- package/src/schematics/form/form-group/schema.d.ts +4 -0
- package/src/schematics/form/form-group/schema.json +823 -0
- package/src/schematics/form/form-group/template.schema.json +33 -0
- package/src/schematics/form/templates/checkbox-form-control.hbs +9 -0
- package/src/schematics/form/templates/default-form-array.hbs +27 -0
- package/src/schematics/form/templates/default-form-control.hbs +2 -0
- package/src/schematics/form/templates/default-form-group.hbs +13 -0
- package/src/schematics/form/templates/input-form-control.hbs +9 -0
- package/src/schematics/form/templates/mat-form-field.hbs +31 -0
- package/src/schematics/form/templates/select-form-control.hbs +5 -0
- package/src/schematics/form/templates/slide-toggle-form-control.hbs +8 -0
- package/src/schematics/form/templates/table-select-form-control.hbs +18 -0
- package/src/schematics/form-array.schema.json +40 -0
- package/src/schematics/form-component.schema.json +45 -0
- package/src/schematics/form-control.schema.json +77 -0
- package/src/schematics/form-definition.schema.json +22 -0
- package/src/schematics/form-field.schema.json +24 -0
- package/src/schematics/form-group.schema.json +40 -0
- package/src/schematics/general.schema.json +1 -4
- package/src/schematics/header-button.schema.json +42 -0
- package/src/schematics/input-form-control.schema.json +59 -0
- package/src/schematics/minimum-table.schema.json +60 -0
- package/src/schematics/pipe.schema.json +38 -0
- package/src/schematics/property.schema.json +31 -0
- package/src/schematics/select-form-control.schema.json +68 -0
- package/src/schematics/slide-toggle-form-control.schema.json +30 -0
- package/src/schematics/table/action/dialog-table-action/schema.json +207 -123
- package/src/schematics/table/action/dialog-table-action/template.schema.json +58 -0
- package/src/schematics/table/action/form-table-action/index.d.ts +2 -2
- package/src/schematics/table/action/form-table-action/index.js +3 -4
- package/src/schematics/table/action/form-table-action/index.js.map +1 -1
- package/src/schematics/table/action/form-table-action/schema.d.ts +2 -2
- package/src/schematics/table/action/form-table-action/schema.json +949 -139
- package/src/schematics/table/action/form-table-action/template.schema.json +75 -0
- package/src/schematics/table/action/navigation-table-action/schema.json +187 -80
- package/src/schematics/table/action/navigation-table-action/template.schema.json +28 -0
- package/src/schematics/table/action/open-api-table-action/schema.json +203 -94
- package/src/schematics/table/action/open-api-table-action/template.schema.json +56 -0
- package/src/schematics/table/action/operation-table-action/schema.json +174 -84
- package/src/schematics/table/action/operation-table-action/template.schema.json +14 -0
- package/src/schematics/table/header-button/form-table-header-button/index.d.ts +2 -2
- package/src/schematics/table/header-button/form-table-header-button/index.js +2 -2
- package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -1
- package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +2 -2
- package/src/schematics/table/header-button/form-table-header-button/schema.json +910 -98
- package/src/schematics/table/header-button/form-table-header-button/template.schema.json +33 -0
- package/src/schematics/table/header-button/navigation-table-header-button/schema.json +167 -71
- package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +28 -0
- package/src/schematics/table/table-action/schema.json +165 -78
- package/src/schematics/table/table-action/template.schema.json +30 -0
- package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +241 -0
- package/src/schematics/table/table-component/index.d.ts +2 -4
- package/src/schematics/table/table-component/index.js +14 -120
- package/src/schematics/table/table-component/index.js.map +1 -1
- package/src/schematics/table/table-component/schema.json +898 -276
- package/src/schematics/table/table-component/template.schema.json +20 -0
- package/src/schematics/table/table-header-button/schema.json +145 -63
- package/src/schematics/table/table-header-button/template.schema.json +30 -0
- package/src/schematics/table/templates/boolean-table-column.hbs +10 -0
- package/src/schematics/table/templates/component-table-column.hbs +12 -0
- package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +10 -0
- package/src/schematics/table/templates/date-table-column.hbs +11 -0
- package/src/schematics/table/templates/default-table-column.hbs +8 -0
- package/src/schematics/table/templates/icon-table-column.hbs +10 -0
- package/src/schematics/table/templates/link-table-column.hbs +10 -0
- package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +255 -0
- package/src/schematics/table/tree-table-component/index.d.ts +3 -0
- package/src/schematics/table/tree-table-component/index.js +28 -7
- package/src/schematics/table/tree-table-component/index.js.map +1 -1
- package/src/schematics/table/tree-table-component/schema.json +889 -260
- package/src/schematics/table/tree-table-component/template.schema.json +20 -0
- package/src/schematics/table-action.schema.json +61 -0
- package/src/schematics/table-column.schema.json +75 -0
- package/src/schematics/table-select-form-control.schema.json +96 -0
- package/src/schematics/table.schema.json +57 -0
- package/src/schematics/templates/pipe.hbs +4 -0
- package/src/schematics/textarea-form-control.schema.json +32 -0
- package/src/schematics/tree-component/schema.json +115 -70
- package/src/schematics/tree-component/template.schema.json +36 -0
- package/src/schematics/tree-table.schema.json +40 -0
- package/src/schematics/type.schema.json +35 -0
- package/src/schematics/upstream.schema.json +56 -0
- package/src/schematics/value.schema.json +26 -0
- package/src/template.schema.json +212 -0
- package/src/lib/accordion-itme-types.d.ts +0 -8
- package/src/lib/accordion-itme-types.js +0 -16
- package/src/lib/accordion-itme-types.js.map +0 -1
- package/src/lib/form-component-control.d.ts +0 -12
- package/src/lib/form-component-control.js +0 -15
- package/src/lib/form-component-control.js.map +0 -1
- package/src/lib/form-definition-control.d.ts +0 -59
- package/src/lib/form-definition-control.js +0 -156
- package/src/lib/form-definition-control.js.map +0 -1
- package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.template +0 -94
- package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.html.template +0 -10
- package/src/schematics/data-grid-component/files/form/__componentName__.component.html.template +0 -42
- package/src/schematics/data-grid-component/files/plain/__componentName__.component.html.template +0 -25
- package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +0 -299
- package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.template +0 -213
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ControlOption, Normalized } from '@rxap/utilities';
|
|
2
|
+
import { BackendTypes } from '../../backend-types';
|
|
3
|
+
import { NormalizedBaseFormControl } from './base-form-control';
|
|
4
|
+
import { FormControlKinds } from './form-control-kind';
|
|
5
|
+
import { FormField, FormFieldFormControl, NormalizedFormFieldFormControl } from './form-field-form-control';
|
|
6
|
+
export interface SelectFormControl extends FormFieldFormControl {
|
|
7
|
+
optionList?: ControlOption[];
|
|
8
|
+
backend?: BackendTypes;
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
formField?: FormField;
|
|
11
|
+
}
|
|
12
|
+
export interface NormalizedSelectFormControl extends Readonly<Normalized<Omit<SelectFormControl, 'optionList' | 'type' | 'importList' | 'formField' | 'role'>>>, NormalizedFormFieldFormControl {
|
|
13
|
+
kind: FormControlKinds.SELECT;
|
|
14
|
+
optionList: ReadonlyArray<ControlOption> | null;
|
|
15
|
+
backend: BackendTypes;
|
|
16
|
+
}
|
|
17
|
+
export declare function IsNormalizedSelectFormControl(template: NormalizedBaseFormControl): template is NormalizedSelectFormControl;
|
|
18
|
+
export declare function NormalizeSelectFormControl(control: SelectFormControl): NormalizedSelectFormControl;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NormalizeSelectFormControl = exports.IsNormalizedSelectFormControl = void 0;
|
|
4
|
+
const utilities_1 = require("@rxap/utilities");
|
|
5
|
+
const backend_types_1 = require("../../backend-types");
|
|
6
|
+
const form_control_kind_1 = require("./form-control-kind");
|
|
7
|
+
const form_field_form_control_1 = require("./form-field-form-control");
|
|
8
|
+
function IsNormalizedSelectFormControl(template) {
|
|
9
|
+
return template.kind === form_control_kind_1.FormControlKinds.SELECT;
|
|
10
|
+
}
|
|
11
|
+
exports.IsNormalizedSelectFormControl = IsNormalizedSelectFormControl;
|
|
12
|
+
function NormalizeSelectFormControl(control) {
|
|
13
|
+
var _a, _b, _c;
|
|
14
|
+
const importList = (_a = control.importList) !== null && _a !== void 0 ? _a : [];
|
|
15
|
+
(0, utilities_1.CoerceArrayItems)(importList, [
|
|
16
|
+
{
|
|
17
|
+
name: 'MatSelectModule',
|
|
18
|
+
moduleSpecifier: '@angular/material/select',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'InputSelectOptionsDirective',
|
|
22
|
+
moduleSpecifier: '@rxap/form-system',
|
|
23
|
+
}
|
|
24
|
+
], (a, b) => a.name === b.name);
|
|
25
|
+
const multiple = (_b = control.multiple) !== null && _b !== void 0 ? _b : false;
|
|
26
|
+
return Object.freeze(Object.assign(Object.assign({}, (0, form_field_form_control_1.NormalizeFormFieldFormControl)(control, importList, undefined, undefined, multiple)), { kind: form_control_kind_1.FormControlKinds.SELECT, optionList: control.optionList && control.optionList.length ? Object.freeze(control.optionList) : null, backend: (_c = control.backend) !== null && _c !== void 0 ? _c : backend_types_1.BackendTypes.NONE, multiple }));
|
|
27
|
+
}
|
|
28
|
+
exports.NormalizeSelectFormControl = NormalizeSelectFormControl;
|
|
29
|
+
//# sourceMappingURL=select-form-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-form-control.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/control/select-form-control.ts"],"names":[],"mappings":";;;AAAA,+CAIyB;AACzB,uDAAmD;AAGnD,2DAAuD;AACvD,uEAKmC;AAiBnC,SAAgB,6BAA6B,CAAC,QAAmC;IAC/E,OAAO,QAAQ,CAAC,IAAI,KAAK,oCAAgB,CAAC,MAAM,CAAC;AACnD,CAAC;AAFD,sEAEC;AAED,SAAgB,0BAA0B,CACxC,OAA0B;;IAE1B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,iBAAiB;YACvB,eAAe,EAAE,0BAA0B;SAC5C;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,eAAe,EAAE,mBAAmB;SACrC;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,iCACf,IAAA,uDAA6B,EAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,KACrF,IAAI,EAAE,oCAAgB,CAAC,MAAM,EAC7B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EACtG,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,4BAAY,CAAC,IAAI,EAC7C,QAAQ,IACR,CAAC;AACL,CAAC;AAtBD,gEAsBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Normalized } from '@rxap/utilities';
|
|
2
|
+
import { BaseFormControl, NormalizedBaseFormControl } from './base-form-control';
|
|
3
|
+
import { FormControlKinds } from './form-control-kind';
|
|
4
|
+
export interface SlideToggleFormControl extends BaseFormControl {
|
|
5
|
+
labelPosition?: 'before' | 'after';
|
|
6
|
+
}
|
|
7
|
+
export interface NormalizedSlideToggleFormControl extends Readonly<Normalized<Omit<SlideToggleFormControl, 'type' | 'importList' | 'role'>>>, NormalizedBaseFormControl {
|
|
8
|
+
kind: FormControlKinds.CHECKBOX;
|
|
9
|
+
}
|
|
10
|
+
export declare function IsNormalizedSlideToggleFormControl(template: NormalizedBaseFormControl): template is NormalizedSlideToggleFormControl;
|
|
11
|
+
export declare function NormalizeSlideToggleFormControl(control: SlideToggleFormControl): NormalizedSlideToggleFormControl;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NormalizeSlideToggleFormControl = exports.IsNormalizedSlideToggleFormControl = void 0;
|
|
4
|
+
const utilities_1 = require("@rxap/utilities");
|
|
5
|
+
const base_form_control_1 = require("./base-form-control");
|
|
6
|
+
const form_control_kind_1 = require("./form-control-kind");
|
|
7
|
+
function IsNormalizedSlideToggleFormControl(template) {
|
|
8
|
+
return template.kind === form_control_kind_1.FormControlKinds.CHECKBOX;
|
|
9
|
+
}
|
|
10
|
+
exports.IsNormalizedSlideToggleFormControl = IsNormalizedSlideToggleFormControl;
|
|
11
|
+
function NormalizeSlideToggleFormControl(control) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const importList = (_a = control.importList) !== null && _a !== void 0 ? _a : [];
|
|
14
|
+
(0, utilities_1.CoerceArrayItems)(importList, [
|
|
15
|
+
{
|
|
16
|
+
name: 'MatSlideToggleModule',
|
|
17
|
+
moduleSpecifier: '@angular/material/slide-toggle',
|
|
18
|
+
},
|
|
19
|
+
], (a, b) => a.name === b.name);
|
|
20
|
+
return Object.freeze(Object.assign(Object.assign({}, (0, base_form_control_1.NormalizeBaseFormControl)(control, importList, undefined, 'boolean', false)), { kind: form_control_kind_1.FormControlKinds.CHECKBOX, labelPosition: (_b = control.labelPosition) !== null && _b !== void 0 ? _b : 'after' }));
|
|
21
|
+
}
|
|
22
|
+
exports.NormalizeSlideToggleFormControl = NormalizeSlideToggleFormControl;
|
|
23
|
+
//# sourceMappingURL=slide-toggle-form-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slide-toggle-form-control.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/control/slide-toggle-form-control.ts"],"names":[],"mappings":";;;AAAA,+CAGyB;AACzB,2DAI6B;AAE7B,2DAAuD;AAWvD,SAAgB,kCAAkC,CAAC,QAAmC;IACpF,OAAO,QAAQ,CAAC,IAAI,KAAK,oCAAgB,CAAC,QAAQ,CAAC;AACrD,CAAC;AAFD,gFAEC;AAED,SAAgB,+BAA+B,CAC7C,OAA+B;;IAE/B,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC5C,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,sBAAsB;YAC5B,eAAe,EAAE,gCAAgC;SAClD;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,MAAM,iCACf,IAAA,4CAAwB,EAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,KAC7E,IAAI,EAAE,oCAAgB,CAAC,QAAQ,EAC/B,aAAa,EAAE,MAAA,OAAO,CAAC,aAAa,mCAAI,OAAO,IAC/C,CAAC;AACL,CAAC;AAfD,0EAeC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { DataProperty, NormalizedDataProperty, NormalizedUpstreamOptions, UpstreamOptions } from '@rxap/ts-morph';
|
|
2
|
+
import { Normalized } from '@rxap/utilities';
|
|
3
|
+
import { BackendTypes } from '../../backend-types';
|
|
4
|
+
import { NormalizedTableColumn, TableColumn } from '../../table-column';
|
|
5
|
+
import { NormalizedBaseFormControl } from './base-form-control';
|
|
6
|
+
import { FormControlKinds } from './form-control-kind';
|
|
7
|
+
import { FormFieldFormControl, NormalizedFormFieldFormControl } from './form-field-form-control';
|
|
8
|
+
export type TableSelectColumn = Pick<TableColumn, 'name' | 'title' | 'hasFilter' | 'kind' | 'propertyPath'> & DataProperty;
|
|
9
|
+
export type NormalizedTableSelectColumn = Pick<NormalizedTableColumn, 'name' | 'title' | 'hasFilter' | 'kind' | 'propertyPath'> & NormalizedDataProperty;
|
|
10
|
+
export declare function NormalizeTableSelectColumn(column: TableSelectColumn): NormalizedTableSelectColumn;
|
|
11
|
+
export interface TableSelectToFunction {
|
|
12
|
+
property: DataProperty;
|
|
13
|
+
}
|
|
14
|
+
export interface NormalizedTableSelectToFunction extends Readonly<Normalized<TableSelectToFunction>> {
|
|
15
|
+
property: NormalizedDataProperty;
|
|
16
|
+
}
|
|
17
|
+
export declare function NormalizeTableSelectToFunction(toFunction: TableSelectToFunction | null | undefined, columnList: TableSelectColumn[], defaultType?: string): NormalizedTableSelectToFunction;
|
|
18
|
+
export interface TableSelectFormControl extends FormFieldFormControl {
|
|
19
|
+
backend?: BackendTypes;
|
|
20
|
+
title?: string;
|
|
21
|
+
propertyList?: DataProperty[];
|
|
22
|
+
columnList?: TableSelectColumn[];
|
|
23
|
+
toDisplay?: TableSelectToFunction;
|
|
24
|
+
toValue?: TableSelectToFunction;
|
|
25
|
+
upstream?: UpstreamOptions;
|
|
26
|
+
resolver?: {
|
|
27
|
+
upstream?: UpstreamOptions;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface NormalizedTableSelectFormControl extends Readonly<Normalized<Omit<TableSelectFormControl, 'type' | 'importList' | 'columnList' | 'propertyList' | 'formField' | 'role'>>>, NormalizedFormFieldFormControl {
|
|
31
|
+
kind: FormControlKinds.TABLE_SELECT;
|
|
32
|
+
backend: BackendTypes;
|
|
33
|
+
columnList: NormalizedTableSelectColumn[];
|
|
34
|
+
propertyList: Array<NormalizedDataProperty>;
|
|
35
|
+
toDisplay: NormalizedTableSelectToFunction;
|
|
36
|
+
toValue: NormalizedTableSelectToFunction;
|
|
37
|
+
upstream: NormalizedUpstreamOptions | null;
|
|
38
|
+
resolver: {
|
|
39
|
+
upstream: NormalizedUpstreamOptions | null;
|
|
40
|
+
} | null;
|
|
41
|
+
}
|
|
42
|
+
export declare function IsNormalizedTableSelectFormControl(template: NormalizedBaseFormControl): template is NormalizedTableSelectFormControl;
|
|
43
|
+
export declare function NormalizeTableSelectFormControl(control: TableSelectFormControl): NormalizedTableSelectFormControl;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NormalizeTableSelectFormControl = exports.IsNormalizedTableSelectFormControl = exports.NormalizeTableSelectToFunction = exports.NormalizeTableSelectColumn = void 0;
|
|
4
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
5
|
+
const utilities_1 = require("@rxap/utilities");
|
|
6
|
+
const backend_types_1 = require("../../backend-types");
|
|
7
|
+
const table_column_1 = require("../../table-column");
|
|
8
|
+
const form_control_kind_1 = require("./form-control-kind");
|
|
9
|
+
const form_field_form_control_1 = require("./form-field-form-control");
|
|
10
|
+
function NormalizeTableSelectColumn(column) {
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
const { name, propertyPath, } = (0, table_column_1.TableColumnNameToPropertyPath)(column.name, column.propertyPath);
|
|
13
|
+
const kind = (_a = column.kind) !== null && _a !== void 0 ? _a : table_column_1.TableColumnKind.DEFAULT;
|
|
14
|
+
const type = (0, table_column_1.GuessColumnTypeType)(kind, (_b = column.type) !== null && _b !== void 0 ? _b : 'unknown');
|
|
15
|
+
return Object.freeze(Object.assign(Object.assign({}, (0, ts_morph_1.NormalizeDataProperty)(Object.assign(Object.assign({}, column), { name,
|
|
16
|
+
type }))), { title: (_c = column.title) !== null && _c !== void 0 ? _c : (0, utilities_1.dasherize)(name).split('-').map(part => (0, utilities_1.capitalize)(part)).join(' '), hasFilter: (_d = column.hasFilter) !== null && _d !== void 0 ? _d : false, kind,
|
|
17
|
+
propertyPath }));
|
|
18
|
+
}
|
|
19
|
+
exports.NormalizeTableSelectColumn = NormalizeTableSelectColumn;
|
|
20
|
+
function NormalizeTableSelectToFunction(toFunction, columnList, defaultType = 'unknown') {
|
|
21
|
+
if (!toFunction || Object.keys(toFunction).length === 0) {
|
|
22
|
+
return Object.freeze({
|
|
23
|
+
property: (0, ts_morph_1.NormalizeDataProperty)(columnList[0].name, defaultType),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return Object.freeze({
|
|
27
|
+
property: (0, ts_morph_1.NormalizeDataProperty)(toFunction.property, defaultType),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
exports.NormalizeTableSelectToFunction = NormalizeTableSelectToFunction;
|
|
31
|
+
function IsNormalizedTableSelectFormControl(template) {
|
|
32
|
+
return template.kind === form_control_kind_1.FormControlKinds.TABLE_SELECT;
|
|
33
|
+
}
|
|
34
|
+
exports.IsNormalizedTableSelectFormControl = IsNormalizedTableSelectFormControl;
|
|
35
|
+
function NormalizeTableSelectFormControl(control) {
|
|
36
|
+
var _a, _b, _c, _d, _e;
|
|
37
|
+
const importList = (_a = control.importList) !== null && _a !== void 0 ? _a : [];
|
|
38
|
+
(0, utilities_1.CoerceArrayItems)(importList, [
|
|
39
|
+
{
|
|
40
|
+
name: 'TableSelectControlModule',
|
|
41
|
+
moduleSpecifier: '@digitaix/eurogard-table-select',
|
|
42
|
+
}
|
|
43
|
+
], (a, b) => a.name === b.name);
|
|
44
|
+
if (!((_b = control.columnList) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
45
|
+
throw new Error('The column list must not be empty');
|
|
46
|
+
}
|
|
47
|
+
const propertyList = (0, ts_morph_1.NormalizeDataPropertyList)(control.propertyList);
|
|
48
|
+
const toDisplay = NormalizeTableSelectToFunction(control.toDisplay, control.columnList, 'string');
|
|
49
|
+
const toValue = NormalizeTableSelectToFunction(control.toValue, control.columnList);
|
|
50
|
+
(0, utilities_1.CoerceArrayItems)(propertyList, [toDisplay.property, toValue.property], (a, b) => a.name === b.name);
|
|
51
|
+
const columnList = control.columnList.map(NormalizeTableSelectColumn);
|
|
52
|
+
(0, utilities_1.CoerceArrayItems)(propertyList, columnList, (a, b) => a.name === b.name);
|
|
53
|
+
(_c = control.type) !== null && _c !== void 0 ? _c : (control.type = toValue.property.type);
|
|
54
|
+
return Object.freeze(Object.assign(Object.assign({}, (0, form_field_form_control_1.NormalizeFormFieldFormControl)(control, importList, undefined, undefined, false, {
|
|
55
|
+
label: control.label,
|
|
56
|
+
directiveList: [
|
|
57
|
+
{
|
|
58
|
+
name: 'eurogardTableSelectControl',
|
|
59
|
+
namedImport: 'TableSelectControlModule',
|
|
60
|
+
moduleSpecifier: '@digitaix/eurogard-table-select',
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
})), { resolver: control.resolver ? { upstream: (0, ts_morph_1.NormalizeUpstreamOptions)(control.resolver.upstream) } : null, kind: form_control_kind_1.FormControlKinds.TABLE_SELECT, backend: (_d = control.backend) !== null && _d !== void 0 ? _d : backend_types_1.BackendTypes.NONE, title: (_e = control.title) !== null && _e !== void 0 ? _e : null, columnList,
|
|
64
|
+
toDisplay,
|
|
65
|
+
toValue,
|
|
66
|
+
propertyList, upstream: (0, ts_morph_1.NormalizeUpstreamOptions)(control.upstream) }));
|
|
67
|
+
}
|
|
68
|
+
exports.NormalizeTableSelectFormControl = NormalizeTableSelectFormControl;
|
|
69
|
+
//# sourceMappingURL=table-select-form-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-select-form-control.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/control/table-select-form-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DtoClassProperty } from '@rxap/schematics-ts-morph';
|
|
2
|
+
import { AbstractControl, NormalizedAbstractControl } from './abstract-control';
|
|
3
|
+
import { FormControl, NormalizedFormControl } from './control/form-control';
|
|
4
|
+
export type Control = AbstractControl | FormControl;
|
|
5
|
+
export type NormalizedControl = NormalizedAbstractControl | NormalizedFormControl;
|
|
6
|
+
export declare function NormalizeControl(control: Control): NormalizedControl;
|
|
7
|
+
export declare function NormalizeControlList(controlList?: Control[]): NormalizedControl[];
|
|
8
|
+
export declare function ControlToDtoClassProperty(control: NormalizedControl): DtoClassProperty;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ControlToDtoClassProperty = exports.NormalizeControlList = exports.NormalizeControl = void 0;
|
|
4
|
+
const abstract_control_1 = require("./abstract-control");
|
|
5
|
+
const form_array_1 = require("./array/form-array");
|
|
6
|
+
const form_control_1 = require("./control/form-control");
|
|
7
|
+
const form_group_1 = require("./group/form-group");
|
|
8
|
+
function NormalizeControl(control) {
|
|
9
|
+
var _a;
|
|
10
|
+
(_a = control.role) !== null && _a !== void 0 ? _a : (control.role = abstract_control_1.AbstractControlRolls.CONTROL);
|
|
11
|
+
if ((0, form_control_1.IsFormControl)(control)) {
|
|
12
|
+
return (0, form_control_1.NormalizeFormControl)(control);
|
|
13
|
+
}
|
|
14
|
+
if ((0, form_group_1.IsFormGroup)(control)) {
|
|
15
|
+
return (0, form_group_1.NormalizeFormGroup)(control);
|
|
16
|
+
}
|
|
17
|
+
if ((0, form_array_1.IsFormArray)(control)) {
|
|
18
|
+
return (0, form_array_1.NormalizeFormArray)(control);
|
|
19
|
+
}
|
|
20
|
+
throw new Error(`Unknown control role: '${control.role}'`);
|
|
21
|
+
}
|
|
22
|
+
exports.NormalizeControl = NormalizeControl;
|
|
23
|
+
function NormalizeControlList(controlList) {
|
|
24
|
+
var _a;
|
|
25
|
+
return (_a = controlList === null || controlList === void 0 ? void 0 : controlList.map(NormalizeControl)) !== null && _a !== void 0 ? _a : [];
|
|
26
|
+
}
|
|
27
|
+
exports.NormalizeControlList = NormalizeControlList;
|
|
28
|
+
function ControlToDtoClassProperty(control) {
|
|
29
|
+
return {
|
|
30
|
+
name: control.name,
|
|
31
|
+
type: control.type,
|
|
32
|
+
isOptional: !control.isRequired,
|
|
33
|
+
isArray: control.isArray,
|
|
34
|
+
source: control.source,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
exports.ControlToDtoClassProperty = ControlToDtoClassProperty;
|
|
38
|
+
//# sourceMappingURL=control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/angular/src/lib/form/control.ts"],"names":[],"mappings":";;;AACA,yDAI4B;AAC5B,mDAG4B;AAC5B,yDAKgC;AAChC,mDAG4B;AAM5B,SAAgB,gBAAgB,CAAC,OAAgB;;IAC/C,MAAA,OAAO,CAAC,IAAI,oCAAZ,OAAO,CAAC,IAAI,GAAK,uCAAoB,CAAC,OAAO,EAAC;IAC9C,IAAI,IAAA,4BAAa,EAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;KACtC;IACD,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,EAAE;QACxB,OAAO,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;KACpC;IACD,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,EAAE;QACxB,OAAO,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;KACpC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;AAC7D,CAAC;AAZD,4CAYC;AAED,SAAgB,oBAAoB,CAAC,WAAuB;;IAC1D,OAAO,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,GAAG,CAAC,gBAAgB,CAAC,mCAAI,EAAE,CAAC;AAClD,CAAC;AAFD,oDAEC;AAED,SAAgB,yBAAyB,CACvC,OAA0B;IAE1B,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC;AAVD,8DAUC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GenerateFormTemplate = void 0;
|
|
4
|
+
function GenerateFormTemplate(options) {
|
|
5
|
+
let content = '';
|
|
6
|
+
for (const control of options.controlList) {
|
|
7
|
+
content += control.handlebars({ control });
|
|
8
|
+
}
|
|
9
|
+
return content;
|
|
10
|
+
}
|
|
11
|
+
exports.GenerateFormTemplate = GenerateFormTemplate;
|
|
12
|
+
//# sourceMappingURL=generate-form-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-form-template.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/angular/src/lib/form/generate-form-template.ts"],"names":[],"mappings":";;;AAMA,SAAgB,oBAAoB,CAAC,OAAoC;IACvE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE;QACzC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;KAC5C;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAND,oDAMC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TypeImport } from '@rxap/ts-morph';
|
|
2
|
+
import { Normalized } from '@rxap/utilities';
|
|
3
|
+
import { AbstractControl, AbstractControlRolls, NormalizedAbstractControl } from '../abstract-control';
|
|
4
|
+
import { Control, NormalizedControl } from '../control';
|
|
5
|
+
import { FormGroupKind } from './form-group-kind';
|
|
6
|
+
export interface BaseFormGroup extends AbstractControl {
|
|
7
|
+
controlList?: Control[];
|
|
8
|
+
kind?: FormGroupKind;
|
|
9
|
+
role: AbstractControlRolls.GROUP;
|
|
10
|
+
legend?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface NormalizedBaseFormGroup extends Readonly<Normalized<Omit<BaseFormGroup, 'role' | 'type' | 'importList' | 'controlList'>>>, NormalizedAbstractControl {
|
|
13
|
+
controlList: ReadonlyArray<NormalizedControl>;
|
|
14
|
+
kind: FormGroupKind.DEFAULT;
|
|
15
|
+
role: AbstractControlRolls.GROUP;
|
|
16
|
+
}
|
|
17
|
+
export declare function NormalizeBaseFormGroup(group: BaseFormGroup, importList?: TypeImport[], validatorList?: string[], defaultType?: TypeImport | string, defaultIsArray?: boolean): NormalizedBaseFormGroup;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NormalizeBaseFormGroup = void 0;
|
|
4
|
+
const utilities_1 = require("@rxap/utilities");
|
|
5
|
+
const abstract_control_1 = require("../abstract-control");
|
|
6
|
+
const control_1 = require("../control");
|
|
7
|
+
const form_group_kind_1 = require("./form-group-kind");
|
|
8
|
+
function NormalizeBaseFormGroup(group, importList = [], validatorList = [], defaultType = 'unknown', defaultIsArray = false) {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
(0, utilities_1.CoerceArrayItems)(importList, [
|
|
11
|
+
{
|
|
12
|
+
name: 'ReactiveFormsModule',
|
|
13
|
+
moduleSpecifier: '@angular/forms',
|
|
14
|
+
}
|
|
15
|
+
], (a, b) => a.name === b.name);
|
|
16
|
+
const kind = (_a = group.kind) !== null && _a !== void 0 ? _a : form_group_kind_1.FormGroupKind.DEFAULT;
|
|
17
|
+
return Object.assign(Object.assign({}, (0, abstract_control_1.NormalizeAbstractControl)(group, kind, importList, validatorList, defaultType, defaultIsArray)), { role: abstract_control_1.AbstractControlRolls.GROUP, controlList: (0, control_1.NormalizeControlList)(group.controlList), legend: (_b = group.legend) !== null && _b !== void 0 ? _b : null });
|
|
18
|
+
}
|
|
19
|
+
exports.NormalizeBaseFormGroup = NormalizeBaseFormGroup;
|
|
20
|
+
//# sourceMappingURL=base-form-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-form-group.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/group/base-form-group.ts"],"names":[],"mappings":";;;AACA,+CAGyB;AACzB,0DAK6B;AAC7B,wCAIoB;AACpB,uDAAkD;AAelD,SAAgB,sBAAsB,CACpC,KAAoB,EACpB,aAA2B,EAAE,EAC7B,gBAA0B,EAAE,EAC5B,cAAmC,SAAS,EAC5C,cAAc,GAAG,KAAK;;IAEtB,IAAA,4BAAgB,EAAC,UAAU,EAAE;QAC3B;YACE,IAAI,EAAE,qBAAqB;YAC3B,eAAe,EAAE,gBAAgB;SAClC;KACF,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,IAAI,mCAAI,+BAAa,CAAC,OAAO,CAAC;IACjD,uCACK,IAAA,2CAAwB,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,KAChG,IAAI,EAAE,uCAAoB,CAAC,KAAK,EAChC,WAAW,EAAE,IAAA,8BAAoB,EAAC,KAAK,CAAC,WAAW,CAAC,EACpD,MAAM,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,IAAI,IAC5B;AACJ,CAAC;AApBD,wDAoBC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormGroupKind = void 0;
|
|
4
|
+
var FormGroupKind;
|
|
5
|
+
(function (FormGroupKind) {
|
|
6
|
+
FormGroupKind["DEFAULT"] = "default";
|
|
7
|
+
})(FormGroupKind || (exports.FormGroupKind = FormGroupKind = {}));
|
|
8
|
+
//# sourceMappingURL=form-group-kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-group-kind.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/group/form-group-kind.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,oCAAmB,CAAA;AACrB,CAAC,EAFW,aAAa,6BAAb,aAAa,QAExB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractControlRolls } from '../abstract-control';
|
|
2
|
+
import { Control, NormalizedControl } from '../control';
|
|
3
|
+
import { BaseFormGroup, NormalizedBaseFormGroup } from './base-form-group';
|
|
4
|
+
export type FormGroup = {
|
|
5
|
+
role: AbstractControlRolls.GROUP;
|
|
6
|
+
} & (BaseFormGroup);
|
|
7
|
+
export type NormalizedFormGroup = {
|
|
8
|
+
role: AbstractControlRolls.GROUP;
|
|
9
|
+
} & (NormalizedBaseFormGroup);
|
|
10
|
+
export declare function NormalizeFormGroup(group: FormGroup): NormalizedFormGroup;
|
|
11
|
+
export declare function IsFormGroup(control: Control): control is FormGroup;
|
|
12
|
+
export declare function IsNormalizedFormGroup(control: NormalizedControl): control is NormalizedFormGroup;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsNormalizedFormGroup = exports.IsFormGroup = exports.NormalizeFormGroup = void 0;
|
|
4
|
+
const abstract_control_1 = require("../abstract-control");
|
|
5
|
+
const base_form_group_1 = require("./base-form-group");
|
|
6
|
+
function NormalizeFormGroup(group) {
|
|
7
|
+
return (0, base_form_group_1.NormalizeBaseFormGroup)(group);
|
|
8
|
+
}
|
|
9
|
+
exports.NormalizeFormGroup = NormalizeFormGroup;
|
|
10
|
+
function IsFormGroup(control) {
|
|
11
|
+
return control.role === abstract_control_1.AbstractControlRolls.GROUP;
|
|
12
|
+
}
|
|
13
|
+
exports.IsFormGroup = IsFormGroup;
|
|
14
|
+
function IsNormalizedFormGroup(control) {
|
|
15
|
+
return control.role === abstract_control_1.AbstractControlRolls.GROUP;
|
|
16
|
+
}
|
|
17
|
+
exports.IsNormalizedFormGroup = IsNormalizedFormGroup;
|
|
18
|
+
//# sourceMappingURL=form-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/lib/form/group/form-group.ts"],"names":[],"mappings":";;;AAAA,0DAA2D;AAK3D,uDAI2B;AAM3B,SAAgB,kBAAkB,CAChC,KAAgB;IAEhB,OAAO,IAAA,wCAAsB,EAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAJD,gDAIC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO,OAAO,CAAC,IAAI,KAAK,uCAAoB,CAAC,KAAK,CAAC;AACrD,CAAC;AAFD,kCAEC;AAED,SAAgB,qBAAqB,CAAC,OAA0B;IAC9D,OAAO,OAAO,CAAC,IAAI,KAAK,uCAAoB,CAAC,KAAK,CAAC;AACrD,CAAC;AAFD,sDAEC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import Handlebars from 'handlebars';
|
|
2
|
+
export declare function LoadHandlebarsTemplate(template: string, basePath: string): Handlebars.TemplateDelegate;
|
|
3
|
+
export declare function LoadMatFormFieldHandlebarsTemplate(template?: string): Handlebars.TemplateDelegate;
|
|
4
|
+
export declare function LoadPipeHandlebarsTemplate(template?: string): Handlebars.TemplateDelegate;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadPipeHandlebarsTemplate = exports.LoadMatFormFieldHandlebarsTemplate = exports.LoadHandlebarsTemplate = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
function LoadHandlebarsTemplate(template, basePath) {
|
|
9
|
+
let fullPath = template;
|
|
10
|
+
if (!fullPath.startsWith('/')) {
|
|
11
|
+
fullPath = (0, path_1.join)(basePath, template);
|
|
12
|
+
}
|
|
13
|
+
if (!(0, fs_1.existsSync)(fullPath)) {
|
|
14
|
+
throw new Error(`The template file "${fullPath}" does not exists`);
|
|
15
|
+
}
|
|
16
|
+
const content = (0, fs_1.readFileSync)(fullPath, 'utf-8');
|
|
17
|
+
return handlebars_1.default.compile(content);
|
|
18
|
+
}
|
|
19
|
+
exports.LoadHandlebarsTemplate = LoadHandlebarsTemplate;
|
|
20
|
+
function LoadMatFormFieldHandlebarsTemplate(template = 'mat-form-field.hbs') {
|
|
21
|
+
return LoadHandlebarsTemplate(template, (0, path_1.join)(__dirname, '..', 'schematics', 'form', 'templates'));
|
|
22
|
+
}
|
|
23
|
+
exports.LoadMatFormFieldHandlebarsTemplate = LoadMatFormFieldHandlebarsTemplate;
|
|
24
|
+
function LoadPipeHandlebarsTemplate(template = 'pipe.hbs') {
|
|
25
|
+
return LoadHandlebarsTemplate(template, (0, path_1.join)(__dirname, '..', 'schematics', 'templates'));
|
|
26
|
+
}
|
|
27
|
+
exports.LoadPipeHandlebarsTemplate = LoadPipeHandlebarsTemplate;
|
|
28
|
+
//# sourceMappingURL=load-handlebars-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-handlebars-template.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/load-handlebars-template.ts"],"names":[],"mappings":";;;;AAAA,2BAGY;AACZ,oEAAoC;AACpC,+BAA4B;AAE5B,SAAgB,sBAAsB,CACpC,QAAgB,EAChB,QAAgB;IAEhB,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC7B,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACrC;IACD,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,sBAAuB,QAAS,mBAAmB,CAAC,CAAC;KACtE;IACD,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,oBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAbD,wDAaC;AAED,SAAgB,kCAAkC,CAChD,QAAQ,GAAG,oBAAoB;IAE/B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AACpG,CAAC;AAJD,gFAIC;AAED,SAAgB,0BAA0B,CACxC,QAAQ,GAAG,UAAU;IAErB,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5F,CAAC;AAJD,gEAIC"}
|
|
@@ -8,7 +8,9 @@ function MergeWithColumnList(propertyList, columnList) {
|
|
|
8
8
|
merged.push({
|
|
9
9
|
name: column.propertyPath,
|
|
10
10
|
type: column.type,
|
|
11
|
-
isArray: false,
|
|
11
|
+
isArray: false,
|
|
12
|
+
source: column.source,
|
|
13
|
+
isOptional: column.isOptional,
|
|
12
14
|
});
|
|
13
15
|
}
|
|
14
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-with-column-list.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/merge-with-column-list.ts"],"names":[],"mappings":";;;AAGA,SAAgB,mBAAmB,CACjC,YAAmD,EACnD,UAAgD;IAEhD,MAAM,MAAM,GAA6B,CAAE,GAAG,YAAY,CAAE,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE;YACrE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,YAAY;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"merge-with-column-list.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/merge-with-column-list.ts"],"names":[],"mappings":";;;AAGA,SAAgB,mBAAmB,CACjC,YAAmD,EACnD,UAAgD;IAEhD,MAAM,MAAM,GAA6B,CAAE,GAAG,YAAY,CAAE,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,EAAE;YACrE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,MAAM,CAAC,YAAY;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;SACJ;KACF;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAjBD,kDAiBC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Rule } from '@angular-devkit/schematics';
|
|
2
|
+
import { NormalizedDataProperty } from '@rxap/ts-morph';
|
|
2
3
|
import { Normalized } from '@rxap/utilities';
|
|
3
4
|
import { AngularOptions, NormalizedAngularOptions } from './angular-options';
|
|
4
5
|
import { MinimumTableOptions, NormalizedMinimumTableOptions } from './minimum-table-options';
|
|
5
6
|
import { NormalizedTableAction } from './table-action';
|
|
6
7
|
import { NormalizedTableColumn } from './table-column';
|
|
7
|
-
import { NormalizedDataProperty } from '@rxap/ts-morph';
|
|
8
8
|
export type MinimumTableComponentOptions = MinimumTableOptions & AngularOptions;
|
|
9
9
|
export interface NormalizedMinimumTableComponentOptions extends Omit<Readonly<Normalized<MinimumTableComponentOptions> & NormalizedMinimumTableOptions & NormalizedAngularOptions>, 'columnList' | 'actionList' | 'propertyList'> {
|
|
10
10
|
columnList: ReadonlyArray<NormalizedTableColumn>;
|
|
@@ -14,7 +14,17 @@ export interface NormalizedMinimumTableComponentOptions extends Omit<Readonly<No
|
|
|
14
14
|
controllerName: string;
|
|
15
15
|
}
|
|
16
16
|
export declare function NormalizeMinimumTableComponentOptions<MODIFIER extends string = string>(options: Readonly<MinimumTableComponentOptions>, isModifier: (value: string) => value is MODIFIER, suffix?: string): NormalizedMinimumTableComponentOptions;
|
|
17
|
-
export
|
|
17
|
+
export interface TableInterfaceRuleOptions {
|
|
18
|
+
/**
|
|
19
|
+
* the name of the operation to get a table page. defaults to 'get-page' and is only used when the backend is nestjs
|
|
20
|
+
*/
|
|
21
|
+
operationName?: string;
|
|
22
|
+
/**
|
|
23
|
+
* the path to the row type in the operation response type. defaults to `['rows'][number]` and is only used when the backend is nestjs
|
|
24
|
+
*/
|
|
25
|
+
typePath?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function tableInterfaceRule(normalizedOptions: NormalizedMinimumTableComponentOptions, options?: TableInterfaceRuleOptions): Rule;
|
|
18
28
|
export declare function actionListRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
|
|
19
29
|
export declare function cellComponentRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
|
|
20
30
|
export declare function headerButtonRule(normalizedOptions: NormalizedMinimumTableComponentOptions): Rule;
|
|
@@ -16,27 +16,24 @@ function NormalizeMinimumTableComponentOptions(options, isModifier, suffix = '-t
|
|
|
16
16
|
var _a, _b;
|
|
17
17
|
const normalizedAngularOptions = (0, angular_options_1.NormalizeAngularOptions)(options);
|
|
18
18
|
(0, angular_options_1.AssertAngularOptionsNameProperty)(normalizedAngularOptions);
|
|
19
|
-
const { name } = normalizedAngularOptions;
|
|
19
|
+
const { name, controllerName } = normalizedAngularOptions;
|
|
20
20
|
const normalizedTableOptions = (0, minimum_table_options_1.NormalizeMinimumTableOptions)(options, name, isModifier, suffix);
|
|
21
21
|
const { componentName } = normalizedTableOptions;
|
|
22
22
|
const nestModule = (_a = options.nestModule) !== null && _a !== void 0 ? _a : null;
|
|
23
|
-
return Object.freeze(Object.assign(Object.assign(Object.assign({}, normalizedAngularOptions), normalizedTableOptions), { nestModule, controllerName: (0, schematics_ts_morph_1.BuildNestControllerName)({
|
|
23
|
+
return Object.freeze(Object.assign(Object.assign(Object.assign({}, normalizedAngularOptions), normalizedTableOptions), { nestModule, controllerName: controllerName !== null && controllerName !== void 0 ? controllerName : (0, schematics_ts_morph_1.BuildNestControllerName)({
|
|
24
24
|
controllerName: componentName,
|
|
25
25
|
nestModule,
|
|
26
26
|
}), directory: (0, path_1.join)((_b = options.directory) !== null && _b !== void 0 ? _b : '', componentName) }));
|
|
27
27
|
}
|
|
28
28
|
exports.NormalizeMinimumTableComponentOptions = NormalizeMinimumTableComponentOptions;
|
|
29
29
|
// region table interface
|
|
30
|
-
function tableInterfaceFromOpenApiRule(normalizedOptions) {
|
|
31
|
-
const { backend, project, feature, directory, shared, componentName,
|
|
30
|
+
function tableInterfaceFromOpenApiRule(normalizedOptions, options = {}) {
|
|
31
|
+
const { backend, project, feature, directory, shared, componentName, } = normalizedOptions;
|
|
32
|
+
const { operationName = 'get-page', typePath = `['rows'][number]` } = options;
|
|
32
33
|
if (![backend_types_1.BackendTypes.NESTJS].includes(backend)) {
|
|
33
34
|
throw new schematics_1.SchematicsException(`Invalid backend type: ${backend} - expected nestjs`);
|
|
34
35
|
}
|
|
35
|
-
const
|
|
36
|
-
controllerName: componentName,
|
|
37
|
-
nestModule,
|
|
38
|
-
});
|
|
39
|
-
const operationId = (0, schematics_ts_morph_1.buildOperationId)(normalizedOptions, 'get-page', controllerName);
|
|
36
|
+
const operationId = (0, schematics_ts_morph_1.buildOperationId)(normalizedOptions, operationName, (0, schematics_ts_morph_1.BuildNestControllerName)(normalizedOptions));
|
|
40
37
|
return (0, schematics_1.chain)([
|
|
41
38
|
(0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)({
|
|
42
39
|
project,
|
|
@@ -47,7 +44,7 @@ function tableInterfaceFromOpenApiRule(normalizedOptions) {
|
|
|
47
44
|
(0, schematics_ts_morph_1.CoerceTypeAlias)(sourceFile, `I${(0, utilities_1.classify)(componentName)}`).set({
|
|
48
45
|
isExported: true,
|
|
49
46
|
// TODO : support the option to specify how to get the row type from the operation response type
|
|
50
|
-
type: `TableRowMetadata & ${(0, schematics_ts_morph_1.OperationIdToResponseClassName)(operationId)}
|
|
47
|
+
type: `TableRowMetadata & ${(0, schematics_ts_morph_1.OperationIdToResponseClassName)(operationId)}${typePath}`,
|
|
51
48
|
});
|
|
52
49
|
(0, schematics_ts_morph_1.CoerceImports)(sourceFile, {
|
|
53
50
|
moduleSpecifier: '@rxap/material-table-system',
|
|
@@ -96,7 +93,7 @@ function tablePropertyListToPropertiesStructure(propertyList) {
|
|
|
96
93
|
}
|
|
97
94
|
});
|
|
98
95
|
}
|
|
99
|
-
function tableInterfaceFromPropertyListRule(normalizedOptions) {
|
|
96
|
+
function tableInterfaceFromPropertyListRule(normalizedOptions, options = {}) {
|
|
100
97
|
const { propertyList, name, componentName, project, feature, directory, shared, } = normalizedOptions;
|
|
101
98
|
return (0, schematics_1.chain)([
|
|
102
99
|
(0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)({
|
|
@@ -118,15 +115,15 @@ function tableInterfaceFromPropertyListRule(normalizedOptions) {
|
|
|
118
115
|
}, [`${(0, utilities_1.dasherize)(componentName)}.ts?`]),
|
|
119
116
|
]);
|
|
120
117
|
}
|
|
121
|
-
function tableInterfaceRule(normalizedOptions) {
|
|
118
|
+
function tableInterfaceRule(normalizedOptions, options = {}) {
|
|
122
119
|
const { backend } = normalizedOptions;
|
|
123
120
|
switch (backend) {
|
|
124
121
|
case backend_types_1.BackendTypes.NESTJS:
|
|
125
|
-
return tableInterfaceFromOpenApiRule(normalizedOptions);
|
|
122
|
+
return tableInterfaceFromOpenApiRule(normalizedOptions, options);
|
|
126
123
|
// TODO : add support for the open-api backend type - this will require some why to define how to get the row type from the operation response type
|
|
127
124
|
default:
|
|
128
125
|
case backend_types_1.BackendTypes.NONE:
|
|
129
|
-
return tableInterfaceFromPropertyListRule(normalizedOptions);
|
|
126
|
+
return tableInterfaceFromPropertyListRule(normalizedOptions, options);
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
129
|
exports.tableInterfaceRule = tableInterfaceRule;
|
|
@@ -266,11 +263,11 @@ exports.actionListRule = actionListRule;
|
|
|
266
263
|
// endregion
|
|
267
264
|
function cellComponentRule(normalizedOptions) {
|
|
268
265
|
const { overwrite, columnList, project, feature, shared, directory, } = normalizedOptions;
|
|
269
|
-
if (columnList.some(
|
|
266
|
+
if (columnList.some(column => column.kind === table_column_1.TableColumnKind.COMPONENT)) {
|
|
270
267
|
return (0, schematics_1.chain)([
|
|
271
|
-
() => console.log(`Coerce the table cell components count: ${columnList.filter((column) => column.
|
|
268
|
+
() => console.log(`Coerce the table cell components count: ${columnList.filter((column) => column.kind === table_column_1.TableColumnKind.COMPONENT).length}`),
|
|
272
269
|
...columnList
|
|
273
|
-
.filter((column) => column.
|
|
270
|
+
.filter((column) => column.kind === table_column_1.TableColumnKind.COMPONENT)
|
|
274
271
|
.map((column) => (0, schematics_ts_morph_1.CoerceComponentRule)({
|
|
275
272
|
project,
|
|
276
273
|
feature,
|