Skip to content

Instantly share code, notes, and snippets.

@abadakhshan
abadakhshan / ClassValidation.ts
Created July 22, 2019 04:15
ClassValidation
import { AdaptClass } from "data-adapter";
import { AdaptMethods } from "narik-common";
import { Contains, IsEmail } from "class-validator";
@AdaptClass({
name: AdaptMethods.PropertyNames
})
export class ClassValidation {
viewModelId: number;
@abadakhshan
abadakhshan / EntityTypeServie.ts
Last active July 22, 2019 04:28
EntityTypeServie
import { ClassValidation } from "./class-validation-sample/class-validation-sample";
......
constructor(
...
ets: EntityTypeService
) {
super(injector);
{
"name": "staffId",
"title": "staff",
"required": true,
"dataInfo": {
"dataKey": "Staff",
"dataProviderKey": "memory"
},
"fieldType": "select",
"hideExpr": "!host.currentEntity || !host.currentEntity.value"
{
"name": "staffId",
"title": "staff",
"required": true,
"dataInfo": {
"dataKey": "Staff",
"dataProviderKey": "memory"
},
"fieldType": "select",
"disableExpr": "!host.currentEntity || !host.currentEntity.value"
@abadakhshan
abadakhshan / fields2.json
Last active May 5, 2019 04:54
dynamic form
{
"name": "newsType",
"title": "newsType",
"required": true,
"dataInfo": {
"dataKey": "newsTypes",
"dataProviderKey": "static"
},
"fieldType": "select",
"options": {
@abadakhshan
abadakhshan / fields.json
Last active May 5, 2019 04:42
dynamic form
"fields": [
{
"name": "documentTypeId",
"title": "documentType",
"required": true,
"dataInfo": {
"dataKey": "DocumentType",
"dataProviderKey": "remote"
},
"fieldType": "autoComplete"
@abadakhshan
abadakhshan / dynamicform.html
Created May 5, 2019 04:17
dynamic form sample
<narik-dynamic-form
[layoutGap]="config?.options?.layoutGap || 10"
[columnsCount]="config?.options?.columnsCount || 1"
[groupFields]="config?.options?.groupFields"
[activeTabGuard]="config?.options?.activeTabGuard != false"
[activeAutoFocus]="config?.options?.activeAutoFocus != false"
[defaultFocusField]="config?.options?.defaultFocusField"
[model]="currentEntity"
[fields]="fields"
></narik-dynamic-form>
<detail-container [title]="title" (saveRequest)="save()">
<input [(ngModel)]="entity.number" name="number">
....
</detail-container>
<div>
<h2>{{title}}</h2>
<ng-content><ng-content>
<div>
<button (click)='save'>Save</button>
</div>
</div>
@abadakhshan
abadakhshan / detail-container.ts
Created April 29, 2019 10:54
Angular UI Inhertitance
export class DetailContainer
{
@Input()
title:string;
@Output()
saveRequest = new EventEmitter<any>();
save(){}