@rxap/schematic-angular 16.1.0-dev.1 → 16.1.0-dev.10

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 (81) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +1 -1
  3. package/collection.json +16 -1
  4. package/package.json +13 -12
  5. package/src/lib/angular-options.js +18 -1
  6. package/src/lib/angular-options.js.map +1 -1
  7. package/src/lib/minimum-table-component-options.d.ts +1 -0
  8. package/src/lib/minimum-table-component-options.js +53 -144
  9. package/src/lib/minimum-table-component-options.js.map +1 -1
  10. package/src/lib/table-action.d.ts +1 -1
  11. package/src/lib/table-action.js +10 -7
  12. package/src/lib/table-action.js.map +1 -1
  13. package/src/lib/table-header-button.d.ts +10 -1
  14. package/src/lib/table-header-button.js +20 -1
  15. package/src/lib/table-header-button.js.map +1 -1
  16. package/src/lib/table-row-action.d.ts +1 -0
  17. package/src/lib/table-row-action.js +2 -1
  18. package/src/lib/table-row-action.js.map +1 -1
  19. package/src/schematics/form/control/input-form-control/index.d.ts +2 -2
  20. package/src/schematics/form/control/input-form-control/index.js +7 -3
  21. package/src/schematics/form/control/input-form-control/index.js.map +1 -1
  22. package/src/schematics/form/control/select-form-control/index.js +2 -0
  23. package/src/schematics/form/control/select-form-control/index.js.map +1 -1
  24. package/src/schematics/form/control/table-select-form-control/index.js +2 -0
  25. package/src/schematics/form/control/table-select-form-control/index.js.map +1 -1
  26. package/src/schematics/form/form-component/index.d.ts +0 -1
  27. package/src/schematics/form/form-component/index.js +45 -14
  28. package/src/schematics/form/form-component/index.js.map +1 -1
  29. package/src/schematics/form/form-component/schema.json +3 -6
  30. package/src/schematics/form/form-control/index.d.ts +2 -2
  31. package/src/schematics/form/form-control/index.js +7 -8
  32. package/src/schematics/form/form-control/index.js.map +1 -1
  33. package/src/schematics/form/form-definition/index.d.ts +2 -2
  34. package/src/schematics/form/form-definition/index.js +8 -1
  35. package/src/schematics/form/form-definition/index.js.map +1 -1
  36. package/src/schematics/table/action/dialog-table-action/index.d.ts +2 -1
  37. package/src/schematics/table/action/dialog-table-action/index.js +6 -2
  38. package/src/schematics/table/action/dialog-table-action/index.js.map +1 -1
  39. package/src/schematics/table/action/dialog-table-action/schema.json +4 -0
  40. package/src/schematics/table/action/form-table-action/index.d.ts +6 -1
  41. package/src/schematics/table/action/form-table-action/index.js +121 -77
  42. package/src/schematics/table/action/form-table-action/index.js.map +1 -1
  43. package/src/schematics/table/action/form-table-action/schema.json +39 -0
  44. package/src/schematics/table/action/navigation-table-action/index.d.ts +1 -1
  45. package/src/schematics/table/action/navigation-table-action/index.js +10 -10
  46. package/src/schematics/table/action/navigation-table-action/index.js.map +1 -1
  47. package/src/schematics/table/action/navigation-table-action/schema.json +4 -0
  48. package/src/schematics/table/action/operation-table-action/index.d.ts +1 -3
  49. package/src/schematics/table/action/operation-table-action/index.js +11 -12
  50. package/src/schematics/table/action/operation-table-action/index.js.map +1 -1
  51. package/src/schematics/table/action/operation-table-action/schema.json +4 -0
  52. package/src/schematics/table/header-button/form-table-header-button/index.d.ts +11 -0
  53. package/src/schematics/table/header-button/form-table-header-button/index.js +83 -0
  54. package/src/schematics/table/header-button/form-table-header-button/index.js.map +1 -0
  55. package/src/schematics/table/header-button/form-table-header-button/schema.d.ts +7 -0
  56. package/src/schematics/table/header-button/form-table-header-button/schema.json +123 -0
  57. package/src/schematics/table/header-button/navigation-table-header-button/index.d.ts +8 -0
  58. package/src/schematics/table/header-button/navigation-table-header-button/index.js +62 -0
  59. package/src/schematics/table/header-button/navigation-table-header-button/index.js.map +1 -0
  60. package/src/schematics/table/header-button/navigation-table-header-button/schema.d.ts +6 -0
  61. package/src/schematics/table/header-button/navigation-table-header-button/schema.json +85 -0
  62. package/src/schematics/table/table-action/index.d.ts +1 -1
  63. package/src/schematics/table/table-action/index.js +6 -4
  64. package/src/schematics/table/table-action/index.js.map +1 -1
  65. package/src/schematics/table/table-action/schema.json +4 -0
  66. package/src/schematics/table/table-component/files/component/__componentName__.component.html.template +5 -8
  67. package/src/schematics/table/table-component/files/component/__componentName__.component.ts.template +2 -4
  68. package/src/schematics/table/table-component/index.d.ts +1 -0
  69. package/src/schematics/table/table-component/index.js +38 -7
  70. package/src/schematics/table/table-component/index.js.map +1 -1
  71. package/src/schematics/table/table-component/schema.json +10 -9
  72. package/src/schematics/table/table-header-button/index.d.ts +10 -0
  73. package/src/schematics/table/table-header-button/index.js +50 -0
  74. package/src/schematics/table/table-header-button/index.js.map +1 -0
  75. package/src/schematics/table/table-header-button/schema.d.ts +7 -0
  76. package/src/schematics/table/table-header-button/schema.json +80 -0
  77. package/src/schematics/table/tree-table-component/files/component/__componentName__.component.ts.template +0 -2
  78. package/src/schematics/table/tree-table-component/index.d.ts +1 -0
  79. package/src/schematics/table/tree-table-component/index.js +13 -17
  80. package/src/schematics/table/tree-table-component/index.js.map +1 -1
  81. /package/src/schematics/form/form-component/files/window/{open-__name__-form-window.method.ts.template → open-__componentName__-window.method.ts.template} +0 -0
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeFormTableHeaderButtonOptions = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
6
+ const schematics_utilities_1 = require("@rxap/schematics-utilities");
7
+ const ts_morph_1 = require("ts-morph");
8
+ const angular_options_1 = require("../../../../lib/angular-options");
9
+ const assert_table_component_exists_1 = require("../../../../lib/assert-table-component-exists");
10
+ const index_1 = require("../../table-header-button/index");
11
+ function NormalizeFormTableHeaderButtonOptions(options) {
12
+ const normalizedTableHeaderButtonOptions = (0, index_1.NormalizeTableHeaderButtonOptions)(options);
13
+ const nestModule = options.nestModule;
14
+ return Object.seal(Object.assign(Object.assign({}, normalizedTableHeaderButtonOptions), { context: options.context, nestModule, controllerName: (0, schematics_ts_morph_1.BuildNestControllerName)({
15
+ nestModule,
16
+ controllerName: 'header-button',
17
+ }) }));
18
+ }
19
+ exports.NormalizeFormTableHeaderButtonOptions = NormalizeFormTableHeaderButtonOptions;
20
+ function printOptions(options) {
21
+ (0, angular_options_1.PrintAngularOptions)('form-table-header-button', options);
22
+ }
23
+ function default_1(options) {
24
+ const normalizedOptions = NormalizeFormTableHeaderButtonOptions(options);
25
+ const { refresh, confirm, tooltip, errorMessage, successMessage, tableName, project, feature, shared, directory, overwrite, options: formOptions, context, backend, nestModule, controllerName, } = normalizedOptions;
26
+ printOptions(normalizedOptions);
27
+ return (host) => {
28
+ (0, assert_table_component_exists_1.AssertTableComponentExists)(host, normalizedOptions);
29
+ return (0, schematics_1.chain)([
30
+ () => console.group('\x1b[32m[@rxap/schematics-angular:form-table-header-button]\x1b[0m'),
31
+ () => console.log('Coerce table header button form ...'),
32
+ (0, schematics_utilities_1.ExecuteSchematic)('form-component', Object.assign(Object.assign({}, formOptions), { project, name: `table-header-button`, feature,
33
+ directory,
34
+ shared, window: true, nestModule,
35
+ controllerName,
36
+ context,
37
+ backend,
38
+ overwrite })),
39
+ () => console.log('Coerce table header button method ...'),
40
+ (0, schematics_ts_morph_1.CoerceTableHeaderButtonMethodRule)({
41
+ project,
42
+ feature,
43
+ shared,
44
+ directory,
45
+ overwrite,
46
+ tableName,
47
+ refresh,
48
+ confirm,
49
+ tooltip,
50
+ errorMessage,
51
+ successMessage,
52
+ tsMorphTransform: (project, sourceFile, classDeclaration) => {
53
+ const [constructorDeclaration] = (0, schematics_ts_morph_1.CoerceClassConstructor)(classDeclaration);
54
+ (0, schematics_ts_morph_1.CoerceParameterDeclaration)(constructorDeclaration, 'openWindowMethod', {
55
+ isReadonly: true,
56
+ scope: ts_morph_1.Scope.Private,
57
+ type: 'OpenTableHeaderButtonFormWindowMethod',
58
+ });
59
+ (0, schematics_ts_morph_1.CoerceImports)(sourceFile, [
60
+ {
61
+ moduleSpecifier: '../table-header-button-form/open-table-header-button-form-window.method',
62
+ namedImports: ['OpenTableHeaderButtonFormWindowMethod'],
63
+ },
64
+ ]);
65
+ return {
66
+ statements: ['return this.openWindowMethod.call(parameters).toPromise();'],
67
+ };
68
+ },
69
+ tsMorphTransformComponent: (project, [sourceFile]) => {
70
+ (0, schematics_ts_morph_1.AddComponentProvider)(sourceFile, 'OpenTableHeaderButtonFormWindowMethod', [
71
+ {
72
+ moduleSpecifier: './table-header-button-form/open-table-header-button-form-window.method',
73
+ namedImports: ['OpenTableHeaderButtonFormWindowMethod'],
74
+ },
75
+ ]);
76
+ },
77
+ }),
78
+ () => console.groupEnd(),
79
+ ]);
80
+ };
81
+ }
82
+ exports.default = default_1;
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/schematic/angular/src/schematics/table/header-button/form-table-header-button/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { TableHeaderButtonOptions } from '../../table-header-button/schema';
2
+
3
+
4
+ export interface FormTableHeaderButtonOptions extends TableHeaderButtonOptions {
5
+ nestModule: string;
6
+ context: string;
7
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "table-action",
4
+ "type": "object",
5
+ "properties": {
6
+ "tableName": {
7
+ "alias": "table",
8
+ "type": "string",
9
+ "description": "The name of the table action"
10
+ },
11
+ "project": {
12
+ "type": "string",
13
+ "description": "The target project where the table action should be added."
14
+ },
15
+ "feature": {
16
+ "type": "string",
17
+ "description": "The feature name where the table action should be added.",
18
+ "x-prompt": "To which feature should the table action be added?"
19
+ },
20
+ "backend": {
21
+ "type": "string",
22
+ "description": "The backend that should be used to handel data",
23
+ "enum": [
24
+ "none",
25
+ "local",
26
+ "nestjs",
27
+ "open-api"
28
+ ],
29
+ "default": "none"
30
+ },
31
+ "shared": {
32
+ "type": "boolean",
33
+ "description": "Whether the table action is shared across applications",
34
+ "default": false
35
+ },
36
+ "refresh": {
37
+ "type": "boolean",
38
+ "description": "Whether the table action should refresh the table after execution",
39
+ "default": false
40
+ },
41
+ "confirm": {
42
+ "type": "boolean",
43
+ "description": "Whether the table action should confirm before execution",
44
+ "default": false
45
+ },
46
+ "tooltip": {
47
+ "type": "string",
48
+ "description": "The tooltip for the table action"
49
+ },
50
+ "errorMessage": {
51
+ "type": "string",
52
+ "description": "The error message for the table action"
53
+ },
54
+ "successMessage": {
55
+ "type": "string",
56
+ "description": "The success message for the table action"
57
+ },
58
+ "directory": {
59
+ "type": "string",
60
+ "description": "A directory name or absolute path for the table action. relative to the feature base path"
61
+ },
62
+ "permission": {
63
+ "type": "string"
64
+ },
65
+ "icon": {
66
+ "type": "string"
67
+ },
68
+ "svgIcon": {
69
+ "type": "string"
70
+ },
71
+ "options": {
72
+ "type": "object",
73
+ "properties": {
74
+ "controlList": {
75
+ "alias": "control",
76
+ "type": "array",
77
+ "items": {
78
+ "type": "object",
79
+ "properties": {
80
+ "type": {
81
+ "type": "string"
82
+ },
83
+ "name": {
84
+ "type": "string"
85
+ },
86
+ "state": {
87
+ "type": "string",
88
+ "description": "The initial state of the control"
89
+ },
90
+ "isRequired": {
91
+ "type": "boolean",
92
+ "description": "Whether the control value is required",
93
+ "default": false
94
+ },
95
+ "validatorList": {
96
+ "type": "array",
97
+ "items": {
98
+ "type": "string"
99
+ }
100
+ }
101
+ },
102
+ "required": [
103
+ "name"
104
+ ]
105
+ }
106
+ }
107
+ },
108
+ "additionalProperties": true
109
+ },
110
+ "nestModule": {
111
+ "type": "string",
112
+ "description": "The module name for the table nest operations"
113
+ },
114
+ "context": {
115
+ "type": "string",
116
+ "description": "The context use to generate proper names for class, files, etc"
117
+ }
118
+ },
119
+ "required": [
120
+ "project",
121
+ "feature"
122
+ ]
123
+ }
@@ -0,0 +1,8 @@
1
+ import { Tree } from '@angular-devkit/schematics';
2
+ import { Normalized } from '@rxap/utilities';
3
+ import { NormalizedAngularOptions } from '../../../../lib/angular-options';
4
+ import { NormalizedTableHeaderButton } from '../../../../lib/table-header-button';
5
+ import { NavigationTableHeaderButtonOptions } from './schema';
6
+ export type NormalizedNavigationTableHeaderButtonOptions = Readonly<Normalized<NavigationTableHeaderButtonOptions> & NormalizedAngularOptions & NormalizedTableHeaderButton>;
7
+ export declare function NormalizeNavigationTableHeaderButtonOptions(options: Readonly<NavigationTableHeaderButtonOptions>): NormalizedNavigationTableHeaderButtonOptions;
8
+ export default function (options: NavigationTableHeaderButtonOptions): (host: Tree) => import("@angular-devkit/schematics").Rule;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NormalizeNavigationTableHeaderButtonOptions = void 0;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
6
+ const ts_morph_1 = require("ts-morph");
7
+ const angular_options_1 = require("../../../../lib/angular-options");
8
+ const assert_table_component_exists_1 = require("../../../../lib/assert-table-component-exists");
9
+ const index_1 = require("../../table-header-button/index");
10
+ function NormalizeNavigationTableHeaderButtonOptions(options) {
11
+ const normalizedTableHeaderButtonOptions = (0, index_1.NormalizeTableHeaderButtonOptions)(options);
12
+ return Object.seal(Object.assign(Object.assign({}, normalizedTableHeaderButtonOptions), { route: options.route }));
13
+ }
14
+ exports.NormalizeNavigationTableHeaderButtonOptions = NormalizeNavigationTableHeaderButtonOptions;
15
+ function printOptions(options) {
16
+ (0, angular_options_1.PrintAngularOptions)('navigation-table-header-button', options);
17
+ }
18
+ function default_1(options) {
19
+ const normalizedOptions = NormalizeNavigationTableHeaderButtonOptions(options);
20
+ const { refresh, confirm, tooltip, errorMessage, successMessage, tableName, project, feature, shared, directory, overwrite, route, } = normalizedOptions;
21
+ printOptions(normalizedOptions);
22
+ return (host) => {
23
+ (0, assert_table_component_exists_1.AssertTableComponentExists)(host, normalizedOptions);
24
+ return (0, schematics_1.chain)([
25
+ () => console.group('\x1b[32m[@rxap/schematics-angular:navigation-table-header-button]\x1b[0m'),
26
+ () => console.log('Coerce table header button method ...'),
27
+ (0, schematics_ts_morph_1.CoerceTableHeaderButtonMethodRule)({
28
+ project,
29
+ feature,
30
+ shared,
31
+ directory,
32
+ overwrite,
33
+ tableName,
34
+ refresh,
35
+ confirm,
36
+ tooltip,
37
+ errorMessage,
38
+ successMessage,
39
+ tsMorphTransform: (project, sourceFile, classDeclaration) => {
40
+ const [constructorDeclaration] = (0, schematics_ts_morph_1.CoerceClassConstructor)(classDeclaration);
41
+ (0, schematics_ts_morph_1.CoerceParameterDeclaration)(constructorDeclaration, 'route', {
42
+ isReadonly: true,
43
+ scope: ts_morph_1.Scope.Private,
44
+ type: 'ActivatedRoute',
45
+ });
46
+ (0, schematics_ts_morph_1.CoerceImports)(sourceFile, [
47
+ {
48
+ moduleSpecifier: '@angular/router',
49
+ namedImports: ['ActivatedRoute'],
50
+ },
51
+ ]);
52
+ return {
53
+ statements: [`return this.router.navigate('${route}', { route: this.route })`],
54
+ };
55
+ },
56
+ }),
57
+ () => console.groupEnd(),
58
+ ]);
59
+ };
60
+ }
61
+ exports.default = default_1;
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/schematic/angular/src/schematics/table/header-button/navigation-table-header-button/index.ts"],"names":[],"mappings":";;;AAAA,2DAGoC;AACpC,mEAKmC;AAEnC,uCAAiC;AACjC,qEAGyC;AACzC,iGAA2F;AAE3F,2DAAoF;AAKpF,SAAgB,2CAA2C,CACzD,OAAqD;IAErD,MAAM,kCAAkC,GAAG,IAAA,yCAAiC,EAAC,OAAO,CAAC,CAAC;IACtF,OAAO,MAAM,CAAC,IAAI,iCACb,kCAAkC,KACrC,KAAK,EAAE,OAAO,CAAC,KAAK,IACpB,CAAC;AACL,CAAC;AARD,kGAQC;AAED,SAAS,YAAY,CAAC,OAAqD;IACzE,IAAA,qCAAmB,EAAC,gCAAgC,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,mBAAyB,OAA2C;IAClE,MAAM,iBAAiB,GAAG,2CAA2C,CAAC,OAAO,CAAC,CAAC;IAC/E,MAAM,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,SAAS,EACT,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,GACN,GAAG,iBAAiB,CAAC;IAEtB,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAU,EAAE,EAAE;QAEpB,IAAA,0DAA0B,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEpD,OAAO,IAAA,kBAAK,EAAC;YACX,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC;YAC/F,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC;YAC1D,IAAA,uDAAiC,EAAC;gBAChC,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,cAAc;gBACd,gBAAgB,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE;oBAC1D,MAAM,CAAE,sBAAsB,CAAE,GAAG,IAAA,4CAAsB,EAAC,gBAAgB,CAAC,CAAC;oBAC5E,IAAA,gDAA0B,EAAC,sBAAsB,EAAE,OAAO,EAAE;wBAC1D,UAAU,EAAE,IAAI;wBAChB,KAAK,EAAE,gBAAK,CAAC,OAAO;wBACpB,IAAI,EAAE,gBAAgB;qBACvB,CAAC,CAAC;oBACH,IAAA,mCAAa,EAAC,UAAU,EAAE;wBACxB;4BACE,eAAe,EAAE,iBAAiB;4BAClC,YAAY,EAAE,CAAE,gBAAgB,CAAE;yBACnC;qBACF,CAAC,CAAC;oBACH,OAAO;wBACL,UAAU,EAAE,CAAE,gCAAiC,KAAM,2BAA2B,CAAE;qBACnF,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AA3DD,4BA2DC"}
@@ -0,0 +1,6 @@
1
+ import { TableHeaderButtonOptions } from '../../table-header-button/schema';
2
+
3
+
4
+ export interface NavigationTableHeaderButtonOptions extends TableHeaderButtonOptions {
5
+ route: string;
6
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "table-action",
4
+ "type": "object",
5
+ "properties": {
6
+ "tableName": {
7
+ "alias": "table",
8
+ "type": "string",
9
+ "description": "The name of the table action"
10
+ },
11
+ "project": {
12
+ "type": "string",
13
+ "description": "The target project where the table action should be added."
14
+ },
15
+ "feature": {
16
+ "type": "string",
17
+ "description": "The feature name where the table action should be added.",
18
+ "x-prompt": "To which feature should the table action be added?"
19
+ },
20
+ "backend": {
21
+ "type": "string",
22
+ "description": "The backend that should be used to handel data",
23
+ "enum": [
24
+ "none",
25
+ "local",
26
+ "nestjs",
27
+ "open-api"
28
+ ],
29
+ "default": "none"
30
+ },
31
+ "shared": {
32
+ "type": "boolean",
33
+ "description": "Whether the table action is shared across applications",
34
+ "default": false
35
+ },
36
+ "refresh": {
37
+ "type": "boolean",
38
+ "description": "Whether the table action should refresh the table after execution",
39
+ "default": false
40
+ },
41
+ "confirm": {
42
+ "type": "boolean",
43
+ "description": "Whether the table action should confirm before execution",
44
+ "default": false
45
+ },
46
+ "tooltip": {
47
+ "type": "string",
48
+ "description": "The tooltip for the table action"
49
+ },
50
+ "errorMessage": {
51
+ "type": "string",
52
+ "description": "The error message for the table action"
53
+ },
54
+ "successMessage": {
55
+ "type": "string",
56
+ "description": "The success message for the table action"
57
+ },
58
+ "directory": {
59
+ "type": "string",
60
+ "description": "A directory name or absolute path for the table action. relative to the feature base path"
61
+ },
62
+ "permission": {
63
+ "type": "string"
64
+ },
65
+ "icon": {
66
+ "type": "string"
67
+ },
68
+ "svgIcon": {
69
+ "type": "string"
70
+ },
71
+ "options": {
72
+ "type": "object",
73
+ "additionalProperties": true
74
+ },
75
+ "route": {
76
+ "type": "string",
77
+ "description": "The route path for the table action"
78
+ }
79
+ },
80
+ "required": [
81
+ "route",
82
+ "project",
83
+ "feature"
84
+ ]
85
+ }
@@ -1,7 +1,7 @@
1
- import { TableActionOptions } from './schema';
2
1
  import { Tree } from '@angular-devkit/schematics';
