UNPKG

laravel-jstools

Version:

JS tools for building front-side of Laravel applications

52 lines (51 loc) 2 kB
"use strict"; 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;