Add edit and cancelEdit functionality to various document models

- Introduced 'edit', 'cancelEdit', and 'finishEdit' actions across multiple document models, enhancing user interaction during editing processes.
- Updated visibility logic for these actions to ensure they only appear when relevant, improving the user experience.
- Refactored existing visibility functions for consistency across models.
This commit is contained in:
Tom Butcher 2026-08-09 23:15:36 +01:00
parent 1192d56027
commit 469907ef59
23 changed files with 195 additions and 19 deletions

View File

@ -37,8 +37,8 @@ export const DocumentJob = {
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
}
, {
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',

View File

@ -36,8 +36,8 @@ export const DocumentPrinter = {
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
}
, {
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',

View File

@ -36,8 +36,8 @@ export const DocumentSize = {
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
}
, {
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',

View File

@ -45,8 +45,8 @@ export const DocumentTemplate = {
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
}
, {
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',

View File

@ -34,7 +34,9 @@ export const FilamentProfile = {
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => !objectData?._isEditing
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',

View File

@ -5,6 +5,9 @@ const FilamentStockInfo = lazy(
)
import FilamentStockIcon from '../../components/Icons/FilamentStockIcon'
import InfoCircleIcon from '../../components/Icons/InfoCircleIcon'
import EditIcon from '../../components/Icons/EditIcon'
import CheckIcon from '../../components/Icons/CheckIcon'
import XMarkIcon from '../../components/Icons/XMarkIcon'
export const FilamentStock = {
name: 'filamentStock',
@ -22,7 +25,38 @@ export const FilamentStock = {
default: true,
row: true,
icon: InfoCircleIcon
}
},
{
name: 'edit',
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',
pageName: 'info',
icon: XMarkIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
{
name: 'finishEdit',
label: 'Save Edits',
type: 'page',
pageName: 'info',
icon: CheckIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
],
pages: [
{

View File

@ -54,8 +54,8 @@ export const GCodeFile = {
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
}
, {
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',

View File

@ -42,6 +42,7 @@ export const Invoice = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -36,6 +36,7 @@ export const Job = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -1,5 +1,8 @@
import NoteIcon from '../../components/Icons/NoteIcon'
import InfoCircleIcon from '../../components/Icons/InfoCircleIcon'
import EditIcon from '../../components/Icons/EditIcon'
import CheckIcon from '../../components/Icons/CheckIcon'
import XMarkIcon from '../../components/Icons/XMarkIcon'
export const Note = {
name: 'note',
@ -15,6 +18,30 @@ export const Note = {
row: true,
icon: InfoCircleIcon,
url: (_id) => `/dashboard/management/notes/info?noteId=${_id}`
},
{
name: 'edit',
label: 'Edit',
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
icon: XMarkIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
{
name: 'finishEdit',
label: 'Save Edits',
icon: CheckIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
}
],
properties: [

View File

@ -36,8 +36,8 @@ export const NoteType = {
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
}
, {
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',

View File

@ -32,6 +32,7 @@ export const OrderItem = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -5,6 +5,9 @@ const PartStockInfo = lazy(
)
import PartStockIcon from '../../components/Icons/PartStockIcon'
import InfoCircleIcon from '../../components/Icons/InfoCircleIcon'
import EditIcon from '../../components/Icons/EditIcon'
import CheckIcon from '../../components/Icons/CheckIcon'
import XMarkIcon from '../../components/Icons/XMarkIcon'
export const PartStock = {
name: 'partStock',
@ -22,7 +25,38 @@ export const PartStock = {
default: true,
row: true,
icon: InfoCircleIcon
}
},
{
name: 'edit',
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',
pageName: 'info',
icon: XMarkIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
{
name: 'finishEdit',
label: 'Save Edits',
type: 'page',
pageName: 'info',
icon: CheckIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
],
pages: [
{

View File

@ -44,6 +44,7 @@ export const Payment = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -299,7 +299,9 @@ export const PrinterProfile = {
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => !objectData?._isEditing
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',

View File

@ -35,6 +35,7 @@ export const ProductStock = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -51,6 +51,7 @@ export const PurchaseOrder = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -51,6 +51,7 @@ export const SalesOrder = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -41,6 +41,7 @@ export const Shipment = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -5,6 +5,9 @@ const StockAuditInfo = lazy(
)
import StockAuditIcon from '../../components/Icons/StockAuditIcon'
import InfoCircleIcon from '../../components/Icons/InfoCircleIcon'
import EditIcon from '../../components/Icons/EditIcon'
import CheckIcon from '../../components/Icons/CheckIcon'
import XMarkIcon from '../../components/Icons/XMarkIcon'
export const StockAudit = {
name: 'stockAudit',
@ -22,7 +25,38 @@ export const StockAudit = {
default: true,
row: true,
icon: InfoCircleIcon
}
},
{
name: 'edit',
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',
pageName: 'info',
icon: XMarkIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
{
name: 'finishEdit',
label: 'Save Edits',
type: 'page',
pageName: 'info',
icon: CheckIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
],
pages: [
{

View File

@ -5,6 +5,9 @@ const StockLocationInfo = lazy(
)
import StockLocationIcon from '../../components/Icons/StockLocationIcon'
import InfoCircleIcon from '../../components/Icons/InfoCircleIcon'
import EditIcon from '../../components/Icons/EditIcon'
import CheckIcon from '../../components/Icons/CheckIcon'
import XMarkIcon from '../../components/Icons/XMarkIcon'
export const StockLocation = {
name: 'stockLocation',
@ -22,7 +25,38 @@ export const StockLocation = {
default: true,
row: true,
icon: InfoCircleIcon
}
},
{
name: 'edit',
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)
}
},
{
name: 'cancelEdit',
label: 'Cancel Edits',
type: 'page',
pageName: 'info',
icon: XMarkIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
{
name: 'finishEdit',
label: 'Save Edits',
type: 'page',
pageName: 'info',
icon: CheckIcon,
visible: (objectData) => {
return objectData?._isEditing && objectData?._isEditing == true
}
},
],
pages: [
{

View File

@ -35,6 +35,7 @@ export const StockTransfer = {
type: 'page',
pageName: 'info',
label: 'Edit',
row: true,
icon: EditIcon,
visible: (objectData) => {
return !(objectData?._isEditing && objectData?._isEditing == true)

View File

@ -61,7 +61,7 @@ export const SubJob = {
'createdAt',
'updatedAt'
],
sorters: ['createdAt','state','updatedAt'],
sorters: ['createdAt', 'state', 'updatedAt'],
group: ['job'],
properties: [
{