@rxap/schematic-angular 16.2.0-dev.5 → 16.2.0-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +1 -1
  3. package/package.json +6 -4
  4. package/src/lib/accordion-header.d.ts +5 -0
  5. package/src/lib/accordion-header.js +8 -2
  6. package/src/lib/accordion-header.js.map +1 -1
  7. package/src/lib/accordion-item.d.ts +17 -16
  8. package/src/lib/accordion-item.js +44 -32
  9. package/src/lib/accordion-item.js.map +1 -1
  10. package/src/lib/accordion-itme-kinds.d.ts +8 -0
  11. package/src/lib/accordion-itme-kinds.js +16 -0
  12. package/src/lib/accordion-itme-kinds.js.map +1 -0
  13. package/src/lib/coerce-accordion-component.js +2 -2
  14. package/src/lib/coerce-accordion-component.js.map +1 -1
  15. package/src/lib/coerce-form-component.js +5 -2
  16. package/src/lib/coerce-form-component.js.map +1 -1
  17. package/src/lib/coerce-minimum-table-component.js +7 -3
  18. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  19. package/src/lib/coerce-tree-table-component.js +16 -0
  20. package/src/lib/coerce-tree-table-component.js.map +1 -1
  21. package/src/lib/data-grid-item.d.ts +4 -7
  22. package/src/lib/data-grid-item.js.map +1 -1
  23. package/src/lib/data-grid-options.d.ts +2 -0
  24. package/src/lib/data-grid-options.js +7 -3
  25. package/src/lib/data-grid-options.js.map +1 -1
  26. package/src/lib/form/generate-form-template.d.ts +5 -0
  27. package/src/lib/form/generate-form-template.js +12 -0
  28. package/src/lib/form/generate-form-template.js.map +1 -0
  29. package/src/lib/form-component-control.d.ts +2 -6
  30. package/src/lib/form-component-control.js.map +1 -1
  31. package/src/lib/form-control.d.ts +125 -0
  32. package/src/lib/form-control.js +303 -0
  33. package/src/lib/form-control.js.map +1 -0
  34. package/src/lib/form-definition-control.d.ts +3 -57
  35. package/src/lib/form-definition-control.js +18 -144
  36. package/src/lib/form-definition-control.js.map +1 -1
  37. package/src/lib/load-handlebars-template.d.ts +3 -0
  38. package/src/lib/load-handlebars-template.js +24 -0
  39. package/src/lib/load-handlebars-template.js.map +1 -0
  40. package/src/lib/minimum-table-component-options.d.ts +1 -1
  41. package/src/lib/minimum-table-component-options.js +3 -3
  42. package/src/lib/minimum-table-component-options.js.map +1 -1
  43. package/src/lib/table-column.d.ts +8 -2
  44. package/src/lib/table-column.js +32 -15
  45. package/src/lib/table-column.js.map +1 -1
  46. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +25 -0
  47. package/src/schematics/accordion/accordion-component/index.js +6 -98
  48. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  49. package/src/schematics/accordion/accordion-component/template.schema.json +102 -0
  50. package/src/schematics/accordion/accordion-item-component/index.d.ts +2 -2
  51. package/src/schematics/accordion/accordion-item-component/index.js +42 -42
  52. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  53. package/src/schematics/accordion/accordion-item-component/schema.d.ts +2 -2
  54. package/src/schematics/accordion/accordion-item-component/template.schema.json +33 -0
  55. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  56. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +17 -29
  57. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  58. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +1 -1
  59. package/src/schematics/accordion/item/accordion-item-data-grid-component/template.schema.json +31 -0
  60. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  61. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +4 -4
  62. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  63. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +1 -1
  64. package/src/schematics/accordion/item/accordion-item-switch-component/template.schema.json +84 -0
  65. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  66. package/src/schematics/accordion/item/accordion-item-table-component/index.js +8 -8
  67. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  68. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +1 -1
  69. package/src/schematics/accordion/item/accordion-item-table-component/template.schema.json +46 -0
  70. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  71. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +10 -10
  72. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  73. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +1 -1
  74. package/src/schematics/accordion/item/accordion-item-tree-table-component/template.schema.json +46 -0
  75. package/src/schematics/accordion/templates/accordion-header.hbs +6 -0
  76. package/src/schematics/accordion/templates/data-grid-accordion-item.hbs +15 -0
  77. package/src/schematics/accordion/templates/default-accordion-item.hbs +15 -0
  78. package/src/schematics/accordion/templates/switch-accordion-item.hbs +21 -0
  79. package/src/schematics/accordion/templates/table-accordion-item.hbs +15 -0
  80. package/src/schematics/accordion/templates/tree-table-accordion-item.hbs +15 -0
  81. package/src/schematics/accordion-item.schema.json +35 -0
  82. package/src/schematics/angular.schema.json +2 -10
  83. package/src/schematics/backend.schema.json +13 -0
  84. package/src/schematics/button.schema.json +30 -0
  85. package/src/schematics/data-grid-component/files/component/__componentName__.component.html.hbs +34 -0
  86. package/src/schematics/data-grid-component/index.d.ts +0 -1
  87. package/src/schematics/data-grid-component/index.js +21 -7
  88. package/src/schematics/data-grid-component/index.js.map +1 -1
  89. package/src/schematics/data-grid-component/template.schema.json +23 -0
  90. package/src/schematics/data-grid-item.schema.json +23 -0
  91. package/src/schematics/data-grid.schema.json +44 -0
  92. package/src/schematics/dialog-component/template.schema.json +65 -0
  93. package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
  94. package/src/schematics/form/control/input-form-control/index.js +4 -27
  95. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  96. package/src/schematics/form/control/input-form-control/schema.d.ts +2 -3
  97. package/src/schematics/form/control/input-form-control/template.schema.json +23 -0
  98. package/src/schematics/form/control/select-form-control/index.d.ts +4 -2
  99. package/src/schematics/form/control/select-form-control/index.js +132 -96
  100. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  101. package/src/schematics/form/control/select-form-control/schema.d.ts +2 -3
  102. package/src/schematics/form/control/select-form-control/template.schema.json +23 -0
  103. package/src/schematics/form/control/table-select-form-control/index.d.ts +4 -6
  104. package/src/schematics/form/control/table-select-form-control/index.js +80 -68
  105. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  106. package/src/schematics/form/control/table-select-form-control/schema.d.ts +2 -4
  107. package/src/schematics/form/control/table-select-form-control/template.schema.json +78 -0
  108. package/src/schematics/form/form-component/files/component/{__componentName__.component.html.template → __componentName__.component.html.hbs} +3 -3
  109. package/src/schematics/form/form-component/index.js +4 -1
  110. package/src/schematics/form/form-component/index.js.map +1 -1
  111. package/src/schematics/form/form-component/template.schema.json +23 -0
  112. package/src/schematics/form/form-control/index.d.ts +3 -1
  113. package/src/schematics/form/form-control/index.js +19 -8
  114. package/src/schematics/form/form-control/index.js.map +1 -1
  115. package/src/schematics/form/form-control/template.schema.json +37 -0
  116. package/src/schematics/form/form-definition/index.js +14 -1
  117. package/src/schematics/form/form-definition/index.js.map +1 -1
  118. package/src/schematics/form/form-definition/template.schema.json +33 -0
  119. package/src/schematics/form/templates/checkbox-form-control.hbs +9 -0
  120. package/src/schematics/form/templates/default-form-control.hbs +2 -0
  121. package/src/schematics/form/templates/input-form-control.hbs +9 -0
  122. package/src/schematics/form/templates/mat-form-field.hbs +31 -0
  123. package/src/schematics/form/templates/slide-toggle-form-control.hbs +8 -0
  124. package/src/schematics/form/templates/table-select-form-control.hbs +18 -0
  125. package/src/schematics/form-component.schema.json +39 -0
  126. package/src/schematics/form-control.schema.json +68 -0
  127. package/src/schematics/form-definition.schema.json +22 -0
  128. package/src/schematics/form-field.schema.json +24 -0
  129. package/src/schematics/header-button.schema.json +42 -0
  130. package/src/schematics/input-form-control.schema.json +47 -0
  131. package/src/schematics/minimum-table.schema.json +54 -0
  132. package/src/schematics/property.schema.json +28 -0
  133. package/src/schematics/select-form-control.schema.json +53 -0
  134. package/src/schematics/table/action/dialog-table-action/template.schema.json +61 -0
  135. package/src/schematics/table/action/form-table-action/template.schema.json +75 -0
  136. package/src/schematics/table/action/navigation-table-action/template.schema.json +31 -0
  137. package/src/schematics/table/action/open-api-table-action/template.schema.json +59 -0
  138. package/src/schematics/table/action/operation-table-action/template.schema.json +17 -0
  139. package/src/schematics/table/header-button/form-table-header-button/template.schema.json +51 -0
  140. package/src/schematics/table/header-button/navigation-table-header-button/template.schema.json +31 -0
  141. package/src/schematics/table/table-action/template.schema.json +30 -0
  142. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +241 -0
  143. package/src/schematics/table/table-component/index.d.ts +1 -1
  144. package/src/schematics/table/table-component/index.js +2 -2
  145. package/src/schematics/table/table-component/index.js.map +1 -1
  146. package/src/schematics/table/table-component/template.schema.json +26 -0
  147. package/src/schematics/table/table-header-button/template.schema.json +30 -0
  148. package/src/schematics/table/templates/boolean-table-column.hbs +10 -0
  149. package/src/schematics/table/templates/component-table-column.hbs +12 -0
  150. package/src/schematics/table/templates/copy-to-clipboard-table-column.hbs +10 -0
  151. package/src/schematics/table/templates/date-table-column.hbs +11 -0
  152. package/src/schematics/table/templates/default-table-column.hbs +8 -0
  153. package/src/schematics/table/templates/icon-table-column.hbs +10 -0
  154. package/src/schematics/table/templates/link-table-column.hbs +10 -0
  155. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +249 -0
  156. package/src/schematics/table/tree-table-component/template.schema.json +26 -0
  157. package/src/schematics/table-action.schema.json +61 -0
  158. package/src/schematics/table-column.schema.json +69 -0
  159. package/src/schematics/table.schema.json +54 -0
  160. package/src/schematics/tree-component/template.schema.json +31 -0
  161. package/src/schematics/tree-table.schema.json +40 -0
  162. package/src/schematics/type.schema.json +35 -0
  163. package/src/schematics/upstream.schema.json +56 -0
  164. package/src/lib/accordion-itme-types.d.ts +0 -8
  165. package/src/lib/accordion-itme-types.js +0 -16
  166. package/src/lib/accordion-itme-types.js.map +0 -1
  167. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.template +0 -94
  168. package/src/schematics/accordion/accordion-component/files/header-component/accordion-header.component.html.template +0 -10
  169. package/src/schematics/accordion/accordion-component/schema.json +0 -191
  170. package/src/schematics/accordion/accordion-item-component/schema.json +0 -92
  171. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.json +0 -133
  172. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +0 -226
  173. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +0 -334
  174. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +0 -334
  175. package/src/schematics/data-grid-component/files/form/__componentName__.component.html.template +0 -42
  176. package/src/schematics/data-grid-component/files/plain/__componentName__.component.html.template +0 -25
  177. package/src/schematics/data-grid-component/schema.json +0 -176
  178. package/src/schematics/dialog-component/schema.json +0 -81
  179. package/src/schematics/form/control/input-form-control/schema.json +0 -116
  180. package/src/schematics/form/control/select-form-control/schema.json +0 -102
  181. package/src/schematics/form/control/table-select-form-control/schema.json +0 -106
  182. package/src/schematics/form/form-component/schema.json +0 -173
  183. package/src/schematics/form/form-control/schema.json +0 -92
  184. package/src/schematics/form/form-definition/schema.json +0 -148
  185. package/src/schematics/table/action/dialog-table-action/schema.json +0 -148
  186. package/src/schematics/table/action/form-table-action/schema.json +0 -202
  187. package/src/schematics/table/action/navigation-table-action/schema.json +0 -95
  188. package/src/schematics/table/action/open-api-table-action/schema.json +0 -121
  189. package/src/schematics/table/action/operation-table-action/schema.json +0 -98
  190. package/src/schematics/table/header-button/form-table-header-button/schema.json +0 -139
  191. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +0 -87
  192. package/src/schematics/table/table-action/schema.json +0 -94
  193. package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +0 -299
  194. package/src/schematics/table/table-component/schema.json +0 -340
  195. package/src/schematics/table/table-header-button/schema.json +0 -80
  196. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.template +0 -259
  197. package/src/schematics/table/tree-table-component/schema.json +0 -316
  198. package/src/schematics/tree-component/schema.json +0 -86