3
2
  import { Normalized } from '@rxap/utilities';
4
3
  import { NormalizedAngularOptions } from '../../../lib/angular-options';
4
+ import { TableActionOptions } from './schema';
5
5
  export type NormalizedTableActionOptions = Readonly<Normalized<TableActionOptions>> & NormalizedAngularOptions;
6
6
  export declare function NormalizeTableActionOptions(options: Readonly<TableActionOptions>): NormalizedTableActionOptions;
7
7
  export default function (options: TableActionOptions): (host: Tree) => import("@angular-devkit/schematics").Rule;
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NormalizeTableActionOptions = void 0;
4
- const schematics_utilities_1 = require("@rxap/schematics-utilities");
5
4
  const schematics_1 = require("@angular-devkit/schematics");
6
5
  const schematics_ts_morph_1 = require("@rxap/schematics-ts-morph");
6
+ const schematics_utilities_1 = require("@rxap/schematics-utilities");
7
7
  const path_1 = require("path");
8
8
  const angular_options_1 = require("../../../lib/angular-options");
9
- const table_row_action_1 = require("../../../lib/table-row-action");
10
9
  const assert_table_component_exists_1 = require("../../../lib/assert-table-component-exists");
10
+ const table_row_action_1 = require("../../../lib/table-row-action");
11
11
  function NormalizeTableActionOptions(options) {
12
12
  const normalizedAngularOptions = (0, angular_options_1.NormalizeAngularOptions)(options);
13
13
  const normalizedTableRowAction = (0, table_row_action_1.NormalizeTableRowAction)(options);
@@ -15,16 +15,17 @@ function NormalizeTableActionOptions(options) {
15
15
  return Object.seal(Object.assign(Object.assign(Object.assign({}, normalizedTableRowAction), normalizedAngularOptions), { tableName }));
16
16
  }
17
17
  exports.NormalizeTableActionOptions = NormalizeTableActionOptions;
18
- function printTableActionOptions(options) {
18
+ function printOptions(options) {
19
19
  (0, angular_options_1.PrintAngularOptions)('table-action', options);
20
20
  }
21
21
  function default_1(options) {
22
22
  const normalizedOptions = NormalizeTableActionOptions(options);
23
23
  const { refresh, confirm, tooltip, errorMessage, successMessage, priority, checkFunction, tableName, project, feature, directory, type, } = normalizedOptions;
24
- printTableActionOptions(normalizedOptions);
24
+ printOptions(normalizedOptions);
25
25
  return (host) => {
26
26
  (0, assert_table_component_exists_1.AssertTableComponentExists)(host, normalizedOptions);
27
27
  return (0, schematics_1.chain)([
28
+ () => console.group('\x1b[32m[@rxap/schematics-angular:table-action]\x1b[0m'),
28
29
  (0, schematics_ts_morph_1.CoerceTableActionRule)({
29
30
  directory: (0, path_1.join)(directory !== null && directory !== void 0 ? directory : '', 'methods', 'action'),
30
31
  type,
@@ -39,6 +40,7 @@ function default_1(options) {
39
40
  project,
40
41
  feature,
41
42
  }),
43
+ () => console.groupEnd(),
42
44
  ]);
43
45
  };
44
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/schematics/table/table-action/index.ts"],"names":[],"mappings":";;;AACA,qEAGoC;AACpC,2DAGoC;AACpC,mEAAkE;AAClE,+BAA4B;AAE5B,kEAIsC;AACtC,oEAAwE;AACxE,8FAAwF;AAIxF,SAAgB,2BAA2B,CACzC,OAAqC;IAErC,MAAM,wBAAwB,GAAG,IAAA,yCAAuB,EAAC,OAAO,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,gCAAS,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,+CACb,wBAAwB,GACxB,wBAAwB,KAC3B,SAAS,IACT,CAAC;AACL,CAAC;AAXD,kEAWC;AAED,SAAS,uBAAuB,CAAC,OAAqC;IACpE,IAAA,qCAAmB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,mBAAyB,OAA2B;IAClD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,IAAI,GACL,GAAG,iBAAiB,CAAC;IAEtB,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;IAE3C,OAAO,CAAC,IAAU,EAAE,EAAE;QACpB,IAAA,0DAA0B,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEpD,OAAO,IAAA,kBAAK,EAAC;YACX,IAAA,2CAAqB,EAAC;gBACpB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACrD,IAAI;gBACJ,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,cAAc;gBACd,QAAQ;gBACR,aAAa;gBACb,OAAO;gBACP,OAAO;aACR,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAvCD,4BAuCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/schematic/angular/src/schematics/table/table-action/index.ts"],"names":[],"mappings":";;;AAAA,2DAGoC;AACpC,mEAAkE;AAClE,qEAGoC;AAEpC,+BAA4B;AAC5B,kEAIsC;AACtC,8FAAwF;AACxF,oEAAwE;AAKxE,SAAgB,2BAA2B,CACzC,OAAqC;IAErC,MAAM,wBAAwB,GAAG,IAAA,yCAAuB,EAAC,OAAO,CAAC,CAAC;IAClE,MAAM,wBAAwB,GAAG,IAAA,0CAAuB,EAAC,OAAO,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,gCAAS,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,+CACb,wBAAwB,GACxB,wBAAwB,KAC3B,SAAS,IACT,CAAC;AACL,CAAC;AAXD,kEAWC;AAED,SAAS,YAAY,CAAC,OAAqC;IACzD,IAAA,qCAAmB,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,mBAAyB,OAA2B;IAClD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,IAAI,GACL,GAAG,iBAAiB,CAAC;IAEtB,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAU,EAAE,EAAE;QAEpB,IAAA,0DAA0B,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAEpD,OAAO,IAAA,kBAAK,EAAC;YACX,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC;YAC7E,IAAA,2CAAqB,EAAC;gBACpB,SAAS,EAAE,IAAA,WAAI,EAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;gBACrD,IAAI;gBACJ,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,cAAc;gBACd,QAAQ;gBACR,aAAa;gBACb,OAAO;gBACP,OAAO;aACR,CAAC;YACF,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;SACzB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AA1CD,4BA0CC"}
@@ -72,6 +72,10 @@
72
72
  "directory": {
73
73
  "type": "string",
74
74
  "description": "A directory name or absolute path for the table action. relative to the feature base path"
75
+ },
76
+ "options": {
77
+ "type": "object",
78
+ "additionalProperties": true
75
79
  }
76
80
  },
77
81
  "required": [
@@ -13,7 +13,7 @@
13
13
  [loading$]="tableDataSourceDirective.loading$"
14
14
  ></mat-progress-bar>
15
15
  <mat-card-header class="min-h-full h-12">
16
- <% if (!hasNavigationBackHeader && !hasWithoutTitle) { %>
16
+ <% if (!hasWithoutTitle) { %>
17
17
  <mat-card-title i18n><%= title %></mat-card-title>
18
18
  <% } %>
19
19
  <% if (headerButton) { %>
@@ -21,10 +21,9 @@
21
21
  mat-card-avatar
22
22
  mat-mini-fab
23
23
  color="primary"
24
- matTooltip="<%= headerButton.label %>"
25
- i18n-matTooltip
24
+ matTooltip
26
25
  [disabled]="tableDataSourceDirective.hasError$ | async"
27
- <% if (headerButton.role === 'form') { %>[rxapTableCreate]="tableDataSourceDirective"<% } %>
26
+ [rxapTableHeaderButton]="tableDataSourceDirective"
28
27
  <% if (headerButton.permission) { %>rxapHasEnablePermission="<%= headerButton.permission %>"<% } %>
29
28
  >
30
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><% } %>
@@ -118,8 +117,7 @@
118
117
  mat-icon-button
119
118
  *ngIf="selected | rxapRowActionCheck:'<%= action.type %>'"
120
119
  <% if (action.permission) { %>rxapHasEnablePermission="<%= action.permission %>"<% } %>
121
- matTooltip="<%= action.type %>"
122
- i18n-matTooltip
120
+ matTooltip
123
121
  >
124
122
  <% 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><% } %>
125
123
  <mat-progress-bar
@@ -142,8 +140,7 @@
142
140
  mat-icon-button
143
141
  *ngIf="element | rxapRowActionCheck:'<%= action.type %>'"
144
142
  <% if (action.permission) { %>rxapHasEnablePermission="<%= action.permission %>"<% } %>
145
- matTooltip="<%= action.type %>"
146
- i18n-matTooltip
143
+ matTooltip
147
144
  >
148
145
  <% 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><% } %>
149
146
  <mat-progress-bar
@@ -11,10 +11,9 @@ import {
11
11
  CopyToClipboardCellComponent, DateCellComponent,
12
12
  IconCellComponent,
13
13
  LinkCellComponent, PersistentPaginatorDirective,
14
- TableColumnMenuModule, TableCreateButtonDirective,
14
+ TableColumnMenuModule, TableHeaderButtonDirective,
15
15
  TableDataSourceDirective,
16
16
  TableFilterModule, TableRowActionsModule,
17
- TableRowControlsModule,
18
17
  } from '@rxap/material-table-system';
19
18
  import { MatCardModule } from '@angular/material/card';
20
19
  import { MatProgressBarModule } from '@angular/material/progress-bar';
@@ -65,7 +64,6 @@ import { MatSnackBarModule } from '@angular/material/snack-bar';
65
64
  <% if (hasNavigationBackHeader) { %>
66
65
  NavigateBackButtonComponent,
67
66
  <% } %>
68
- TableRowControlsModule,
69
67
  TableColumnMenuModule,
70
68
  DateCellComponent,
71
69
 
@@ -75,7 +73,7 @@ import { MatSnackBarModule } from '@angular/material/snack-bar';
75
73
  MatInputModule,
76
74
  MatButtonModule,
77
75
  InputClearButtonDirective,
78
- TableCreateButtonDirective,
76
+ TableHeaderButtonDirective,
79
77
  TableShowArchivedSlideComponent,
80
78
  PersistentPaginatorDirective,
81
79
  ConfirmModule,
@@ -8,6 +8,7 @@ import { NormalizedTableOptions } from '../../../lib/table-options';
8
8
  import { TableComponentOptions } from './schema';
9
9
  export interface NormalizedTableComponentOptions extends Readonly<Normalized<TableComponentOptions> & NormalizedTableOptions & NormalizedAngularOptions> {
10
10
  name: string;
11
+ controllerName: string;
11
12
  columnList: NormalizedTableColumn[];
12
13
  actionList: NormalizedTableAction[];
13
14
  }
@@ -10,6 +10,7 @@ const angular_options_1 = require("../../../lib/angular-options");
10
10
  const backend_types_1 = require("../../../lib/backend-types");
11
11
  const minimum_table_component_options_1 = require("../../../lib/minimum-table-component-options");
12
12
  const table_options_1 = require("../../../lib/table-options");
13
+ const index_1 = require("../action/form-table-action/index");
13
14
  function NormalizeTableComponentOptions(options) {
14
15
  const normalizedMinimumTableComponentOptions = (0, minimum_table_component_options_1.NormalizeMinimumTableComponentOptions)(options);
15
16
  (0, angular_options_1.AssertAngularOptionsNameProperty)(normalizedMinimumTableComponentOptions);
@@ -91,8 +92,31 @@ function componentRule(normalizedOptions) {
91
92
  }),
92
93
  ]);
93
94
  }
