UNPKG

generator-zionapps

Version:

Angular 9 Code Generator

45 lines (36 loc) 2.23 kB
import { Component, Input } from '@angular/core'; import { Store } from '@ngrx/store'; import { getPropertyValue } from '@zionapps/core'; import { INgRxCoreError } from '@zionapps/ngrx-core'; import { AlertController } from 'ionic-angular'; import { <%= pascalCase(pluralDomainName) %>Actions } from '../../../store/<%= paramCase(pluralDomainName) %>/<%= paramCase(pluralDomainName) %>.actions'; import { <%= pascalCase(singularDomainName) %>, <%= pascalCase(pluralDomainName) %>Config } from '../../../store/<%= paramCase(pluralDomainName) %>/<%= paramCase(pluralDomainName) %>.domain'; import { <%= pascalCase(singularDomainName) %>Selectors } from '../../../store/<%= paramCase(pluralDomainName) %>/<%= paramCase(pluralDomainName) %>.selectors'; @Component({ selector: '<%= paramCase(singularDomainName) %>-widget', templateUrl: '<%= paramCase(singularDomainName) %>-widget.html' }) export class <%= pascalCase(singularDomainName) %>WidgetComponent { @Input() loading: boolean; readonly <%= camelCase(singularDomainName) %>$ = this.store.select(<%= pascalCase(singularDomainName) %>Selectors.SelectCurrent); readonly source = '<%= pascalCase(singularDomainName) %>Widget'; constructor(private alertCtrl: AlertController, private store: Store<any>) {} on<%= pascalCase(singularDomainName) %>Error(err: INgRxCoreError): void { const { message } = err; this.alertCtrl.create({ title: '', message, buttons: ['Ok'], }).present().catch(console.error); } on<%= pascalCase(singularDomainName) %>Save(<%= camelCase(singularDomainName) %>: <%= pascalCase(singularDomainName) %>): void { if (<%= camelCase(singularDomainName) %>) { const id = getPropertyValue(<%= camelCase(singularDomainName) %>, <%= pascalCase(pluralDomainName) %>Config.idProperty, undefined); if (id) { this.store.dispatch(<%= pascalCase(pluralDomainName) %>Actions.UpdateOneRemoteRequest(<%= camelCase(singularDomainName) %>, { source: this.source })); } else { this.store.dispatch(<%= pascalCase(pluralDomainName) %>Actions.CreateOneRemoteRequest(<%= camelCase(singularDomainName) %>, { source: this.source })); } } } }