@@ -1,299 +0,0 @@
1
- <div class="flex flex-col gap-y-4 m-4">
2
- <% if (hasNavigationBackHeader) { %>
3
- <rxap-navigate-back-button>
4
- <h1 i18n><%= title %></h1>
5
- </rxap-navigate-back-button>
6
- <mat-divider></mat-divider>
7
- <% } %>
8
-
9
- <div class="table-card-container flex flex-col">
10
- <mat-card>
11
- <mat-progress-bar
12
- rxapCardProgressBar
13
- [loading$]="tableDataSourceDirective.loading$"
14
- ></mat-progress-bar>
15
- <mat-card-header class="min-h-full h-12<% if (!headerButton && hasWithoutTitle) { %> justify-end<% } %>">
16
- <% if (!hasWithoutTitle) { %>
17
- <mat-card-title i18n><%= title %></mat-card-title>
18
- <% } %>
19
- <% if (headerButton) { %>
20
- <button
21
- mat-card-avatar
22
- mat-mini-fab
23
- color="primary"
24
- matTooltip
25
- [disabled]="tableDataSourceDirective.hasError$ | async"
26
- [rxapTableHeaderButton]="tableDataSourceDirective"
27
- <% if (headerButton.permission) { %>rxapHasEnablePermission="<%= headerButton.permission %>"<% } %>
28
- >
29
- <% if (headerButton.icon) { %><mat-icon><%= headerButton.icon %></mat-icon><% } else if (headerButton.svgIcon) { %><mat-icon svgIcon="<%= headerButton.svgIcon %>"></mat-icon><% } else { %><mat-icon>add</mat-icon><% } %>
30
- </button>
31
- <mat-card-subtitle i18n><%= headerButton.label %></mat-card-subtitle>
32
- <% } %>
33
- <rxap-table-column-menu matCard #rxapTableColumns="rxapTableColumns" <% if (!headerButton && hasWithoutTitle) { %>inline<% } %>>
34
- <% if (selectColumn) { %>
35
- <rxap-table-column-option hidden name="select">
36
- <ng-container i18n>Select</ng-container>
37
- </rxap-table-column-option>
38
- <% } %>
39
- <% for (const column of columnList) { %>
40
- <rxap-table-column-option
41
- name="<%= column.name %>"<% if (column.active) { %><%= ' active' %><% } %><% if (column.hidden) { %><%= ' hidden' %><% } %><% if (column.inactive) { %><%= ' inactive' %><% } %><% if (column.show) { %><%= ' show' %><% } %>>
42
- <ng-container i18n><%= column.title %></ng-container>
43
- </rxap-table-column-option>
44
- <% } %>
45
- <% if (actionList.length) { %>
46
- <rxap-table-column-option hidden name="actions">
47
- <ng-container i18n>Actions</ng-container>
48
- </rxap-table-column-option>
49
- <% } %>
50
- <% if (hasShowArchivedSlide) { %>
51
- <mat-divider></mat-divider>
52
- <span mat-menu-item>
53
- <rxap-table-show-archived-slide
54
- [paginator]="paginator"
55
- ></rxap-table-show-archived-slide>
56
- </span>
57
- <% } %>
58
- </rxap-table-column-menu>
59
- </mat-card-header>
60
-
61
- <mat-card-content>
62
- <rxap-data-source-error
63
- [loading]="tableDataSourceDirective.loading$"
64
- [error]="tableDataSourceDirective.dataSource?.error$"
65
- *ngIf="tableDataSourceDirective.hasError$ | async"
66
- [refresh]="tableDataSourceDirective.retry">
67
- </rxap-data-source-error>
68
- <div class="table-scroll-container mt-4 overflow-x-auto overscroll-auto">
69
- <table
70
- [ngClass]="{ 'hidden': tableDataSourceDirective.hasError$ | async }"
71
- [paginator]="paginator"
72
- matSort
73
- mat-table
74
- #tableDataSourceDirective="rxapTableDataSource"
75
- rxapTableDataSource
76
- [parameters]="parameters"
77
- id="<%= name %>"
78
- <% if (hasColumnWithFilter) { %>rxap-filter-header-row<% } %>
79
- >
80
- <!-- region columns -->
81
-
82
- <% if (selectColumn) { %>
83
- <ng-container matColumnDef="select" sticky>
84
- <th mat-header-cell rxap-checkbox-header-cell *matHeaderCellDef></th>
85
- <td
86
- mat-cell
87
- rxap-checkbox-cell
88
- [element]="element"
89
- *matCellDef="let element"
90
- ></td>
91
- </ng-container>
92
- <% } %>
93
- <% if (actionList.length) { %>
94
- <ng-container matColumnDef="actions" stickyEnd>
95
- <th mat-header-cell *matHeaderCellDef>
96
- <% if (selectColumn) { %>
97
- <div class="flex flex-row" *rxapSelectedRows="let selected">
98
- <% for (const action of actionList) { %>
99
- <% if (action.inHeader) { %>
100
- <button
101
- rxapTableRowHeaderAction="<%= action.type %>"
102
- mat-icon-button
103
- <% if (action.color) { %>color="<%= action.color %>"<% } %>
104
- <% if (action.cssClass) { %>class="<%= action.cssClass %>"<% } %>
105
- *ngIf="selected | rxapRowActionCheck:'<%= action.type %>'"
106
- <% if (action.permission) { %>rxapHasEnablePermission="<%= action.permission %>"<% } %>
107
- matTooltip
108
- >
109
- <% if (action.icon) { %><mat-icon><%= action.icon %></mat-icon><% } else if (action.svgIcon) { %><mat-icon svgIcon="<%= action.svgIcon %>"></mat-icon><% } else { %><mat-icon><%= action.type %></mat-icon><% } %>
110
- <mat-progress-bar
111
- *rxapTableRowActionExecuting
112
- mode="indeterminate"
113
- ></mat-progress-bar>
114
- </button>
115
- <% } %>
116
- <% } %>
117
- </div>
118
- <% } %>
119
- </th>
120
-
121
- <td mat-cell *matCellDef="let element">
122
- <div class="flex flex-row">
123
- <% for (const action of actionList) { %>
124
- <button
125
- rxapTableRowAction="<%= action.type %>"
126
- [element]="element"
127
- <% if (action.color) { %>color="<%= action.color %>"<% } %>
128
- <% if (action.cssClass) { %>class="<%= action.cssClass %>"<% } %>
129
- mat-icon-button
130
- *ngIf="element | rxapRowActionCheck:'<%= action.type %>'"
131
- <% if (action.permission) { %>rxapHasEnablePermission="<%= action.permission %>"<% } %>
132
- matTooltip
133
- >
134
- <% if (action.icon) { %><mat-icon><%= action.icon %></mat-icon><% } else if (action.svgIcon) { %><mat-icon svgIcon="<%= action.svgIcon %>"></mat-icon><% } else { %><mat-icon><%= action.type %></mat-icon><% } %>
135
- <mat-progress-bar
136
- *rxapTableRowActionExecuting
137
- mode="indeterminate"
138
- ></mat-progress-bar>
139
- </button>
140
- <% } %>
141
- </div>
142
- </td>
143
- </ng-container>
144
- <% } %>
145
- <% for (const column of columnList) { %>
146
- <% if (column.role === 'copy-to-clipboard') { %>
147
- <ng-container matColumnDef="<%= column.name %>">
148
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
149
- <ng-container i18n><%= column.title %></ng-container>
150
- </th>
151
- <td *matCellDef="let element" mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> [rxap-copy-to-clipboard-cell]="element?.<%= column.propertyPath %>"></td>
152
- </ng-container>
153
- <% } else if (column.role === 'link') { %>
154
- <ng-container matColumnDef="<%= column.name %>">
155
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
156
- <ng-container i18n><%= column.title %></ng-container>
157
- </th>
158
- <td *matCellDef="let element" mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> [rxap-link-cell]="element?.<%= column.propertyPath %>"></td>
159
- </ng-container>
160
- <% } else if (column.role === 'date') { %>
161
- <ng-container matColumnDef="<%= column.name %>">
162
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
163
- <ng-container i18n><%= column.title %></ng-container>
164
- </th>
165
-
166
- <td *matCellDef="let element" mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> [rxap-date-cell]="element?.<%= column.propertyPath %>" format="dd.MM.yyyy HH:mm:ss"></td>
167
- </ng-container>
168
- <% } else if (column.role === 'boolean') { %>
169
- <ng-container matColumnDef="<%= column.name %>">
170
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
171
- <ng-container i18n><%= column.title %></ng-container>
172
- </th>
173
-
174
- <td *matCellDef="let element" mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> [rxap-boolean-cell]="element?.<%= column.propertyPath %>"></td>
175
- </ng-container>
176
- <% } else if (column.role === 'icon') { %>
177
- <ng-container matColumnDef="<%= column.name %>">
178
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
179
- <ng-container i18n><%= column.title %></ng-container>
180
- </th>
181
-
182
- <td *matCellDef="let element" mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> [rxap-icon-cell]="element?.<%= column.propertyPath %>"></td>
183
- </ng-container>
184
- <% } else if (column.role === 'component') { %>
185
- <ng-container matColumnDef="<%= column.name %>">
186
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
187
- <ng-container i18n><%= column.title %></ng-container>
188
- </th>
189
-
190
- <td *matCellDef="let element" mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> <%= prefix %>-<%= column.name %>-cell [element]="element" [value]="element?.<%= column.propertyPath %>"></td>
191
- </ng-container>
192
- <% } else { %>
193
- <ng-container matColumnDef="<%= column.name %>">
194
- <th mat-header-cell *matHeaderCellDef mat-sort-header>
195
- <ng-container i18n><%= column.title %></ng-container>
196
- </th>
197
-
198
- <td mat-cell <% if (column.cssClass) { %>class="<%= column.cssClass %>"<% } %> *matCellDef="let element">
199
- <% if (column.template) { %>
200
- <%= column.template %>
201
- <% } else if (column.pipeList.length) { %>
202
- {{ element?.<%= column.propertyPath %><% for (const pipe of column.pipeList) { %> | <%= pipe.name %><% } %> }}
203
- <% } else { %>
204
- {{ element?.<%= column.propertyPath %> }}
205
- <% } %>
206
- </td>
207
- </ng-container>
208
- <% } %>
209
- <% } %>
210
-
211
- <!-- endregion -->
212
- <% if (hasColumnWithFilter) { %>
213
- <!-- region filter columns -->
214
- <% if (selectColumn) { %>
215
- <ng-container matColumnDef="filter_select" sticky>
216
- <th mat-header-cell *matHeaderCellDef></th>
217
- </ng-container>
218
- <% } %>
219
- <% if (actionList.length) { %>
220
- <ng-container matColumnDef="filter_actions" stickyEnd>
221
- <th mat-header-cell *matHeaderCellDef></th>
222
- </ng-container>
223
- <% } %>
224
-
225
- <% for (const column of columnList) { %>
226
- <ng-container matColumnDef="filter_<%= column.name %>">
227
- <th mat-header-cell *matHeaderCellDef>
228
- <% if (column.hasFilter) { %>
229
- <% if (column.type === 'boolean') { %>
230
- <mat-checkbox
231
- indeterminate
232
- parentControlContainer
233
- formControlName="<%= camelize(column.name) %>"
234
- >
235
- <ng-container i18n><%= column.title %></ng-container>
236
- </mat-checkbox>
237
- <% } else { %>
238
- <mat-form-field class="w-full pt-3">
239
- <mat-label i18n><%= column.title %></mat-label>
240
- <input
241
- matInput
242
- i18n-placeholder
243
- placeholder="Enter Filter"
244
- parentControlContainer
245
- formControlName="<%= camelize(column.name) %>"
246
- />
247
- <button matSuffix rxapInputClearButton mat-icon-button>
248
- <mat-icon>clear</mat-icon>
249
- </button>
250
- </mat-form-field>
251
- <% } %>
252
- <% } %>
253
- </th>
254
- </ng-container>
255
- <% } %>
256
-
257
- <!-- endregion -->
258
- <tr
259
- class="rxap-filter-header"
260
- mat-header-row
261
- *matHeaderRowDef="
262
- rxapTableColumns.displayColumns | toFilterColumnNames
263
- "
264
- ></tr>
265
- <% } %>
266
-
267
- <tr
268
- mat-header-row
269
- *matHeaderRowDef="rxapTableColumns.displayColumns"
270
- ></tr>
271
-
272
- <tr
273
- [@rowsAnimation]=""
274
- mat-row
275
- [ngClass]="{ 'rxap-row-odd !bg-neutral-200 dark:!bg-neutral-600': odd, 'rxap-row-even': even }"
276
- class="hover:!bg-neutral-400 dark:hover:!bg-neutral-800"
277
- *matRowDef="
278
- let element;
279
- columns: rxapTableColumns.displayColumns;
280
- let odd = odd;
281
- let even = even
282
- "
283
- ></tr>
284
- </table>
285
- </div>
286
- </mat-card-content>
287
-
288
- <mat-card-footer
289
- ><mat-paginator
290
- [ngClass]="{ 'hidden': tableDataSourceDirective.hasError$ | async }"
291
- rxapPersistent
292
- [pageSizeOptions]="[5,10,25,50,100]"
293
- [pageSize]="10"
294
- #paginator="matPaginator"
295
- ></mat-paginator
296
- ></mat-card-footer>
297
- </mat-card>
298
- </div>
299
- </div>
@@ -1,340 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/schema",
3
- "$id": "template-table-module",
4
- "allOf": [
5
- {
6
- "$ref": "https://unpkg.com/@rxap/schematic-angular@16.1.0-dev.23/src/schematics/angular.schema.json"
7
- },
8
- {
9
- "type": "object",
10
- "properties": {
11
- "name": {
12
- "type": "string",
13
- "description": "The name of the table",
14
- "x-prompt": "Which name should the table module have?"
15
- },
16
- "tableMethod": {
17
- "type": "object",
18
- "properties": {
19
- "name": {
20
- "type": "string",
21
- "description": "The name of the table method class"
22
- },
23
- "moduleSpecifier": {
24
- "type": "string",
25
- "description": "The import path for the table method class"
26
- }
27
- },
28
- "required": [
29
- "name",
30
- "moduleSpecifier"
31
- ]
32
- },
33
- "openApi": {
34
- "type": "object",
35
- "properties": {
36
- "operationId": {
37
- "type": "string",
38
- "description": "The operationId for the open api operation"
39
- },
40
- "adapter": {
41
- "type": "object",
42
- "properties": {
43
- "name": {
44
- "type": "string",
45
- "description": "The name of the open api adapter class"
46
- },
47
- "moduleSpecifier": {
48
- "type": "string",
49
- "description": "The import path for the open api adapter class"
50
- }
51
- },
52
- "required": [
53
- "name",
54
- "moduleSpecifier"
55
- ]
56
- }
57
- },
58
- "required": [
59
- "operationId"
60
- ]
61
- },
62
- "modifiers": {
63
- "alias": "modifier",
64
- "type": "array",
65
- "items": {
66
- "type": "string",
67
- "enum": [
68
- "navigation-back-header",
69
- "without-title",
70
- "show-archived-slide"
71
- ]
72
- },
73
- "description": "The table modifiers"
74
- },
75
- "headerButton": {
76
- "oneOf": [
77
- {
78
- "type": "string"
79
- },
80
- {
81
- "type": "object",
82
- "properties": {
83
- "role": {
84
- "type": "string",
85
- "enum": [
86
- "form",
87
- "navigation",
88
- "method"
89
- ]
90
- },
91
- "permission": {
92
- "type": "string"
93
- },
94
- "icon": {
95
- "type": "string"
96
- },
97
- "svgIcon": {
98
- "type": "string"
99
- },
100
- "options": {
101
- "type": "object",
102
- "additionalProperties": true
103
- }
104
- },
105
- "additionalProperties": true
106
- }
107
- ],
108
- "description": "The header button configuration"
109
- },
110
- "propertyList": {
111
- "alias": "property",
112
- "type": "array",
113
- "items": {
114
- "oneOf": [
115
- {
116
- "type": "string"
117
- },
118
- {
119
- "type": "object",
120
- "properties": {
121
- "name": {
122
- "type": "string"
123
- },
124
- "type": {
125
- "type": "string"
126
- }
127
- },
128
- "required": [
129
- "name"
130
- ]
131
- }
132
- ]
133
- }
134
- },
135
- "columnList": {
136
- "alias": "column",
137
- "type": "array",
138
- "items": {
139
- "oneOf": [
140
- {
141
- "type": "string"
142
- },
143
- {
144
- "type": "object",
145
- "properties": {
146
- "name": {
147
- "type": "string"
148
- },
149
- "type": {
150
- "oneOf": [
151
- {
152
- "type": "string"
153
- },
154
- {
155
- "type": "object",
156
- "properties": {
157
- "name": {
158
- "type": "string"
159
- },
160
- "isTypeOnly": {
161
- "type": "boolean"
162
- },
163
- "moduleSpecifier": {
164
- "type": "string"
165
- },
166
- "namedImport": {
167
- "type": "string"
168
- },
169
- "namespaceImport": {
170
- "type": "string"
171
- },
172
- "defaultImport": {
173
- "type": "string"
174
- }
175
- },
176
- "required": [
177
- "name"
178
- ]
179
- }
180
- ]
181
- },
182
- "role": {
183
- "type": "string"
184
- },
185
- "modifiers": {
186
- "type": "array",
187
- "items": {
188
- "type": "string"
189
- }
190
- },
191
- "template": {
192
- "type": "string"
193
- },
194
- "pipeList": {
195
- "type": "array",
196
- "items": {
197
- "oneOf": [
198
- {
199
- "type": "string"
200
- },
201
- {
202
- "type": "object",
203
- "properties": {
204
- "name": {
205
- "type": "string"
206
- },
207
- "namedImport": {
208
- "type": "string"
209
- },
210
- "moduleSpecifier": {
211
- "type": "string"
212
- }
213
- },
214
- "required": [
215
- "name",
216
- "namedImport",
217
- "moduleSpecifier"
218
- ]
219
- }
220
- ]
221
- }
222
- },
223
- "hasFilter": {
224
- "type": "boolean"
225
- },
226
- "nowrap": {
227
- "type": "boolean"
228
- },
229
- "cssClass": {
230
- "type": "string"
231
- },
232
- "title": {
233
- "type": "string"
234
- },
235
- "propertyPath": {
236
- "type": "string"
237
- },
238
- "hidden": {
239
- "type": "boolean"
240
- },
241
- "active": {
242
- "type": "boolean"
243
- },
244
- "inactive": {
245
- "type": "boolean"
246
- },
247
- "show": {
248
- "type": "boolean"
249
- }
250
- },
251
- "required": [
252
- "name"
253
- ]
254
- }
255
- ],
256
- "description": "table column name"
257
- },
258
- "description": "List of table column names"
259
- },
260
- "actionList": {
261
- "alias": "action",
262
- "type": "array",
263
- "items": {
264
- "oneOf": [
265
- {
266
- "type": "string"
267
- },
268
- {
269
- "type": "object",
270
- "properties": {
271
- "type": {
272
- "type": "string"
273
- },
274
- "refresh": {
275
- "type": "boolean"
276
- },
277
- "confirm": {
278
- "type": "boolean"
279
- },
280
- "tooltip": {
281
- "type": "string"
282
- },
283
- "errorMessage": {
284
- "type": "string"
285
- },
286
- "successMessage": {
287
- "type": "string"
288
- },
289
- "priority": {
290
- "type": "number"
291
- },
292
- "checkFunction": {
293
- "type": "string"
294
- },
295
- "inHeader": {
296
- "type": "boolean"
297
- },
298
- "role": {
299
- "type": "string"
300
- },
301
- "icon": {
302
- "type": "string"
303
- },
304
- "svgIcon": {
305
- "type": "string"
306
- },
307
- "permission": {
308
- "type": "string"
309
- },
310
- "color": {
311
- "type": "string",
312
- "description": "Value for the color input of the mat-button / mat-icon component"
313
- },
314
- "cssClass": {
315
- "type": "string",
316
- "description": "Additional CSS classes added to the button element"
317
- },
318
- "options": {
319
- "type": "object",
320
- "additionalProperties": true
321
- }
322
- },
323
- "required": [
324
- "type"
325
- ]
326
- }
327
- ]
328
- }
329
- },
330
- "selectColumn": {
331
- "type": "boolean",
332
- "description": "Whether to add a select column to the table"
333
- }
334
- },
335
- "required": [
336
- "name"
337
- ]
338
- }
339
- ]
340
- }