@rxap/schematic-angular 19.1.1-dev.3 → 19.2.0-dev.2
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 +24 -0
- package/GUIDES.md +160 -0
- package/README.md +164 -0
- package/package.json +8 -8
- package/src/examples/feature/dashboard/dashboard-accordion/schematics.yaml +226 -0
- package/src/examples/feature/dashboard/dashboard-table/schematic.yml +103 -0
- package/src/examples/feature/dashboard-template/dashboard-template-table/schematic.yml +95 -0
- package/src/examples/feature/machine/machine-accordion/schematic.yaml +83 -0
- package/src/examples/feature/machine/machine-table/schematic.yaml +139 -0
- package/src/examples/feature/machine-definition/machine-definition-details/data-definition-modbus-tcp-table/schematic.yaml +63 -0
- package/src/examples/feature/machine-definition/machine-definition-details/data-definition-opc-ua-table/schematic.yaml +58 -0
- package/src/examples/feature/machine-definition/machine-definition-details/data-definition-open-platform-protocol-table/schematic.yaml +49 -0
- package/src/examples/feature/machine-definition/machine-definition-details/data-definition-s7-iso-on-tcp-table/schematic.yaml +64 -0
- package/src/examples/feature/machine-definition/machine-definition-details/data-trigger-table/schematic.yaml +43 -0
- package/src/examples/feature/machine-definition/machine-definition-details/message-group-table/schematic.yaml +41 -0
- package/src/examples/feature/machine-definition/machine-definition-details/message-trigger-connection-table/schematic.yaml +38 -0
- package/src/examples/feature/machine-definition/machine-definition-details/physical-unit-table/schematic.yaml +41 -0
- package/src/examples/feature/machine-definition/machine-definition-table/schematic.yaml +107 -0
- package/src/examples/feature/node-red/node-red-table/schematic.yaml +114 -0
- package/src/examples/feature/report/report-accordion/schematic.yaml +318 -0
- package/src/examples/feature/report/report-table/schematic.yaml +66 -0
- package/src/examples/feature/service-network/company-accordion/schematic.yaml +119 -0
- package/src/examples/feature/service-network/service-network-accordion/schematic.yml +65 -0
- package/src/examples/feature/thing/thing-table/schematic.yml +115 -0
- package/src/examples/feature/user/user-table/schematic.yaml +99 -0
- package/src/examples/schematics.yaml +18 -0
- package/src/guides/backend.md +49 -0
- package/src/guides/form-component.md +58 -0
- package/src/guides/form-control.md +269 -0
- package/src/guides/header-button.md +57 -0
- package/src/guides/table-action.md +120 -0
- package/src/guides/table-column.md +185 -0
- package/src/guides/table-component.md +51 -0
- package/src/guides/table-filter.md +69 -0
- package/src/guides/table-modifiers.md +22 -0
- package/src/guides/upstream.md +49 -0
- package/src/index.d.ts +16 -6
- package/src/index.js +18 -6
- package/src/index.js.map +1 -1
- package/src/lib/accordion/item/base-accordion-item.js +1 -2
- package/src/lib/accordion/item/base-accordion-item.js.map +1 -1
- package/src/lib/accordion/item/switch-accordion-item.d.ts +1 -1
- package/src/lib/accordion/item/switch-accordion-item.js +2 -3
- package/src/lib/accordion/item/switch-accordion-item.js.map +1 -1
- package/src/lib/angular-options.d.ts +2 -3
- package/src/lib/angular-options.js +7 -52
- package/src/lib/angular-options.js.map +1 -1
- package/src/lib/backend/nest-js-backend-options.d.ts +8 -2
- package/src/lib/backend/nest-js-backend-options.js +2 -2
- package/src/lib/backend/nest-js-backend-options.js.map +1 -1
- package/src/lib/build-tree-table-ge-children-operation-id.d.ts +3 -0
- package/src/lib/build-tree-table-ge-children-operation-id.js +8 -0
- package/src/lib/build-tree-table-ge-children-operation-id.js.map +1 -0
- package/src/lib/build-tree-table-get-root-operation-id.d.ts +3 -0
- package/src/lib/build-tree-table-get-root-operation-id.js +8 -0
- package/src/lib/build-tree-table-get-root-operation-id.js.map +1 -0
- package/src/lib/coerce-type-alias.d.ts +2 -0
- package/src/lib/coerce-type-alias.js +11 -0
- package/src/lib/coerce-type-alias.js.map +1 -0
- package/src/lib/data-grid-item.js +3 -3
- package/src/lib/data-grid-item.js.map +1 -1
- package/src/lib/form/abstract-control-to-data-property.d.ts +4 -0
- package/src/lib/form/abstract-control-to-data-property.js +14 -0
- package/src/lib/form/abstract-control-to-data-property.js.map +1 -0
- package/src/lib/form/abstract-control.d.ts +0 -2
- package/src/lib/form/abstract-control.js +1 -13
- package/src/lib/form/abstract-control.js.map +1 -1
- package/src/lib/form/array/base-form-array.js +2 -1
- package/src/lib/form/array/base-form-array.js.map +1 -1
- package/src/lib/form/control/autocomplete-form-control.d.ts +2 -2
- package/src/lib/form/control/autocomplete-form-control.js +1 -2
- package/src/lib/form/control/autocomplete-form-control.js.map +1 -1
- package/src/lib/form/control/select-form-control.d.ts +2 -2
- package/src/lib/form/control/select-form-control.js.map +1 -1
- package/src/lib/form/control/table-select-form-control.d.ts +2 -2
- package/src/lib/form/control/table-select-form-control.js +4 -5
- package/src/lib/form/control/table-select-form-control.js.map +1 -1
- package/src/lib/form/control-to-dto-class-property.d.ts +3 -0
- package/src/lib/form/control-to-dto-class-property.js +13 -0
- package/src/lib/form/control-to-dto-class-property.js.map +1 -0
- package/src/lib/form/control.d.ts +0 -2
- package/src/lib/form/control.js +0 -10
- package/src/lib/form/control.js.map +1 -1
- package/src/lib/get-item-options.d.ts +10 -0
- package/src/lib/get-item-options.js +12 -0
- package/src/lib/get-item-options.js.map +1 -0
- package/src/lib/normalize-minimum-table-component-options.d.ts +9 -0
- package/src/lib/normalize-minimum-table-component-options.js +23 -0
- package/src/lib/normalize-minimum-table-component-options.js.map +1 -0
- package/src/lib/pipe-option-to-type-import.d.ts +3 -0
- package/src/lib/pipe-option-to-type-import.js +14 -0
- package/src/lib/pipe-option-to-type-import.js.map +1 -0
- package/src/lib/pipe-option.d.ts +0 -1
- package/src/lib/pipe-option.js +0 -11
- package/src/lib/pipe-option.js.map +1 -1
- package/src/lib/print-angular-options.d.ts +2 -0
- package/src/lib/print-angular-options.js +54 -0
- package/src/lib/print-angular-options.js.map +1 -0
- package/src/lib/{assert-table-component-exists.js → rules/assert-table-component-exists.js} +1 -2
- package/src/lib/rules/assert-table-component-exists.js.map +1 -0
- package/src/lib/rules/table-action-rule.d.ts +3 -0
- package/src/lib/rules/table-action-rule.js +152 -0
- package/src/lib/rules/table-action-rule.js.map +1 -0
- package/src/lib/rules/table-cell-component-rule.d.ts +3 -0
- package/src/lib/rules/table-cell-component-rule.js +40 -0
- package/src/lib/rules/table-cell-component-rule.js.map +1 -0
- package/src/lib/{table → rules}/table-filter-column-rule.js +2 -2
- package/src/lib/{table → rules}/table-filter-column-rule.js.map +1 -1
- package/src/lib/rules/table-header-button-rule.d.ts +3 -0
- package/src/lib/rules/table-header-button-rule.js +45 -0
- package/src/lib/rules/table-header-button-rule.js.map +1 -0
- package/src/lib/rules/table-interface-rule.d.ts +13 -0
- package/src/lib/rules/table-interface-rule.js +115 -0
- package/src/lib/rules/table-interface-rule.js.map +1 -0
- package/src/lib/{use-pick-from-table-interface-as-form-type.d.ts → rules/use-pick-from-table-interface-as-form-type-rule.d.ts} +2 -2
- package/src/lib/{use-pick-from-table-interface-as-form-type.js → rules/use-pick-from-table-interface-as-form-type-rule.js} +3 -3
- package/src/lib/rules/use-pick-from-table-interface-as-form-type-rule.js.map +1 -0
- package/src/lib/table/column/base-table-column.js +1 -2
- package/src/lib/table/column/base-table-column.js.map +1 -1
- package/src/lib/table/table-column.js +4 -4
- package/src/lib/table/table-column.js.map +1 -1
- package/src/lib/test/workspace.d.ts +34 -0
- package/src/lib/test/workspace.js +104 -0
- package/src/lib/test/workspace.js.map +1 -0
- package/src/schematics/accordion/accordion-component/__snapshots__/index.spec.ts.snap +35 -0
- package/src/schematics/accordion/accordion-component/__snapshots__/normalize-accordion-component-options.spec.ts.snap +177 -0
- package/src/schematics/accordion/accordion-component/backend/backend-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/backend/backend-rule.js +18 -0
- package/src/schematics/accordion/accordion-component/backend/backend-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/backend/local-backend-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/backend/local-backend-rule.js +96 -0
- package/src/schematics/accordion/accordion-component/backend/local-backend-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/backend/nestjs-backend-rule.d.ts +3 -0
- package/src/schematics/accordion/accordion-component/backend/nestjs-backend-rule.js +43 -0
- package/src/schematics/accordion/accordion-component/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/backend/open-api-data-source-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/backend/open-api-data-source-rule.js +92 -0
- package/src/schematics/accordion/accordion-component/backend/open-api-data-source-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/build-get-operation-id.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/build-get-operation-id.js +9 -0
- package/src/schematics/accordion/accordion-component/build-get-operation-id.js.map +1 -0
- package/src/schematics/accordion/accordion-component/build-property-list.d.ts +3 -0
- package/src/schematics/accordion/accordion-component/build-property-list.js +37 -0
- package/src/schematics/accordion/accordion-component/build-property-list.js.map +1 -0
- package/src/{lib → schematics/accordion/accordion-component}/coerce-accordion-component.d.ts +1 -1
- package/src/schematics/accordion/accordion-component/coerce-accordion-component.js.map +1 -0
- package/src/schematics/accordion/accordion-component/component-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/component-rule.js +40 -0
- package/src/schematics/accordion/accordion-component/component-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/has-missing-panel-components.d.ts +3 -0
- package/src/schematics/accordion/accordion-component/has-missing-panel-components.js +18 -0
- package/src/schematics/accordion/accordion-component/has-missing-panel-components.js.map +1 -0
- package/src/schematics/accordion/accordion-component/index.d.ts +2 -9
- package/src/schematics/accordion/accordion-component/index.js +14 -397
- package/src/schematics/accordion/accordion-component/index.js.map +1 -1
- package/src/schematics/accordion/accordion-component/item-component-rule.d.ts +3 -0
- package/src/schematics/accordion/accordion-component/item-component-rule.js +21 -0
- package/src/schematics/accordion/accordion-component/item-component-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/item-list-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/item-list-rule.js +13 -0
- package/src/schematics/accordion/accordion-component/item-list-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-component/normalize-accordion-component-options.d.ts +8 -0
- package/src/schematics/accordion/accordion-component/normalize-accordion-component-options.js +30 -0
- package/src/schematics/accordion/accordion-component/normalize-accordion-component-options.js.map +1 -0
- package/src/schematics/accordion/accordion-component/stories-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-component/stories-rule.js +56 -0
- package/src/schematics/accordion/accordion-component/stories-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/build-get-operation-id.d.ts +2 -0
- package/src/schematics/accordion/accordion-item-component/build-get-operation-id.js +10 -0
- package/src/schematics/accordion/accordion-item-component/build-get-operation-id.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/index.d.ts +3 -21
- package/src/schematics/accordion/accordion-item-component/index.js +6 -346
- package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
- package/src/schematics/accordion/accordion-item-component/item-rule.d.ts +3 -0
- package/src/schematics/accordion/accordion-item-component/item-rule.js +37 -0
- package/src/schematics/accordion/accordion-item-component/item-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/normalize-accordion-item-standalone-component-options.d.ts +9 -0
- package/src/schematics/accordion/accordion-item-component/normalize-accordion-item-standalone-component-options.js +46 -0
- package/src/schematics/accordion/accordion-item-component/normalize-accordion-item-standalone-component-options.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-backend-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-backend-rule.js +18 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-backend-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-local-data-source-rule.d.ts +2 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-local-data-source-rule.js +105 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-local-data-source-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-open-api-data-source-rule.d.ts +3 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-open-api-data-source-rule.js +75 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-open-api-data-source-rule.js.map +1 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-rule.d.ts +3 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-rule.js +111 -0
- package/src/schematics/accordion/accordion-item-component/panel-item/panel-item-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/__snapshots__/normalize-accordion-item-data-grid-component-options.spec.ts.snap +197 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/backend-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/backend-rule.js +15 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/backend-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/nestjs-backend-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/nestjs-backend-rule.js +59 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/component-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/component-rule.js +87 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/component-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-form-mode-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-form-mode-rule.js +38 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-form-mode-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-mode-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-mode-rule.js +13 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/data-grid-mode-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +0 -10
- package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +8 -166
- 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/normalize-accordion-item-data-grid-component-options.d.ts +10 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/normalize-accordion-item-data-grid-component-options.js +9 -0
- package/src/schematics/accordion/item/accordion-item-data-grid-component/normalize-accordion-item-data-grid-component-options.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/__snapshots__/normalize-accordion-item-nested-component-options.spec.ts.snap +119 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/accordion-component-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/accordion-component-rule.js +20 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/accordion-component-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/index.d.ts +0 -10
- package/src/schematics/accordion/item/accordion-item-nested-component/index.js +4 -23
- package/src/schematics/accordion/item/accordion-item-nested-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-nested-component/normalize-accordion-item-nested-component-options.d.ts +10 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/normalize-accordion-item-nested-component-options.js +9 -0
- package/src/schematics/accordion/item/accordion-item-nested-component/normalize-accordion-item-nested-component-options.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/__snapshots__/normalize-accordion-item-switch-component-options.spec.ts.snap +254 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/case/case-rule.d.ts +3 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/case/case-rule.js +41 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/case/case-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +0 -10
- package/src/schematics/accordion/item/accordion-item-switch-component/index.js +5 -43
- package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-switch-component/normalize-accordion-item-switch-component-options.d.ts +10 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/normalize-accordion-item-switch-component-options.js +9 -0
- package/src/schematics/accordion/item/accordion-item-switch-component/normalize-accordion-item-switch-component-options.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-table-component/__snapshots__/normalize-accordion-item-table-component-options.spec.ts.snap +465 -0
- package/src/schematics/accordion/item/accordion-item-table-component/component-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-table-component/component-rule.js +26 -0
- package/src/schematics/accordion/item/accordion-item-table-component/component-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +0 -10
- package/src/schematics/accordion/item/accordion-item-table-component/index.js +6 -46
- package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
- package/src/schematics/accordion/item/accordion-item-table-component/normalize-accordion-item-table-component-options.d.ts +10 -0
- package/src/schematics/accordion/item/accordion-item-table-component/normalize-accordion-item-table-component-options.js +9 -0
- package/src/schematics/accordion/item/accordion-item-table-component/normalize-accordion-item-table-component-options.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-table-component/table-component-schematic-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-table-component/table-component-schematic-rule.js +22 -0
- package/src/schematics/accordion/item/accordion-item-table-component/table-component-schematic-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/__snapshots__/normalize-accordion-item-tree-table-component-options.spec.ts.snap +685 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/backend-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/backend-rule.js +15 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/backend-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/nestjs-backend-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/nestjs-backend-rule.js +61 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/component-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/component-rule.js +27 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/component-rule.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +0 -10
- package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +8 -109
- 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/normalize-accordion-item-tree-table-component-options.d.ts +10 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/normalize-accordion-item-tree-table-component-options.js +9 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/normalize-accordion-item-tree-table-component-options.js.map +1 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/tree-table-component-schematic-rule.d.ts +2 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/tree-table-component-schematic-rule.js +20 -0
- package/src/schematics/accordion/item/accordion-item-tree-table-component/tree-table-component-schematic-rule.js.map +1 -0
- package/src/schematics/data-grid-component/__snapshots__/index.spec.ts.snap +34 -0
- package/src/schematics/data-grid-component/__snapshots__/normalize-data-grid-component-options.spec.ts.snap +309 -0
- package/src/schematics/data-grid-component/backend/backend-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/backend/backend-rule.js +18 -0
- package/src/schematics/data-grid-component/backend/backend-rule.js.map +1 -0
- package/src/schematics/data-grid-component/backend/local-backend-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/backend/local-backend-rule.js +33 -0
- package/src/schematics/data-grid-component/backend/local-backend-rule.js.map +1 -0
- package/src/schematics/data-grid-component/backend/nestjs-backend-rule.d.ts +3 -0
- package/src/schematics/data-grid-component/backend/nestjs-backend-rule.js +65 -0
- package/src/schematics/data-grid-component/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/data-grid-component/backend/nestjs-form-mode-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/backend/nestjs-form-mode-rule.js +107 -0
- package/src/schematics/data-grid-component/backend/nestjs-form-mode-rule.js.map +1 -0
- package/src/schematics/data-grid-component/backend/nestjs-mode-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/backend/nestjs-mode-rule.js +13 -0
- package/src/schematics/data-grid-component/backend/nestjs-mode-rule.js.map +1 -0
- package/src/schematics/data-grid-component/build-get-operation-id.d.ts +2 -0
- package/src/schematics/data-grid-component/build-get-operation-id.js +9 -0
- package/src/schematics/data-grid-component/build-get-operation-id.js.map +1 -0
- package/src/schematics/data-grid-component/build-submit-operation-id.d.ts +2 -0
- package/src/schematics/data-grid-component/build-submit-operation-id.js +9 -0
- package/src/schematics/data-grid-component/build-submit-operation-id.js.map +1 -0
- package/src/schematics/data-grid-component/component-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/component-rule.js +83 -0
- package/src/schematics/data-grid-component/component-rule.js.map +1 -0
- package/src/schematics/data-grid-component/form-mode-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/form-mode-rule.js +77 -0
- package/src/schematics/data-grid-component/form-mode-rule.js.map +1 -0
- package/src/schematics/data-grid-component/index.d.ts +1 -13
- package/src/schematics/data-grid-component/index.js +10 -369
- package/src/schematics/data-grid-component/index.js.map +1 -1
- package/src/schematics/data-grid-component/mode-rule.d.ts +2 -0
- package/src/schematics/data-grid-component/mode-rule.js +13 -0
- package/src/schematics/data-grid-component/mode-rule.js.map +1 -0
- package/src/schematics/data-grid-component/normalize-data-grid-component-options.d.ts +11 -0
- package/src/schematics/data-grid-component/normalize-data-grid-component-options.js +20 -0
- package/src/schematics/data-grid-component/normalize-data-grid-component-options.js.map +1 -0
- package/src/schematics/dialog-component/__snapshots__/index.spec.ts.snap +83 -0
- package/src/schematics/dialog-component/__snapshots__/normalize-dialog-component-options.spec.ts.snap +57 -0
- package/src/schematics/dialog-component/index.js +4 -16
- package/src/schematics/dialog-component/index.js.map +1 -1
- package/src/schematics/dialog-component/normalize-dialog-component-options.d.ts +7 -0
- package/src/schematics/dialog-component/normalize-dialog-component-options.js +16 -0
- package/src/schematics/dialog-component/normalize-dialog-component-options.js.map +1 -0
- package/src/schematics/form/control/autocomplete-form-control/__snapshots__/index.spec.ts.snap +38 -0
- package/src/schematics/form/control/autocomplete-form-control/__snapshots__/normalize-autocomplete-form-control-options.spec.ts.snap +395 -0
- package/src/schematics/form/control/autocomplete-form-control/autocomplete-options-rule.d.ts +2 -0
- package/src/schematics/form/control/autocomplete-form-control/autocomplete-options-rule.js +31 -0
- package/src/schematics/form/control/autocomplete-form-control/autocomplete-options-rule.js.map +1 -0
- package/src/schematics/form/control/autocomplete-form-control/autocomplete-resolve-rule.d.ts +2 -0
- package/src/schematics/form/control/autocomplete-form-control/autocomplete-resolve-rule.js +31 -0
- package/src/schematics/form/control/autocomplete-form-control/autocomplete-resolve-rule.js.map +1 -0
- package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-options-method.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-options-method.js +43 -0
- package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-options-method.js.map +1 -0
- package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-resolve-method.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-resolve-method.js +43 -0
- package/src/schematics/form/control/autocomplete-form-control/coerce-use-autocomplete-resolve-method.js.map +1 -0
- package/src/schematics/form/control/autocomplete-form-control/index.d.ts +0 -6
- package/src/schematics/form/control/autocomplete-form-control/index.js +8 -132
- package/src/schematics/form/control/autocomplete-form-control/index.js.map +1 -1
- package/src/schematics/form/control/autocomplete-form-control/normalize-autocomplete-form-control-options.d.ts +7 -0
- package/src/schematics/form/control/autocomplete-form-control/normalize-autocomplete-form-control-options.js +11 -0
- package/src/schematics/form/control/autocomplete-form-control/normalize-autocomplete-form-control-options.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/__snapshots__/index.spec.ts.snap +37 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/__snapshots__/normalize-table-select-form-control-options.spec.ts.snap +505 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-options-rule.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-options-rule.js +122 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-options-rule.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-resolve-rule.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-resolve-rule.js +122 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/autocomplete-table-select-resolve-rule.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-dto-suffix.d.ts +2 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-dto-suffix.js +9 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-dto-suffix.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-id.d.ts +2 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-id.js +9 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-id.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-name.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-name.js +8 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-name.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-path.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-path.js +8 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/build-options-operation-path.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/index.d.ts +1 -11
- package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +10 -398
- package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
- package/src/schematics/form/control/autocomplete-table-select-form-control/normalize-table-select-form-control-options.d.ts +7 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/normalize-table-select-form-control-options.js +11 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/normalize-table-select-form-control-options.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/table-column-to-table-select-column.d.ts +4 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/table-column-to-table-select-column.js +20 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/table-column-to-table-select-column.js.map +1 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/table-select-data-source-rule.d.ts +3 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/table-select-data-source-rule.js +139 -0
- package/src/schematics/form/control/autocomplete-table-select-form-control/table-select-data-source-rule.js.map +1 -0
- package/src/schematics/form/control/date-form-control/__snapshots__/index.spec.ts.snap +36 -0
- package/src/schematics/form/control/date-form-control/__snapshots__/normalize-date-form-control-options.spec.ts.snap +273 -0
- package/src/schematics/form/control/date-form-control/index.d.ts +0 -6
- package/src/schematics/form/control/date-form-control/index.js +4 -9
- package/src/schematics/form/control/date-form-control/index.js.map +1 -1
- package/src/schematics/form/control/date-form-control/normalize-date-form-control-options.d.ts +7 -0
- package/src/schematics/form/control/date-form-control/normalize-date-form-control-options.js +9 -0
- package/src/schematics/form/control/date-form-control/normalize-date-form-control-options.js.map +1 -0
- package/src/schematics/form/control/input-form-control/__snapshots__/index.spec.ts.snap +36 -0
- package/src/schematics/form/control/input-form-control/__snapshots__/normalize-input-form-control-options.spec.ts.snap +261 -0
- package/src/schematics/form/control/input-form-control/index.d.ts +0 -6
- package/src/schematics/form/control/input-form-control/index.js +4 -9
- package/src/schematics/form/control/input-form-control/index.js.map +1 -1
- package/src/schematics/form/control/input-form-control/normalize-input-form-control-options.d.ts +7 -0
- package/src/schematics/form/control/input-form-control/normalize-input-form-control-options.js +9 -0
- package/src/schematics/form/control/input-form-control/normalize-input-form-control-options.js.map +1 -0
- package/src/schematics/form/control/select-form-control/__snapshots__/index.spec.ts.snap +38 -0
- package/src/schematics/form/control/select-form-control/__snapshots__/normalize-select-form-control-options.spec.ts.snap +288 -0
- package/src/schematics/form/control/select-form-control/index.d.ts +1 -8
- package/src/schematics/form/control/select-form-control/index.js +6 -217
- package/src/schematics/form/control/select-form-control/index.js.map +1 -1
- package/src/schematics/form/control/select-form-control/normalize-select-form-control-options.d.ts +7 -0
- package/src/schematics/form/control/select-form-control/normalize-select-form-control-options.js +9 -0
- package/src/schematics/form/control/select-form-control/normalize-select-form-control-options.js.map +1 -0
- package/src/schematics/form/control/select-form-control/options/data-source-backend-options-rule.d.ts +3 -0
- package/src/schematics/form/control/select-form-control/options/data-source-backend-options-rule.js +69 -0
- package/src/schematics/form/control/select-form-control/options/data-source-backend-options-rule.js.map +1 -0
- package/src/schematics/form/control/select-form-control/options/nest-js-backend-options-rule.d.ts +3 -0
- package/src/schematics/form/control/select-form-control/options/nest-js-backend-options-rule.js +67 -0
- package/src/schematics/form/control/select-form-control/options/nest-js-backend-options-rule.js.map +1 -0
- package/src/schematics/form/control/select-form-control/options/none-backend-options-rule.d.ts +3 -0
- package/src/schematics/form/control/select-form-control/options/none-backend-options-rule.js +69 -0
- package/src/schematics/form/control/select-form-control/options/none-backend-options-rule.js.map +1 -0
- package/src/schematics/form/control/select-form-control/options/open-api-backend-options-rule.d.ts +3 -0
- package/src/schematics/form/control/select-form-control/options/open-api-backend-options-rule.js +10 -0
- package/src/schematics/form/control/select-form-control/options/open-api-backend-options-rule.js.map +1 -0
- package/src/schematics/form/control/select-form-control/options/options-rule.d.ts +3 -0
- package/src/schematics/form/control/select-form-control/options/options-rule.js +27 -0
- package/src/schematics/form/control/select-form-control/options/options-rule.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/__snapshots__/normalize-table-select-form-control-options.spec.ts.snap +505 -0
- package/src/schematics/form/control/table-select-form-control/build-dto-suffix.d.ts +2 -0
- package/src/schematics/form/control/table-select-form-control/build-dto-suffix.js +9 -0
- package/src/schematics/form/control/table-select-form-control/build-dto-suffix.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-id.d.ts +2 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-id.js +9 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-id.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-name.d.ts +3 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-name.js +8 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-name.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-path.d.ts +3 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-path.js +8 -0
- package/src/schematics/form/control/table-select-form-control/build-options-operation-path.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/index.d.ts +0 -9
- package/src/schematics/form/control/table-select-form-control/index.js +8 -235
- package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
- package/src/schematics/form/control/table-select-form-control/normalize-table-select-form-control-options.d.ts +6 -0
- package/src/schematics/form/control/table-select-form-control/normalize-table-select-form-control-options.js +11 -0
- package/src/schematics/form/control/table-select-form-control/normalize-table-select-form-control-options.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/table-column-to-table-select-column.d.ts +4 -0
- package/src/schematics/form/control/table-select-form-control/table-column-to-table-select-column.js +20 -0
- package/src/schematics/form/control/table-select-form-control/table-column-to-table-select-column.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/table-select-data-source-rule.d.ts +2 -0
- package/src/schematics/form/control/table-select-form-control/table-select-data-source-rule.js +116 -0
- package/src/schematics/form/control/table-select-form-control/table-select-data-source-rule.js.map +1 -0
- package/src/schematics/form/control/table-select-form-control/table-select-resolve-rule.d.ts +2 -0
- package/src/schematics/form/control/table-select-form-control/table-select-resolve-rule.js +99 -0
- package/src/schematics/form/control/table-select-form-control/table-select-resolve-rule.js.map +1 -0
- package/src/schematics/form/form-array/__snapshots__/normalize-form-array-options.spec.ts.snap +195 -0
- package/src/schematics/form/form-array/form-control-kind.d.ts +3 -0
- package/src/schematics/form/form-array/form-control-kind.js +12 -0
- package/src/schematics/form/form-array/form-control-kind.js.map +1 -0
- package/src/schematics/form/form-array/form-definition-rule.d.ts +3 -0
- package/src/schematics/form/form-array/form-definition-rule.js +12 -0
- package/src/schematics/form/form-array/form-definition-rule.js.map +1 -0
- package/src/schematics/form/form-array/index.d.ts +1 -7
- package/src/schematics/form/form-array/index.js +8 -32
- package/src/schematics/form/form-array/index.js.map +1 -1
- package/src/schematics/form/form-array/normalize-form-array-options.d.ts +5 -0
- package/src/schematics/form/form-array/normalize-form-array-options.js +15 -0
- package/src/schematics/form/form-array/normalize-form-array-options.js.map +1 -0
- package/src/schematics/form/form-component/__snapshots__/index.spec.ts.snap +36 -0
- package/src/schematics/form/form-component/__snapshots__/normalize-form-component-options.spec.ts.snap +293 -0
- package/src/{lib → schematics/form/form-component}/coerce-form-component.d.ts +1 -1
- package/src/{lib → schematics/form/form-component}/coerce-form-component.js +2 -2
- package/src/schematics/form/form-component/coerce-form-component.js.map +1 -0
- package/src/schematics/form/form-component/component-rule.d.ts +3 -0
- package/src/schematics/form/form-component/component-rule.js +23 -0
- package/src/schematics/form/form-component/component-rule.js.map +1 -0
- package/src/schematics/form/form-component/form-definition-rule.d.ts +3 -0
- package/src/schematics/form/form-component/form-definition-rule.js +23 -0
- package/src/schematics/form/form-component/form-definition-rule.js.map +1 -0
- package/src/schematics/form/form-component/form-submit/form-submit-backend-rule.d.ts +3 -0
- package/src/schematics/form/form-component/form-submit/form-submit-backend-rule.js +29 -0
- package/src/schematics/form/form-component/form-submit/form-submit-backend-rule.js.map +1 -0
- package/src/schematics/form/form-component/form-submit/form-submit-provider-rule.d.ts +3 -0
- package/src/schematics/form/form-component/form-submit/form-submit-provider-rule.js +46 -0
- package/src/schematics/form/form-component/form-submit/form-submit-provider-rule.js.map +1 -0
- package/src/schematics/form/form-component/form-submit/form-submit-rule.d.ts +3 -0
- package/src/schematics/form/form-component/form-submit/form-submit-rule.js +18 -0
- package/src/schematics/form/form-component/form-submit/form-submit-rule.js.map +1 -0
- package/src/schematics/form/form-component/get-submit-operation-id.d.ts +2 -0
- package/src/schematics/form/form-component/get-submit-operation-id.js +14 -0
- package/src/schematics/form/form-component/get-submit-operation-id.js.map +1 -0
- package/src/schematics/form/form-component/index.d.ts +1 -11
- package/src/schematics/form/form-component/index.js +12 -161
- package/src/schematics/form/form-component/index.js.map +1 -1
- package/src/schematics/form/form-component/normalize-form-component-options.d.ts +9 -0
- package/src/schematics/form/form-component/normalize-form-component-options.js +22 -0
- package/src/schematics/form/form-component/normalize-form-component-options.js.map +1 -0
- package/src/schematics/form/form-component/window-rule.d.ts +3 -0
- package/src/schematics/form/form-component/window-rule.js +26 -0
- package/src/schematics/form/form-component/window-rule.js.map +1 -0
- package/src/schematics/form/form-control/__snapshots__/normalize-form-control-options.spec.ts.snap +259 -0
- package/src/schematics/form/form-control/form-control-kind.d.ts +3 -0
- package/src/schematics/form/form-control/form-control-kind.js +26 -0
- package/src/schematics/form/form-control/form-control-kind.js.map +1 -0
- package/src/schematics/form/form-control/index.d.ts +1 -7
- package/src/schematics/form/form-control/index.js +6 -36
- package/src/schematics/form/form-control/index.js.map +1 -1
- package/src/schematics/form/form-control/normalize-form-control-options.d.ts +5 -0
- package/src/schematics/form/form-control/normalize-form-control-options.js +15 -0
- package/src/schematics/form/form-control/normalize-form-control-options.js.map +1 -0
- package/src/schematics/form/form-definition/__snapshots__/index.spec.ts.snap +33 -0
- package/src/schematics/form/form-definition/__snapshots__/normalize-form-definition-options.spec.ts.snap +49 -0
- package/src/schematics/form/form-definition/index.d.ts +0 -8
- package/src/schematics/form/form-definition/index.js +4 -11
- package/src/schematics/form/form-definition/index.js.map +1 -1
- package/src/schematics/form/form-definition/normalize-form-definition-options.d.ts +8 -0
- package/src/schematics/form/form-definition/normalize-form-definition-options.js +11 -0
- package/src/schematics/form/form-definition/normalize-form-definition-options.js.map +1 -0
- package/src/schematics/form/form-group/__snapshots__/normalize-form-group-options.spec.ts.snap +113 -0
- package/src/schematics/form/form-group/form-control-kind.d.ts +3 -0
- package/src/schematics/form/form-group/form-control-kind.js +12 -0
- package/src/schematics/form/form-group/form-control-kind.js.map +1 -0
- package/src/schematics/form/form-group/form-definition-rule.d.ts +3 -0
- package/src/schematics/form/form-group/form-definition-rule.js +12 -0
- package/src/schematics/form/form-group/form-definition-rule.js.map +1 -0
- package/src/schematics/form/form-group/index.d.ts +1 -7
- package/src/schematics/form/form-group/index.js +8 -32
- package/src/schematics/form/form-group/index.js.map +1 -1
- package/src/schematics/form/form-group/normalize-form-group-options.d.ts +5 -0
- package/src/schematics/form/form-group/normalize-form-group-options.js +15 -0
- package/src/schematics/form/form-group/normalize-form-group-options.js.map +1 -0
- package/src/schematics/route-component/__snapshots__/normalize-route-component-options.spec.ts.snap +81 -0
- package/src/schematics/route-component/component-rule.d.ts +3 -0
- package/src/schematics/route-component/component-rule.js +33 -0
- package/src/schematics/route-component/component-rule.js.map +1 -0
- package/src/schematics/route-component/index.d.ts +1 -7
- package/src/schematics/route-component/index.js +9 -82
- package/src/schematics/route-component/index.js.map +1 -1
- package/src/schematics/route-component/normalize-route-component-options.d.ts +5 -0
- package/src/schematics/route-component/normalize-route-component-options.js +8 -0
- package/src/schematics/route-component/normalize-route-component-options.js.map +1 -0
- package/src/schematics/route-component/route-rule.d.ts +3 -0
- package/src/schematics/route-component/route-rule.js +50 -0
- package/src/schematics/route-component/route-rule.js.map +1 -0
- package/src/schematics/table/action/dialog-table-action/__snapshots__/normalize-dialog-table-action-options.spec.ts.snap +105 -0
- package/src/schematics/table/action/dialog-table-action/index.d.ts +0 -5
- package/src/schematics/table/action/dialog-table-action/index.js +5 -9
- package/src/schematics/table/action/dialog-table-action/index.js.map +1 -1
- package/src/schematics/table/action/dialog-table-action/normalize-dialog-table-action-options.d.ts +5 -0
- package/src/schematics/table/action/dialog-table-action/normalize-dialog-table-action-options.js +8 -0
- package/src/schematics/table/action/dialog-table-action/normalize-dialog-table-action-options.js.map +1 -0
- package/src/schematics/table/action/form-table-action/__snapshots__/normalize-form-table-action-options.spec.ts.snap +208 -0
- package/src/schematics/table/action/form-table-action/backend/backend-rule.d.ts +2 -0
- package/src/schematics/table/action/form-table-action/backend/backend-rule.js +15 -0
- package/src/schematics/table/action/form-table-action/backend/backend-rule.js.map +1 -0
- package/src/schematics/table/action/form-table-action/backend/nestjs-backend-rule.d.ts +3 -0
- package/src/schematics/table/action/form-table-action/backend/nestjs-backend-rule.js +92 -0
- package/src/schematics/table/action/form-table-action/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/table/action/form-table-action/build-get-operation-id.d.ts +2 -0
- package/src/schematics/table/action/form-table-action/build-get-operation-id.js +12 -0
- package/src/schematics/table/action/form-table-action/build-get-operation-id.js.map +1 -0
- package/src/schematics/table/action/form-table-action/build-load-form-options.d.ts +3 -0
- package/src/schematics/table/action/form-table-action/build-load-form-options.js +23 -0
- package/src/schematics/table/action/form-table-action/build-load-form-options.js.map +1 -0
- package/src/schematics/table/action/form-table-action/index.d.ts +0 -7
- package/src/schematics/table/action/form-table-action/index.js +9 -165
- package/src/schematics/table/action/form-table-action/index.js.map +1 -1
- package/src/schematics/table/action/form-table-action/normalize-form-table-action-options.d.ts +5 -0
- package/src/schematics/table/action/form-table-action/normalize-form-table-action-options.js +21 -0
- package/src/schematics/table/action/form-table-action/normalize-form-table-action-options.js.map +1 -0
- package/src/schematics/table/action/form-table-action/use-operation-response-as-form-type-rule.d.ts +9 -0
- package/src/schematics/table/action/form-table-action/use-operation-response-as-form-type-rule.js +27 -0
- package/src/schematics/table/action/form-table-action/use-operation-response-as-form-type-rule.js.map +1 -0
- package/src/schematics/table/action/navigation-table-action/__snapshots__/normalize-navigation-table-action-options.spec.ts.snap +81 -0
- package/src/schematics/table/action/navigation-table-action/index.d.ts +0 -5
- package/src/schematics/table/action/navigation-table-action/index.js +5 -9
- package/src/schematics/table/action/navigation-table-action/index.js.map +1 -1
- package/src/schematics/table/action/navigation-table-action/normalize-navigation-table-action-options.d.ts +5 -0
- package/src/schematics/table/action/navigation-table-action/normalize-navigation-table-action-options.js +8 -0
- package/src/schematics/table/action/navigation-table-action/normalize-navigation-table-action-options.js.map +1 -0
- package/src/schematics/table/action/open-api-table-action/__snapshots__/normalize-open-api-table-action-options.spec.ts.snap +87 -0
- package/src/schematics/table/action/open-api-table-action/index.d.ts +0 -5
- package/src/schematics/table/action/open-api-table-action/index.js +5 -9
- package/src/schematics/table/action/open-api-table-action/index.js.map +1 -1
- package/src/schematics/table/action/open-api-table-action/normalize-open-api-table-action-options.d.ts +5 -0
- package/src/schematics/table/action/open-api-table-action/normalize-open-api-table-action-options.js +8 -0
- package/src/schematics/table/action/open-api-table-action/normalize-open-api-table-action-options.js.map +1 -0
- package/src/schematics/table/action/operation-table-action/__snapshots__/normalize-operation-table-action-options.spec.ts.snap +77 -0
- package/src/schematics/table/action/operation-table-action/backend-rule.d.ts +2 -0
- package/src/schematics/table/action/operation-table-action/backend-rule.js +15 -0
- package/src/schematics/table/action/operation-table-action/backend-rule.js.map +1 -0
- package/src/schematics/table/action/operation-table-action/index.d.ts +0 -7
- package/src/schematics/table/action/operation-table-action/index.js +7 -75
- package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
- package/src/schematics/table/action/operation-table-action/normalize-operation-table-action-options.d.ts +7 -0
- package/src/schematics/table/action/operation-table-action/normalize-operation-table-action-options.js +21 -0
- package/src/schematics/table/action/operation-table-action/normalize-operation-table-action-options.js.map +1 -0
- package/src/schematics/table/action/operation-table-action/open-api-operation-rule.d.ts +2 -0
- package/src/schematics/table/action/operation-table-action/open-api-operation-rule.js +48 -0
- package/src/schematics/table/action/operation-table-action/open-api-operation-rule.js.map +1 -0
- package/src/schematics/table/header-button/form-table-header-button/__snapshots__/normalize-form-table-header-button-options.spec.ts.snap +198 -0
- package/src/schematics/table/header-button/form-table-header-button/index.d.ts +0 -7
- package/src/schematics/table/header-button/form-table-header-button/index.js +5 -20
- 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/normalize-form-table-header-button-options.d.ts +7 -0
- package/src/schematics/table/header-button/form-table-header-button/normalize-form-table-header-button-options.js +16 -0
- package/src/schematics/table/header-button/form-table-header-button/normalize-form-table-header-button-options.js.map +1 -0
- package/src/schematics/table/header-button/method-table-header-button/__snapshots__/normalize-method-table-header-button-options.spec.ts.snap +89 -0
- package/src/schematics/table/header-button/method-table-header-button/index.d.ts +0 -5
- package/src/schematics/table/header-button/method-table-header-button/index.js +6 -17
- package/src/schematics/table/header-button/method-table-header-button/index.js.map +1 -1
- package/src/schematics/table/header-button/method-table-header-button/normalize-method-table-header-button-options.d.ts +5 -0
- package/src/schematics/table/header-button/method-table-header-button/normalize-method-table-header-button-options.js +15 -0
- package/src/schematics/table/header-button/method-table-header-button/normalize-method-table-header-button-options.js.map +1 -0
- package/src/schematics/table/header-button/navigation-table-header-button/__snapshots__/normalize-navigation-table-header-button-options.spec.ts.snap +71 -0
- package/src/schematics/table/header-button/navigation-table-header-button/index.d.ts +0 -5
- package/src/schematics/table/header-button/navigation-table-header-button/index.js +5 -16
- package/src/schematics/table/header-button/navigation-table-header-button/index.js.map +1 -1
- package/src/schematics/table/header-button/navigation-table-header-button/normalize-navigation-table-header-button-options.d.ts +5 -0
- package/src/schematics/table/header-button/navigation-table-header-button/normalize-navigation-table-header-button-options.js +15 -0
- package/src/schematics/table/header-button/navigation-table-header-button/normalize-navigation-table-header-button-options.js.map +1 -0
- package/src/schematics/table/table-action/__snapshots__/normalize-table-action-options.spec.ts.snap +77 -0
- package/src/schematics/table/table-action/index.d.ts +0 -5
- package/src/schematics/table/table-action/index.js +5 -14
- package/src/schematics/table/table-action/index.js.map +1 -1
- package/src/schematics/table/table-action/normalize-table-action-options.d.ts +5 -0
- package/src/schematics/table/table-action/normalize-table-action-options.js +13 -0
- package/src/schematics/table/table-action/normalize-table-action-options.js.map +1 -0
- package/src/schematics/table/table-component/__snapshots__/index.spec.ts.snap +80 -0
- package/src/schematics/table/table-component/__snapshots__/normalize-table-component-options.spec.ts.snap +272 -0
- package/src/schematics/table/table-component/backend/backend-rule.d.ts +3 -0
- package/src/schematics/table/table-component/backend/backend-rule.js +21 -0
- package/src/schematics/table/table-component/backend/backend-rule.js.map +1 -0
- package/src/schematics/table/table-component/backend/local-backend-rule.d.ts +3 -0
- package/src/schematics/table/table-component/backend/local-backend-rule.js +68 -0
- package/src/schematics/table/table-component/backend/local-backend-rule.js.map +1 -0
- package/src/schematics/table/table-component/backend/nestjs-backend-rule.d.ts +3 -0
- package/src/schematics/table/table-component/backend/nestjs-backend-rule.js +65 -0
- package/src/schematics/table/table-component/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/table/table-component/backend/open-api-backend-rule.d.ts +3 -0
- package/src/schematics/table/table-component/backend/open-api-backend-rule.js +48 -0
- package/src/schematics/table/table-component/backend/open-api-backend-rule.js.map +1 -0
- package/src/schematics/table/table-component/component-rule.d.ts +3 -0
- package/src/schematics/table/table-component/component-rule.js +49 -0
- package/src/schematics/table/table-component/component-rule.js.map +1 -0
- package/src/schematics/table/table-component/index.d.ts +1 -10
- package/src/schematics/table/table-component/index.js +19 -288
- package/src/schematics/table/table-component/index.js.map +1 -1
- package/src/schematics/table/table-component/normalize-table-component-options.d.ts +8 -0
- package/src/schematics/table/table-component/normalize-table-component-options.js +18 -0
- package/src/schematics/table/table-component/normalize-table-component-options.js.map +1 -0
- package/src/schematics/table/table-component/select-column-rule.d.ts +3 -0
- package/src/schematics/table/table-component/select-column-rule.js +43 -0
- package/src/schematics/table/table-component/select-column-rule.js.map +1 -0
- package/src/schematics/table/table-header-button/__snapshots__/index.spec.ts.snap +36 -0
- package/src/schematics/table/table-header-button/__snapshots__/normalize-table-header-button-options.spec.ts.snap +67 -0
- package/src/schematics/table/table-header-button/index.d.ts +0 -5
- package/src/schematics/table/table-header-button/index.js +5 -16
- package/src/schematics/table/table-header-button/index.js.map +1 -1
- package/src/schematics/table/table-header-button/normalize-table-header-button-options.d.ts +5 -0
- package/src/schematics/table/table-header-button/normalize-table-header-button-options.js +15 -0
- package/src/schematics/table/table-header-button/normalize-table-header-button-options.js.map +1 -0
- package/src/schematics/table/tree-table-component/__snapshots__/index.spec.ts.snap +35 -0
- package/src/schematics/table/tree-table-component/backend/backend-rule.d.ts +2 -0
- package/src/schematics/table/tree-table-component/backend/backend-rule.js +18 -0
- package/src/schematics/table/tree-table-component/backend/backend-rule.js.map +1 -0
- package/src/schematics/table/tree-table-component/backend/local-backend-rule.d.ts +2 -0
- package/src/schematics/table/tree-table-component/backend/local-backend-rule.js +101 -0
- package/src/schematics/table/tree-table-component/backend/local-backend-rule.js.map +1 -0
- package/src/schematics/table/tree-table-component/backend/nestjs-backend-rule.d.ts +2 -0
- package/src/schematics/table/tree-table-component/backend/nestjs-backend-rule.js +96 -0
- package/src/schematics/table/tree-table-component/backend/nestjs-backend-rule.js.map +1 -0
- package/src/schematics/table/tree-table-component/component-rule.d.ts +2 -0
- package/src/schematics/table/tree-table-component/component-rule.js +49 -0
- package/src/schematics/table/tree-table-component/component-rule.js.map +1 -0
- package/src/schematics/table/tree-table-component/index.d.ts +0 -11
- package/src/schematics/table/tree-table-component/index.js +19 -309
- package/src/schematics/table/tree-table-component/index.js.map +1 -1
- package/src/schematics/table/tree-table-component/normalized-tree-table-component-options.d.ts +8 -0
- package/src/schematics/table/tree-table-component/normalized-tree-table-component-options.js +12 -0
- package/src/schematics/table/tree-table-component/normalized-tree-table-component-options.js.map +1 -0
- package/src/schematics/table/tree-table-component/tree-table-method-rule.d.ts +2 -0
- package/src/schematics/table/tree-table-component/tree-table-method-rule.js +45 -0
- package/src/schematics/table/tree-table-component/tree-table-method-rule.js.map +1 -0
- package/src/schematics/tree-component/__snapshots__/index.spec.ts.snap +34 -0
- package/src/schematics/tree-component/__snapshots__/normalize-tree-component-options.spec.ts.snap +51 -0
- package/src/schematics/tree-component/index.d.ts +0 -8
- package/src/schematics/tree-component/index.js +2 -12
- package/src/schematics/tree-component/index.js.map +1 -1
- package/src/schematics/tree-component/normalize-tree-component-options.d.ts +9 -0
- package/src/schematics/tree-component/normalize-tree-component-options.js +14 -0
- package/src/schematics/tree-component/normalize-tree-component-options.js.map +1 -0
- package/src/lib/assert-table-component-exists.js.map +0 -1
- package/src/lib/coerce-accordion-component.js.map +0 -1
- package/src/lib/coerce-form-component.js.map +0 -1
- package/src/lib/minimum-table-component-options.d.ts +0 -24
- package/src/lib/minimum-table-component-options.js +0 -350
- package/src/lib/minimum-table-component-options.js.map +0 -1
- package/src/lib/use-pick-from-table-interface-as-form-type.js.map +0 -1
- /package/src/lib/{assert-table-component-exists.d.ts → rules/assert-table-component-exists.d.ts} +0 -0
- /package/src/lib/{table → rules}/table-filter-column-rule.d.ts +0 -0
- /package/src/{lib → schematics/accordion/accordion-component}/coerce-accordion-component.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [19.2.0-dev.2](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.2.0-dev.1...@rxap/schematic-angular@19.2.0-dev.2) (2026-01-19)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **schematics:** add reusable backend and data-grid rules with tests ([da5052c](https://gitlab.com/rxap/packages/commit/da5052c722cf50417f04f7ef185b0c571413834b))
|
|
11
|
+
- **schematics:** add test utilities, snapshots, and setup for dialog component ([4d95043](https://gitlab.com/rxap/packages/commit/4d95043cc133d550a144c068e2e3785da48904d9))
|
|
12
|
+
- **schematics:** update test module generation and refactor workspace utilities ([9c435a4](https://gitlab.com/rxap/packages/commit/9c435a4a2422a05ad5bee9ef404c2707ca626026))
|
|
13
|
+
- **utilities:** add prefix support to BuildNestControllerName options ([fc40385](https://gitlab.com/rxap/packages/commit/fc4038517cc3925905c25501033a7340335e2b22))
|
|
14
|
+
|
|
15
|
+
# [19.2.0-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.2.0-dev.0...@rxap/schematic-angular@19.2.0-dev.1) (2026-01-13)
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
- update package groups ([b10916e](https://gitlab.com/rxap/packages/commit/b10916e3d8272353615eee07174fabb7126188fa))
|
|
20
|
+
|
|
21
|
+
# [19.2.0-dev.0](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.1.1-dev.3...@rxap/schematic-angular@19.2.0-dev.0) (2026-01-13)
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
- **docs:** add custom template support in column and control guides ([25b56e0](https://gitlab.com/rxap/packages/commit/25b56e01eb6acb6fc6482f14718c148d19d14380))
|
|
26
|
+
- **docs:** add detailed schematic guides for Angular components ([c2e0da8](https://gitlab.com/rxap/packages/commit/c2e0da80662274620d2e0d4120c317d240c80a38))
|
|
27
|
+
- **docs:** enhance table column, action, and form control guides ([c4e1b66](https://gitlab.com/rxap/packages/commit/c4e1b66256c608044d5634f4bfa82d36a1832cfe))
|
|
28
|
+
- **schematics:** add examples for accordion and table components ([c1125e0](https://gitlab.com/rxap/packages/commit/c1125e0e2a99c1a6f685a1cbbf9dcf548ba6744f))
|
|
29
|
+
|
|
6
30
|
## [19.1.1-dev.3](https://gitlab.com/rxap/packages/compare/@rxap/schematic-angular@19.1.1-dev.2...@rxap/schematic-angular@19.1.1-dev.3) (2025-09-18)
|
|
7
31
|
|
|
8
32
|
**Note:** Version bump only for package @rxap/schematic-angular
|
package/GUIDES.md
CHANGED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Developer Guide: Generating Angular Material Tables & NestJS Controllers with @rxap/schematics
|
|
2
|
+
|
|
3
|
+
This guide explains how to use `@rxap/schematic-composer` in conjunction with `@rxap/schematic-angular` to auto-generate an Angular Material table component and its corresponding NestJS controller.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The process involves creating a declarative configuration file (`schematic.yaml`) that defines the table structure and backend requirements. The `@rxap/schematic-composer:compose` generator reads this file and executes the `@rxap/schematic-angular:table-component` schematic with the provided options.
|
|
8
|
+
|
|
9
|
+
> [!TIP]
|
|
10
|
+
> For more detailed information on all available options, check out the [Detailed Table Component Guide](./src/guides/table-component.md).
|
|
11
|
+
|
|
12
|
+
> [!TIP]
|
|
13
|
+
> Need to create forms? Check out the [Form Component Guide](./src/guides/form-component.md) and [Form Control Guide](./src/guides/form-control.md).
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
Ensure you have the following packages in your Nx workspace:
|
|
19
|
+
- `@rxap/schematic-composer`
|
|
20
|
+
- `@rxap/schematic-angular`
|
|
21
|
+
|
|
22
|
+
## step 1: Create `schematic.yaml`
|
|
23
|
+
|
|
24
|
+
Create a `schematic.yaml` file in your feature directory (e.g., `libs/feature/user/src/lib/schematic.yaml`). This file tells the composer which schematics to run.
|
|
25
|
+
|
|
26
|
+
### File Structure
|
|
27
|
+
|
|
28
|
+
The file expects an array of schematic definitions. Each definition contains:
|
|
29
|
+
|
|
30
|
+
- **package**: The npm package containing the schematic (e.g., `@rxap/schematic-angular`).
|
|
31
|
+
- **name**: The name of the schematic to run (e.g., `table-component`).
|
|
32
|
+
- **options**: The configuration object passed to the schematic.
|
|
33
|
+
|
|
34
|
+
## Step 2: Configure the Table Component
|
|
35
|
+
|
|
36
|
+
To generate both the **Angular Table** and the **NestJS Controller**, you must configure the `table-component` options correctly.
|
|
37
|
+
|
|
38
|
+
### Key Options
|
|
39
|
+
|
|
40
|
+
| Option | Description | Required | Example |
|
|
41
|
+
| :--- | :--- | :--- | :--- |
|
|
42
|
+
| `name` | The name of the component/entity. | Yes | `user-list` |
|
|
43
|
+
| `project` | The name of the *frontend* project. | Inferred* | `admin-panel` |
|
|
44
|
+
| `feature` | The feature module name where the component belongs. | Inferred* | `user` |
|
|
45
|
+
| `nestModule` | The name of the **NestJS module** where the controller should be created. | **Yes** (for backend) | `api-user` |
|
|
46
|
+
| `backend` | Configuration for data handling. Setup for NestJS generation. | **Yes** | `{ kind: 'nestjs' }` |
|
|
47
|
+
| `columnList` | Array of columns to display. | Yes | `[{ name: 'email', kind: 'text' }]` |
|
|
48
|
+
|
|
49
|
+
*\*Inferred when using the `--file` option with the composer generator.*
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Backend Configuration (Critical)
|
|
53
|
+
|
|
54
|
+
To trigger the generation of a NestJS controller, you must set the `backend` option to `nestjs` and provide the `nestModule`.
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
backend:
|
|
58
|
+
kind: nestjs
|
|
59
|
+
# Optional: Specify backend project if different from context
|
|
60
|
+
# project: api-app
|
|
61
|
+
# Optional: OpenAPI server ID
|
|
62
|
+
# serverId: main
|
|
63
|
+
nestModule: api-user
|
|
64
|
+
# controllerName: user # Optional: overrides default controller name
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This configuration tells the schematic to:
|
|
68
|
+
1. Create a standard Angular Material Table.
|
|
69
|
+
2. Generate/Update a NestJS Controller in the specified `nestModule` (`api-user`).
|
|
70
|
+
3. Create a `getPage` method in the controller to handle pagination, sorting, and filtering.
|
|
71
|
+
4. Connect the Angular table data source to this backend endpoint automatically.
|
|
72
|
+
|
|
73
|
+
## Example `schematic.yaml`
|
|
74
|
+
|
|
75
|
+
Here is a complete example that generates a "User Table" with:
|
|
76
|
+
- Columns: ID, Email, Name
|
|
77
|
+
- Backend: NestJS Controller in `api-user` module
|
|
78
|
+
- Frontend: `admin-panel` project, `user` feature
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
- package: "@rxap/schematic-angular"
|
|
82
|
+
name: table-component
|
|
83
|
+
options:
|
|
84
|
+
# --- Frontend Location ---
|
|
85
|
+
project: admin-panel
|
|
86
|
+
feature: user
|
|
87
|
+
name: user-list
|
|
88
|
+
|
|
89
|
+
# --- Backend Configuration ---
|
|
90
|
+
# This triggers the NestJS controller generation
|
|
91
|
+
backend:
|
|
92
|
+
kind: nestjs
|
|
93
|
+
nestModule: api-user
|
|
94
|
+
# Optional: explicitly set controller name if different from 'name'
|
|
95
|
+
# controllerName: user
|
|
96
|
+
|
|
97
|
+
# --- Table Structure ---
|
|
98
|
+
columnList:
|
|
99
|
+
- name: id
|
|
100
|
+
kind: text
|
|
101
|
+
label: ID
|
|
102
|
+
- name: email
|
|
103
|
+
kind: text
|
|
104
|
+
label: Email Address
|
|
105
|
+
- name: name
|
|
106
|
+
kind: text
|
|
107
|
+
label: Full Name
|
|
108
|
+
|
|
109
|
+
# --- Optional: Filters & Actions ---
|
|
110
|
+
filterList:
|
|
111
|
+
- name: email
|
|
112
|
+
kind: input
|
|
113
|
+
label: Filter by Email
|
|
114
|
+
|
|
115
|
+
actionList:
|
|
116
|
+
- name: edit
|
|
117
|
+
type: icon
|
|
118
|
+
icon: edit
|
|
119
|
+
tooltip: Edit User
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Step 3: Run the Generator
|
|
123
|
+
|
|
124
|
+
The easiest and recommended way to execute your `schematic.yaml` is by using the `--file` option. This allows the generator to automatically infer the **project**, **feature**, and **target directory** from the file's location.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
yarn nx generate @rxap/schematic-composer:compose --file libs/feature/user/src/lib/schematic.yaml
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
> [!NOTE]
|
|
131
|
+
> When using the `--file` option, you can typically omit `project`, `feature`, and `directory` from your `schematic.yaml` file, as they will be detected based on the path provided.
|
|
132
|
+
|
|
133
|
+
### Alternative: Search by Directory
|
|
134
|
+
|
|
135
|
+
If you want the generator to search for all `schematic.yaml` files within a directory tree:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
yarn nx generate @rxap/schematic-composer:compose --directory libs/feature/user/src/lib
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Arguments:**
|
|
142
|
+
- `--file`: (Primary) The direct path to your `schematic.yaml`.
|
|
143
|
+
- `--directory`: A starting directory to search for one or more `schematic.yaml` files.
|
|
144
|
+
- `--filter`: (Optional) If searching via directory, filter for schematic files within a specific sub-folder name.
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
## Important Notes for AI Agents
|
|
148
|
+
|
|
149
|
+
When generating code for users:
|
|
150
|
+
|
|
151
|
+
1. **Prefer the `--file` option:** When executing the composer, always use the `--file` argument with the path to the `schematic.yaml` you just created.
|
|
152
|
+
2. **Target Locations:** Even though `--file` infers locations, ensure the `schematic.yaml` itself is placed in the correct logical feature directory of the workspace.
|
|
153
|
+
3. **Identify the Backend Module:** Ask the user or search for the NestJS module (`nestModule`) that should own the backend logic.
|
|
154
|
+
4. **Backend Integration:** Ensure `backend: { kind: 'nestjs' }` and `nestModule` are correctly set to enable controller generation.
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
## Troubleshooting
|
|
158
|
+
|
|
159
|
+
- **Controller not generated?** Check if `backend.kind` is set to `nestjs` and `nestModule` is specified and exists.
|
|
160
|
+
- **"Module not found" errors?** Ensure the `nestModule` name matches the library name in `nx.json` or `project.json`.
|
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ Provides schematics for generating Angular components, services, and related fil
|
|
|
8
8
|

|
|
9
9
|
|
|
10
10
|
- [Installation](#installation)
|
|
11
|
+
- [Guides](#guides)
|
|
11
12
|
|
|
12
13
|
# Installation
|
|
13
14
|
|
|
@@ -15,3 +16,166 @@ Provides schematics for generating Angular components, services, and related fil
|
|
|
15
16
|
```bash
|
|
16
17
|
yarn add @rxap/schematic-angular
|
|
17
18
|
```
|
|
19
|
+
# Guides
|
|
20
|
+
|
|
21
|
+
# Developer Guide: Generating Angular Material Tables & NestJS Controllers with @rxap/schematics
|
|
22
|
+
|
|
23
|
+
This guide explains how to use `@rxap/schematic-composer` in conjunction with `@rxap/schematic-angular` to auto-generate an Angular Material table component and its corresponding NestJS controller.
|
|
24
|
+
|
|
25
|
+
## Overview
|
|
26
|
+
|
|
27
|
+
The process involves creating a declarative configuration file (`schematic.yaml`) that defines the table structure and backend requirements. The `@rxap/schematic-composer:compose` generator reads this file and executes the `@rxap/schematic-angular:table-component` schematic with the provided options.
|
|
28
|
+
|
|
29
|
+
> [!TIP]
|
|
30
|
+
> For more detailed information on all available options, check out the [Detailed Table Component Guide](./src/guides/table-component.md).
|
|
31
|
+
|
|
32
|
+
> [!TIP]
|
|
33
|
+
> Need to create forms? Check out the [Form Component Guide](./src/guides/form-component.md) and [Form Control Guide](./src/guides/form-control.md).
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Prerequisites
|
|
37
|
+
|
|
38
|
+
Ensure you have the following packages in your Nx workspace:
|
|
39
|
+
- `@rxap/schematic-composer`
|
|
40
|
+
- `@rxap/schematic-angular`
|
|
41
|
+
|
|
42
|
+
## step 1: Create `schematic.yaml`
|
|
43
|
+
|
|
44
|
+
Create a `schematic.yaml` file in your feature directory (e.g., `libs/feature/user/src/lib/schematic.yaml`). This file tells the composer which schematics to run.
|
|
45
|
+
|
|
46
|
+
### File Structure
|
|
47
|
+
|
|
48
|
+
The file expects an array of schematic definitions. Each definition contains:
|
|
49
|
+
|
|
50
|
+
- **package**: The npm package containing the schematic (e.g., `@rxap/schematic-angular`).
|
|
51
|
+
- **name**: The name of the schematic to run (e.g., `table-component`).
|
|
52
|
+
- **options**: The configuration object passed to the schematic.
|
|
53
|
+
|
|
54
|
+
## Step 2: Configure the Table Component
|
|
55
|
+
|
|
56
|
+
To generate both the **Angular Table** and the **NestJS Controller**, you must configure the `table-component` options correctly.
|
|
57
|
+
|
|
58
|
+
### Key Options
|
|
59
|
+
|
|
60
|
+
| Option | Description | Required | Example |
|
|
61
|
+
| :--- | :--- | :--- | :--- |
|
|
62
|
+
| `name` | The name of the component/entity. | Yes | `user-list` |
|
|
63
|
+
| `project` | The name of the *frontend* project. | Inferred* | `admin-panel` |
|
|
64
|
+
| `feature` | The feature module name where the component belongs. | Inferred* | `user` |
|
|
65
|
+
| `nestModule` | The name of the **NestJS module** where the controller should be created. | **Yes** (for backend) | `api-user` |
|
|
66
|
+
| `backend` | Configuration for data handling. Setup for NestJS generation. | **Yes** | `{ kind: 'nestjs' }` |
|
|
67
|
+
| `columnList` | Array of columns to display. | Yes | `[{ name: 'email', kind: 'text' }]` |
|
|
68
|
+
|
|
69
|
+
*\*Inferred when using the `--file` option with the composer generator.*
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Backend Configuration (Critical)
|
|
73
|
+
|
|
74
|
+
To trigger the generation of a NestJS controller, you must set the `backend` option to `nestjs` and provide the `nestModule`.
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
backend:
|
|
78
|
+
kind: nestjs
|
|
79
|
+
# Optional: Specify backend project if different from context
|
|
80
|
+
# project: api-app
|
|
81
|
+
# Optional: OpenAPI server ID
|
|
82
|
+
# serverId: main
|
|
83
|
+
nestModule: api-user
|
|
84
|
+
# controllerName: user # Optional: overrides default controller name
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This configuration tells the schematic to:
|
|
88
|
+
1. Create a standard Angular Material Table.
|
|
89
|
+
2. Generate/Update a NestJS Controller in the specified `nestModule` (`api-user`).
|
|
90
|
+
3. Create a `getPage` method in the controller to handle pagination, sorting, and filtering.
|
|
91
|
+
4. Connect the Angular table data source to this backend endpoint automatically.
|
|
92
|
+
|
|
93
|
+
## Example `schematic.yaml`
|
|
94
|
+
|
|
95
|
+
Here is a complete example that generates a "User Table" with:
|
|
96
|
+
- Columns: ID, Email, Name
|
|
97
|
+
- Backend: NestJS Controller in `api-user` module
|
|
98
|
+
- Frontend: `admin-panel` project, `user` feature
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
- package: "@rxap/schematic-angular"
|
|
102
|
+
name: table-component
|
|
103
|
+
options:
|
|
104
|
+
# --- Frontend Location ---
|
|
105
|
+
project: admin-panel
|
|
106
|
+
feature: user
|
|
107
|
+
name: user-list
|
|
108
|
+
|
|
109
|
+
# --- Backend Configuration ---
|
|
110
|
+
# This triggers the NestJS controller generation
|
|
111
|
+
backend:
|
|
112
|
+
kind: nestjs
|
|
113
|
+
nestModule: api-user
|
|
114
|
+
# Optional: explicitly set controller name if different from 'name'
|
|
115
|
+
# controllerName: user
|
|
116
|
+
|
|
117
|
+
# --- Table Structure ---
|
|
118
|
+
columnList:
|
|
119
|
+
- name: id
|
|
120
|
+
kind: text
|
|
121
|
+
label: ID
|
|
122
|
+
- name: email
|
|
123
|
+
kind: text
|
|
124
|
+
label: Email Address
|
|
125
|
+
- name: name
|
|
126
|
+
kind: text
|
|
127
|
+
label: Full Name
|
|
128
|
+
|
|
129
|
+
# --- Optional: Filters & Actions ---
|
|
130
|
+
filterList:
|
|
131
|
+
- name: email
|
|
132
|
+
kind: input
|
|
133
|
+
label: Filter by Email
|
|
134
|
+
|
|
135
|
+
actionList:
|
|
136
|
+
- name: edit
|
|
137
|
+
type: icon
|
|
138
|
+
icon: edit
|
|
139
|
+
tooltip: Edit User
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Step 3: Run the Generator
|
|
143
|
+
|
|
144
|
+
The easiest and recommended way to execute your `schematic.yaml` is by using the `--file` option. This allows the generator to automatically infer the **project**, **feature**, and **target directory** from the file's location.
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
yarn nx generate @rxap/schematic-composer:compose --file libs/feature/user/src/lib/schematic.yaml
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
> [!NOTE]
|
|
151
|
+
> When using the `--file` option, you can typically omit `project`, `feature`, and `directory` from your `schematic.yaml` file, as they will be detected based on the path provided.
|
|
152
|
+
|
|
153
|
+
### Alternative: Search by Directory
|
|
154
|
+
|
|
155
|
+
If you want the generator to search for all `schematic.yaml` files within a directory tree:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
yarn nx generate @rxap/schematic-composer:compose --directory libs/feature/user/src/lib
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Arguments:**
|
|
162
|
+
- `--file`: (Primary) The direct path to your `schematic.yaml`.
|
|
163
|
+
- `--directory`: A starting directory to search for one or more `schematic.yaml` files.
|
|
164
|
+
- `--filter`: (Optional) If searching via directory, filter for schematic files within a specific sub-folder name.
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
## Important Notes for AI Agents
|
|
168
|
+
|
|
169
|
+
When generating code for users:
|
|
170
|
+
|
|
171
|
+
1. **Prefer the `--file` option:** When executing the composer, always use the `--file` argument with the path to the `schematic.yaml` you just created.
|
|
172
|
+
2. **Target Locations:** Even though `--file` infers locations, ensure the `schematic.yaml` itself is placed in the correct logical feature directory of the workspace.
|
|
173
|
+
3. **Identify the Backend Module:** Ask the user or search for the NestJS module (`nestModule`) that should own the backend logic.
|
|
174
|
+
4. **Backend Integration:** Ensure `backend: { kind: 'nestjs' }` and `nestModule` are correctly set to enable controller generation.
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
## Troubleshooting
|
|
178
|
+
|
|
179
|
+
- **Controller not generated?** Check if `backend.kind` is set to `nestjs` and `nestModule` is specified and exists.
|
|
180
|
+
- **"Module not found" errors?** Ensure the `nestModule` name matches the library name in `nx.json` or `project.json`.
|
|
181
|
+
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "19.
|
|
2
|
+
"version": "19.2.0-dev.2",
|
|
3
3
|
"name": "@rxap/schematic-angular",
|
|
4
4
|
"description": "Provides schematics for generating Angular components, services, and related files, particularly focused on creating tables, forms, data grids, and accordions with NestJS integration. It offers tools for generating UI elements with backend connectivity, including data sources, methods, and form handling. This package aims to streamline the development of data-driven Angular applications with a focus on material design and backend integration.\n",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"@angular-devkit/core": "19.2.1",
|
|
8
8
|
"@angular-devkit/schematics": "19.2.1",
|
|
9
9
|
"@nx/devkit": "20.5.0",
|
|
10
|
-
"@rxap/schematics-ts-morph": "^19.1.1-dev.
|
|
11
|
-
"@rxap/schematics-utilities": "^19.0.5-dev.
|
|
12
|
-
"@rxap/ts-morph": "^1.6.0-dev.
|
|
13
|
-
"@rxap/utilities": "^16.5.0-dev.
|
|
14
|
-
"@rxap/workspace-ts-morph": "^19.1.13-dev.
|
|
15
|
-
"@rxap/workspace-utilities": "^19.
|
|
10
|
+
"@rxap/schematics-ts-morph": "^19.1.1-dev.5",
|
|
11
|
+
"@rxap/schematics-utilities": "^19.0.5-dev.4",
|
|
12
|
+
"@rxap/ts-morph": "^1.6.0-dev.3",
|
|
13
|
+
"@rxap/utilities": "^16.5.0-dev.1",
|
|
14
|
+
"@rxap/workspace-ts-morph": "^19.1.13-dev.5",
|
|
15
|
+
"@rxap/workspace-utilities": "^19.9.0-dev.0",
|
|
16
16
|
"colors": "1.4.0",
|
|
17
17
|
"handlebars": "^4.7.8",
|
|
18
18
|
"ts-morph": "18.0.0",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"schematics": "./collection.json",
|
|
47
47
|
"type": "commonjs",
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "5ad37909a73f9e3eaab7208cdf5b0e12eb759c7e",
|
|
49
49
|
"types": "./src/index.d.ts",
|
|
50
50
|
"main": "./src/index.js"
|
|
51
51
|
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
package: "@rxap/schematic-angular"
|
|
2
|
+
name: accordion-component
|
|
3
|
+
options:
|
|
4
|
+
name: dashboard
|
|
5
|
+
backend: nestjs
|
|
6
|
+
multiple: true
|
|
7
|
+
header:
|
|
8
|
+
property:
|
|
9
|
+
name: name
|
|
10
|
+
persistent:
|
|
11
|
+
property:
|
|
12
|
+
name: uuid
|
|
13
|
+
identifier:
|
|
14
|
+
source: route
|
|
15
|
+
property:
|
|
16
|
+
name: uuid
|
|
17
|
+
upstream:
|
|
18
|
+
kind: open-api
|
|
19
|
+
operationId: dashboard-controller-getByUuid@legacy
|
|
20
|
+
propertyList:
|
|
21
|
+
- name: dashboardType
|
|
22
|
+
type: number
|
|
23
|
+
source: "dashboardType!"
|
|
24
|
+
- name: name
|
|
25
|
+
source: "name!"
|
|
26
|
+
itemList:
|
|
27
|
+
- name: general-information
|
|
28
|
+
kind: switch
|
|
29
|
+
switch:
|
|
30
|
+
property:
|
|
31
|
+
name: dashboardType
|
|
32
|
+
type: number
|
|
33
|
+
defaultCase:
|
|
34
|
+
itemList:
|
|
35
|
+
- kind: data-grid
|
|
36
|
+
name: dashboard
|
|
37
|
+
title: Allgemeine Informationen
|
|
38
|
+
propertyList:
|
|
39
|
+
- name: name
|
|
40
|
+
type: string
|
|
41
|
+
source: "name!"
|
|
42
|
+
- name: location
|
|
43
|
+
source: "location?.uuid!"
|
|
44
|
+
type: string
|
|
45
|
+
- name: link
|
|
46
|
+
source: "link!"
|
|
47
|
+
type: string
|
|
48
|
+
- name: company
|
|
49
|
+
source: "company?.uuid!"
|
|
50
|
+
type: string
|
|
51
|
+
- name: dashboardType
|
|
52
|
+
source: "dashboardType!"
|
|
53
|
+
type: number
|
|
54
|
+
upstream:
|
|
55
|
+
kind: open-api
|
|
56
|
+
operationId: dashboard-controller-getByUuid@legacy
|
|
57
|
+
dataGrid:
|
|
58
|
+
itemList:
|
|
59
|
+
- name: name
|
|
60
|
+
hasCellDef: true
|
|
61
|
+
formControl:
|
|
62
|
+
kind: input
|
|
63
|
+
- name: location
|
|
64
|
+
pipeList:
|
|
65
|
+
- name: company
|
|
66
|
+
namedImport: CompanyPipe
|
|
67
|
+
moduleSpecifier: "@digitaix/eurogard-pipes"
|
|
68
|
+
- async
|
|
69
|
+
- getFromObject:name
|
|
70
|
+
formControl:
|
|
71
|
+
kind: autocomplete-table-select
|
|
72
|
+
backend: nestjs
|
|
73
|
+
toValue:
|
|
74
|
+
property:
|
|
75
|
+
name: uuid
|
|
76
|
+
columnList:
|
|
77
|
+
- name: name
|
|
78
|
+
hasFilter: true
|
|
79
|
+
resolver:
|
|
80
|
+
upstream:
|
|
81
|
+
kind: open-api
|
|
82
|
+
operationId: company-gui-controller-getByUuid@legacy
|
|
83
|
+
mapper:
|
|
84
|
+
kind: resolve
|
|
85
|
+
value: uuid
|
|
86
|
+
upstream:
|
|
87
|
+
kind: open-api
|
|
88
|
+
operationId: company-gui-controller-getByFilter@legacy
|
|
89
|
+
mapper:
|
|
90
|
+
kind: paged
|
|
91
|
+
pageIndex: page
|
|
92
|
+
pageSize: size
|
|
93
|
+
sortBy: sort
|
|
94
|
+
sortDirection: order
|
|
95
|
+
list: entities
|
|
96
|
+
total: maxCount
|
|
97
|
+
filter:
|
|
98
|
+
eq: ':'
|
|
99
|
+
join: ';'
|
|
100
|
+
- name: link
|
|
101
|
+
kind: link
|
|
102
|
+
target: _blank
|
|
103
|
+
formControl:
|
|
104
|
+
kind: input
|
|
105
|
+
inputType: url
|
|
106
|
+
- name: company
|
|
107
|
+
type: string
|
|
108
|
+
isReadonly: true
|
|
109
|
+
pipeList:
|
|
110
|
+
- name: company
|
|
111
|
+
namedImport: CompanyPipe
|
|
112
|
+
moduleSpecifier: "@digitaix/eurogard-pipes"
|
|
113
|
+
- async
|
|
114
|
+
- "getFromObject:'name'"
|
|
115
|
+
- name: dashboardType
|
|
116
|
+
header: Typ
|
|
117
|
+
type: number
|
|
118
|
+
isReadonly: true
|
|
119
|
+
pipeList:
|
|
120
|
+
- name: toDashboardTypesEnumValue
|
|
121
|
+
namedImport: ToDashboardTypesEnumValuePipe
|
|
122
|
+
moduleSpecifier: enum
|
|
123
|
+
- async
|
|
124
|
+
case:
|
|
125
|
+
- test: 2
|
|
126
|
+
itemList:
|
|
127
|
+
- kind: data-grid
|
|
128
|
+
name: cloud-dashboard
|
|
129
|
+
title: Allgemeine Informationen
|
|
130
|
+
propertyList:
|
|
131
|
+
- name: name
|
|
132
|
+
type: string
|
|
133
|
+
source: "name!"
|
|
134
|
+
- name: company
|
|
135
|
+
source: "company?.uuid!"
|
|
136
|
+
type: string
|
|
137
|
+
- name: dashboardType
|
|
138
|
+
source: "dashboardType!"
|
|
139
|
+
type: number
|
|
140
|
+
upstream:
|
|
141
|
+
kind: open-api
|
|
142
|
+
operationId: dashboard-controller-getByUuid@legacy
|
|
143
|
+
dataGrid:
|
|
144
|
+
itemList:
|
|
145
|
+
- name: name
|
|
146
|
+
hasCellDef: true
|
|
147
|
+
formControl:
|
|
148
|
+
kind: input
|
|
149
|
+
- name: company
|
|
150
|
+
type: string
|
|
151
|
+
isReadonly: true
|
|
152
|
+
pipeList:
|
|
153
|
+
- name: company
|
|
154
|
+
namedImport: CompanyPipe
|
|
155
|
+
moduleSpecifier: "@digitaix/eurogard-pipes"
|
|
156
|
+
- async
|
|
157
|
+
- "getFromObject:'name'"
|
|
158
|
+
- name: dashboardType
|
|
159
|
+
header: Typ
|
|
160
|
+
type: number
|
|
161
|
+
isReadonly: true
|
|
162
|
+
pipeList:
|
|
163
|
+
- name: toDashboardTypesEnumValue
|
|
164
|
+
namedImport: ToDashboardTypesEnumValuePipe
|
|
165
|
+
moduleSpecifier: enum
|
|
166
|
+
- async
|
|
167
|
+
- name: layout
|
|
168
|
+
kind: switch
|
|
169
|
+
permission: dashboard.layout.get
|
|
170
|
+
switch:
|
|
171
|
+
property:
|
|
172
|
+
name: dashboardType
|
|
173
|
+
type: number
|
|
174
|
+
case:
|
|
175
|
+
- test: 2
|
|
176
|
+
itemList:
|
|
177
|
+
- name: cloud-dashboard
|
|
178
|
+
upstream:
|
|
179
|
+
kind: open-api
|
|
180
|
+
operationId: dashboard-controller-getByUuid@legacy
|
|
181
|
+
kind: default
|
|
182
|
+
title: Layouts
|
|
183
|
+
propertyList:
|
|
184
|
+
- name: layoutList
|
|
185
|
+
isArray: true
|
|
186
|
+
source: "layoutList!"
|
|
187
|
+
- name: reference
|
|
188
|
+
kind: tree-table
|
|
189
|
+
title: Zuordnung
|
|
190
|
+
table:
|
|
191
|
+
cssClass:
|
|
192
|
+
- "!min-w-0"
|
|
193
|
+
propertyList:
|
|
194
|
+
- name: referenceUuid
|
|
195
|
+
- name: type
|
|
196
|
+
columnList:
|
|
197
|
+
- name: isReferenced
|
|
198
|
+
cssClass:
|
|
199
|
+
- "!w-[200px]"
|
|
200
|
+
- "min-w-[200px]"
|
|
201
|
+
- "max-w-[200px]"
|
|
202
|
+
kind: component
|
|
203
|
+
filterControl:
|
|
204
|
+
kind: select
|
|
205
|
+
formField:
|
|
206
|
+
cssClass:
|
|
207
|
+
- "w-[200px]"
|
|
208
|
+
- name: name
|
|
209
|
+
filterControl:
|
|
210
|
+
kind: input
|
|
211
|
+
cssClass:
|
|
212
|
+
- "w-[500px]"
|
|
213
|
+
- "max-w-[500px]"
|
|
214
|
+
- "min-w-[250px]"
|
|
215
|
+
type: string
|
|
216
|
+
kind: default
|
|
217
|
+
- name: scopeType
|
|
218
|
+
cssClass:
|
|
219
|
+
- "!w-[280px]"
|
|
220
|
+
- "min-w-[280px]"
|
|
221
|
+
- "max-w-[280px]"
|
|
222
|
+
type: number
|
|
223
|
+
kind: component
|
|
224
|
+
filterControl:
|
|
225
|
+
kind: select
|
|
226
|
+
backend: nestjs
|