Skip to content

Commit fc779b9

Browse files
committed
Move BrowserAnimationsModule to app module an fix some general problems
1 parent 5735a8d commit fc779b9

File tree

8 files changed

+71
-23
lines changed

8 files changed

+71
-23
lines changed

package-lock.json

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@
3333
"inquirer-prompt-suggest": "0.1.0",
3434
"inquirer-search-list": "1.2.6",
3535
"ora": "5.4.1",
36+
"path": "^0.12.7",
3637
"prettier": "2.7.1",
37-
"rxjs": "7.5.7",
38+
"rxjs": "7.x",
3839
"serialize-javascript": "6.0.0",
3940
"typescript": "4.8.4"
4041
},

src/ng-generate/table-prompter/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {
2727
Property,
2828
} from '@esmf/aspect-model-loader';
2929
import * as fs from 'fs';
30+
import path from 'path';
3031
import inquirer, {Answers, Question, QuestionAnswer} from 'inquirer';
3132
import {Observable, Subject, Subscriber} from 'rxjs';
3233
import {TemplateHelper} from '../../utils/template-helper';
@@ -212,6 +213,7 @@ function getTtlPaths(promptSubj: Subject<any>, allAnswers: Schema, subscriber: S
212213
}
213214
try {
214215
const data = fs.readFileSync(fileName, 'utf8');
216+
WIZARD_CONFIG_FILE = path.basename(fileName);
215217
fromImport = true;
216218
promptSubj.complete();
217219
writeConfigAndExit(subscriber, tree, JSON.parse(data), true);

src/ng-generate/table/generators/html.generator.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ export class HtmlGenerator {
7070
(removed)="removeFilter(filter)"
7171
>
7272
<div data-test="chip-text" class="chip-text"
73-
matTooltip="{{ filter.filterValue + filter.label }}">
74-
<b>{{filter.filterValue}}</b>{{ filter.label }}</div>
73+
matTooltip="{{ filter.prop }}: {{ filter.label }}">
74+
<b>{{filter.prop}}</b>: {{ filter.label }}</div>
7575
<button *ngIf="filter.removable" matChipRemove data-test="mat-chip-remove">
7676
<mat-icon class="material-icons" data-test="remove-chip">cancel</mat-icon>
7777
</button>
@@ -270,9 +270,7 @@ export class HtmlGenerator {
270270
: `<th data-test="custom-column-header" mat-header-cell *matHeaderCellDef mat-sort-header>{{ '${this.options.selectedModelElement.name.toLowerCase()}.customColumn.${columnName}' | translate }}</th>`
271271
}
272272
<td data-test="custom-column-cell" mat-cell *matCellDef="let row" >
273-
<ng-container data-test="custom-column-container" *ngTemplateOutlet="${camelize(
274-
columnName
275-
)}Template; context:{aspect:row}"></ng-container>
273+
<ng-container data-test="custom-column-container" *ngTemplateOutlet="${camelize(columnName)}Template; context:{aspect:row}"></ng-container>
276274
</td>
277275
</ng-container>`;
278276
})
@@ -529,7 +527,7 @@ export class HtmlGenerator {
529527
private getCustomTemplate(): string {
530528
return `
531529
<ng-container *ngIf="!!customTemplate && !dataSource.data.length">
532-
<ng-container *ngTemplateOutlet="customTemplate"></ng-container>
530+
<ng-container *ngTemplateOutlet="loadCustomTemplate()"></ng-container>
533531
</ng-container>
534532
`;
535533
}

src/ng-generate/table/generators/ts-component.generator.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,10 @@ export class TsComponentGenerator {
223223
this.columns = [...columns];
224224
this.displayedColumns = displayedColumnsTmp.filter(column => column.selected).map(column => column.name);
225225
}
226+
227+
loadCustomTemplate(): TemplateRef<any> | null{
228+
return this.customTemplate? this.customTemplate as TemplateRef<any>: null;
229+
}
226230
227231
${
228232
!isRemote

src/ng-generate/table/index.ts

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {NodePackageInstallTask, RunSchematicTask} from '@angular-devkit/schemati
1717
import {NodeDependencyType} from '@schematics/angular/utility/dependencies';
1818
import {JSONFile} from '@schematics/angular/utility/json-file';
1919
import {
20+
addToAppModule,
2021
addToAppSharedModule,
2122
addToComponentModule,
2223
addToDeclarationsArray,
@@ -63,6 +64,10 @@ export default function (options: Schema): Rule {
6364
export function generateTable(options: Schema): Rule {
6465
options.spinner = ora().start();
6566

67+
if (!options.skipImport) {
68+
options.skipImport = false;
69+
}
70+
6671
loadAndApplyConfigFile(options.configFile, options);
6772

6873
if (options.aspectModelTFilesString) {
@@ -96,7 +101,7 @@ export function generateTable(options: Schema): Rule {
96101
generateModule(options),
97102
generateTranslationModule(options),
98103
addPackageJsonDependencies(
99-
options.skipImport || false,
104+
options.skipImport,
100105
options.spinner,
101106
options.enableRemoteDataHandling
102107
? [
@@ -136,8 +141,10 @@ export function generateTable(options: Schema): Rule {
136141
]
137142
),
138143
updateConfigFiles(options),
139-
addToComponentModule(options.skipImport || false, options, [
140-
{name: 'BrowserAnimationsModule', fromLib: '@angular/platform-browser/animations'},
144+
addToAppModule(options.skipImport, [
145+
{name: 'BrowserAnimationsModule', fromLib: '@angular/platform-browser/animations'}
146+
]),
147+
addToComponentModule(options.skipImport, options, [
141148
{name: 'MatTableModule', fromLib: '@angular/material/table'},
142149
{name: 'MatPaginatorModule', fromLib: '@angular/material/paginator'},
143150
{name: 'MatSortModule', fromLib: '@angular/material/sort'},
@@ -149,15 +156,20 @@ export function generateTable(options: Schema): Rule {
149156
{name: 'MatTooltipModule', fromLib: '@angular/material/tooltip'},
150157
{name: 'MatListModule', fromLib: '@angular/material/list'},
151158
{name: 'DragDropModule', fromLib: '@angular/cdk/drag-drop'},
159+
{name: 'NgTemplateOutlet', fromLib: '@angular/common'},
160+
{name: 'DatePipe', fromLib: '@angular/common'},
161+
{name: 'NgIf', fromLib: '@angular/common'},
162+
{name: 'NgFor', fromLib: '@angular/common'},
163+
{name: 'NgClass', fromLib: '@angular/common'},
152164
]),
153-
addToComponentModule(!options.addRowCheckboxes || options.skipImport || false, options, [
165+
addToComponentModule(!options.addRowCheckboxes || options.skipImport, options, [
154166
{name: 'MatCheckboxModule', fromLib: '@angular/material/checkbox'},
155167
{name: 'MatDialogModule', fromLib: '@angular/material/dialog'},
156168
]),
157169
addToComponentModule(
158170
{
159171
skip() {
160-
return !options.addCommandBar || options.skipImport || false;
172+
return !options.addCommandBar || options.skipImport as boolean;
161173
},
162174
},
163175
options,
@@ -176,7 +188,7 @@ export function generateTable(options: Schema): Rule {
176188
addToComponentModule(
177189
{
178190
skip() {
179-
return options.templateHelper.getDateProperties(options).length < 1 || options.skipImport || false;
191+
return options.templateHelper.getDateProperties(options).length < 1 || options.skipImport as boolean;
180192
},
181193
},
182194
options,
@@ -185,7 +197,7 @@ export function generateTable(options: Schema): Rule {
185197
addToComponentModule(
186198
{
187199
skip() {
188-
return !options.enabledCommandBarFunctions?.includes('addDateQuickFilters') || options.skipImport || false;
200+
return !options.enabledCommandBarFunctions?.includes('addDateQuickFilters') || options.skipImport as boolean;
189201
},
190202
},
191203
options,
@@ -197,7 +209,7 @@ export function generateTable(options: Schema): Rule {
197209
addToComponentModule(
198210
{
199211
skip() {
200-
return !options.enabledCommandBarFunctions?.includes('addEnumQuickFilters') || options.skipImport || false;
212+
return !options.enabledCommandBarFunctions?.includes('addEnumQuickFilters') || options.skipImport as boolean;
201213
},
202214
},
203215
options,
@@ -207,15 +219,15 @@ export function generateTable(options: Schema): Rule {
207219
]
208220
),
209221
addToAppSharedModule(
222+
false,
210223
[
211224
{name: 'MatButtonModule', fromLib: '@angular/material/button'},
212225
{name: 'MatDialogModule', fromLib: '@angular/material/dialog'},
213226
{name: 'MatCheckboxModule', fromLib: '@angular/material/checkbox'},
214227
{name: 'MatIconModule', fromLib: '@angular/material/icon'},
215228
{name: 'FormsModule', fromLib: '@angular/forms'},
216229
{name: 'NgIf', fromLib: '@angular/common'},
217-
],
218-
false
230+
]
219231
),
220232
generateComponentFiles(options),
221233
generateStyles(options),

src/utils/angular.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,17 @@ export function addToComponentModule(skipImport: SkipHandler | boolean, options:
5252
};
5353
}
5454

55-
export function addToAppModule(modules: Array<ModuleDefinition> = [], skipImport: SkipHandler | boolean): Rule {
55+
export function addToAppModule(skipImport: SkipHandler | boolean, modules: Array<ModuleDefinition> = []): Rule {
5656
const appModule: ModuleOptions = {name: 'AppModule', module: 'app.module.ts', path: '/src/app'};
57-
return addToModule(appModule, modules, skipImport);
57+
return addToModule(appModule, skipImport, modules);
5858
}
5959

60-
export function addToAppSharedModule(modules: Array<ModuleDefinition> = [], skipImport: SkipHandler | boolean): Rule {
60+
export function addToAppSharedModule(skipImport: SkipHandler | boolean, modules: Array<ModuleDefinition> = []): Rule {
6161
const appModule: ModuleOptions = {name: 'AppSharedModule', module: 'app-shared.module.ts', path: '/src/app/shared'};
62-
return addToModule(appModule, modules, skipImport);
62+
return addToModule(appModule, skipImport, modules);
6363
}
6464

65-
function addToModule(appModule: ModuleOptions, modules: Array<ModuleDefinition> = [], skipImport: SkipHandler | boolean): Rule {
65+
function addToModule(appModule: ModuleOptions, skipImport: SkipHandler | boolean, modules: Array<ModuleDefinition> = []): Rule {
6666
return async (tree: Tree) => {
6767
if (skipImport !== undefined && (skipImport === true || (skipImport !== false && (skipImport as SkipHandler).skip()))) {
6868
return;

src/utils/aspect-model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ export function generateTranslationModule(options: tableSchema | typeSchema): Ru
121121

122122
if (!tree.exists('src/app/shared/app-shared.module.ts')) {
123123
tree.create('src/app/shared/app-shared.module.ts', translationModuleContent);
124-
addToAppSharedModule([{name: 'AppSharedModule', fromLib: './app/shared/app-shared.module'}], false);
124+
addToAppSharedModule(false, [{name: 'AppSharedModule', fromLib: './app/shared/app-shared.module'}]);
125125
}
126126
};
127127
}

0 commit comments

Comments
 (0)