generator-zionapps
Version:
Angular 9 Code Generator
25 lines (20 loc) • 1.43 kB
text/typescript
/**
* <%= titleCase(pluralDomainName) %> Utils
* v<%= zionAppsGeneratorVersion %> | Generated on <%= zionAppsGeneratorBuildDate %>
*/
import { Validators } from '@angular/forms';
import { createEntityAdapter, EntityAdapter } from '@ngrx/entity';
import { getIdPropertyValue, sortStringPropertyAscending } from '@zionusa-nx-workspace/shared/core';
import { <%= pascalCase(singularDomainName) %> } from '@zionusa-nx-workspace/shared/domain';
import { <%= pascalCase(pluralDomainName) %>Config } from './<%= paramCase(pluralDomainName) %>.domain';
export const get<%= pascalCase(singularDomainName) %>ById = (item: <%= pascalCase(singularDomainName) %>): <%= idPropertyDataType %> => getIdPropertyValue(item, <%= pascalCase(pluralDomainName) %>Config.idProperty);
export const get<%= pascalCase(singularDomainName) %>DefaultFormGroup = (): any => ({
// TODO: Fill in the form object for <%= pascalCase(singularDomainName) %>
createdDateTime: ['', Validators.required],
id: null,
});
export const sort<%= pascalCase(singularDomainName) %>ByDate = sortStringPropertyAscending('createdDateTime');
export const <%= camelCase(pluralDomainName) %>Adapter: EntityAdapter<<%= pascalCase(singularDomainName) %>> = createEntityAdapter<<%= pascalCase(singularDomainName) %>>({
selectId: get<%= pascalCase(singularDomainName) %>ById,
sortComparer: sort<%= pascalCase(singularDomainName) %>ByDate,
});