95
+ function UsePickFromTableInterfaceAsFormTypeRule(options) {
96
+ const { name, columnList, formName, } = options;
97
+ const className = (0, schematics_utilities_1.CoerceSuffix)((0, utilities_1.classify)(formName), 'Form');
98
+ const interfaceName = `I${className}`;
99
+ const tableInterfaceName = `I${(0, utilities_1.classify)(name)}Table`;
100
+ return (0, schematics_ts_morph_1.TsMorphAngularProjectTransformRule)(options, (project, [sourceFile]) => {
101
+ const interfaceDeclaration = sourceFile.getInterface(interfaceName);
102
+ if (interfaceDeclaration) {
103
+ interfaceDeclaration.remove();
104
+ }
105
+ const type = `Pick<${tableInterfaceName}, ${columnList.filter(c => c.hasFilter)
106
+ .map(c => `'${(0, utilities_1.camelize)(c.name)}'`)
107
+ .join(' | ')}>`;
108
+ (0, index_1.CoerceTypeAlias)(sourceFile, interfaceName, {
109
+ type,
110
+ isExported: true,
111
+ }).set({ type });
112
+ (0, schematics_ts_morph_1.CoerceImports)(sourceFile, {
113
+ namedImports: [tableInterfaceName],
114
+ moduleSpecifier: `./${name}-table`,
115
+ });
116
+ }, ['/' + (0, schematics_utilities_1.CoerceSuffix)(formName, '.form.ts')]);
117
+ }
94
118
  function filterColumnRule(normalizedOptions) {
95
- const { columnList, project, feature, shared, directory, backend, overwrite, componentName, } = normalizedOptions;
119
+ const { columnList, project, feature, shared, directory, backend, overwrite, componentName, name, } = normalizedOptions;
96
120
  if (columnList.some((c) => c.hasFilter)) {
97
121
  return (0, schematics_1.chain)([
98
122
  () => console.log(`Coerce the filter form definition`),
@@ -148,6 +172,15 @@ function filterColumnRule(normalizedOptions) {
148
172
  ]);
149
173
  },
150
174
  }),
