@rxap/schematic-angular 18.0.3-dev.1 → 18.1.0-dev.1

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 (216) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +12 -11
  3. package/src/lib/accordion/accordion-header-kind.d.ts +6 -0
  4. package/src/lib/accordion/accordion-header-kind.js +11 -0
  5. package/src/lib/accordion/accordion-header-kind.js.map +1 -0
  6. package/src/lib/accordion/accordion-header.d.ts +6 -0
  7. package/src/lib/accordion/accordion-header.js +22 -0
  8. package/src/lib/accordion/accordion-header.js.map +1 -0
  9. package/src/lib/{accordion-itme-kinds.js → accordion/accordion-item-kind.js} +1 -1
  10. package/src/lib/accordion/accordion-item-kind.js.map +1 -0
  11. package/src/lib/accordion/accordion-item.d.ts +9 -0
  12. package/src/lib/accordion/accordion-item.js +29 -0
  13. package/src/lib/accordion/accordion-item.js.map +1 -0
  14. package/src/lib/accordion/header/base-accordion-header.d.ts +18 -0
  15. package/src/lib/accordion/header/base-accordion-header.js +35 -0
  16. package/src/lib/accordion/header/base-accordion-header.js.map +1 -0
  17. package/src/lib/accordion/header/property-accordion-header.d.ts +14 -0
  18. package/src/lib/accordion/header/property-accordion-header.js +23 -0
  19. package/src/lib/accordion/header/property-accordion-header.js.map +1 -0
  20. package/src/lib/accordion/header/static-accordion-header.d.ts +11 -0
  21. package/src/lib/accordion/header/static-accordion-header.js +13 -0
  22. package/src/lib/accordion/header/static-accordion-header.js.map +1 -0
  23. package/src/lib/accordion/item/base-accordion-item.d.ts +31 -0
  24. package/src/lib/accordion/item/base-accordion-item.js +59 -0
  25. package/src/lib/accordion/item/base-accordion-item.js.map +1 -0
  26. package/src/lib/accordion/item/data-grid-accordion-item.d.ts +14 -0
  27. package/src/lib/accordion/item/data-grid-accordion-item.js +29 -0
  28. package/src/lib/accordion/item/data-grid-accordion-item.js.map +1 -0
  29. package/src/lib/accordion/item/switch-accordion-item.d.ts +32 -0
  30. package/src/lib/accordion/item/switch-accordion-item.js +89 -0
  31. package/src/lib/accordion/item/switch-accordion-item.js.map +1 -0
  32. package/src/lib/accordion/item/table-accordion-item.d.ts +14 -0
  33. package/src/lib/accordion/item/table-accordion-item.js +21 -0
  34. package/src/lib/accordion/item/table-accordion-item.js.map +1 -0
  35. package/src/lib/accordion/item/tree-table-accordion-item.d.ts +14 -0
  36. package/src/lib/accordion/item/tree-table-accordion-item.js +21 -0
  37. package/src/lib/accordion/item/tree-table-accordion-item.js.map +1 -0
  38. package/src/lib/coerce-accordion-component.js +9 -6
  39. package/src/lib/coerce-accordion-component.js.map +1 -1
  40. package/src/lib/coerce-minimum-table-component.js +9 -2
  41. package/src/lib/coerce-minimum-table-component.js.map +1 -1
  42. package/src/lib/form/control/form-control.d.ts +1 -0
  43. package/src/lib/form/control/form-control.js +6 -1
  44. package/src/lib/form/control/form-control.js.map +1 -1
  45. package/src/lib/form/form-component.d.ts +15 -0
  46. package/src/lib/form/form-component.js +12 -0
  47. package/src/lib/form/form-component.js.map +1 -0
  48. package/src/lib/form/form-definition.d.ts +8 -0
  49. package/src/lib/form/form-definition.js +11 -0
  50. package/src/lib/form/form-definition.js.map +1 -0
  51. package/src/lib/load-handlebars-template.js +3 -0
  52. package/src/lib/load-handlebars-template.js.map +1 -1
  53. package/src/lib/mat-form-field-default-options.d.ts +8 -2
  54. package/src/lib/mat-form-field-default-options.js +8 -1
  55. package/src/lib/mat-form-field-default-options.js.map +1 -1
  56. package/src/lib/minimum-table-component-options.js +28 -35
  57. package/src/lib/minimum-table-component-options.js.map +1 -1
  58. package/src/lib/minimum-table-options.d.ts +6 -3
  59. package/src/lib/minimum-table-options.js +4 -1
  60. package/src/lib/minimum-table-options.js.map +1 -1
  61. package/src/lib/table/action/base-table-action.d.ts +25 -0
  62. package/src/lib/table/action/base-table-action.js +32 -0
  63. package/src/lib/table/action/base-table-action.js.map +1 -0
  64. package/src/lib/table/action/dialog-table-action.d.ts +15 -0
  65. package/src/lib/table/action/dialog-table-action.js +23 -0
  66. package/src/lib/table/action/dialog-table-action.js.map +1 -0
  67. package/src/lib/table/action/form-table-action.d.ts +19 -0
  68. package/src/lib/table/action/form-table-action.js +26 -0
  69. package/src/lib/table/action/form-table-action.js.map +1 -0
  70. package/src/lib/table/action/navigation-table-action.d.ts +12 -0
  71. package/src/lib/table/action/navigation-table-action.js +14 -0
  72. package/src/lib/table/action/navigation-table-action.js.map +1 -0
  73. package/src/lib/table/action/open-api-table-action.d.ts +16 -0
  74. package/src/lib/table/action/open-api-table-action.js +14 -0
  75. package/src/lib/table/action/open-api-table-action.js.map +1 -0
  76. package/src/lib/table/action/operation-table-action.d.ts +8 -0
  77. package/src/lib/table/action/operation-table-action.js +10 -0
  78. package/src/lib/table/action/operation-table-action.js.map +1 -0
  79. package/src/lib/table/table-action-kind.d.ts +9 -0
  80. package/src/lib/table/table-action-kind.js +17 -0
  81. package/src/lib/table/table-action-kind.js.map +1 -0
  82. package/src/lib/table/table-action.d.ts +11 -0
  83. package/src/lib/table/table-action.js +35 -0
  84. package/src/lib/table/table-action.js.map +1 -0
  85. package/src/lib/table/table-filter-column-rule.js +9 -5
  86. package/src/lib/table/table-filter-column-rule.js.map +1 -1
  87. package/src/lib/table-options.d.ts +5 -9
  88. package/src/lib/table-options.js.map +1 -1
  89. package/src/lib/tree-table-options.d.ts +5 -10
  90. package/src/lib/tree-table-options.js.map +1 -1
  91. package/src/lib/use-pick-from-table-interface-as-form-type.d.ts +3 -1
  92. package/src/lib/use-pick-from-table-interface-as-form-type.js +19 -5
  93. package/src/lib/use-pick-from-table-interface-as-form-type.js.map +1 -1
  94. package/src/lib/utilities/if-truthy.d.ts +8 -0
  95. package/src/lib/utilities/if-truthy.js +14 -0
  96. package/src/lib/utilities/if-truthy.js.map +1 -0
  97. package/src/schema.json +309 -86
  98. package/src/schematics/accordion/accordion-component/files/component/__componentName__.component.html.hbs +6 -0
  99. package/src/schematics/accordion/accordion-component/index.d.ts +5 -4
  100. package/src/schematics/accordion/accordion-component/index.js +29 -12
  101. package/src/schematics/accordion/accordion-component/index.js.map +1 -1
  102. package/src/schematics/accordion/accordion-component/schema.d.ts +5 -3
  103. package/src/schematics/accordion/accordion-component/schema.json +488 -72
  104. package/src/schematics/accordion/accordion-component/template.schema.json +4 -20
  105. package/src/schematics/accordion/accordion-item-component/index.d.ts +2 -2
  106. package/src/schematics/accordion/accordion-item-component/index.js +17 -14
  107. package/src/schematics/accordion/accordion-item-component/index.js.map +1 -1
  108. package/src/schematics/accordion/accordion-item-component/schema.d.ts +1 -1
  109. package/src/schematics/accordion/accordion-item-component/schema.json +388 -48
  110. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.d.ts +1 -1
  111. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js +5 -4
  112. package/src/schematics/accordion/item/accordion-item-data-grid-component/index.js.map +1 -1
  113. package/src/schematics/accordion/item/accordion-item-data-grid-component/schema.d.ts +1 -1
  114. package/src/schematics/accordion/item/accordion-item-switch-component/index.d.ts +1 -1
  115. package/src/schematics/accordion/item/accordion-item-switch-component/index.js +3 -3
  116. package/src/schematics/accordion/item/accordion-item-switch-component/index.js.map +1 -1
  117. package/src/schematics/accordion/item/accordion-item-switch-component/schema.d.ts +1 -1
  118. package/src/schematics/accordion/item/accordion-item-switch-component/schema.json +388 -48
  119. package/src/schematics/accordion/item/accordion-item-table-component/index.d.ts +1 -1
  120. package/src/schematics/accordion/item/accordion-item-table-component/index.js +3 -3
  121. package/src/schematics/accordion/item/accordion-item-table-component/index.js.map +1 -1
  122. package/src/schematics/accordion/item/accordion-item-table-component/schema.d.ts +1 -1
  123. package/src/schematics/accordion/item/accordion-item-table-component/schema.json +542 -48
  124. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.d.ts +1 -1
  125. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js +6 -4
  126. package/src/schematics/accordion/item/accordion-item-tree-table-component/index.js.map +1 -1
  127. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.d.ts +1 -1
  128. package/src/schematics/accordion/item/accordion-item-tree-table-component/schema.json +542 -48
  129. package/src/schematics/accordion/templates/default-accordion-header.hbs +2 -0
  130. package/src/schematics/accordion/templates/{accordion-header.hbs → property-accordion-header.hbs} +0 -5
  131. package/src/schematics/accordion/templates/static-accordion-header.hbs +3 -0
  132. package/src/schematics/accordion/templates/switch-accordion-item.hbs +12 -0
  133. package/src/schematics/accordion-header.schema.json +40 -0
  134. package/src/schematics/base-accordion-header.schema.json +35 -0
  135. package/src/schematics/base-table-action.schema.json +62 -0
  136. package/src/schematics/data-grid-component/index.js +4 -2
  137. package/src/schematics/data-grid-component/index.js.map +1 -1
  138. package/src/schematics/dialog-table-action.schema.json +65 -0
  139. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js +7 -4
  140. package/src/schematics/form/control/autocomplete-table-select-form-control/index.js.map +1 -1
  141. package/src/schematics/form/control/select-form-control/index.js +2 -1
  142. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  143. package/src/schematics/form/control/table-select-form-control/index.js +5 -3
  144. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  145. package/src/schematics/form/form-component/index.d.ts +2 -7
  146. package/src/schematics/form/form-component/index.js +7 -6
  147. package/src/schematics/form/form-component/index.js.map +1 -1
  148. package/src/schematics/form/form-component/schema.d.ts +2 -9
  149. package/src/schematics/form-table-action.schema.json +92 -0
  150. package/src/schematics/minimum-table.schema.json +11 -0
  151. package/src/schematics/navigation-table-action.schema.json +35 -0
  152. package/src/schematics/open-api-table-action.schema.json +60 -0
  153. package/src/schematics/operation-table-action.schema.json +26 -0
  154. package/src/schematics/property-accordion-header.schema.json +31 -0
  155. package/src/schematics/static-accordion-header.schema.json +29 -0
  156. package/src/schematics/table/action/dialog-table-action/index.d.ts +5 -9
  157. package/src/schematics/table/action/dialog-table-action/index.js +13 -21
  158. package/src/schematics/table/action/dialog-table-action/index.js.map +1 -1
  159. package/src/schematics/table/action/dialog-table-action/schema.d.ts +4 -6
  160. package/src/schematics/table/action/dialog-table-action/schema.json +1293 -100
  161. package/src/schematics/table/action/dialog-table-action/template.schema.json +4 -42
  162. package/src/schematics/table/action/form-table-action/index.d.ts +3 -11
  163. package/src/schematics/table/action/form-table-action/index.js +20 -18
  164. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  165. package/src/schematics/table/action/form-table-action/schema.d.ts +4 -14
  166. package/src/schematics/table/action/form-table-action/schema.json +331 -104
  167. package/src/schematics/table/action/form-table-action/template.schema.json +4 -59
  168. package/src/schematics/table/action/navigation-table-action/index.d.ts +3 -3
  169. package/src/schematics/table/action/navigation-table-action/index.js +2 -3
  170. package/src/schematics/table/action/navigation-table-action/index.js.map +1 -1
  171. package/src/schematics/table/action/navigation-table-action/schema.d.ts +4 -4
  172. package/src/schematics/table/action/navigation-table-action/schema.json +1293 -70
  173. package/src/schematics/table/action/navigation-table-action/template.schema.json +4 -12
  174. package/src/schematics/table/action/open-api-table-action/index.d.ts +2 -4
  175. package/src/schematics/table/action/open-api-table-action/index.js +2 -4
  176. package/src/schematics/table/action/open-api-table-action/index.js.map +1 -1
  177. package/src/schematics/table/action/open-api-table-action/schema.d.ts +4 -6
  178. package/src/schematics/table/action/open-api-table-action/schema.json +1286 -91
  179. package/src/schematics/table/action/open-api-table-action/template.schema.json +4 -40
  180. package/src/schematics/table/action/operation-table-action/index.d.ts +2 -1
  181. package/src/schematics/table/action/operation-table-action/index.js +8 -6
  182. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  183. package/src/schematics/table/action/operation-table-action/schema.d.ts +5 -3
  184. package/src/schematics/table/action/operation-table-action/schema.json +1296 -59
  185. package/src/schematics/table/action/operation-table-action/template.schema.json +6 -0
  186. package/src/schematics/table/table-action/index.d.ts +2 -1
  187. package/src/schematics/table/table-action/index.js +3 -2
  188. package/src/schematics/table/table-action/index.js.map +1 -1
  189. package/src/schematics/table/table-action/schema.d.ts +2 -2
  190. package/src/schematics/table/table-action/schema.json +1286 -52
  191. package/src/schematics/table/table-component/files/component/__componentName__.component.html.hbs +19 -1
  192. package/src/schematics/table/table-component/index.js +6 -5
  193. package/src/schematics/table/table-component/index.js.map +1 -1
  194. package/src/schematics/table/table-component/schema.json +542 -48
  195. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.html.hbs +19 -1
  196. package/src/schematics/table/tree-table-component/index.js +5 -3
  197. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  198. package/src/schematics/table/tree-table-component/schema.json +542 -48
  199. package/src/schematics/table-action.schema.json +47 -53
  200. package/src/schematics/tree-component/index.js +2 -1
  201. package/src/schematics/tree-component/index.js.map +1 -1
  202. package/src/template.schema.json +30 -0
  203. package/src/lib/accordion-header.d.ts +0 -32
  204. package/src/lib/accordion-header.js +0 -57
  205. package/src/lib/accordion-header.js.map +0 -1
  206. package/src/lib/accordion-item.d.ts +0 -91
  207. package/src/lib/accordion-item.js +0 -206
  208. package/src/lib/accordion-item.js.map +0 -1
  209. package/src/lib/accordion-itme-kinds.js.map +0 -1
  210. package/src/lib/table-action.d.ts +0 -13
  211. package/src/lib/table-action.js +0 -102
  212. package/src/lib/table-action.js.map +0 -1
  213. package/src/lib/table-row-action.d.ts +0 -21
  214. package/src/lib/table-row-action.js +0 -25
  215. package/src/lib/table-row-action.js.map +0 -1
  216. /package/src/lib/{accordion-itme-kinds.d.ts → accordion/accordion-item-kind.d.ts} +0 -0
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UsePickFromTableInterfaceAsFormTypeRule = void 0;
4
4
  const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
