UNPKG

angular2-simple-ui

Version:

Angular 2 Simple Material Design UI Components customisable with Simple 30 KB CSS with LESS support and full features support , just plugin up and run for clarity look at sample examples

154 lines (135 loc) 5.42 kB
import { ButtonModel } from '../sui.util/sui.util.button.model'; import { PaginationModel } from '../sui.util/sui.util.pagination.model'; 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 enum Position { TopRight, TopLeft, BottomRight, BottomLeft } 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 cssHeaderClass: string = ''; public cssRowCssClass: string = 'sui-padding '; public styleRow: Object = {}; public styleHeader: Object = {}; public editType: EnumEditType = EnumEditType.FormEdit; public cssSortIcon: string = 'sui-margin-right'; public styleSortIcon: Object = {}; public cssHeaderText: string = ''; public styleHeaderText: Object = {}; public sortIcon: string = 'fa fa-sort hidden'; public sortDescIcon: string = 'fa fa-arrow-down'; public sortAscIcon: string = 'fa fa-arrow-up'; public showMenuFilterIcon: string = 'fa fa-sort-desc'; public cssSearchInputClass: string = ' sui-border '; public searchInputPlaceholderText: string = 'Search ...'; public paginingControlPosition: Position = Position.TopRight; public pagination: PaginationModel = new PaginationModel(); public cssTableContainerClass:string=''; public tableContainerstyle:Object={}; public tableHeader: string = ''; public cssTableHeader: string = ''; public styleTableHeader: Object = {}; public canEdit: boolean = true; public canAdd: boolean = true; public canDelete: boolean = true; public canColumnChoose: boolean = true; public editRecordHeader: string = 'Edit record'; public addRecordHeader: string = 'Add new record'; public showColumnFilterMenu: boolean = true; public showFilterRow: boolean = false; public rowActionButtons: ButtonModel[] = []; public tableCustomActionButtons: ButtonModel[] = []; public getUrl?: string; public addUrl?: string; public updateUrl?: string; public deleteUrl?: string; public columChooserBtn: ButtonModel = new ButtonModel('columnChooser'); public editBtn: ButtonModel = new ButtonModel('edit'); public addBtn: ButtonModel = new ButtonModel('add'); public deleteBtn: ButtonModel = new ButtonModel('delete'); public refreshBtn:ButtonModel = new ButtonModel('refresh'); public canRefresh: boolean = true; constructor(public columns: ColumnModel[] = [], public data: any[] = []) { this.editBtn.displayText = 'Edit'; this.editBtn.icon = 'fa fa-edit'; this.editBtn.cssClass = 'sui-btn-info sui-small'; this.deleteBtn.displayText = 'Delete'; this.deleteBtn.icon = 'fa fa-times'; this.deleteBtn.cssClass = 'sui-btn-danger sui-small'; this.addBtn.displayText = 'Add new'; this.addBtn.icon = 'fa fa-plus-circle'; this.addBtn.cssClass = 'sui-btn'; this.addBtn.displayText = 'Add new record'; this.refreshBtn.icon='fa fa-repeat'; this.refreshBtn.cssClass='sui-btn sui-light-grey '; this.refreshBtn.displayText = 'Reload Data'; this.columChooserBtn.icon='fa fa-bars'; this.columChooserBtn.cssClass='sui-btn sui-light-grey '; this.columChooserBtn.displayText = ' Choose Columns'; } } export class ColumnModel { public hidden: boolean = false; public canFilter: boolean = true; public canSort: boolean = true; public canExport: boolean = true; public canEdit: boolean = true; public dateFormat: string = 'yyyy-MM-dd HH:mm:ss'; public identityField: boolean = false; public selectList: { key: string, value: string, field: string, isSelected: boolean }[] = []; public cssfilterRow: string = 'sui-input '; public styleFilterRow: Object = {}; public autoCreateSelectListFromData: boolean = true; public required: boolean = false; public showInQuickFilter: boolean = false; public showOnlyInEditForm: boolean = false; public isUnBoundColumn: boolean = false; public canEditUnBoundColum: boolean = false; public filtedMenuValue: string = ''; public customFilter:boolean=false; public filtered:boolean=false; public icon:string=''; constructor(public fieldName: string, public displayName: string, public fieldType: EnumFieldType = EnumFieldType.text) { } }