175
+ UsePickFromTableInterfaceAsFormTypeRule({
176
+ name,
177
+ columnList,
178
+ feature,
179
+ project,
180
+ shared,
181
+ directory,
182
+ formName: (0, schematics_utilities_1.CoerceSuffix)(componentName, '-filter'),
183
+ }),
151
184
  ]);
152
185
  }
153
186
  return (0, schematics_1.noop)();
@@ -197,11 +230,7 @@ function openApiBackendRule(normalizedOptions) {
197
230
  ]);
198
231
  }
199
232
  function nestjsBackendRule(normalizedOptions) {
200
- const { project, feature, shared, columnList, context, nestModule, componentName, directory, overwrite, scope, } = normalizedOptions;
201
- const controllerName = (0, schematics_ts_morph_1.BuildNestControllerName)({
202
- controllerName: componentName,
203
- nestModule,
204
- });
233
+ const { project, feature, shared, columnList, context, nestModule, componentName, directory, overwrite, scope, controllerName, } = normalizedOptions;
205
234
  const operationId = (0, schematics_ts_morph_1.buildOperationId)(normalizedOptions, 'get-page', controllerName);
206
235
  return (0, schematics_1.chain)([
207
236
  () => console.log(`Coerce the getPage operation for the table`),
@@ -232,7 +261,7 @@ function nestjsBackendRule(normalizedOptions) {
232
261
  namedImports: ['TABLE_REMOTE_METHOD_ADAPTER_FACTORY'],
233
262
  },
234
263
  {
235
- moduleSpecifier: '@rxap/table-system',
264
+ moduleSpecifier: '@rxap/open-api/remote-method',
236
265
  namedImports: ['GetPageAdapterFactory'],
237
266
  },
238
267
  ]);
@@ -366,6 +395,7 @@ function default_1(options) {
366
395
  printOptions(normalizedOptions);
367
396
  return function () {
368
397
  return (0, schematics_1.chain)([
398
+ () => console.group('\x1b[32m[@rxap/schematics-angular:table-component]\x1b[0m'),
369
399
  (0, minimum_table_component_options_1.tableInterfaceRule)(normalizedOptions),
370
400
  componentRule(normalizedOptions),
371
401
  (0, minimum_table_component_options_1.headerButtonRule)(normalizedOptions),
@@ -374,6 +404,7 @@ function default_1(options) {
374
404
  (0, minimum_table_component_options_1.cellComponentRule)(normalizedOptions),
375
405
  (0, minimum_table_component_options_1.actionListRule)(normalizedOptions),
376
406
  selectColumnRule(normalizedOptions),
407
+ () => console.groupEnd(),
377
408
  ]);
378
409
  };
379
410
  }