5
5
  const schematics_utilities_1 = require("@rxap/schematics-utilities");
6
+ const ts_morph_1 = require("@rxap/ts-morph");
6
7
  const utilities_1 = require("@rxap/utilities");
8
+ const ts_morph_2 = require("ts-morph");
7
9
  const form_table_action_1 = require("../schematics/table/action/form-table-action");
8
10
  function UsePickFromTableInterfaceAsFormTypeRule(options) {
9
- const { name, columnList, formName, suffix = 'table', } = options;
11
+ const { name, columnList, formName, suffix = 'table', filterList, } = options;
10
12
  const className = (0, schematics_utilities_1.CoerceSuffix)((0, utilities_1.classify)(formName), 'Form');
11
13
  const interfaceName = `I${className}`;
12
14
  const tableInterfaceName = `I${(0, utilities_1.classify)(name)}${(0, utilities_1.classify)(suffix)}`;
@@ -15,14 +17,26 @@ function UsePickFromTableInterfaceAsFormTypeRule(options) {
15
17
  if (interfaceDeclaration) {
16
18
  interfaceDeclaration.remove();
17
19
  }
18
- const type = `Pick<${tableInterfaceName}, ${columnList.filter(c => c.hasFilter)
19
- .map(c => `'${(0, utilities_1.camelize)(c.name)}'`)
20
- .join(' | ')}>`;
20
+ const type = w => {
21
+ if (columnList.some(c => c.hasFilter)) {
22
+ w.write(`Pick<${tableInterfaceName}, ${columnList.filter(c => c.hasFilter)
23
+ .map(c => `'${(0, utilities_1.camelize)(c.name)}'`)
24
+ .join(' | ')}>`);
25
+ }
26
+ if (filterList.length && columnList.some(c => c.hasFilter)) {
27
+ w.write(' & ');
28
+ }
29
+ if (filterList.length) {
30
+ ts_morph_2.Writers.objectType({
31
+ properties: filterList.map(control => ({ name: (0, utilities_1.camelize)(control.name), type: control.type.name })),
32
+ })(w);
33
+ }
34
+ };
21
35
  (0, form_table_action_1.CoerceTypeAlias)(sourceFile, interfaceName, {
22
36
  type,
23
37
  isExported: true,
24
38
  }).set({ type });
25
- (0, schematics_ts_morph_1.CoerceImports)(sourceFile, {
39
+ (0, ts_morph_1.CoerceImports)(sourceFile, {
26
40
  namedImports: [tableInterfaceName],
27
41
  moduleSpecifier: `./${name}-${(0, utilities_1.dasherize)(suffix)}`,
28
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"use-pick-from-table-interface-as-form-type.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/use-pick-from-table-interface-as-form-type.ts"],"names":[],"mappings":";;;AACA,mEAImC;AACnC,qEAA0D;AAC1D,+CAIyB;AACzB,oFAA+E;AAW/E,SAAgB,uCAAuC,CACrD,OAAuD;IAEvD,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,MAAM,GAAG,OAAO,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,oBAAQ,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAK,SAAU,EAAE,CAAC;IACxC,MAAM,kBAAkB,GAAG,IAAK,IAAA,oBAAQ,EAAC,IAAI,CAAE,GAAG,IAAA,oBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;IAErE,OAAO,IAAA,wDAAkC,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;QAE7E,MAAM,oBAAoB,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,QAAS,kBAAmB,KAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;aAC/E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAK,IAAA,oBAAQ,EAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC;aACnC,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC;QAEnB,IAAA,mCAAe,EAAC,UAAU,EAAE,aAAa,EAAE;YACzC,IAAI;YACJ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjB,IAAA,mCAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,kBAAkB,CAAE;YACpC,eAAe,EAAE,KAAM,IAAK,IAAI,IAAA,qBAAS,EAAC,MAAM,CAAC,EAAE;SACpD,CAAC,CAAC;IACL,CAAC,EAAE,CAAE,GAAG,GAAG,IAAA,mCAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAE,CAAC,CAAC;AACnD,CAAC;AAnCD,0FAmCC"}
1
+ {"version":3,"file":"use-pick-from-table-interface-as-form-type.js","sourceRoot":"","sources":["../../../../../../packages/schematic/angular/src/lib/use-pick-from-table-interface-as-form-type.ts"],"names":[],"mappings":";;;AACA,mEAEmC;AACnC,qEAA0D;AAC1D,6CAA+C;AAC/C,+CAIyB;AAEzB,uCAGkB;AAClB,oFAA+E;AAa/E,SAAgB,uCAAuC,CACrD,OAAuD;IAEvD,MAAM,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,MAAM,GAAG,OAAO,EAChB,UAAU,GACX,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,oBAAQ,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAK,SAAU,EAAE,CAAC;IACxC,MAAM,kBAAkB,GAAG,IAAK,IAAA,oBAAQ,EAAC,IAAI,CAAE,GAAG,IAAA,oBAAQ,EAAC,MAAM,CAAC,EAAE,CAAC;IAErE,OAAO,IAAA,wDAAkC,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,EAAE;QAE7E,MAAM,oBAAoB,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,oBAAoB,EAAE,CAAC;YACzB,oBAAoB,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAmB,CAAC,CAAC,EAAE;YAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,CAAC,CAAC,KAAK,CAAC,QAAS,kBAAmB,KAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;qBAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAK,IAAA,oBAAQ,EAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC;qBACnC,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,kBAAO,CAAC,UAAU,CAAC;oBACjB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAA,oBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;iBACnG,CAAC,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;QACH,CAAC,CAAC;QAEF,IAAA,mCAAe,EAAC,UAAU,EAAE,aAAa,EAAE;YACzC,IAAI;YACJ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjB,IAAA,wBAAa,EAAC,UAAU,EAAE;YACxB,YAAY,EAAE,CAAE,kBAAkB,CAAE;YACpC,eAAe,EAAE,KAAM,IAAK,IAAI,IAAA,qBAAS,EAAC,MAAM,CAAC,EAAE;SACpD,CAAC,CAAC;IACL,CAAC,EAAE,CAAE,GAAG,GAAG,IAAA,mCAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAE,CAAC,CAAC;AACnD,CAAC;AAhDD,0FAgDC"}
@@ -0,0 +1,8 @@
1
+ import { DataProperty, NormalizedDataProperty } from '@rxap/ts-morph';
2
+ export interface IfTruthy {
3
+ property: DataProperty;
4
+ }
5
+ export interface NormalizedIfTruthy {
6
+ property: NormalizedDataProperty;
7
+ }
8
+ export declare function NormalizeIfTruthy(item?: IfTruthy): NormalizedIfTruthy | null;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeIfTruthy = void 0;
4
+ const ts_morph_1 = require("@rxap/ts-morph");
5
+ function NormalizeIfTruthy(item) {
6
+ if (!item || Object.keys(item).length === 0) {
7
+ return null;
8
+ }
9
+ return Object.seal({
10
+ property: (0, ts_morph_1.NormalizeDataProperty)(item.property),
11
+ });
12
+ }
13
+ exports.NormalizeIfTruthy = NormalizeIfTruthy;
14
+ //# sourceMappingURL=if-truthy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if-truthy.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/angular/src/lib/utilities/if-truthy.ts"],"names":[],"mappings":";;;AAAA,6CAIwB;AAUxB,SAAgB,iBAAiB,CAAC,IAAe;IAC/C,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACjB,QAAQ,EAAE,IAAA,gCAAqB,EAAC,IAAI,CAAC,QAAQ,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAPD,8CAOC"}
package/src/schema.json CHANGED
@@ -129,30 +129,7 @@
129
129
  "$ref": "#/definitions/accordionIdentifier"
130
130
  },
131
131
  "header": {
132
- "oneOf": [
133
- {
134
- "type": "object",
135
- "properties": {
136
- "title": {
137
- "type": "string"
138
- }
139
- },
140
- "required": [
141
- "title"
142
- ]
143
- },
144
- {
145
- "type": "object",
146
- "properties": {
147
- "property": {
148
- "$ref": "#/definitions/property"
149
- }
150
- },
151
- "required": [
152
- "property"
153
- ]
154
- }
155
- ]
132
+ "$ref": "#/definitions/accordionHeader"
156
133
  },
157
134
  "itemList": {
158
135
  "alias": "item",
@@ -176,6 +153,33 @@
176
153
  }
177
154
  ]
178
155
  },
156
+ "accordionHeader": {
157
+ "oneOf": [
158
+ {
159
+ "allOf": [
160
+ {
161
+ "$ref": "#/definitions/baseAccordionHeader"
162
+ },
163
+ {
164
+ "type": "object",
165
+ "properties": {
166
+ "kind": {
167
+ "type": "string",
168
+ "const": "default",
169
+ "default": "default"
170
+ }
171
+ }
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ "$ref": "#/definitions/staticAccordionHeader"
177
+ },
178
+ {
179
+ "$ref": "#/definitions/propertyAccordionHeader"
180
+ }
181
+ ]
182
+ },
179
183
  "accordionIdentifier": {
180
184
  "type": "object",
181
185
  "properties": {
@@ -482,6 +486,31 @@
482
486
  "description": "The backend that should be used to handel data",
483
487
  "default": "none"
484
488
  },
489
+ "baseAccordionHeader": {
490
+ "type": "object",
491
+ "properties": {
492
+ "kind": {
493
+ "type": "string"
494
+ },
495
+ "template": {
496
+ "type": "string"
497
+ },
498
+ "importList": {
499
+ "alias": "import",
500
+ "type": "array",
501
+ "items": {
502
+ "$ref": "#/definitions/type"
503
+ }
504
+ },
505
+ "propertyList": {
506
+ "type": "array",
507
+ "items": {
508
+ "$ref": "#/definitions/property"
509
+ }
510
+ }
511
+ },
512
+ "required": []
513
+ },
485
514
  "baseAccordionItem": {
486
515
  "type": "object",
487
516
  "properties": {
@@ -610,6 +639,61 @@
610
639
  }
611
640
  ]
612
641
  },
642
+ "baseTableAction": {
643
+ "type": "object",
644
+ "properties": {
645
+ "type": {
646
+ "type": "string"
647
+ },
648
+ "refresh": {
649
+ "type": "boolean"
650
+ },
651
+ "confirm": {
652
+ "type": "boolean"
653
+ },
654
+ "tooltip": {
655
+ "type": "string"
656
+ },
657
+ "errorMessage": {
658
+ "type": "string"
659
+ },
660
+ "successMessage": {
661
+ "type": "string"
662
+ },
663
+ "priority": {
664
+ "type": "number"
665
+ },
666
+ "checkFunction": {
667
+ "type": "string"
668
+ },
669
+ "inHeader": {
670
+ "type": "boolean"
671
+ },
672
+ "kind": {
673
+ "alias": "role",
674
+ "type": "string"
675
+ },
676
+ "icon": {
677
+ "type": "string"
678
+ },
679
+ "svgIcon": {
680
+ "type": "string"
681
+ },
682
+ "permission": {
683
+ "type": "string"
684
+ },
685
+ "color": {
686
+ "type": "string",
687
+ "description": "Value for the color input of the mat-button / mat-icon component"
688
+ },
689
+ "cssClass": {
690
+ "$ref": "#/definitions/cssClass"
691
+ }
692
+ },
693
+ "required": [
694
+ "type"
695
+ ]
696
+ },
613
697
  "baseTableColumn": {
614
698
  "type": "object",
615
699
  "properties": {
@@ -1069,14 +1153,19 @@
1069
1153
  }
1070
1154
  ]
1071
1155
  },
1072
- "dialogTableActionSchematic": {
1156
+ "dialogTableAction": {
1073
1157
  "allOf": [
1074
1158
  {
1075
- "$ref": "#/definitions/tableActionSchematic"
1159
+ "$ref": "#/definitions/baseTableAction"
1076
1160
  },
1077
1161
  {
1078
1162
  "type": "object",
1079
1163
  "properties": {
1164
+ "kind": {
1165
+ "type": "string",
1166
+ "const": "dialog",
1167
+ "default": "dialog"
1168
+ },
1080
1169
  "withoutBody": {
1081
1170
  "type": "boolean",
1082
1171
  "description": "Whether the table action operation should be without body",
@@ -1116,7 +1205,21 @@
1116
1205
  "type": "string",
1117
1206
  "description": "The title for the dialog"
1118
1207
  }
1119
- }
1208
+ },
1209
+ "required": [
1210
+ "kind",
1211
+ "title"
1212
+ ]
1213
+ }
1214
+ ]
1215
+ },
1216
+ "dialogTableActionSchematic": {
1217
+ "allOf": [
1218
+ {
1219
+ "$ref": "#/definitions/tableActionSchematic"
1220
+ },
1221
+ {
1222
+ "$ref": "#/definitions/dialogTableAction"
1120
1223
  }
1121
1224
  ]
1122
1225
  },
@@ -1419,17 +1522,31 @@
1419
1522
  }
1420
1523
  ]
