angular2-boiler-plate
Version:
Angular 2 Boiler plate that integrated with WebPack, TypeScript, DatePicker, RxJs for Reactive Extensions in Java Script , Karma , Jasmine for unit testing , WebKit ,protractor e2e testing
126 lines (117 loc) • 4.34 kB
text/typescript
export enum EnumFieldType {
text = 0,
number = 1,
date = 2,
datetime = 3,
checkbox = 4,
select = 5,
password = 6,
image = 7,
email = 8,
tel = 9,
radio = 10,
range = 11,
time = 12,
url = 13,
file = 14,
hidden = 15,
week = 16,
month = 17,
color = 18
}
export enum EnumEditType {
RowEdit = 0,
CellEdit = 1,
DialogEdit = 2,
FormEdit = 3,
None = 4
}
export interface ISelectModel {
key: string;
value: string;
}
export class PaginationModel {
public showPaging: boolean = true;
public pageSize: number = 10;
public quickAccessMaxPages: number = 5;
public showGoToEndArrow: boolean = true;
public showGoToStartArrow: boolean = true;
public showGoToNextArrow: boolean = true;
public showGoToPreviousArrow: boolean = true;
public currentPage: number = 1;
public activePageCssClass: string = 'sui-theme';
public clsGoToNextPageIcon: string = 'fa fa-angle-right';
public clsGoToPreviousPageIcon: string = 'fa fa-angle-left';
public clsGoToStartIcon: string = 'fa fa-angle-double-left';
public clsGoToEndIcon: string = 'fa fa-angle-double-right';
public toolTipGoToNext = 'Go to next page';
public toolTipGoToPrevious = 'Go to next page';
public toolTipGoToStart = 'Go to first page';
public toolTipGoToEnd = 'Go to last page';
}
export class SelectModel implements ISelectModel {
public key: string = '';
public value: string = '';
}
export class TableModel {
public enableQuickFilterBy: boolean = true;
public enablePaging: boolean = true;
public enableSorting: boolean = true;
public enableFiltering: boolean = true;
public enableExport: boolean = true;
public enableServerSideFiltering: boolean = false;
public enableServerSideSorting: boolean = false;
public enableServerSideQuickFilterBy: boolean = false;
public enableServerSidePaging: boolean = false;
public enableServerSideExport: boolean = false;
public cssClass: Object = 'sui-table-all';
public style: Object = {};
public headerCssClass: Object = {};
public rowCssClass: Object = '';
public rowStyle: Object = {};
public headerStyle: Object = {};
public editType: EnumEditType = EnumEditType.FormEdit;
public sortIcon: string = 'fa fa-sort';
public sortDescIcon: string = 'fa fa-sort-desc';
public sortAscIcon: string = 'fa fa-sort-asc';
public searchInputCssClass: string = 'sui-input';
public searchInputPlaceholderText: string = 'Search ...';
public pagination: PaginationModel = new PaginationModel();
public showColumnChooserButton: boolean = true;
public cssClassColumnChooser: string = 'sui-btn sui-theme';
public columnChooserText: string = 'Choose Columns';
public tableHeader: string = '';
public cssTableHeader: string = '';
public styleTableHeader: Object = {};
public pageSizeArray: number[] = [5, 10, 25, 50, 100, 500, 1000];
public canEdit: boolean = true;
public canAdd: boolean = true;
public canDelete: boolean = true;
public getUrl?: string;
public addUrl?: string;
public updateUrl?: string;
public deleteUrl?: string;
public txtAddBtn: string = 'Add New';
public cssAddBtn: string = 'sui-btn';
public cssAddIcon: string = 'fa fa-plus-circle';
public cssEditIcon: string = 'fa fa-edit';
public cssDeleteIcon: string = 'fa fa-times';
constructor(public columns: ColumnModel[] = [], public data: any[] = []) { }
}
export class ColumnModel {
public hidden: boolean = false;
public canFilter: boolean = true;
public canSort: boolean = true;
public canExport: boolean = true;
public canEdit: boolean = true;
public identityField: boolean = false;
public selectList: SelectModel[] = [];
public cssfilterRow: string = 'sui-input ';
public styleFilterRow: Object = {};
public autoCreateSelectListFromData: boolean = true;
public required: boolean = false;
public showInQuickFilter: boolean = false;
constructor(public fieldName: string,
public displayName: string,
public fieldType: EnumFieldType = EnumFieldType.text) { }
}