| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- export default class TableModel {
- columns: any[];
- rows: any[];
- type: string;
- columnMap: any;
- constructor() {
- this.columns = [];
- this.columnMap = {};
- this.rows = [];
- this.type = 'table';
- }
- sort(options) {
- if (options.col === null || this.columns.length <= options.col) {
- return;
- }
- this.rows.sort(function(a, b) {
- a = a[options.col];
- b = b[options.col];
- if (a < b) {
- return -1;
- }
- if (a > b) {
- return 1;
- }
- return 0;
- });
- this.columns[options.col].sort = true;
- if (options.desc) {
- this.rows.reverse();
- this.columns[options.col].desc = true;
- } else {
- this.columns[options.col].desc = false;
- }
- }
- addColumn(col) {
- if (!this.columnMap[col.text]) {
- this.columns.push(col);
- this.columnMap[col.text] = col;
- }
- }
- }
|