@rxap/schematics-ts-morph 16.0.0-dev.8 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +239 -0
- package/README.md +1 -1
- package/package.json +42 -35
- package/src/index.d.ts +22 -20
- package/src/index.js +23 -21
- package/src/index.js.map +1 -1
- package/src/lib/add-provider-to-array.d.ts +5 -2
- package/src/lib/add-provider-to-array.js +34 -8
- package/src/lib/add-provider-to-array.js.map +1 -1
- package/src/lib/add-to-array.d.ts +1 -1
- package/src/lib/add-to-array.js +4 -3
- package/src/lib/add-to-array.js.map +1 -1
- package/src/lib/angular/add-component-animations.js +1 -1
- package/src/lib/angular/add-component-animations.js.map +1 -1
- package/src/lib/angular/add-component-import.js +1 -1
- package/src/lib/angular/add-component-import.js.map +1 -1
- package/src/lib/angular/add-dependency-injection.d.ts +9 -0
- package/src/lib/angular/add-dependency-injection.js +6 -0
- package/src/lib/angular/add-dependency-injection.js.map +1 -1
- package/src/lib/angular/add-ng-module-export.js +1 -1
- package/src/lib/angular/add-ng-module-export.js.map +1 -1
- package/src/lib/angular/add-ng-module-import.js +1 -1
- package/src/lib/angular/add-ng-module-import.js.map +1 -1
- package/src/lib/angular/coerce-component.d.ts +1 -1
- package/src/lib/angular/coerce-component.js +2 -2
- package/src/lib/angular/coerce-component.js.map +1 -1
- package/src/lib/angular/coerce-dialog-component.d.ts +2 -5
- package/src/lib/angular/coerce-dialog-component.js +2 -1
- package/src/lib/angular/coerce-dialog-component.js.map +1 -1
- package/src/lib/angular/coerce-form-definition-control.js +13 -5
- package/src/lib/angular/coerce-form-definition-control.js.map +1 -1
- package/src/lib/angular/coerce-form-definition-type.d.ts +1 -1
- package/src/lib/angular/coerce-form-definition.d.ts +1 -1
- package/src/lib/angular/coerce-form-table-action.d.ts +9 -1
- package/src/lib/angular/coerce-form-table-action.js +89 -19
- package/src/lib/angular/coerce-form-table-action.js.map +1 -1
- package/src/lib/angular/coerce-method-class.d.ts +1 -1
- package/src/lib/angular/coerce-method-class.js +1 -1
- package/src/lib/angular/coerce-method-class.js.map +1 -1
- package/src/lib/angular/coerce-navigation-table-action.d.ts +1 -0
- package/src/lib/angular/coerce-navigation-table-action.js +22 -12
- package/src/lib/angular/coerce-navigation-table-action.js.map +1 -1
- package/src/lib/angular/coerce-open-api-table-action.d.ts +8 -0
- package/src/lib/angular/coerce-open-api-table-action.js +77 -0
- package/src/lib/angular/coerce-open-api-table-action.js.map +1 -0
- package/src/lib/angular/coerce-table-action-provider.js +1 -1
- package/src/lib/angular/coerce-table-action-provider.js.map +1 -1
- package/src/lib/angular/coerce-table-header-button-method.d.ts +13 -0
- package/src/lib/angular/coerce-table-header-button-method.js +80 -0
- package/src/lib/angular/coerce-table-header-button-method.js.map +1 -0
- package/src/lib/angular/index.d.ts +1 -0
- package/src/lib/angular/index.js +1 -0
- package/src/lib/angular/index.js.map +1 -1
- package/src/lib/auto-import.js +2 -9
- package/src/lib/auto-import.js.map +1 -1
- package/src/lib/coerce-class-constructor.d.ts +3 -0
- package/src/lib/coerce-class-constructor.js +3 -0
- package/src/lib/coerce-class-constructor.js.map +1 -1
- package/src/lib/coerce-class-method.d.ts +3 -0
- package/src/lib/coerce-class-method.js +3 -0
- package/src/lib/coerce-class-method.js.map +1 -1
- package/src/lib/coerce-class.d.ts +3 -0
- package/src/lib/coerce-class.js +3 -0
- package/src/lib/coerce-class.js.map +1 -1
- package/src/lib/coerce-source-file.d.ts +3 -0
- package/src/lib/coerce-source-file.js +3 -0
- package/src/lib/coerce-source-file.js.map +1 -1
- package/src/lib/coerce-variable-declaration.d.ts +3 -0
- package/src/lib/coerce-variable-declaration.js +3 -0
- package/src/lib/coerce-variable-declaration.js.map +1 -1
- package/src/lib/fix-missing-imports.js +2 -9
- package/src/lib/fix-missing-imports.js.map +1 -1
- package/src/lib/get-class-decorator-arguments.d.ts +3 -0
- package/src/lib/get-class-decorator-arguments.js.map +1 -1
- package/src/lib/get-coerce-array-literal-form-object-literal.d.ts +3 -0
- package/src/lib/get-coerce-array-literal-form-object-literal.js +3 -0
- package/src/lib/get-coerce-array-literal-form-object-literal.js.map +1 -1
- package/src/lib/nest/add-nest-module-import.d.ts +3 -0
- package/src/lib/nest/add-nest-module-import.js +5 -2
- package/src/lib/nest/add-nest-module-import.js.map +1 -1
- package/src/lib/nest/add-nest-module-provider.d.ts +3 -0
- package/src/lib/nest/add-nest-module-provider.js +5 -2
- package/src/lib/nest/add-nest-module-provider.js.map +1 -1
- package/src/lib/nest/add-nest-provider-to-array.d.ts +5 -2
- package/src/lib/nest/add-nest-provider-to-array.js +10 -6
- package/src/lib/nest/add-nest-provider-to-array.js.map +1 -1
- package/src/lib/nest/add-operation-to-controller.d.ts +1 -0
- package/src/lib/nest/add-operation-to-controller.js +3 -5
- package/src/lib/nest/add-operation-to-controller.js.map +1 -1
- package/src/lib/nest/build-nest-controller-name.js +8 -1
- package/src/lib/nest/build-nest-controller-name.js.map +1 -1
- package/src/lib/nest/coerce-dto-class.d.ts +2 -0
- package/src/lib/nest/coerce-dto-class.js +7 -5
- package/src/lib/nest/coerce-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-get-page-operation.d.ts +8 -5
- package/src/lib/nest/coerce-get-page-operation.js +113 -50
- package/src/lib/nest/coerce-get-page-operation.js.map +1 -1
- package/src/lib/nest/coerce-nest-controller.js +3 -2
- package/src/lib/nest/coerce-nest-controller.js.map +1 -1
- package/src/lib/nest/coerce-operation.d.ts +3 -0
- package/src/lib/nest/coerce-operation.js +4 -1
- package/src/lib/nest/coerce-operation.js.map +1 -1
- package/src/lib/nest/coerce-page-dto-class.js +1 -1
- package/src/lib/nest/coerce-page-dto-class.js.map +1 -1
- package/src/lib/nest/coerce-table-select-operation.js +6 -7
- package/src/lib/nest/coerce-table-select-operation.js.map +1 -1
- package/src/lib/nest/create-dto-class.js +1 -1
- package/src/lib/nest/create-dto-class.js.map +1 -1
- package/src/lib/nest/find-nest-module-source-file.d.ts +3 -0
- package/src/lib/nest/find-nest-module-source-file.js +3 -0
- package/src/lib/nest/find-nest-module-source-file.js.map +1 -1
- package/src/lib/nest/get-nest-module-metadata.d.ts +3 -0
- package/src/lib/nest/get-nest-module-metadata.js +4 -1
- package/src/lib/nest/get-nest-module-metadata.js.map +1 -1
- package/src/lib/nest/has-nest-module-class.d.ts +3 -0
- package/src/lib/nest/has-nest-module-class.js +3 -0
- package/src/lib/nest/has-nest-module-class.js.map +1 -1
- package/src/lib/nest/is-nest-module-class.d.ts +3 -0
- package/src/lib/nest/is-nest-module-class.js +3 -0
- package/src/lib/nest/is-nest-module-class.js.map +1 -1
- package/src/lib/nest/nest-provider-object.d.ts +3 -0
- package/src/lib/nest/operation-id-utilities.d.ts +33 -0
- package/src/lib/nest/operation-id-utilities.js +33 -3
- package/src/lib/nest/operation-id-utilities.js.map +1 -1
- package/src/lib/nest/project-utilities.d.ts +12 -0
- package/src/lib/nest/project-utilities.js +7 -1
- package/src/lib/nest/project-utilities.js.map +1 -1
- package/src/lib/nest/remove-nest-module-provider.d.ts +3 -0
- package/src/lib/nest/remove-nest-module-provider.js +4 -1
- package/src/lib/nest/remove-nest-module-provider.js.map +1 -1
- package/src/lib/nest/remove-nest-provider-to-array.d.ts +5 -2
- package/src/lib/nest/remove-nest-provider-to-array.js +6 -3
- package/src/lib/nest/remove-nest-provider-to-array.js.map +1 -1
- package/src/lib/organize-imports.js +2 -9
- package/src/lib/organize-imports.js.map +1 -1
- package/src/lib/provider-object.d.ts +3 -0
- package/src/lib/ts-morph/coerce-class-property.d.ts +3 -0
- package/src/lib/ts-morph/coerce-class-property.js +4 -1
- package/src/lib/ts-morph/coerce-class-property.js.map +1 -1
- package/src/lib/ts-morph/coerce-decorator.d.ts +3 -0
- package/src/lib/ts-morph/coerce-decorator.js +3 -0
- package/src/lib/ts-morph/coerce-decorator.js.map +1 -1
- package/src/lib/ts-morph/coerce-imports.d.ts +3 -0
- package/src/lib/ts-morph/coerce-imports.js +3 -0
- package/src/lib/ts-morph/coerce-imports.js.map +1 -1
- package/src/lib/ts-morph/coerce-statements.d.ts +3 -0
- package/src/lib/ts-morph/coerce-statements.js +3 -0
- package/src/lib/ts-morph/coerce-statements.js.map +1 -1
- package/src/lib/ts-morph/find-function.d.ts +6 -0
- package/src/lib/ts-morph/find-function.js +3 -0
- package/src/lib/ts-morph/find-function.js.map +1 -1
- package/src/lib/ts-morph/write-type.d.ts +4 -3
- package/src/lib/ts-morph/write-type.js.map +1 -1
|
@@ -2,41 +2,59 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceFormTableActionRule = void 0;
|
|
4
4
|
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
-
const ts_morph_1 = require("ts-morph");
|
|
5
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
6
|
+
const utilities_1 = require("@rxap/utilities");
|
|
7
|
+
const ts_morph_2 = require("ts-morph");
|
|
6
8
|
const coerce_class_constructor_1 = require("../coerce-class-constructor");
|
|
7
9
|
const operation_id_utilities_1 = require("../nest/operation-id-utilities");
|
|
8
10
|
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
9
11
|
const coerce_parameter_declaration_1 = require("../ts-morph/coerce-parameter-declaration");
|
|
10
12
|
const coerce_table_action_1 = require("./coerce-table-action");
|
|
13
|
+
const toMappingObjectOptions = {
|
|
14
|
+
aliasFnc: (key, value) => {
|
|
15
|
+
if (['rowId', '_rowId', '__rowId'].includes(value)) {
|
|
16
|
+
return '__rowId';
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
11
21
|
function CoerceFormTableActionRule(options) {
|
|
12
|
-
let { type,
|
|
22
|
+
let { type, loadFrom, tableName, tsMorphTransform, scope, formInitial, formComponent, } = options;
|
|
13
23
|
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
14
24
|
return (0, coerce_table_action_1.CoerceTableActionRule)(Object.assign(Object.assign({}, options), { tsMorphTransform: (project, sourceFile, classDeclaration) => {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const tableInterfaceName = `I${(0, schematics_utilities_1.classify)(tableName)}`;
|
|
15
27
|
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
16
28
|
moduleSpecifier: '@angular/core',
|
|
17
29
|
namedImports: ['ChangeDetectorRef', 'Inject', 'INJECTOR', 'Injector'],
|
|
18
30
|
});
|
|
19
|
-
const openFormWindowMethod = `Open${(0, schematics_utilities_1.classify)(
|
|
31
|
+
const openFormWindowMethod = `Open${(0, schematics_utilities_1.classify)(formComponent)}WindowMethod`;
|
|
20
32
|
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
21
|
-
moduleSpecifier: `../../${
|
|
33
|
+
moduleSpecifier: `../../${(0, utilities_1.dasherize)(formComponent)}/open-${(0, utilities_1.dasherize)(formComponent)}-window.method`,
|
|
22
34
|
namedImports: [openFormWindowMethod],
|
|
23
35
|
});
|
|
24
36
|
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
25
37
|
namedImports: ['firstValueFrom'],
|
|
26
38
|
moduleSpecifier: 'rxjs',
|
|
27
39
|
});
|
|
28
|
-
if (
|
|
40
|
+
if (loadFrom === null || loadFrom === void 0 ? void 0 : loadFrom.operationId) {
|
|
29
41
|
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
30
|
-
moduleSpecifier: (0, operation_id_utilities_1.OperationIdToClassImportPath)(
|
|
31
|
-
namedImports: [(0, operation_id_utilities_1.OperationIdToClassName)(
|
|
42
|
+
moduleSpecifier: (0, operation_id_utilities_1.OperationIdToClassImportPath)(loadFrom.operationId, (_a = loadFrom.scope) !== null && _a !== void 0 ? _a : scope),
|
|
43
|
+
namedImports: [(0, operation_id_utilities_1.OperationIdToClassName)(loadFrom.operationId)],
|
|
32
44
|
});
|
|
45
|
+
if (formInitial) {
|
|
46
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
47
|
+
moduleSpecifier: (0, ts_morph_1.OperationIdToResponseClassImportPath)(loadFrom.operationId, (_b = loadFrom.scope) !== null && _b !== void 0 ? _b : scope),
|
|
48
|
+
namedImports: [(0, ts_morph_1.OperationIdToResponseClassName)(loadFrom.operationId)],
|
|
49
|
+
});
|
|
50
|
+
}
|
|
33
51
|
}
|
|
34
52
|
const [constructorDeclaration] = (0, coerce_class_constructor_1.CoerceClassConstructor)(classDeclaration);
|
|
35
53
|
(0, coerce_parameter_declaration_1.CoerceParameterDeclaration)(constructorDeclaration, 'openFormWindow').set({
|
|
36
54
|
name: 'openFormWindow',
|
|
37
55
|
type: openFormWindowMethod,
|
|
38
56
|
isReadonly: true,
|
|
39
|
-
scope:
|
|
57
|
+
scope: ts_morph_2.Scope.Private,
|
|
40
58
|
decorators: [
|
|
41
59
|
{
|
|
42
60
|
name: 'Inject',
|
|
@@ -47,7 +65,7 @@ function CoerceFormTableActionRule(options) {
|
|
|
47
65
|
(0, coerce_parameter_declaration_1.CoerceParameterDeclaration)(constructorDeclaration, 'injector').set({
|
|
48
66
|
type: 'Injector',
|
|
49
67
|
isReadonly: true,
|
|
50
|
-
scope:
|
|
68
|
+
scope: ts_morph_2.Scope.Private,
|
|
51
69
|
decorators: [
|
|
52
70
|
{
|
|
53
71
|
name: 'Inject',
|
|
@@ -58,28 +76,80 @@ function CoerceFormTableActionRule(options) {
|
|
|
58
76
|
(0, coerce_parameter_declaration_1.CoerceParameterDeclaration)(constructorDeclaration, 'cdr').set({
|
|
59
77
|
type: 'ChangeDetectorRef',
|
|
60
78
|
isReadonly: true,
|
|
61
|
-
scope:
|
|
79
|
+
scope: ts_morph_2.Scope.Private,
|
|
62
80
|
});
|
|
63
|
-
if (
|
|
81
|
+
if (loadFrom === null || loadFrom === void 0 ? void 0 : loadFrom.operationId) {
|
|
64
82
|
(0, coerce_parameter_declaration_1.CoerceParameterDeclaration)(constructorDeclaration, 'getInitial').set({
|
|
65
83
|
isReadonly: true,
|
|
66
|
-
scope:
|
|
67
|
-
type: (0, operation_id_utilities_1.OperationIdToClassName)(
|
|
84
|
+
scope: ts_morph_2.Scope.Private,
|
|
85
|
+
type: (0, operation_id_utilities_1.OperationIdToClassName)(loadFrom.operationId),
|
|
68
86
|
});
|
|
69
87
|
}
|
|
70
88
|
const statements = [];
|
|
71
89
|
statements.push(`console.log(\`action row type: ${type}\`, parameters);`);
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
90
|
+
statements.push(`const { __rowId: rowId } = parameters;`);
|
|
91
|
+
if (loadFrom === null || loadFrom === void 0 ? void 0 : loadFrom.operationId) {
|
|
92
|
+
if (loadFrom.body) {
|
|
93
|
+
(0, ts_morph_1.CoerceMappingClassMethod)(sourceFile, classDeclaration, {
|
|
94
|
+
name: 'getBody',
|
|
95
|
+
parameterType: tableInterfaceName,
|
|
96
|
+
returnType: (0, ts_morph_1.OperationIdToRequestBodyClassName)(loadFrom.operationId),
|
|
97
|
+
mapping: loadFrom.body,
|
|
98
|
+
mappingOptions: toMappingObjectOptions,
|
|
99
|
+
});
|
|
100
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
101
|
+
namedImports: [(0, ts_morph_1.OperationIdToRequestBodyClassName)(loadFrom.operationId)],
|
|
102
|
+
moduleSpecifier: (0, ts_morph_1.OperationIdToRequestBodyClassImportPath)(loadFrom.operationId, scope),
|
|
103
|
+
});
|
|
104
|
+
statements.push(`const requestBody = this.getBody(parameters);`);
|
|
105
|
+
}
|
|
106
|
+
if (loadFrom.parameters) {
|
|
107
|
+
(0, ts_morph_1.CoerceMappingClassMethod)(sourceFile, classDeclaration, {
|
|
108
|
+
name: 'getParameters',
|
|
109
|
+
parameterType: tableInterfaceName,
|
|
110
|
+
returnType: (0, ts_morph_1.OperationIdToParameterClassName)(loadFrom.operationId),
|
|
111
|
+
mapping: loadFrom.parameters,
|
|
112
|
+
mappingOptions: toMappingObjectOptions,
|
|
113
|
+
});
|
|
114
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
115
|
+
namedImports: [(0, ts_morph_1.OperationIdToParameterClassName)(loadFrom.operationId)],
|
|
116
|
+
moduleSpecifier: (0, ts_morph_1.OperationIdToParameterClassImportPath)(loadFrom.operationId, scope),
|
|
117
|
+
});
|
|
118
|
+
statements.push(`const requestParameters = this.getParameters(parameters);`);
|
|
119
|
+
}
|
|
120
|
+
if (loadFrom.body && loadFrom.parameters) {
|
|
121
|
+
statements.push(`const initial = await this.getInitial.call({ parameters: requestParameters, requestBody });`);
|
|
122
|
+
}
|
|
123
|
+
else if (loadFrom.body) {
|
|
124
|
+
statements.push(`const initial = await this.getInitial.call({ requestBody });`);
|
|
125
|
+
}
|
|
126
|
+
else if (loadFrom.parameters) {
|
|
127
|
+
statements.push(`const initial = await this.getInitial.call({ parameters: requestParameters });`);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
statements.push(`const initial = parameters;`);
|
|
131
|
+
}
|
|
76
132
|
}
|
|
77
133
|
else {
|
|
78
134
|
statements.push(`const initial = parameters;`);
|
|
79
135
|
}
|
|
80
136
|
statements.push(`this.cdr.markForCheck();`);
|
|
81
|
-
|
|
82
|
-
|
|
137
|
+
if (formInitial) {
|
|
138
|
+
(0, ts_morph_1.CoerceMappingClassMethod)(sourceFile, classDeclaration, {
|
|
139
|
+
name: 'toInitial',
|
|
140
|
+
parameterType: (loadFrom === null || loadFrom === void 0 ? void 0 : loadFrom.operationId) ? (0, ts_morph_1.OperationIdToResponseClassName)(loadFrom.operationId) :
|
|
141
|
+
tableInterfaceName,
|
|
142
|
+
mapping: formInitial,
|
|
143
|
+
mappingOptions: toMappingObjectOptions,
|
|
144
|
+
// TODO : use the form interface as return type
|
|
145
|
+
returnType: 'any',
|
|
146
|
+
});
|
|
147
|
+
statements.push(`return firstValueFrom(this.openFormWindow.call(this.toInitial(initial), {injector: this.injector, context: { rowId }}));`);
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
statements.push(`return firstValueFrom(this.openFormWindow.call(initial, {injector: this.injector, context: { rowId }}));`);
|
|
151
|
+
}
|
|
152
|
+
return Object.assign({ statements, isAsync: true, scope: ts_morph_2.Scope.Public, returnType: 'Promise<any>' }, tsMorphTransform(project, sourceFile, classDeclaration));
|
|
83
153
|
} }));
|
|
84
154
|
}
|
|
85
155
|
exports.CoerceFormTableActionRule = CoerceFormTableActionRule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-form-table-action.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-form-table-action.ts"],"names":[],"mappings":";;;AAAA,qEAAsD;AACtD,uCAIkB;AAClB,0EAAqE;AACrE,2EAGwC;AACxC,+DAA2D;AAC3D,2FAAsF;AACtF,+DAG+B;
|
|
1
|
+
{"version":3,"file":"coerce-form-table-action.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-form-table-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { ClassDeclaration, MethodDeclarationStructure, OptionalKind, Project, So
|
|
|
2
2
|
import { TsMorphAngularProjectTransformOptions } from '../ts-morph-transform';
|
|
3
3
|
export interface CoerceMethodClassOptions extends TsMorphAngularProjectTransformOptions {
|
|
4
4
|
name: string;
|
|
5
|
-
overwrite?: boolean;
|
|
5
|
+
overwrite?: boolean | string[];
|
|
6
6
|
providedIn?: string;
|
|
7
7
|
tsMorphTransform?: (project: Project, sourceFile: SourceFile, classDeclaration: ClassDeclaration) => Partial<Omit<OptionalKind<MethodDeclarationStructure>, 'name'>>;
|
|
8
8
|
}
|
|
@@ -44,7 +44,7 @@ function CoerceMethodClass(options) {
|
|
|
44
44
|
]);
|
|
45
45
|
(_b = methodStructure.returnType) !== null && _b !== void 0 ? _b : (methodStructure.returnType = 'any');
|
|
46
46
|
const methodDeclaration = (0, coerce_class_method_1.CoerceClassMethod)(classDeclaration, 'call', methodStructure);
|
|
47
|
-
if (overwrite) {
|
|
47
|
+
if (overwrite === true || (Array.isArray(overwrite) && overwrite.includes('method-declaration'))) {
|
|
48
48
|
methodDeclaration.set(methodStructure);
|
|
49
49
|
}
|
|
50
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-method-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-method-class.ts"],"names":[],"mappings":";;;AAAA,qEAGoC;AACpC,uCAOkB;AAClB,kDAA8C;AAC9C,gEAA2D;AAC3D,8DAAyD;AACzD,8DAG+B;AAC/B,+DAA2D;AAa3D,SAAgB,iBAAiB,CAAC,OAAiC;IACjE,IAAI,EACF,SAAS,EACT,IAAI,EACJ,gBAAgB,EAChB,UAAU,GACX,GAAG,OAAO,CAAC;IACZ,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC;IAChC,MAAM,SAAS,GAAG,IAAA,+BAAQ,EAAC,IAAA,mCAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,mCAAY,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,OAAO,IAAA,uDAAkC,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;;QAE7D,MAAM,UAAU,GAAG,IAAA,qCAAgB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,gBAAgB,GAAG,IAAA,0BAAW,EAAC,UAAU,EAAE,SAAS,EAAE;YAC1D,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,kBAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;iBAChE;aACF;YACD,UAAU,EAAE,CAAE,QAAQ,CAAE;SACzB,CAAC,CAAC;QACH,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,CAAE,QAAQ,CAAE;SAC3B,CAAC,CAAC;QACH,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,CAAE,YAAY,CAAE;SAC/B,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACjF,MAAA,eAAe,CAAC,UAAU,oCAA1B,eAAe,CAAC,UAAU,GAAK;YAC7B;gBACE,IAAI,EAAE,YAAY;gBAClB,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,KAAK;aACZ;SACF,EAAC;QACF,MAAA,eAAe,CAAC,UAAU,oCAA1B,eAAe,CAAC,UAAU,GAAK,KAAK,EAAC;QACrC,MAAM,iBAAiB,GAAG,IAAA,uCAAiB,EAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QACvF,IAAI,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"coerce-method-class.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-method-class.ts"],"names":[],"mappings":";;;AAAA,qEAGoC;AACpC,uCAOkB;AAClB,kDAA8C;AAC9C,gEAA2D;AAC3D,8DAAyD;AACzD,8DAG+B;AAC/B,+DAA2D;AAa3D,SAAgB,iBAAiB,CAAC,OAAiC;IACjE,IAAI,EACF,SAAS,EACT,IAAI,EACJ,gBAAgB,EAChB,UAAU,GACX,GAAG,OAAO,CAAC;IACZ,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAC;IAChC,MAAM,SAAS,GAAG,IAAA,+BAAQ,EAAC,IAAA,mCAAY,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,mCAAY,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClD,OAAO,IAAA,uDAAkC,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;;QAE7D,MAAM,UAAU,GAAG,IAAA,qCAAgB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,gBAAgB,GAAG,IAAA,0BAAW,EAAC,UAAU,EAAE,SAAS,EAAE;YAC1D,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,kBAAO,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE;iBAChE;aACF;YACD,UAAU,EAAE,CAAE,QAAQ,CAAE;SACzB,CAAC,CAAC;QACH,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,CAAE,QAAQ,CAAE;SAC3B,CAAC,CAAC;QACH,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,eAAe,EAAE,eAAe;YAChC,YAAY,EAAE,CAAE,YAAY,CAAE;SAC/B,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,gBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACjF,MAAA,eAAe,CAAC,UAAU,oCAA1B,eAAe,CAAC,UAAU,GAAK;YAC7B;gBACE,IAAI,EAAE,YAAY;gBAClB,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,KAAK;aACZ;SACF,EAAC;QACF,MAAA,eAAe,CAAC,UAAU,oCAA1B,eAAe,CAAC,UAAU,GAAK,KAAK,EAAC;QACrC,MAAM,iBAAiB,GAAG,IAAA,uCAAiB,EAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QACvF,IAAI,SAAS,KAAK,IAAI,IAAI,CACxB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CACrE,EAAE;YACD,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SACxC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA/CD,8CA+CC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CoerceTableActionOptions } from './coerce-table-action';
|
|
2
2
|
export interface CoerceLinkTableActionRuleOptions extends CoerceTableActionOptions {
|
|
3
3
|
route?: string | null;
|
|
4
|
+
relativeTo?: boolean;
|
|
4
5
|
}
|
|
5
6
|
export declare function CoerceNavigationTableActionRule(options: CoerceLinkTableActionRuleOptions): import("@angular-devkit/schematics").Rule;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceNavigationTableActionRule = void 0;
|
|
4
|
-
const coerce_table_action_1 = require("./coerce-table-action");
|
|
5
|
-
const coerce_class_constructor_1 = require("../coerce-class-constructor");
|
|
6
4
|
const ts_morph_1 = require("ts-morph");
|
|
7
|
-
const
|
|
5
|
+
const coerce_class_constructor_1 = require("../coerce-class-constructor");
|
|
8
6
|
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
7
|
+
const coerce_parameter_declaration_1 = require("../ts-morph/coerce-parameter-declaration");
|
|
8
|
+
const coerce_table_action_1 = require("./coerce-table-action");
|
|
9
9
|
function extractAllProperties(route) {
|
|
10
10
|
const match = route.match(/\{\{([^}]+)}}/g);
|
|
11
11
|
if (!match) {
|
|
@@ -24,12 +24,12 @@ function buildDynamicRoute(route) {
|
|
|
24
24
|
return route;
|
|
25
25
|
}
|
|
26
26
|
function CoerceNavigationTableActionRule(options) {
|
|
27
|
-
let { tsMorphTransform, tableName, type, route, } = options;
|
|
27
|
+
let { tsMorphTransform, tableName, type, route, relativeTo, } = options;
|
|
28
28
|
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
29
29
|
route !== null && route !== void 0 ? route : (route = '{{uuid}}');
|
|
30
30
|
return (0, coerce_table_action_1.CoerceTableActionRule)(Object.assign(Object.assign({}, options), { tsMorphTransform: (project, sourceFile, classDeclaration) => {
|
|
31
31
|
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
32
|
-
namedImports: ['Router'
|
|
32
|
+
namedImports: ['Router'],
|
|
33
33
|
moduleSpecifier: '@angular/router',
|
|
34
34
|
});
|
|
35
35
|
const [constructorDeclaration] = (0, coerce_class_constructor_1.CoerceClassConstructor)(classDeclaration);
|
|
@@ -39,23 +39,33 @@ function CoerceNavigationTableActionRule(options) {
|
|
|
39
39
|
isReadonly: true,
|
|
40
40
|
scope: ts_morph_1.Scope.Private,
|
|
41
41
|
});
|
|
42
|
-
(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
if (relativeTo) {
|
|
43
|
+
(0, coerce_parameter_declaration_1.CoerceParameterDeclaration)(constructorDeclaration, 'route').set({
|
|
44
|
+
type: 'ActivatedRoute',
|
|
45
|
+
isReadonly: true,
|
|
46
|
+
scope: ts_morph_1.Scope.Private,
|
|
47
|
+
});
|
|
48
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
49
|
+
namedImports: ['ActivatedRoute'],
|
|
50
|
+
moduleSpecifier: '@angular/router',
|
|
51
|
+
});
|
|
52
|
+
}
|
|
47
53
|
const properties = extractAllProperties(route);
|
|
48
54
|
const statements = [];
|
|
49
55
|
statements.push(`console.log(\`action row type: ${type}\`, parameters);`);
|
|
56
|
+
let routeValue = route;
|
|
50
57
|
if (properties.length) {
|
|
51
58
|
statements.push(`const { ${properties.join(', ')} } = parameters;`);
|
|
52
59
|
for (const property of properties) {
|
|
53
60
|
statements.push(`if (!${property}) { throw new Error('The table action ${type} is called with a row object that does not have the property ${property}.'); }`);
|
|
54
61
|
}
|
|
55
|
-
|
|
62
|
+
routeValue = buildDynamicRoute(route);
|
|
63
|
+
}
|
|
64
|
+
if (relativeTo) {
|
|
65
|
+
statements.push(`return this.router.navigate([ \`${routeValue}\` ], { relativeTo: this.route } );`);
|
|
56
66
|
}
|
|
57
67
|
else {
|
|
58
|
-
statements.push(`return this.router.navigate([
|
|
68
|
+
statements.push(`return this.router.navigate([ \`${routeValue}\` ]);`);
|
|
59
69
|
}
|
|
60
70
|
return Object.assign({ statements, scope: ts_morph_1.Scope.Public, returnType: 'Promise<any>' }, tsMorphTransform(project, sourceFile, classDeclaration));
|
|
61
71
|
} }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-navigation-table-action.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-navigation-table-action.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"coerce-navigation-table-action.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-navigation-table-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CoerceTableActionOptions } from './coerce-table-action';
|
|
2
|
+
export interface CoerceOpenApiTableActionRuleOptions extends CoerceTableActionOptions {
|
|
3
|
+
operationId: string;
|
|
4
|
+
scope?: string | null;
|
|
5
|
+
body: boolean | Record<string, string>;
|
|
6
|
+
parameters: boolean | Record<string, string>;
|
|
7
|
+
}
|
|
8
|
+
export declare function CoerceOpenApiTableActionRule(options: CoerceOpenApiTableActionRuleOptions): import("@angular-devkit/schematics").Rule;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceOpenApiTableActionRule = void 0;
|
|
4
|
+
const schematics_utilities_1 = require("@rxap/schematics-utilities");
|
|
5
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
6
|
+
const ts_morph_2 = require("ts-morph");
|
|
7
|
+
const coerce_class_constructor_1 = require("../coerce-class-constructor");
|
|
8
|
+
const operation_id_utilities_1 = require("../nest/operation-id-utilities");
|
|
9
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
10
|
+
const coerce_parameter_declaration_1 = require("../ts-morph/coerce-parameter-declaration");
|
|
11
|
+
const coerce_table_action_1 = require("./coerce-table-action");
|
|
12
|
+
const toMappingObjectOptions = {
|
|
13
|
+
aliasFnc: (key, value) => {
|
|
14
|
+
if (['rowId', '_rowId', '__rowId'].includes(value)) {
|
|
15
|
+
return '__rowId';
|
|
16
|
+
}
|
|
17
|
+
return value;
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
function CoerceOpenApiTableActionRule(options) {
|
|
21
|
+
let { tsMorphTransform, operationId, body, parameters, type, scope, tableName, } = options;
|
|
22
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
23
|
+
return (0, coerce_table_action_1.CoerceTableActionRule)(Object.assign(Object.assign({}, options), { tsMorphTransform: (project, sourceFile, classDeclaration) => {
|
|
24
|
+
const [constructorDeclaration] = (0, coerce_class_constructor_1.CoerceClassConstructor)(classDeclaration);
|
|
25
|
+
(0, coerce_parameter_declaration_1.CoerceParameterDeclaration)(constructorDeclaration, 'method').set({
|
|
26
|
+
type: (0, operation_id_utilities_1.OperationIdToClassName)(operationId),
|
|
27
|
+
isReadonly: true,
|
|
28
|
+
scope: ts_morph_2.Scope.Private,
|
|
29
|
+
});
|
|
30
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
31
|
+
namedImports: [(0, operation_id_utilities_1.OperationIdToClassName)(operationId)],
|
|
32
|
+
moduleSpecifier: (0, operation_id_utilities_1.OperationIdToClassImportPath)(operationId, scope),
|
|
33
|
+
});
|
|
34
|
+
const statements = [`console.log(\`action row type: ${type}\`, parameters);`];
|
|
35
|
+
const tableInterfaceName = `I${(0, schematics_utilities_1.classify)(tableName)}`;
|
|
36
|
+
if (body) {
|
|
37
|
+
(0, ts_morph_1.CoerceMappingClassMethod)(sourceFile, classDeclaration, {
|
|
38
|
+
name: 'getBody',
|
|
39
|
+
parameterType: tableInterfaceName,
|
|
40
|
+
mapping: body,
|
|
41
|
+
returnType: (0, operation_id_utilities_1.OperationIdToRequestBodyClassName)(operationId),
|
|
42
|
+
mappingOptions: toMappingObjectOptions,
|
|
43
|
+
});
|
|
44
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
45
|
+
namedImports: [(0, operation_id_utilities_1.OperationIdToRequestBodyClassName)(operationId)],
|
|
46
|
+
moduleSpecifier: (0, operation_id_utilities_1.OperationIdToRequestBodyClassImportPath)(operationId, scope),
|
|
47
|
+
});
|
|
48
|
+
statements.push(`const requestBody = this.getBody(parameters);`);
|
|
49
|
+
}
|
|
50
|
+
if (parameters) {
|
|
51
|
+
(0, ts_morph_1.CoerceMappingClassMethod)(sourceFile, classDeclaration, {
|
|
52
|
+
name: 'getParameters',
|
|
53
|
+
parameterType: tableInterfaceName,
|
|
54
|
+
mapping: parameters,
|
|
55
|
+
returnType: (0, operation_id_utilities_1.OperationIdToParameterClassName)(operationId),
|
|
56
|
+
mappingOptions: toMappingObjectOptions,
|
|
57
|
+
});
|
|
58
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, {
|
|
59
|
+
namedImports: [(0, operation_id_utilities_1.OperationIdToParameterClassName)(operationId)],
|
|
60
|
+
moduleSpecifier: (0, operation_id_utilities_1.OperationIdToParameterClassImportPath)(operationId, scope),
|
|
61
|
+
});
|
|
62
|
+
statements.push(`const requestParameters = this.getParameters(parameters);`);
|
|
63
|
+
}
|
|
64
|
+
if (body && parameters) {
|
|
65
|
+
statements.push(`return this.method.call({ parameters: requestParameters, requestBody });`);
|
|
66
|
+
}
|
|
67
|
+
else if (body) {
|
|
68
|
+
statements.push(`return this.method.call({ requestBody });`);
|
|
69
|
+
}
|
|
70
|
+
else if (parameters) {
|
|
71
|
+
statements.push(`return this.method.call({ parameters: requestParameters });`);
|
|
72
|
+
}
|
|
73
|
+
return Object.assign({ statements: statements, returnType: `Promise<any>` }, tsMorphTransform(project, sourceFile, classDeclaration));
|
|
74
|
+
} }));
|
|
75
|
+
}
|
|
76
|
+
exports.CoerceOpenApiTableActionRule = CoerceOpenApiTableActionRule;
|
|
77
|
+
//# sourceMappingURL=coerce-open-api-table-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-open-api-table-action.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-open-api-table-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ function CoerceTableActionProviderRule(options) {
|
|
|
30
30
|
const provideProperty = ole.getProperty('useClass');
|
|
31
31
|
if (provideProperty instanceof
|
|
32
32
|
ts_morph_1.PropertyAssignment) {
|
|
33
|
-
return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.
|
|
33
|
+
return ((_a = provideProperty.getInitializer()) === null || _a === void 0 ? void 0 : _a.getText().trim()) ===
|
|
34
34
|
po.useClass;
|
|
35
35
|
}
|
|
36
36
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-table-action-provider.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-table-action-provider.ts"],"names":[],"mappings":";;;AAAA,qEAGoC;AACpC,uCAGkB;AAClB,oEAA8D;AAC9D,8DAAyD;AACzD,gFAA2E;AAC3E,8DAA2E;AAC3E,+DAA2D;AAU3D,SAAgB,6BAA6B,CAAC,OAAyC;IACrF,MAAM,EACJ,IAAI,EACJ,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,uDAAkC,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAE3D,MAAM,UAAU,GAAG,IAAA,qCAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,UAAU,EAAE,0BAA0B,EAAE;YAC5F,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAE/D,IAAI,CAAC,CAAC,iBAAiB;YACrB,iCAAsB,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QAED,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,+BAAQ,EAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAEvE,IAAA,0CAAkB,EAAC;YACjB,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,IAAI;SACZ,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;;YACvC,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEpD,IAAI,eAAe;gBACjB,6BAAkB,EAAE;gBAEpB,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,
|
|
1
|
+
{"version":3,"file":"coerce-table-action-provider.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-table-action-provider.ts"],"names":[],"mappings":";;;AAAA,qEAGoC;AACpC,uCAGkB;AAClB,oEAA8D;AAC9D,8DAAyD;AACzD,gFAA2E;AAC3E,8DAA2E;AAC3E,+DAA2D;AAU3D,SAAgB,6BAA6B,CAAC,OAAyC;IACrF,MAAM,EACJ,IAAI,EACJ,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,OAAO,IAAA,uDAAkC,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAE3D,MAAM,UAAU,GAAG,IAAA,qCAAgB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzD,MAAM,mBAAmB,GAAG,IAAA,uDAAyB,EAAC,UAAU,EAAE,0BAA0B,EAAE;YAC5F,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,cAAc,EAAE,CAAC;QAE/D,IAAI,CAAC,CAAC,iBAAiB;YACrB,iCAAsB,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QAED,MAAM,SAAS,GAAG,IAAA,mCAAY,EAAC,IAAA,+BAAQ,EAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAEvE,IAAA,0CAAkB,EAAC;YACjB,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,IAAI;SACZ,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;;YACvC,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAEpD,IAAI,eAAe;gBACjB,6BAAkB,EAAE;gBAEpB,OAAO,CAAA,MAAA,eAAe,CAAC,cAAc,EAAE,0CAAE,OAAO,GAAG,IAAI,EAAE;oBACvD,EAAE,CAAC,QAAQ,CAAC;aAEf;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,eAAe,EAAE,KAAM,IAAA,mCAAY,EAAC,IAAI,EAAE,mBAAmB,CAAE,SAAS;YACxE,YAAY,EAAE,CAAE,SAAS,CAAE;SAC5B,CAAC,CAAC;QACH,IAAA,8BAAa,EAAC,UAAU,EAAE;YACxB,eAAe,EAAE,6BAA6B;YAC9C,YAAY,EAAE,CAAE,8BAA8B,CAAE;SACjD,CAAC,CAAC;IAEL,CAAC,CAAC,CAAC;AACL,CAAC;AAlDD,sEAkDC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ClassDeclaration, Project, SourceFile } from 'ts-morph';
|
|
2
|
+
import { CoerceComponentOptions } from './coerce-component';
|
|
3
|
+
import { CoerceMethodClassOptions } from './coerce-method-class';
|
|
4
|
+
export interface CoerceTableHeaderButtonMethodOptions extends Omit<CoerceMethodClassOptions, 'name'> {
|
|
5
|
+
tableName: string;
|
|
6
|
+
tsMorphTransformComponent?: (project: Project, [componentSourceFile]: [SourceFile], [componentClass]: [ClassDeclaration], options: CoerceComponentOptions) => void;
|
|
7
|
+
refresh?: boolean;
|
|
8
|
+
confirm?: boolean;
|
|
9
|
+
tooltip?: string | null;
|
|
10
|
+
errorMessage?: string | null;
|
|
11
|
+
successMessage?: string | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function CoerceTableHeaderButtonMethodRule(options: CoerceTableHeaderButtonMethodOptions): import("@angular-devkit/schematics").Rule;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CoerceTableHeaderButtonMethodRule = void 0;
|
|
4
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
const coerce_decorator_1 = require("../ts-morph/coerce-decorator");
|
|
8
|
+
const coerce_imports_1 = require("../ts-morph/coerce-imports");
|
|
9
|
+
const add_component_provider_1 = require("./add-component-provider");
|
|
10
|
+
const coerce_component_1 = require("./coerce-component");
|
|
11
|
+
const coerce_method_class_1 = require("./coerce-method-class");
|
|
12
|
+
function CoerceTableHeaderButtonMethodRule(options) {
|
|
13
|
+
let { refresh, confirm, tooltip, errorMessage, successMessage, tsMorphTransformComponent, tableName, project, feature, shared, overwrite, directory, tsMorphTransform, } = options;
|
|
14
|
+
tsMorphTransform !== null && tsMorphTransform !== void 0 ? tsMorphTransform : (tsMorphTransform = () => ({}));
|
|
15
|
+
tsMorphTransformComponent !== null && tsMorphTransformComponent !== void 0 ? tsMorphTransformComponent : (tsMorphTransformComponent = () => ({}));
|
|
16
|
+
return (0, schematics_1.chain)([
|
|
17
|
+
(0, coerce_method_class_1.CoerceMethodClass)({
|
|
18
|
+
project,
|
|
19
|
+
feature,
|
|
20
|
+
shared,
|
|
21
|
+
overwrite,
|
|
22
|
+
directory: (0, path_1.join)(directory !== null && directory !== void 0 ? directory : '', 'methods'),
|
|
23
|
+
name: 'header-button',
|
|
24
|
+
tsMorphTransform: (project, sourceFile, classDeclaration) => {
|
|
25
|
+
(0, coerce_imports_1.CoerceImports)(sourceFile, [
|
|
26
|
+
{
|
|
27
|
+
moduleSpecifier: '@rxap/material-table-system',
|
|
28
|
+
namedImports: ['TableHeaderButtonMethod'],
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
const buttonOptions = {};
|
|
32
|
+
if (refresh) {
|
|
33
|
+
buttonOptions['refresh'] = 'true';
|
|
34
|
+
}
|
|
35
|
+
if (confirm) {
|
|
36
|
+
buttonOptions['confirm'] = 'true';
|
|
37
|
+
}
|
|
38
|
+
if (tooltip) {
|
|
39
|
+
buttonOptions['tooltip'] = `$localize\`${tooltip}\``;
|
|
40
|
+
}
|
|
41
|
+
if (errorMessage) {
|
|
42
|
+
buttonOptions['errorMessage'] = `$localize\`${errorMessage}\``;
|
|
43
|
+
}
|
|
44
|
+
if (successMessage) {
|
|
45
|
+
buttonOptions['successMessage'] = `$localize\`${successMessage}\``;
|
|
46
|
+
}
|
|
47
|
+
(0, coerce_decorator_1.CoerceDecorator)(classDeclaration, 'TableHeaderButtonMethod', {
|
|
48
|
+
arguments: [ts_morph_1.Writers.object(buttonOptions)],
|
|
49
|
+
});
|
|
50
|
+
return Object.assign({}, tsMorphTransform(project, sourceFile, classDeclaration));
|
|
51
|
+
},
|
|
52
|
+
}),
|
|
53
|
+
(0, coerce_component_1.CoerceComponentRule)({
|
|
54
|
+
project,
|
|
55
|
+
feature,
|
|
56
|
+
shared,
|
|
57
|
+
name: tableName,
|
|
58
|
+
directory,
|
|
59
|
+
overwrite,
|
|
60
|
+
tsMorphTransform: (project, [sourceFile], [componentClass], options) => {
|
|
61
|
+
(0, add_component_provider_1.AddComponentProvider)(sourceFile, {
|
|
62
|
+
provide: 'TABLE_HEADER_BUTTON_METHOD',
|
|
63
|
+
useClass: 'HeaderButtonMethod',
|
|
64
|
+
}, [
|
|
65
|
+
{
|
|
66
|
+
moduleSpecifier: '@rxap/material-table-system',
|
|
67
|
+
namedImports: ['TABLE_HEADER_BUTTON_METHOD'],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
moduleSpecifier: './methods/header-button.method',
|
|
71
|
+
namedImports: ['HeaderButtonMethod'],
|
|
72
|
+
},
|
|
73
|
+
]);
|
|
74
|
+
tsMorphTransformComponent(project, [sourceFile], [componentClass], options);
|
|
75
|
+
},
|
|
76
|
+
}),
|
|
77
|
+
]);
|
|
78
|
+
}
|
|
79
|
+
exports.CoerceTableHeaderButtonMethodRule = CoerceTableHeaderButtonMethodRule;
|
|
80
|
+
//# sourceMappingURL=coerce-table-header-button-method.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce-table-header-button-method.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/coerce-table-header-button-method.ts"],"names":[],"mappings":"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"}
|
package/src/lib/angular/index.js
CHANGED
|
@@ -27,4 +27,5 @@ tslib_1.__exportStar(require("./has-accordion-component"), exports);
|
|
|
27
27
|
tslib_1.__exportStar(require("./has-component"), exports);
|
|
28
28
|
tslib_1.__exportStar(require("./has-project-feature"), exports);
|
|
29
29
|
tslib_1.__exportStar(require("./has-table-component"), exports);
|
|
30
|
+
tslib_1.__exportStar(require("./coerce-open-api-table-action"), exports);
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,uEAA6C;AAC7C,mEAAyC;AACzC,6DAAmC;AACnC,qEAA2C;AAC3C,yEAA+C;AAC/C,2EAAiD;AACjD,mEAAyC;AACzC,iEAAuC;AACvC,uEAA6C;AAC7C,qEAA2C;AAC3C,gEAAsC;AACtC,2EAAiD;AACjD,0EAAgD;AAChD,mEAAyC;AACzC,6EAAmD;AACnD,+EAAqD;AACrD,yEAA+C;AAC/C,gEAAsC;AACtC,+EAAqD;AACrD,iGAAuE;AACvE,6FAAmE;AACnE,oEAA0C;AAC1C,0DAAgC;AAChC,gEAAsC;AACtC,gEAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/schematic/ts-morph/src/lib/angular/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,uEAA6C;AAC7C,mEAAyC;AACzC,6DAAmC;AACnC,qEAA2C;AAC3C,yEAA+C;AAC/C,2EAAiD;AACjD,mEAAyC;AACzC,iEAAuC;AACvC,uEAA6C;AAC7C,qEAA2C;AAC3C,gEAAsC;AACtC,2EAAiD;AACjD,0EAAgD;AAChD,mEAAyC;AACzC,6EAAmD;AACnD,+EAAqD;AACrD,yEAA+C;AAC/C,gEAAsC;AACtC,+EAAqD;AACrD,iGAAuE;AACvE,6FAAmE;AACnE,oEAA0C;AAC1C,0DAAgC;AAChC,gEAAsC;AACtC,gEAAsC;AACtC,yEAA+C"}
|
package/src/lib/auto-import.js
CHANGED
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AutoImport = void 0;
|
|
4
|
-
const ts_morph_1 = require("ts-morph");
|
|
4
|
+
const ts_morph_1 = require("@rxap/ts-morph");
|
|
5
5
|
const add_dir_1 = require("./add-dir");
|
|
6
6
|
/**
|
|
7
7
|
* @deprecated use FixMissingImports instead
|
|
8
8
|
*/
|
|
9
9
|
function AutoImport(basePath, autoImportBasePath = basePath) {
|
|
10
10
|
return tree => {
|
|
11
|
-
const project =
|
|
12
|
-
useInMemoryFileSystem: true,
|
|
13
|
-
manipulationSettings: {
|
|
14
|
-
indentationText: ts_morph_1.IndentationText.TwoSpaces,
|
|
15
|
-
quoteKind: ts_morph_1.QuoteKind.Single,
|
|
16
|
-
useTrailingCommas: true,
|
|
17
|
-
},
|
|
18
|
-
});
|
|
11
|
+
const project = (0, ts_morph_1.CreateProject)();
|
|
19
12
|
(0, add_dir_1.AddDir)(tree.getDir(basePath), project, basePath, pf => !!pf.match(/\.ts$/));
|
|
20
13
|
console.debug('auto import for ts files');
|
|
21
14
|
project.getSourceFiles()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-import.js","sourceRoot":"","sources":["../../../../../../packages/schematic/ts-morph/src/lib/auto-import.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"auto-import.js","sourceRoot":"","sources":["../../../../../../packages/schematic/ts-morph/src/lib/auto-import.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAO/C,uCAAmC;AAEnC;;GAEG;AACH,SAAgB,UAAU,CAAC,QAAgB,EAAE,qBAA6B,QAAQ;IAChF,OAAO,IAAI,CAAC,EAAE;QACZ,MAAM,OAAO,GAAG,IAAA,wBAAa,GAAE,CAAC;QAChC,IAAA,gBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,cAAc,EAAE;aAChB,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;aAC3E,OAAO,CAAC,UAAU,CAAC,EAAE;YACpB,UAAU,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAZD,gCAYC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoerceClassConstructor = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated import from @rxap/sts-morph
|
|
6
|
+
*/
|
|
4
7
|
function CoerceClassConstructor(classDeclaration) {
|
|
5
8
|
const constructorDeclarations = classDeclaration.getConstructors();
|
|
6
9
|
if (constructorDeclarations.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-class-constructor.js","sourceRoot":"","sources":["../../../../../../packages/schematic/ts-morph/src/lib/coerce-class-constructor.ts"],"names":[],"mappings":";;;AAEA,SAAgB,sBAAsB,CAAC,gBAAkC;IACvE,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,eAAe,EAAE,CAAC;IACnE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC,uBAAuB,CAAC,IAAI,CAC1B,gBAAgB,CAAC,cAAc,CAAC;YAC9B,UAAU,EAAE,EAAE;SACf,CAAC,CACH,CAAC;KACH;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAVD,wDAUC"}
|
|
1
|
+
{"version":3,"file":"coerce-class-constructor.js","sourceRoot":"","sources":["../../../../../../packages/schematic/ts-morph/src/lib/coerce-class-constructor.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,sBAAsB,CAAC,gBAAkC;IACvE,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,eAAe,EAAE,CAAC;IACnE,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC,uBAAuB,CAAC,IAAI,CAC1B,gBAAgB,CAAC,cAAc,CAAC;YAC9B,UAAU,EAAE,EAAE;SACf,CAAC,CACH,CAAC;KACH;IACD,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAVD,wDAUC"}
|