Compare commits
2 Commits
master
...
feat-group
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da0d731670 | ||
|
|
c49bc20f99 |
89
dist/frappe-datatable.cjs.js
vendored
89
dist/frappe-datatable.cjs.js
vendored
@ -899,8 +899,8 @@ class DataManager {
|
|||||||
this.prepareRows();
|
this.prepareRows();
|
||||||
this.prepareTreeRows();
|
this.prepareTreeRows();
|
||||||
this.prepareRowView();
|
this.prepareRowView();
|
||||||
|
|
||||||
this.prepareNumericColumns();
|
this.prepareNumericColumns();
|
||||||
|
this.prepareGroupBy();
|
||||||
}
|
}
|
||||||
|
|
||||||
// computed property
|
// computed property
|
||||||
@ -1009,6 +1009,73 @@ class DataManager {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prepareGroupBy() {
|
||||||
|
if (!this.options.groupBy) return;
|
||||||
|
|
||||||
|
const groupKey = this.options.groupBy;
|
||||||
|
const column = this.columns.find(column => column.id === groupKey);
|
||||||
|
|
||||||
|
if (!column) {
|
||||||
|
throw new Error('Invalid column id provided in groupBy option');
|
||||||
|
}
|
||||||
|
|
||||||
|
const groups =
|
||||||
|
this.rows
|
||||||
|
// get values
|
||||||
|
.map(row => row[column.colIndex].content)
|
||||||
|
// remove duplicates
|
||||||
|
.filter((value, i, self) => {
|
||||||
|
return self.indexOf(value) === i;
|
||||||
|
})
|
||||||
|
.sort();
|
||||||
|
|
||||||
|
const rowsByGroup = {};
|
||||||
|
|
||||||
|
for (const row of this.rows) {
|
||||||
|
const groupKey = row[column.colIndex].content;
|
||||||
|
rowsByGroup[groupKey] = rowsByGroup[groupKey] || [];
|
||||||
|
rowsByGroup[groupKey].push(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
let rows = [];
|
||||||
|
|
||||||
|
const makeGroupRow = (groupValue) => {
|
||||||
|
const row = this.getColumns().map(c => ({ editable: false }));
|
||||||
|
const firstColumnIndex = this.getStandardColumnCount();
|
||||||
|
row[firstColumnIndex] = groupValue;
|
||||||
|
const meta = {
|
||||||
|
indent: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
return this.prepareRow(row, meta);
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let groupKey of groups) {
|
||||||
|
rowsByGroup[groupKey].forEach(row => {
|
||||||
|
row.meta.indent = 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
rows = [
|
||||||
|
...rows,
|
||||||
|
makeGroupRow(groupKey),
|
||||||
|
...rowsByGroup[groupKey]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
this.rows = rows.map((row, i) => {
|
||||||
|
row.meta.rowIndex = i;
|
||||||
|
|
||||||
|
row.forEach(cell => {
|
||||||
|
cell.rowIndex = i;
|
||||||
|
cell.indent = row.meta.indent;
|
||||||
|
});
|
||||||
|
|
||||||
|
row[1].content = i + 1;
|
||||||
|
|
||||||
|
return row;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
prepareRows() {
|
prepareRows() {
|
||||||
this.validateData(this.data);
|
this.validateData(this.data);
|
||||||
|
|
||||||
@ -2249,12 +2316,14 @@ class CellManager {
|
|||||||
const nextRow = this.datamanager.getRow(cell.rowIndex + 1);
|
const nextRow = this.datamanager.getRow(cell.rowIndex + 1);
|
||||||
const addToggle = nextRow && nextRow.meta.indent > cell.indent;
|
const addToggle = nextRow && nextRow.meta.indent > cell.indent;
|
||||||
|
|
||||||
|
const leftPadding = 1;
|
||||||
|
|
||||||
// Add toggle and indent in the first column
|
// Add toggle and indent in the first column
|
||||||
const firstColumnIndex = this.datamanager.getColumnIndexById('_rowIndex') + 1;
|
const firstColumnIndex = this.datamanager.getColumnIndexById('_rowIndex') + 1;
|
||||||
if (firstColumnIndex === cell.colIndex) {
|
if (firstColumnIndex === cell.colIndex) {
|
||||||
const padding = ((cell.indent || 0) + 1) * 1.5;
|
const padding = ((cell.indent || 0) + 1) * leftPadding;
|
||||||
const toggleHTML = addToggle ?
|
const toggleHTML = addToggle ?
|
||||||
`<span class="dt-tree-node__toggle" style="left: ${padding - 1.5}rem"></span>` : '';
|
`<span class="dt-tree-node__toggle" style="left: ${padding - leftPadding}rem"></span>` : '';
|
||||||
contentHTML = `<span class="dt-tree-node" style="padding-left: ${padding}rem">
|
contentHTML = `<span class="dt-tree-node" style="padding-left: ${padding}rem">
|
||||||
${toggleHTML}${contentHTML}</span>`;
|
${toggleHTML}${contentHTML}</span>`;
|
||||||
}
|
}
|
||||||
@ -2553,6 +2622,16 @@ class ColumnManager {
|
|||||||
$.on(this.header, 'keydown', '.dt-filter', debounce$1(handler, 300));
|
$.on(this.header, 'keydown', '.dt-filter', debounce$1(handler, 300));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
applyDefaultSortOrder() {
|
||||||
|
// sort rows if any 1 column has a default sortOrder set
|
||||||
|
const columnsToSort = this.getColumns().filter(col => col.sortOrder !== 'none');
|
||||||
|
|
||||||
|
if (columnsToSort.length === 1) {
|
||||||
|
const column = columnsToSort[0];
|
||||||
|
this.sortColumn(column.colIndex, column.sortOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sortRows(colIndex, sortOrder) {
|
sortRows(colIndex, sortOrder) {
|
||||||
return this.datamanager.sortRows(colIndex, sortOrder);
|
return this.datamanager.sortRows(colIndex, sortOrder);
|
||||||
}
|
}
|
||||||
@ -3437,6 +3516,7 @@ var DEFAULT_OPTIONS = {
|
|||||||
desc: '↓',
|
desc: '↓',
|
||||||
none: ''
|
none: ''
|
||||||
},
|
},
|
||||||
|
groupBy: '', // column id
|
||||||
freezeMessage: '',
|
freezeMessage: '',
|
||||||
getEditor: null,
|
getEditor: null,
|
||||||
serialNoColumn: true,
|
serialNoColumn: true,
|
||||||
@ -3479,6 +3559,7 @@ class DataTable {
|
|||||||
|
|
||||||
if (this.options.data) {
|
if (this.options.data) {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
|
this.columnmanager.applyDefaultSortOrder();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3650,7 +3731,7 @@ class DataTable {
|
|||||||
DataTable.instances = 0;
|
DataTable.instances = 0;
|
||||||
|
|
||||||
var name = "frappe-datatable";
|
var name = "frappe-datatable";
|
||||||
var version = "0.0.9";
|
var version = "0.0.10";
|
||||||
var description = "A modern datatable library for the web";
|
var description = "A modern datatable library for the web";
|
||||||
var main = "dist/frappe-datatable.cjs.js";
|
var main = "dist/frappe-datatable.cjs.js";
|
||||||
var scripts = {"start":"yarn run dev","build":"rollup -c","production":"rollup -c --production","build:docs":"rollup -c --docs","dev":"rollup -c -w","cy:server":"http-server -p 8989","cy:open":"cypress open","cy:run":"cypress run","test":"start-server-and-test cy:server http://localhost:8989 cy:run"};
|
var scripts = {"start":"yarn run dev","build":"rollup -c","production":"rollup -c --production","build:docs":"rollup -c --docs","dev":"rollup -c -w","cy:server":"http-server -p 8989","cy:open":"cypress open","cy:run":"cypress run","test":"start-server-and-test cy:server http://localhost:8989 cy:run"};
|
||||||
|
|||||||
2
dist/frappe-datatable.css
vendored
2
dist/frappe-datatable.css
vendored
@ -183,7 +183,7 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
padding: 0 4px;
|
padding: 1px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
89
dist/frappe-datatable.js
vendored
89
dist/frappe-datatable.js
vendored
@ -898,8 +898,8 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
this.prepareRows();
|
this.prepareRows();
|
||||||
this.prepareTreeRows();
|
this.prepareTreeRows();
|
||||||
this.prepareRowView();
|
this.prepareRowView();
|
||||||
|
|
||||||
this.prepareNumericColumns();
|
this.prepareNumericColumns();
|
||||||
|
this.prepareGroupBy();
|
||||||
}
|
}
|
||||||
|
|
||||||
// computed property
|
// computed property
|
||||||
@ -1008,6 +1008,73 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prepareGroupBy() {
|
||||||
|
if (!this.options.groupBy) return;
|
||||||
|
|
||||||
|
const groupKey = this.options.groupBy;
|
||||||
|
const column = this.columns.find(column => column.id === groupKey);
|
||||||
|
|
||||||
|
if (!column) {
|
||||||
|
throw new Error('Invalid column id provided in groupBy option');
|
||||||
|
}
|
||||||
|
|
||||||
|
const groups =
|
||||||
|
this.rows
|
||||||
|
// get values
|
||||||
|
.map(row => row[column.colIndex].content)
|
||||||
|
// remove duplicates
|
||||||
|
.filter((value, i, self) => {
|
||||||
|
return self.indexOf(value) === i;
|
||||||
|
})
|
||||||
|
.sort();
|
||||||
|
|
||||||
|
const rowsByGroup = {};
|
||||||
|
|
||||||
|
for (const row of this.rows) {
|
||||||
|
const groupKey = row[column.colIndex].content;
|
||||||
|
rowsByGroup[groupKey] = rowsByGroup[groupKey] || [];
|
||||||
|
rowsByGroup[groupKey].push(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
let rows = [];
|
||||||
|
|
||||||
|
const makeGroupRow = (groupValue) => {
|
||||||
|
const row = this.getColumns().map(c => ({ editable: false }));
|
||||||
|
const firstColumnIndex = this.getStandardColumnCount();
|
||||||
|
row[firstColumnIndex] = groupValue;
|
||||||
|
const meta = {
|
||||||
|
indent: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
return this.prepareRow(row, meta);
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let groupKey of groups) {
|
||||||
|
rowsByGroup[groupKey].forEach(row => {
|
||||||
|
row.meta.indent = 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
rows = [
|
||||||
|
...rows,
|
||||||
|
makeGroupRow(groupKey),
|
||||||
|
...rowsByGroup[groupKey]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
this.rows = rows.map((row, i) => {
|
||||||
|
row.meta.rowIndex = i;
|
||||||
|
|
||||||
|
row.forEach(cell => {
|
||||||
|
cell.rowIndex = i;
|
||||||
|
cell.indent = row.meta.indent;
|
||||||
|
});
|
||||||
|
|
||||||
|
row[1].content = i + 1;
|
||||||
|
|
||||||
|
return row;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
prepareRows() {
|
prepareRows() {
|
||||||
this.validateData(this.data);
|
this.validateData(this.data);
|
||||||
|
|
||||||
@ -2248,12 +2315,14 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
const nextRow = this.datamanager.getRow(cell.rowIndex + 1);
|
const nextRow = this.datamanager.getRow(cell.rowIndex + 1);
|
||||||
const addToggle = nextRow && nextRow.meta.indent > cell.indent;
|
const addToggle = nextRow && nextRow.meta.indent > cell.indent;
|
||||||
|
|
||||||
|
const leftPadding = 1;
|
||||||
|
|
||||||
// Add toggle and indent in the first column
|
// Add toggle and indent in the first column
|
||||||
const firstColumnIndex = this.datamanager.getColumnIndexById('_rowIndex') + 1;
|
const firstColumnIndex = this.datamanager.getColumnIndexById('_rowIndex') + 1;
|
||||||
if (firstColumnIndex === cell.colIndex) {
|
if (firstColumnIndex === cell.colIndex) {
|
||||||
const padding = ((cell.indent || 0) + 1) * 1.5;
|
const padding = ((cell.indent || 0) + 1) * leftPadding;
|
||||||
const toggleHTML = addToggle ?
|
const toggleHTML = addToggle ?
|
||||||
`<span class="dt-tree-node__toggle" style="left: ${padding - 1.5}rem"></span>` : '';
|
`<span class="dt-tree-node__toggle" style="left: ${padding - leftPadding}rem"></span>` : '';
|
||||||
contentHTML = `<span class="dt-tree-node" style="padding-left: ${padding}rem">
|
contentHTML = `<span class="dt-tree-node" style="padding-left: ${padding}rem">
|
||||||
${toggleHTML}${contentHTML}</span>`;
|
${toggleHTML}${contentHTML}</span>`;
|
||||||
}
|
}
|
||||||
@ -2552,6 +2621,16 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
$.on(this.header, 'keydown', '.dt-filter', debounce$1(handler, 300));
|
$.on(this.header, 'keydown', '.dt-filter', debounce$1(handler, 300));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
applyDefaultSortOrder() {
|
||||||
|
// sort rows if any 1 column has a default sortOrder set
|
||||||
|
const columnsToSort = this.getColumns().filter(col => col.sortOrder !== 'none');
|
||||||
|
|
||||||
|
if (columnsToSort.length === 1) {
|
||||||
|
const column = columnsToSort[0];
|
||||||
|
this.sortColumn(column.colIndex, column.sortOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sortRows(colIndex, sortOrder) {
|
sortRows(colIndex, sortOrder) {
|
||||||
return this.datamanager.sortRows(colIndex, sortOrder);
|
return this.datamanager.sortRows(colIndex, sortOrder);
|
||||||
}
|
}
|
||||||
@ -3436,6 +3515,7 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
desc: '↓',
|
desc: '↓',
|
||||||
none: ''
|
none: ''
|
||||||
},
|
},
|
||||||
|
groupBy: '', // column id
|
||||||
freezeMessage: '',
|
freezeMessage: '',
|
||||||
getEditor: null,
|
getEditor: null,
|
||||||
serialNoColumn: true,
|
serialNoColumn: true,
|
||||||
@ -3478,6 +3558,7 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
|
|
||||||
if (this.options.data) {
|
if (this.options.data) {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
|
this.columnmanager.applyDefaultSortOrder();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3649,7 +3730,7 @@ var DataTable = (function (Sortable,Clusterize) {
|
|||||||
DataTable.instances = 0;
|
DataTable.instances = 0;
|
||||||
|
|
||||||
var name = "frappe-datatable";
|
var name = "frappe-datatable";
|
||||||
var version = "0.0.9";
|
var version = "0.0.10";
|
||||||
var description = "A modern datatable library for the web";
|
var description = "A modern datatable library for the web";
|
||||||
var main = "dist/frappe-datatable.cjs.js";
|
var main = "dist/frappe-datatable.cjs.js";
|
||||||
var scripts = {"start":"yarn run dev","build":"rollup -c","production":"rollup -c --production","build:docs":"rollup -c --docs","dev":"rollup -c -w","cy:server":"http-server -p 8989","cy:open":"cypress open","cy:run":"cypress run","test":"start-server-and-test cy:server http://localhost:8989 cy:run"};
|
var scripts = {"start":"yarn run dev","build":"rollup -c","production":"rollup -c --production","build:docs":"rollup -c --docs","dev":"rollup -c -w","cy:server":"http-server -p 8989","cy:open":"cypress open","cy:run":"cypress run","test":"start-server-and-test cy:server http://localhost:8989 cy:run"};
|
||||||
|
|||||||
2
dist/frappe-datatable.min.js
vendored
2
dist/frappe-datatable.min.js
vendored
File diff suppressed because one or more lines are too long
@ -75,6 +75,8 @@
|
|||||||
checkboxColumn: true,
|
checkboxColumn: true,
|
||||||
serialNoColumn: true,
|
serialNoColumn: true,
|
||||||
layout: 'fluid',
|
layout: 'fluid',
|
||||||
|
groupBy: 'Position',
|
||||||
|
treeView: true,
|
||||||
columns,
|
columns,
|
||||||
data,
|
data,
|
||||||
inlineFilters: true,
|
inlineFilters: true,
|
||||||
|
|||||||
@ -774,12 +774,14 @@ export default class CellManager {
|
|||||||
const nextRow = this.datamanager.getRow(cell.rowIndex + 1);
|
const nextRow = this.datamanager.getRow(cell.rowIndex + 1);
|
||||||
const addToggle = nextRow && nextRow.meta.indent > cell.indent;
|
const addToggle = nextRow && nextRow.meta.indent > cell.indent;
|
||||||
|
|
||||||
|
const leftPadding = 1;
|
||||||
|
|
||||||
// Add toggle and indent in the first column
|
// Add toggle and indent in the first column
|
||||||
const firstColumnIndex = this.datamanager.getColumnIndexById('_rowIndex') + 1;
|
const firstColumnIndex = this.datamanager.getColumnIndexById('_rowIndex') + 1;
|
||||||
if (firstColumnIndex === cell.colIndex) {
|
if (firstColumnIndex === cell.colIndex) {
|
||||||
const padding = ((cell.indent || 0) + 1) * 1.5;
|
const padding = ((cell.indent || 0) + 1) * leftPadding;
|
||||||
const toggleHTML = addToggle ?
|
const toggleHTML = addToggle ?
|
||||||
`<span class="dt-tree-node__toggle" style="left: ${padding - 1.5}rem"></span>` : '';
|
`<span class="dt-tree-node__toggle" style="left: ${padding - leftPadding}rem"></span>` : '';
|
||||||
contentHTML = `<span class="dt-tree-node" style="padding-left: ${padding}rem">
|
contentHTML = `<span class="dt-tree-node" style="padding-left: ${padding}rem">
|
||||||
${toggleHTML}${contentHTML}</span>`;
|
${toggleHTML}${contentHTML}</span>`;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -273,6 +273,16 @@ export default class ColumnManager {
|
|||||||
$.on(this.header, 'keydown', '.dt-filter', debounce(handler, 300));
|
$.on(this.header, 'keydown', '.dt-filter', debounce(handler, 300));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
applyDefaultSortOrder() {
|
||||||
|
// sort rows if any 1 column has a default sortOrder set
|
||||||
|
const columnsToSort = this.getColumns().filter(col => col.sortOrder !== 'none');
|
||||||
|
|
||||||
|
if (columnsToSort.length === 1) {
|
||||||
|
const column = columnsToSort[0];
|
||||||
|
this.sortColumn(column.colIndex, column.sortOrder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sortRows(colIndex, sortOrder) {
|
sortRows(colIndex, sortOrder) {
|
||||||
return this.datamanager.sortRows(colIndex, sortOrder);
|
return this.datamanager.sortRows(colIndex, sortOrder);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,8 +32,8 @@ export default class DataManager {
|
|||||||
this.prepareRows();
|
this.prepareRows();
|
||||||
this.prepareTreeRows();
|
this.prepareTreeRows();
|
||||||
this.prepareRowView();
|
this.prepareRowView();
|
||||||
|
|
||||||
this.prepareNumericColumns();
|
this.prepareNumericColumns();
|
||||||
|
this.prepareGroupBy();
|
||||||
}
|
}
|
||||||
|
|
||||||
// computed property
|
// computed property
|
||||||
@ -142,6 +142,73 @@ export default class DataManager {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
prepareGroupBy() {
|
||||||
|
if (!this.options.groupBy) return;
|
||||||
|
|
||||||
|
const groupKey = this.options.groupBy;
|
||||||
|
const column = this.columns.find(column => column.id === groupKey);
|
||||||
|
|
||||||
|
if (!column) {
|
||||||
|
throw new Error('Invalid column id provided in groupBy option');
|
||||||
|
}
|
||||||
|
|
||||||
|
const groups =
|
||||||
|
this.rows
|
||||||
|
// get values
|
||||||
|
.map(row => row[column.colIndex].content)
|
||||||
|
// remove duplicates
|
||||||
|
.filter((value, i, self) => {
|
||||||
|
return self.indexOf(value) === i;
|
||||||
|
})
|
||||||
|
.sort();
|
||||||
|
|
||||||
|
const rowsByGroup = {};
|
||||||
|
|
||||||
|
for (const row of this.rows) {
|
||||||
|
const groupKey = row[column.colIndex].content;
|
||||||
|
rowsByGroup[groupKey] = rowsByGroup[groupKey] || [];
|
||||||
|
rowsByGroup[groupKey].push(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
let rows = [];
|
||||||
|
|
||||||
|
const makeGroupRow = (groupValue) => {
|
||||||
|
const row = this.getColumns().map(c => ({ editable: false }));
|
||||||
|
const firstColumnIndex = this.getStandardColumnCount();
|
||||||
|
row[firstColumnIndex] = groupValue;
|
||||||
|
const meta = {
|
||||||
|
indent: 0
|
||||||
|
};
|
||||||
|
|
||||||
|
return this.prepareRow(row, meta);
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let groupKey of groups) {
|
||||||
|
rowsByGroup[groupKey].forEach(row => {
|
||||||
|
row.meta.indent = 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
rows = [
|
||||||
|
...rows,
|
||||||
|
makeGroupRow(groupKey),
|
||||||
|
...rowsByGroup[groupKey]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
this.rows = rows.map((row, i) => {
|
||||||
|
row.meta.rowIndex = i;
|
||||||
|
|
||||||
|
row.forEach(cell => {
|
||||||
|
cell.rowIndex = i;
|
||||||
|
cell.indent = row.meta.indent;
|
||||||
|
});
|
||||||
|
|
||||||
|
row[1].content = i + 1;
|
||||||
|
|
||||||
|
return row;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
prepareRows() {
|
prepareRows() {
|
||||||
this.validateData(this.data);
|
this.validateData(this.data);
|
||||||
|
|
||||||
|
|||||||
@ -34,6 +34,7 @@ class DataTable {
|
|||||||
|
|
||||||
if (this.options.data) {
|
if (this.options.data) {
|
||||||
this.refresh();
|
this.refresh();
|
||||||
|
this.columnmanager.applyDefaultSortOrder();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,6 +39,7 @@ export default {
|
|||||||
desc: '↓',
|
desc: '↓',
|
||||||
none: ''
|
none: ''
|
||||||
},
|
},
|
||||||
|
groupBy: '', // column id
|
||||||
freezeMessage: '',
|
freezeMessage: '',
|
||||||
getEditor: null,
|
getEditor: null,
|
||||||
serialNoColumn: true,
|
serialNoColumn: true,
|
||||||
|
|||||||
@ -193,7 +193,7 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
padding: 0 4px;
|
padding: 1px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user