1421
1524
  },
1422
- "formTableActionSchematic": {
1525
+ "formTableAction": {
1423
1526
  "allOf": [
1424
1527
  {
1425
- "$ref": "#/definitions/tableActionSchematic"
1528
+ "$ref": "#/definitions/baseTableAction"
1426
1529
  },
1427
1530
  {
1428
1531
  "type": "object",
1429
1532
  "properties": {
1533
+ "kind": {
1534
+ "type": "string",
1535
+ "const": "form",
1536
+ "default": "form"
1537
+ },
1430
1538
  "formInitial": {
1431
- "type": "object",
1432
- "description": "The mapping from the row object to the form initial object"
1539
+ "oneOf": [
1540
+ {
1541
+ "type": "object",
1542
+ "description": "The mapping from the row object to the form initial object"
1543
+ },
1544
+ {
1545
+ "type": "boolean",
1546
+ "description": "If true the row object will be used as form initial object. If false the form initial object will be empty. Default is false.",
1547
+ "default": false
1548
+ }
1549
+ ]
1433
1550
  },
1434
1551
  "formComponent": {
1435
1552
  "type": "string"
@@ -1477,10 +1594,24 @@
1477
1594
  }
1478
1595
  }
1479
1596
  },
1480
- "formOptions": {
1597
+ "form": {
1598
+ "alias": "formOptions",
1481
1599
  "$ref": "#/definitions/formComponent"
1482
1600
  }
1483
- }
1601
+ },
1602
+ "required": [
1603
+ "kind"
1604
+ ]
1605
+ }
1606
+ ]
1607
+ },
1608
+ "formTableActionSchematic": {
1609
+ "allOf": [
1610
+ {
1611
+ "$ref": "#/definitions/tableActionSchematic"
1612
+ },
1613
+ {
1614
+ "$ref": "#/definitions/formTableAction"
1484
1615
  }
1485
1616
  ]
1486
1617
  },
