generator-zionapps
Version:
Angular 9 Code Generator
39 lines (33 loc) • 2.11 kB
text/typescript
/**
* <%= titleCase(componentName) %> Component
*/
import { Component } from '@angular/core';
import { Store } from '@ngrx/store';
import { NgRxCoreAngularNavActions } from '@zionapps/ngrx-angular';
import { INgRxCoreMeta } from '@zionapps/ngrx-core';<% if (ngRxSubStoreLocation === '@zionapps/ngrx-management') { %>
import { ManagementUserSelectors, <%= pascalCase(singularDomainName) %> } from '@zionapps/ngrx-management';<% } else if (ngRxSubStoreLocation) { %>
import { ManagementUserSelectors } from '@zionapps/ngrx-management';
import { <%= pascalCase(singularDomainName) %> } from '<%= ngRxSubStoreLocation %>';<% } else { %>
import { <%= pascalCase(singularDomainName) %> } from '../../store/<%= paramCase(pluralDomainName) %>/<%= paramCase(pluralDomainName) %>.domain';<% } %>
({
selector: 'app-<%= paramCase(componentName) %>',
templateUrl: './<%= paramCase(componentName) %>.component.html',
styleUrls: ['./<%= paramCase(componentName) %>.component.scss'],
})
export class <%= pascalCase(componentName) %>Component {
hasAccess$ = this.store$.select(ManagementUserSelectors.HasAccess);
pageSizeOptions = [25, 50, 100];
readonly meta: INgRxCoreMeta;
constructor(private store$: Store<any>) {
this.meta = { source: '<%= pascalCase(componentName) %>Component' };
}
onRightButtonClick() {
this.store$.dispatch(NgRxCoreAngularNavActions.NavigateByUrlRequest('/<%= paramCase(componentName) %>/new', this.meta));
}
onEdit<%= pascalCase(singularDomainName) %>(<%= camelCase(singularDomainName) %>: <%= pascalCase(singularDomainName) %>): void {
this.store$.dispatch(NgRxCoreAngularNavActions.NavigateByUrlRequest(`/<%= paramCase(componentName) %>/edit/${<%= camelCase(singularDomainName) %>.id}`, this.meta));
}
onView<%= pascalCase(singularDomainName) %>(<%= camelCase(singularDomainName) %>: <%= pascalCase(singularDomainName) %>): void {
this.store$.dispatch(NgRxCoreAngularNavActions.NavigateByUrlRequest(`/<%= paramCase(componentName) %>/view/${<%= camelCase(singularDomainName) %>.id}`, this.meta));
}
}