44 var cmpFileName = dasherize(name);
55 var hasCustomRowActions = options.customRowActions.length > 0;
66 var customRowActionNames = options.customRowActions.map(action => `'${action.replace(/\.[^/.]+$/, '')}'`);
7+ var tableServiceName = options.enableRemoteDataHandling ? (options.customRemoteService ? `Custom${classify(name)}Service` : 'RemoteTableService') : 'StaticTableService';
78%>
89import {
910 AfterViewInit,
@@ -21,6 +22,7 @@ import {
2122 TemplateRef,
2223 ElementRef,
2324 ViewEncapsulation,
25+ inject,
2426 <% if (options.enableRemoteDataHandling || options.hasSearchBar) { %>OnDestroy,<% } %>
2527 <% if (options.changeDetection) { %>ChangeDetectionStrategy,<% } %>
2628} from '@angular/core';
@@ -29,7 +31,7 @@ import { MatSort, SortDirection } from '@angular/material/sort';
2931import { MatTable } from '@angular/material/table';
3032
3133<% if (options.hasFilters || options.hasSearchBar) { %>
32- import { FilterEnums, <%= options.filterServiceName %>} from './<%= dasherize(name) %>-filter.service';
34+ import { FilterEnums, <%= options.filterServiceName %>} from './<%= cmpFileName %>-filter.service';
3335<% } %>
3436
3537<% if (options.addCommandBar) { %>
@@ -47,7 +49,7 @@ import {
4749 , <%= enumProperties %>
4850 <% } %>
4951} from '<%= options.typePath %>';
50- import {<%= classify(name) %>DataSource} from './<%= dasherize(name) %>-datasource';
52+ import {<%= classify(name) %>DataSource} from './<%= cmpFileName %>-datasource';
5153
5254<% if (options.isDateQuickFilter) { %>
5355 import {DateAdapter, MAT_DATE_FORMATS, MatDateFormats} from '@angular/material/core';
@@ -62,11 +64,11 @@ import {SelectionModel} from '@angular/cdk/collections';
6264import { TranslocoService } from '@jsverse/transloco';
6365import {PaginatorSelectConfigInjector} from "<% if (options.enableVersionSupport) { %>../<% } %>../../services/paginator-select-config.provider";
6466import {JSSdkLocalStorageService} from "<% if (options.enableVersionSupport) { %>../<% } %>../../services/storage.service";
65- import {<%= classify(name) %>CommandBarComponent} from "./<%= dasherize(name) %>-command-bar.component";
66- import {<%= classify(name) %>ColumnMenuComponent} from './<%= dasherize(name) %>-column-menu.component';
67+ import {<%= classify(name) %>CommandBarComponent} from "./<%= cmpFileName %>-command-bar.component";
68+ import {<%= classify(name) %>ColumnMenuComponent} from './<%= cmpFileName %>-column-menu.component';
6769
6870<% if (options.hasSearchBar) { %>
69- import {<%= classify(name) %>ConfigMenuComponent} from './<%= dasherize(name) %>-config-menu.component';
71+ import {<%= classify(name) %>ConfigMenuComponent} from './<%= cmpFileName %>-config-menu.component';
7072<% } %>
7173
7274<% if (options.hasFilters) { %>
@@ -83,7 +85,9 @@ import {<% if (options.enableRemoteDataHandling) { %>catchError, finalize, tap,
8385 <%= options.include('/remote-handling/imports.ts.template') %>
8486 <%= options.include('/remote-handling/custom-rql-filter-extensions.ts.template') %>
8587<% } else { %>
86- import {<%= classify(name) %>Service, <%= classify(aspectModelName) %>Response} from './<%= dasherize(name) %>.service';
88+ // TODO remove the commented line bellow
89+ // import {<%= classify(name) %>Service, <%= classify(aspectModelName) %>Response} from './<%= cmpFileName %>.service';
90+ import {StaticTableService} from '@esmf/semantic-ui-schematic';
8791<% } %>
8892
8993<% if (options.hasSearchBar) { %>
@@ -119,13 +123,18 @@ export const NON_DATA_COLUMNS: <%= tableColumnsEnumName %>[] = [
119123
120124@Component({
121125 selector: '<%= options.selector %>',
122- templateUrl: './<%= dasherize(name) %>.component.html',
123- styleUrls: ['./<%= dasherize(name) %>.component.<%= options.style %>'],
126+ templateUrl: './<%= cmpFileName %>.component.html',
127+ styleUrls: ['./<%= cmpFileName %>.component.<%= options.style %>'],
128+ providers: [
129+ <%= tableServiceName %>
130+ ],
124131 standalone: false
125132 <% if (options.changeDetection) { %>, changeDetection: ChangeDetectionStrategy.<%= options.changeDetection %><% } %>
126133 <% if (options.viewEncapsulation) { %>,encapsulation: ViewEncapsulation.<%= options.viewEncapsulation %><% } else { %>,encapsulation: ViewEncapsulation.None<% } %>
127134})
128135export class <%= classify(name) %>Component implements OnInit, AfterViewInit, AfterViewChecked, OnChanges<% if (options.hasSearchBar || options.enableRemoteDataHandling) { %>, OnDestroy<% } %> {
136+ private tableService = inject(<%= tableServiceName %><<%= options.aspectModelTypeName %>>);
137+
129138 <% if (options.hasSearchBar) { %>@Input() initialSearchString = '';<% } %>
130139 <%= customRowActionInput %>
131140 <% if (options.dateProperties) { %>@Input() tableDateFormat = 'short';<% } %>
@@ -253,14 +262,14 @@ export class <%= classify(name) %>Component implements OnInit, AfterViewInit, Af
253262 private requestSubscription: Subscription = new Subscription();
254263 <% } %>
255264
265+
256266 <% if (options.enableRemoteDataHandling) { %>
257- constructor(<%= commonImports %>
258- private <% if (options.customRemoteService) { %>custom<% } %><%= classify(name) %>Service: <% if (options.customRemoteService) { %>Custom<% } %><%= classify(name) %>Service) {
267+ constructor(<%= commonImports %>) {
259268 this.dataSource = new <%= classify(name) %>DataSource();
260269 <%= sharedCustomRows %>
261270 }
262271 <% } else { %>
263- constructor(<%= commonImports %> private <%= camelize(name) %>Service: <%= classify(name) %>Service ) {
272+ constructor(<%= commonImports %>) {
264273 this.dataSource = new <%= classify(name) %>DataSource(this.translateService);
265274 <%= sharedCustomRows %>
266275 }
0 commit comments