@@ -1712,6 +1843,14 @@
1712
1843
  "rowId": {
1713
1844
  "$ref": "#/definitions/property"
1714
1845
  },
1846
+ "filterList": {
1847
+ "alias": "filter",
1848
+ "type": "array",
1849
+ "items": {
1850
+ "$ref": "#/definitions/formControl"
1851
+ },
1852
+ "description": "List of table filter controls"
1853
+ },
1715
1854
  "columnList": {
1716
1855
  "alias": "column",
1717
1856
  "type": "array",
@@ -1784,14 +1923,19 @@
1784
1923
  }
1785
1924
  }
1786
1925
  },
1787
- "navigationTableActionSchematic": {
1926
+ "navigationTableAction": {
1788
1927
  "allOf": [
1789
1928
  {
1790
- "$ref": "#/definitions/tableActionSchematic"
1929
+ "$ref": "#/definitions/baseTableAction"
1791
1930
  },
1792
1931
  {
1793
1932
  "type": "object",
1794
1933
  "properties": {
1934
+ "kind": {
1935
+ "type": "string",
1936
+ "const": "navigation",
1937
+ "default": "navigation"
1938
+ },
1795
1939
  "route": {
1796
1940
  "type": "string",
1797
1941
  "description": "The route for the table action"
@@ -1801,7 +1945,21 @@
1801
1945
  "description": "Use the current ActivatedRoute to resolve the route or not",
1802
1946
  "default": false
1803
1947
  }
1804
- }
1948
+ },
1949
+ "required": [
1950
+ "kind",
1951
+ "route"
1952
+ ]
1953
+ }
1954
+ ]
1955
+ },
1956
+ "navigationTableActionSchematic": {
1957
+ "allOf": [
1958
+ {
1959
+ "$ref": "#/definitions/tableActionSchematic"
1960
+ },
1961
+ {
1962
+ "$ref": "#/definitions/navigationTableAction"
1805
1963
  }
1806
1964
  ]
1807
1965
  },
