imng-kendo-schematics 19.175.1 → 19.178.4
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/package.json +1 -1
- package/schematics/imng-crud/files/add-edit.component.html.template +59 -30
- package/schematics/imng-crud/files/api.service.ts.template +0 -4
- package/schematics/imng-crud/files/crud.facade.ts.template +3 -3
- package/schematics/imng-list/files/list.component.html.template +13 -11
- package/schematics/imng-list/files/list.component.ts.template +5 -5
- package/schematics/imng-list/files/list.facade.ts.template +3 -3
- package/schematics/imng-module/files/+state/__singularizedName@dasherize__-crud.effects.ts.template +5 -6
- package/schematics/imng-module/files/+state/__singularizedName@dasherize__-list.effects.ts.template +5 -6
package/package.json
CHANGED
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
[filterable]="true"
|
|
16
16
|
(filterChange)="handle<%= classify(swaggerProperty.name) %>Filter($event)">
|
|
17
17
|
</kendo-combobox><% if(swaggerProperty.required) { %>
|
|
18
|
-
|
|
19
|
-
<div
|
|
20
|
-
|
|
18
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)) {
|
|
19
|
+
<div class="invalid-feedback d-block">
|
|
20
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[RequiredError]) {
|
|
21
|
+
<div><%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> is required</div>
|
|
22
|
+
}
|
|
23
|
+
</div>
|
|
24
|
+
}<% } %>
|
|
21
25
|
</div><%} else if (swaggerProperty.htmlInputType === 'object' && swaggerProperty.properties.length <= 2){ %>
|
|
22
26
|
<kendo-combobox
|
|
23
27
|
id="<%= underscore(swaggerProperty.name) %>"
|
|
@@ -30,9 +34,13 @@
|
|
|
30
34
|
[filterable]="true"
|
|
31
35
|
(filterChange)="handle<%= classify(swaggerProperty.name) %>Filter($event)">
|
|
32
36
|
</kendo-combobox><% if(swaggerProperty.required) { %>
|
|
33
|
-
|
|
34
|
-
<div
|
|
35
|
-
|
|
37
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)){
|
|
38
|
+
<div class="invalid-feedback d-block">
|
|
39
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[RequiredError]) {
|
|
40
|
+
<div><%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> is required</div>
|
|
41
|
+
}
|
|
42
|
+
</div>
|
|
43
|
+
}<% } %>
|
|
36
44
|
</div><%} else if (swaggerProperty.htmlInputType === 'object'){ %>
|
|
37
45
|
<kendo-multicolumncombobox
|
|
38
46
|
id="<%= underscore(swaggerProperty.name) %>"
|
|
@@ -46,41 +54,62 @@
|
|
|
46
54
|
(filterChange)="handle<%= classify(swaggerProperty.name) %>Filter($event)"><% swaggerProperty.properties.filter(t=> t.name !== 'id' && !t.hidden).forEach(swaggerSubProperty => { %>
|
|
47
55
|
<kendo-combobox-column field="<%= camelize(swaggerSubProperty.name) %>" title="<%= swaggerSubProperty.startCaseName %>" [width]="100"></kendo-combobox-column><% }); %>
|
|
48
56
|
</kendo-multicolumncombobox><% if(swaggerProperty.required) { %>
|
|
49
|
-
|
|
50
|
-
<div
|
|
51
|
-
|
|
57
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)) {
|
|
58
|
+
<div class="invalid-feedback d-block">
|
|
59
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[RequiredError]) {
|
|
60
|
+
<div><%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> is required</div>
|
|
61
|
+
}
|
|
62
|
+
</div>
|
|
63
|
+
}<% } %>
|
|
52
64
|
</div><%} else if (swaggerProperty.htmlInputType === 'date' && swaggerProperty.required) { %>
|
|
53
|
-
<kendo-datepicker id="<%= underscore(swaggerProperty.name) %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
65
|
+
<kendo-datepicker id="<%= underscore(swaggerProperty.name) %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
66
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)) {
|
|
67
|
+
<div class="invalid-feedback d-block">
|
|
68
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[RequiredError]) {
|
|
69
|
+
<div><%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> is required</div>
|
|
70
|
+
}
|
|
71
|
+
</div>
|
|
72
|
+
}
|
|
58
73
|
</div><%} else if (swaggerProperty.htmlInputType === 'date'){ %>
|
|
59
74
|
<kendo-datepicker id="<%= underscore(swaggerProperty.name) %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>"></kendo-datepicker>
|
|
60
75
|
</div><%} else if (swaggerProperty.required && swaggerProperty.minLength) { %>
|
|
61
76
|
<input id="<%= underscore(swaggerProperty.name) %>" type="<%= swaggerProperty.htmlInputType %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
62
|
-
|
|
63
|
-
<div
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)) {
|
|
78
|
+
<div class="invalid-feedback d-block">
|
|
79
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[RequiredError]) {
|
|
80
|
+
<div><%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> is required</div>
|
|
81
|
+
}
|
|
82
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[MinLengthError]) {
|
|
83
|
+
<div>
|
|
84
|
+
<%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> requires a min length of
|
|
85
|
+
{{formMinLengthError(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.requiredLength}}, currently only
|
|
86
|
+
{{formMinLengthError(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.actualLength}}.
|
|
87
|
+
</div>
|
|
88
|
+
}
|
|
68
89
|
</div>
|
|
69
|
-
|
|
90
|
+
}
|
|
70
91
|
</div><% } else if (swaggerProperty.required) { %>
|
|
71
92
|
<input id="<%= underscore(swaggerProperty.name) %>" type="<%= swaggerProperty.htmlInputType %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
72
|
-
|
|
73
|
-
<div
|
|
74
|
-
|
|
93
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)) {
|
|
94
|
+
<div class="invalid-feedback d-block">
|
|
95
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[RequiredError]) {
|
|
96
|
+
<div><%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> is required</div>
|
|
97
|
+
}
|
|
98
|
+
</div>
|
|
99
|
+
}
|
|
75
100
|
</div><% } else if (swaggerProperty.minLength) { %>
|
|
76
101
|
<input id="<%= underscore(swaggerProperty.name) %>" type="<%= swaggerProperty.htmlInputType %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
77
|
-
|
|
78
|
-
<div
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
102
|
+
@if ((submitted$ | async) && formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)) {
|
|
103
|
+
<div class="invalid-feedback d-block">
|
|
104
|
+
@if (formControlErrors(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.[MinLengthError]) {
|
|
105
|
+
<div>
|
|
106
|
+
<%= capitalize(decamelize(name)) %> <%= (swaggerProperty.startCaseName).toLowerCase() %> requires a min length of
|
|
107
|
+
{{formMinLengthError(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.requiredLength}}, currently only
|
|
108
|
+
{{formMinLengthError(props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>)?.actualLength}}.
|
|
109
|
+
</div>
|
|
110
|
+
}
|
|
82
111
|
</div>
|
|
83
|
-
|
|
112
|
+
}
|
|
84
113
|
</div><% } else{ %>
|
|
85
114
|
<input id="<%= underscore(swaggerProperty.name) %>" type="<%= swaggerProperty.htmlInputType %>" class="form-control" [formControlName]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
86
115
|
</div><% } %><% }) %>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { NrsrxBaseApiClientService } from 'imng-nrsrx-client-utils';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
3
|
import { environment } from '@env';
|
|
5
4
|
|
|
6
5
|
@Injectable({
|
|
@@ -12,7 +11,4 @@ export class <%= classify(name) %>ApiService extends NrsrxBaseApiClientService<I
|
|
|
12
11
|
public override dateOnlyPropertyNames = [<% swaggerProperties.filter(t => t.format === 'date').forEach(function (swaggerProperty, index, dateProperties) { %>
|
|
13
12
|
<%= classify(singularizedName) %>Properties.<%= swaggerProperty.snakeCaseName.toUpperCase() %><% if (index + 1 < dateProperties.length) { %>,<% }}) %>];
|
|
14
13
|
<% } %>
|
|
15
|
-
constructor(http: HttpClient) {
|
|
16
|
-
super(http);
|
|
17
|
-
}
|
|
18
14
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
3
|
import { IDataEntryFacade } from 'imng-kendo-data-entry';<% if (hasObjects) { %>
|
|
4
4
|
import { ODataState } from 'imng-kendo-odata';<% } %>
|
|
@@ -6,14 +6,14 @@ import { <%= camelize(pluralizedStoreName) %>Feature, <%= camelize(singularizedS
|
|
|
6
6
|
|
|
7
7
|
@Injectable()
|
|
8
8
|
export class <%= classify(name) %>CrudFacade implements IDataEntryFacade<I<%= classify(name) %>> {
|
|
9
|
+
private readonly store = inject(Store);
|
|
10
|
+
|
|
9
11
|
loading$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.selectLoading);
|
|
10
12
|
currentEntity$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.selectCurrent<%= classify(name) %>);
|
|
11
13
|
isEditActive$ = this.store.select(<%= camelize(singularizedStoreName) %>Selectors.selectIsEdit<%= classify(name) %>Active);
|
|
12
14
|
isNewActive$ = this.store.select(<%= camelize(singularizedStoreName) %>Selectors.selectIsNew<%= classify(name) %>Active);<% swaggerObjectProperties.filter(t=> !t.enum).forEach(function(swaggerProperty){ %>
|
|
13
15
|
<%= camelize(swaggerProperty.pluralizedName) %>$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.select<%= classify(swaggerProperty.pluralizedName) %>);<% }); %>
|
|
14
16
|
|
|
15
|
-
constructor(private readonly store: Store) {}
|
|
16
|
-
|
|
17
17
|
public setCurrentEntity(item: I<%= classify(name) %>): void {
|
|
18
18
|
this.store.dispatch(<%= camelize(singularizedStoreName) %>ActionTypes.setCurrent<%= classify(name) %>(item));
|
|
19
19
|
}
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
(addItemClicked)="addItem()"
|
|
8
8
|
(reloadEntitiesClicked)="reloadEntities()"
|
|
9
9
|
(resetFiltersClicked)="resetFilters()"
|
|
10
|
-
[hasHiddenColumns$]="hasHiddenColumns$"
|
|
11
|
-
</imng-kendo-odata-grid-header>
|
|
10
|
+
[hasHiddenColumns$]="hasHiddenColumns$" />
|
|
12
11
|
</div>
|
|
13
12
|
</ng-template>
|
|
14
13
|
<kendo-grid-column [width]="75">
|
|
@@ -54,7 +53,7 @@
|
|
|
54
53
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
55
54
|
<div *ngIf="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>]">
|
|
56
55
|
<span class="text-success font-weight-bolder h2" tooltip="<%= swaggerProperty.startCaseName %>">
|
|
57
|
-
<span class="k-icon k-i-check-circle start-50"
|
|
56
|
+
<span class="k-icon k-i-check-circle start-50" />
|
|
58
57
|
</span>
|
|
59
58
|
</div>
|
|
60
59
|
</ng-template>
|
|
@@ -63,11 +62,10 @@
|
|
|
63
62
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
64
63
|
<imng-kendo-copy
|
|
65
64
|
[displayValue]="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>] | slice:0:5"
|
|
66
|
-
[copyValue]="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>]"
|
|
67
|
-
</imng-kendo-copy>
|
|
65
|
+
[copyValue]="dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>]" />
|
|
68
66
|
</ng-template>
|
|
69
67
|
<ng-template kendoGridFilterMenuTemplate let-filter>
|
|
70
|
-
<imng-uuid-filter [filter]="filter"
|
|
68
|
+
<imng-uuid-filter [filter]="filter" />
|
|
71
69
|
</ng-template>
|
|
72
70
|
<%} else if (swaggerProperty.enum) { %>
|
|
73
71
|
<kendo-grid-column
|
|
@@ -82,7 +80,7 @@
|
|
|
82
80
|
[textField]="EnumProperties.DISPLAY_TEXT"
|
|
83
81
|
[valueField]="EnumProperties.NAME"
|
|
84
82
|
[data]="<%= camelize(swaggerProperty.pluralizedPropertyTypeName) %>"
|
|
85
|
-
[field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>"
|
|
83
|
+
[field]="props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>" />
|
|
86
84
|
</ng-template>
|
|
87
85
|
<ng-template kendoGridCellTemplate let-dataItem>
|
|
88
86
|
{{ getEnumText(<%= camelize(swaggerProperty.pluralizedPropertyTypeName) %>, dataItem[props.<%= swaggerProperty.snakeCaseName.toUpperCase() %>]) }}
|
|
@@ -99,9 +97,13 @@
|
|
|
99
97
|
</kendo-grid-column><% }) %>
|
|
100
98
|
|
|
101
99
|
<kendo-grid-pdf [fileName]="getExportFileName('<%= classify(pluralizedName) %>')" [allPages]="false">
|
|
102
|
-
<kendo-grid-pdf-margin top="1cm" left="1cm" right="1cm" bottom="1cm"
|
|
100
|
+
<kendo-grid-pdf-margin top="1cm" left="1cm" right="1cm" bottom="1cm" />
|
|
103
101
|
</kendo-grid-pdf>
|
|
104
|
-
<kendo-grid-excel [fileName]="getExportFileName('<%= classify(pluralizedName) %>')" [fetchData]="excelData"
|
|
102
|
+
<kendo-grid-excel [fileName]="getExportFileName('<%= classify(pluralizedName) %>')" [fetchData]="excelData" />
|
|
105
103
|
</kendo-grid>
|
|
106
|
-
|
|
107
|
-
<<%= appPrefix %>-<%= dasherize(name) %>-
|
|
104
|
+
@if (crudFacade.isNewActive$ | async) {
|
|
105
|
+
<<%= appPrefix %>-<%= dasherize(name) %>-add />
|
|
106
|
+
}
|
|
107
|
+
@if (crudFacade.isEditActive$ | async) {
|
|
108
|
+
<<%= appPrefix %>-<%= dasherize(name) %>-edit />
|
|
109
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { DetailExpandEvent } from '@progress/kendo-angular-grid';
|
|
4
4
|
import { KendoODataBasedComponent } from 'imng-kendo-grid-odata';
|
|
@@ -15,15 +15,15 @@ import { <%= camelize(singularizedName) %>GridState } from './list.grid-state';
|
|
|
15
15
|
standalone: false,
|
|
16
16
|
})
|
|
17
17
|
export class <%= classify(singularizedName) %>ListComponent extends KendoODataBasedComponent<I<%= classify(singularizedName) %>, <%= classify(singularizedName) %>ListFacade> {
|
|
18
|
+
public readonly crudFacade = inject(<%= classify(singularizedName) %>CrudFacade);
|
|
19
|
+
|
|
18
20
|
public readonly props = <%= classify(singularizedName) %>Properties;<% swaggerObjectProperties.filter(t=> !t.enum).forEach(function(swaggerProperty){ %>
|
|
19
21
|
public readonly <%= camelize(swaggerProperty.name) %>Props = <%= classify(swaggerProperty.propertyTypeName) %>Properties;<% }) %><% swaggerObjectProperties.filter(t=> t.enum).forEach(function(swaggerProperty){ %>
|
|
20
22
|
public readonly <%= camelize(swaggerProperty.pluralizedPropertyTypeName) %> = <%= camelize(swaggerProperty.singularizedPropertyTypeName) %>Values;<% }) %>
|
|
21
23
|
public currentItem: I<%= classify(singularizedName) %> | undefined;
|
|
22
24
|
|
|
23
|
-
constructor(
|
|
24
|
-
|
|
25
|
-
router: Router) {
|
|
26
|
-
super(facade, <%= camelize(singularizedName) %>GridState, router);
|
|
25
|
+
constructor() {
|
|
26
|
+
super(inject(<%= classify(singularizedName) %>ListFacade), <%= camelize(singularizedName) %>GridState, inject(Router));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
public addItem(): void {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
3
|
import { IDataDeleteFacade } from 'imng-kendo-data-entry';
|
|
4
4
|
import { IKendoODataGridFacade } from 'imng-kendo-grid-odata';
|
|
@@ -8,13 +8,13 @@ import { <%= camelize(pluralizedStoreName) %>Feature, <%= camelize(storeName) %>
|
|
|
8
8
|
|
|
9
9
|
@Injectable()
|
|
10
10
|
export class <%= classify(singularizedName) %>ListFacade implements IKendoODataGridFacade<I<%= classify(name) %>>, IDataDeleteFacade<I<%= classify(name) %>> {
|
|
11
|
+
private readonly store = inject(Store);
|
|
12
|
+
|
|
11
13
|
loading$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.selectLoading);
|
|
12
14
|
gridData$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.selectGridData);
|
|
13
15
|
gridPagerSettings$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.selectGridPagerSettings);
|
|
14
16
|
gridODataState$ = this.store.select(<%= camelize(pluralizedStoreName) %>Feature.selectGridODataState);
|
|
15
17
|
|
|
16
|
-
constructor(private readonly store: Store) {}
|
|
17
|
-
|
|
18
18
|
public loadEntities(state: ODataState): void {
|
|
19
19
|
this.store.dispatch(<%= camelize(storeName) %>ActionTypes.load<%= classify(pluralizedName) %>Request(state));
|
|
20
20
|
}
|
package/schematics/imng-module/files/+state/__singularizedName@dasherize__-crud.effects.ts.template
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { createEffect, Actions, ofType } from '@ngrx/effects';
|
|
3
3
|
import { ODataService } from 'imng-kendo-odata';
|
|
4
4
|
import { handleEffectError } from 'imng-ngrx-utils';
|
|
@@ -10,11 +10,10 @@ import { <%= classify(singularizedName) %>ApiService } from '../<%= dasherize(pl
|
|
|
10
10
|
<% } %>
|
|
11
11
|
@Injectable()
|
|
12
12
|
export class <%= classify(singularizedName) %>CrudEffects {
|
|
13
|
-
|
|
14
|
-
private readonly
|
|
15
|
-
private readonly
|
|
16
|
-
|
|
17
|
-
) {}
|
|
13
|
+
private readonly actions$ = inject(Actions);
|
|
14
|
+
private readonly odataService = inject(ODataService);
|
|
15
|
+
private readonly <%= camelize(singularizedName) %>ApiService = inject(<%= classify(singularizedName) %>ApiService);
|
|
16
|
+
|
|
18
17
|
<% if (openApiJsonUrl || openApiJsonFileName) { %>
|
|
19
18
|
save<%= classify(singularizedName) %>Effect$ = createEffect(() => {
|
|
20
19
|
return this.actions$.pipe(
|
package/schematics/imng-module/files/+state/__singularizedName@dasherize__-list.effects.ts.template
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
3
|
import { createEffect, Actions, ofType } from '@ngrx/effects';
|
|
4
4
|
import { concatLatestFrom } from '@ngrx/operators';
|
|
@@ -12,11 +12,10 @@ import { environment } from '@env';
|
|
|
12
12
|
|
|
13
13
|
@Injectable()
|
|
14
14
|
export class <%= classify(singularizedName) %>ListEffects {
|
|
15
|
-
|
|
16
|
-
private readonly
|
|
17
|
-
private readonly
|
|
18
|
-
|
|
19
|
-
) {}
|
|
15
|
+
private readonly actions$ = inject(Actions);
|
|
16
|
+
private readonly odataService = inject(ODataService);
|
|
17
|
+
private readonly store = inject(Store);
|
|
18
|
+
|
|
20
19
|
<% if (openApiJsonUrl || openApiJsonFileName) { %>
|
|
21
20
|
load<%= classify(pluralizedName) %>Effect$ = createEffect(() => {
|
|
22
21
|
return this.actions$.pipe(
|