@rxap/schematic-angular 19.1.1-dev.3 → 19.2.0-dev.0
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 +9 -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/lib/angular-options.js +0 -1
- package/src/lib/angular-options.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
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.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)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **docs:** add custom template support in column and control guides ([25b56e0](https://gitlab.com/rxap/packages/commit/25b56e01eb6acb6fc6482f14718c148d19d14380))
|
|
11
|
+
- **docs:** add detailed schematic guides for Angular components ([c2e0da8](https://gitlab.com/rxap/packages/commit/c2e0da80662274620d2e0d4120c317d240c80a38))
|
|
12
|
+
- **docs:** enhance table column, action, and form control guides ([c4e1b66](https://gitlab.com/rxap/packages/commit/c4e1b66256c608044d5634f4bfa82d36a1832cfe))
|
|
13
|
+
- **schematics:** add examples for accordion and table components ([c1125e0](https://gitlab.com/rxap/packages/commit/c1125e0e2a99c1a6f685a1cbbf9dcf548ba6744f))
|
|
14
|
+
|
|
6
15
|
## [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
16
|
|
|
8
17
|
**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.0",
|
|
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.8.1-dev.
|
|
10
|
+
"@rxap/schematics-ts-morph": "^19.1.1-dev.4",
|
|
11
|
+
"@rxap/schematics-utilities": "^19.0.5-dev.3",
|
|
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.4",
|
|
15
|
+
"@rxap/workspace-utilities": "^19.8.1-dev.3",
|
|
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": "69d6ee61a20632f52b77de621089334a34f45e03",
|
|
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
|