@@ -1826,14 +1984,19 @@
1826
1984
  }
1827
1985
  ]
1828
1986
  },
1829
- "openApiTableActionSchematic": {
1987
+ "openApiTableAction": {
1830
1988
  "allOf": [
1831
1989
  {
1832
- "$ref": "#/definitions/tableActionSchematic"
1990
+ "$ref": "#/definitions/baseTableAction"
1833
1991
  },
1834
1992
  {
1835
1993
  "type": "object",
1836
1994
  "properties": {
1995
+ "kind": {
1996
+ "type": "string",
1997
+ "const": "open-api",
1998
+ "default": "open-api"
1999
+ },
1837
2000
  "operationId": {
1838
2001
  "type": "string",
1839
2002
  "description": "The open api operationId for the table action"
@@ -1870,15 +2033,49 @@
1870
2033
  }
1871
2034
  },
1872
2035
  "required": [
2036
+ "kind",
1873
2037
  "operationId"
1874
2038
  ]
1875
2039
  }
1876
2040
  ]
1877
2041
  },
2042
+ "openApiTableActionSchematic": {
2043
+ "allOf": [
2044
+ {
2045
+ "$ref": "#/definitions/tableActionSchematic"
2046
+ },
2047
+ {
2048
+ "$ref": "#/definitions/openApiTableAction"
2049
+ }
2050
+ ]
2051
+ },
2052
+ "operationTableAction": {
2053
+ "allOf": [
2054
+ {
2055
+ "$ref": "#/definitions/baseTableAction"
2056
+ },
2057
+ {
2058
+ "type": "object",
2059
+ "properties": {
2060
+ "kind": {
2061
+ "type": "string",
2062
+ "const": "operation",
2063
+ "default": "operation"
2064
+ }
2065
+ },
2066
+ "required": [
2067
+ "kind"
2068
+ ]
2069
+ }
2070
+ ]
2071
+ },
1878
2072
  "operationTableActionSchematic": {
1879
2073
  "allOf": [
1880
2074
  {
1881
2075
  "$ref": "#/definitions/tableActionSchematic"
2076
+ },
2077
+ {
2078
+ "$ref": "#/definitions/operationTableAction"
1882
2079
  }
1883
2080
  ]
1884
2081
  },
@@ -1994,6 +2191,29 @@
1994
2191
  }
