laravel-jstools
Version:
JS tools for building front-side of Laravel applications
52 lines (51 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Page = void 0;
const $ = require("jquery");
class Page {
constructor() {
this.pageId = this.getPageId();
}
getPageId() {
return this.constructor.name;
}
getDefaultTableId(tableIndex = 'Default') {
return `${this.pageId}__Table${tableIndex}`;
}
getDefaultTableHistoryId(tableIndex = 'Default') {
return `${this.pageId}__Table${tableIndex}History`;
}
getDefaultTableModelHistoryId(tableIndex = 'Default') {
return `${this.pageId}__Table${tableIndex}ModelHistory`;
}
getDynamicColumns(tableId, hasActions = true, hasActionsPre = false) {
const columnsData = JSON.parse(($(`#${tableId}_columns_data`).val() || '{}'));
const columnsList = [];
if (hasActionsPre) {
columnsList.push({ data: 'actions_pre', name: 'actions_pre', orderable: false, className: 'spase-between' });
}
for (const column in columnsData) {
columnsList.push({
data: column,
name: column,
searchable: columnsData[column]['searchable'] !== undefined ? columnsData[column]['searchable'] : true,
orderable: columnsData[column]['orderable'] !== undefined ? columnsData[column]['orderable'] : true,
className: columnsData[column]['className'] !== undefined ? columnsData[column]['className'] : '',
});
}
if (hasActions) {
columnsList.push({ data: 'actions', name: 'actions', orderable: false, className: 'spase-between' });
}
return columnsList;
}
inputFilterNumber(value) {
return /^-?\d*[,]?\d*$/.test(value);
}
inputFilterNumberPos(value) {
return /^\d*[,]?\d*$/.test(value);
}
inputFilterNumberNeg(value) {
return /^-\d*[,]?\d*$/.test(value);
}
}
exports.Page = Page;