import InfoCircleIcon from '../../components/Icons/InfoCircleIcon' import ReloadIcon from '../../components/Icons/ReloadIcon' import EditIcon from '../../components/Icons/EditIcon' import CheckIcon from '../../components/Icons/CheckIcon' import XMarkIcon from '../../components/Icons/XMarkIcon' import DocumentSizeIcon from '../../components/Icons/DocumentSizeIcon' export const DocumentSize = { name: 'documentSize', label: 'Document Size', prefix: 'DSZ', icon: DocumentSizeIcon, actions: [ { name: 'info', label: 'Info', default: true, row: true, icon: InfoCircleIcon, url: (_id) => `/dashboard/management/documentsizes/info?documentSizeId=${_id}` }, { name: 'reload', label: 'Reload', icon: ReloadIcon, url: (_id) => `/dashboard/management/documentsizes/info?documentSizeId=${_id}&action=reload` }, { name: 'edit', label: 'Edit', row: true, icon: EditIcon, url: (_id) => `/dashboard/management/documentsizes/info?documentSizeId=${_id}&action=edit`, visible: (objectData) => { return !(objectData?._isEditing && objectData?._isEditing == true) } }, { name: 'finishEdit', label: 'Save Edits', icon: CheckIcon, url: (_id) => `/dashboard/management/documentsizes/info?documentSizeId=${_id}&action=finishEdit`, visible: (objectData) => { return objectData?._isEditing && objectData?._isEditing == true } }, { name: 'cancelEdit', label: 'Cancel Edits', icon: XMarkIcon, url: (_id) => `/dashboard/management/documentsizes/info?documentSizeId=${_id}&action=cancelEdit`, visible: (objectData) => { return objectData?._isEditing && objectData?._isEditing == true } } ], columns: [ 'name', '_reference', 'width', 'height', 'infiniteHeight', 'createdAt', 'updatedAt' ], filters: ['name', '_id', 'width', 'height', 'infiniteHeight'], sorters: [ 'name', 'width', 'height', 'infiniteHeight', 'createdAt', 'updatedAt' ], properties: [ { name: '_id', label: 'ID', type: 'id', objectType: 'documentSize', showCopy: true }, { name: 'createdAt', label: 'Created At', type: 'dateTime', readOnly: true }, { name: 'name', label: 'Name', required: true, type: 'text', columnWidth: 200, columnFixed: 'left' }, { name: 'updatedAt', label: 'Updated At', type: 'dateTime', readOnly: true }, { name: 'width', label: 'Width', required: true, columnWidth: 150, type: 'number', suffix: 'mm' }, { name: 'height', label: 'Height', required: true, columnWidth: 150, type: 'number', suffix: 'mm', disabled: (objectData) => { return objectData.infiniteHeight } }, { name: 'infiniteHeight', label: 'Infinite Height', required: true, columnWidth: 150, type: 'bool' } ] }