1995
2192
  ]
1996
2193
  },
2194
+ "propertyAccordionHeader": {
2195
+ "allOf": [
2196
+ {
2197
+ "$ref": "#/definitions/baseAccordionHeader"
2198
+ },
2199
+ {
2200
+ "type": "object",
2201
+ "properties": {
2202
+ "kind": {
2203
+ "type": "string",
2204
+ "const": "static",
2205
+ "default": "static"
2206
+ },
2207
+ "property": {
2208
+ "$ref": "#/definitions/property"
2209
+ }
2210
+ },
2211
+ "required": [
2212
+ "property"
2213
+ ]
2214
+ }
2215
+ ]
2216
+ },
1997
2217
  "routeComponent": {
1998
2218
  "allOf": [
1999
2219
  {
@@ -2624,6 +2844,30 @@
2624
2844
  }
2625
2845
  ]
2626
2846
  },
2847
+ "staticAccordionHeader": {
2848
+ "allOf": [
2849
+ {
2850
+ "$ref": "#/definitions/baseAccordionHeader"
2851
+ },
2852
+ {
2853
+ "type": "object",
2854
+ "properties": {
2855
+ "kind": {
2856
+ "type": "string",
2857
+ "const": "static",
2858
+ "default": "static"
2859
+ },
2860
+ "title": {
2861
+ "type": "string",
2862
+ "description": "The title of the accordion header"
2863
+ }
2864
+ },
2865
+ "required": [
2866
+ "title"
2867
+ ]
2868
+ }
2869
+ ]
2870
+ },
2627
2871
  "switchAccordionItem": {
2628
2872
  "allOf": [
2629
2873
  {
@@ -2787,60 +3031,39 @@
2787
3031
  },
2788
3032
  "tableAction": {
2789
3033
  "type": "object",
2790
- "properties": {
2791
- "type": {
2792
- "type": "string"
2793
- },
2794
- "refresh": {
2795
- "type": "boolean"
2796
- },
2797
- "confirm": {
2798
- "type": "boolean"
2799
- },
2800
- "tooltip": {
2801
- "type": "string"
2802
- },
2803
- "errorMessage": {
2804
- "type": "string"
2805
- },
2806
- "successMessage": {
2807
- "type": "string"
2808
- },
2809
- "priority": {
2810
- "type": "number"
2811
- },
2812
- "checkFunction": {
2813
- "type": "string"
2814
- },
2815
- "inHeader": {
2816
- "type": "boolean"
2817
- },
2818
- "role": {
2819
- "type": "string"
2820
- },
2821
- "icon": {
2822
- "type": "string"
3034
+ "oneOf": [
3035
+ {
3036
+ "allOf": [
3037
+ {
3038
+ "$ref": "#/definitions/baseTableAction"
3039
+ },
3040
+ {
3041
+ "type": "object",
3042
+ "properties": {
3043
+ "kind": {
3044
+ "type": "string",
3045
+ "const": "default",
3046
+ "default": "default"
3047
+ }
3048
+ }
3049
+ }
3050
+ ]
2823
3051
  },
2824
- "svgIcon": {
2825
- "type": "string"
3052
+ {
3053
+ "$ref": "#/definitions/dialogTableAction"
2826
3054
  },
2827
- "permission": {
2828
- "type": "string"
3055
+ {
3056
+ "$ref": "#/definitions/formTableAction"
2829
3057
  },
2830
- "color": {
2831
- "type": "string",
2832
- "description": "Value for the color input of the mat-button / mat-icon component"
3058
+ {
3059
+ "$ref": "#/definitions/navigationTableAction"
2833
3060
  },
2834
- "cssClass": {
2835
- "$ref": "#/definitions/cssClass"
3061
+ {
3062
+ "$ref": "#/definitions/openApiTableAction"
2836
3063
  },
2837
- "options": {
2838
- "type": "object",
2839
- "additionalProperties": true
3064
+ {
3065
+ "$ref": "#/definitions/operationTableAction"
2840
3066
  }
2841
- },
2842
- "required": [
2843
- "type"
2844
3067
  ]
2845
3068
  },
2846
3069
  "tableActionSchematic": {
@@ -22,6 +22,9 @@
22
22
  {{/if}}
23
23
  >
24
24
  {{#each itemList}}
25
+ {{#if this.ifTruthy}}
26
+ <ng-template [ngIf]="data.{{this.ifTruthy.property.name}}">
27
+ {{/if}}
25
28
  {{#if this.permission}}
26
29
  <ng-template rxapIfHasPermission="{{this.permission}}">
27
30
  {{/if}}
@@ -29,6 +32,9 @@
29
32
  {{#if this.permission}}
30
33
  </ng-template>
31
34
  {{/if}}
35
+ {{#if this.ifTruthy}}
36
+ </ng-template>
37
+ {{/if}}
32
38
  {{/each}}
33
39
  </mat-accordion>
34
40
  </div>
@@ -1,15 +1,15 @@
1
1
  import { Rule, Tree } from '@angular-devkit/schematics';
2
- import { NormalizedDataProperty, NormalizedUpstreamOptions } from '@rxap/ts-morph';
2
+ import { NormalizedDataProperty, NormalizedTypeImport, NormalizedUpstreamOptions } from '@rxap/ts-morph';
3
3
  import { Normalized } from '@rxap/utilities';
4
- import { NormalizedAccordionHeader } from '../../../lib/accordion-header';
4
+ import { NormalizedAccordionHeader } from '../../../lib/accordion/accordion-header';
5
5
  import { NormalizedAccordionIdentifier } from '../../../lib/accordion-identifier';
6
- import { NormalizedBaseAccordionItem } from '../../../lib/accordion-item';
6
+ import { NormalizedAccordionItem } from '../../../lib/accordion/accordion-item';
7
7
  import { AngularOptions, NormalizedAngularOptions } from '../../../lib/angular-options';
8
8
  import { NormalizedPersistent } from '../../../lib/persistent';
9
9
  import { AccordionComponentOptions } from './schema';
10
10
  export interface NormalizedAccordionComponentOptions extends Readonly<Normalized<Omit<AccordionComponentOptions, keyof AngularOptions | 'itemList' | 'persistent' | 'identifier'>> & NormalizedAngularOptions> {
11
11
  name: string;
12
- itemList: ReadonlyArray<NormalizedBaseAccordionItem>;
12
+ itemList: ReadonlyArray<NormalizedAccordionItem>;
13
13
  persistent: NormalizedPersistent | null;
14
14
  withPermission: boolean;
15
15
  header: NormalizedAccordionHeader | null;
@@ -17,5 +17,6 @@ export interface NormalizedAccordionComponentOptions extends Readonly<Normalized
17
17
  controllerName: string;
18
18
  propertyList: NormalizedDataProperty[];
19
19
  upstream: NormalizedUpstreamOptions | null;
20
+ importList: NormalizedTypeImport[];
20
21
  }
21
22
  export default function (options: AccordionComponentOptions): (host: Tree) => Rule;