diff --git a/src/components/Dashboard/Production/Printers/PrinterInfo.jsx b/src/components/Dashboard/Production/Printers/PrinterInfo.jsx
index 8d2ec45..94b96f8 100644
--- a/src/components/Dashboard/Production/Printers/PrinterInfo.jsx
+++ b/src/components/Dashboard/Production/Printers/PrinterInfo.jsx
@@ -1,142 +1,145 @@
-import React from 'react'
+import React, { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
-import useCollapseState from '../../hooks/useCollapseState'
-import NotesPanel from '../../common/NotesPanel'
-import InfoCollapse from '../../common/InfoCollapse'
-import ObjectInfo from '../../common/ObjectInfo'
-import ViewButton from '../../common/ViewButton'
-import EditObjectForm from '../../common/EditObjectForm'
-import EditButtons from '../../common/EditButtons'
-import LockIndicator from '../../common/LockIndicator.jsx'
-import PrinterJobsTree from '../../common/PrinterJobsTree'
+import loglevel from 'loglevel'
+import config from '../../../../config.js'
+import useCollapseState from '../../hooks/useCollapseState.js'
+import NotesPanel from '../../common/NotesPanel.jsx'
+import InfoCollapse from '../../common/InfoCollapse.jsx'
+import ObjectInfo from '../../common/ObjectInfo.jsx'
+import ViewButton from '../../common/ViewButton.jsx'
import InfoCircleIcon from '../../../Icons/InfoCircleIcon.jsx'
import NoteIcon from '../../../Icons/NoteIcon.jsx'
-import PrinterIcon from '../../../Icons/PrinterIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
-import ActionHandler from '../../common/ActionHandler'
+import EditObjectForm from '../../common/EditObjectForm.jsx'
+import EditButtons from '../../common/EditButtons.jsx'
+import LockIndicator from '../../common/LockIndicator.jsx'
+import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
+const log = loglevel.getLogger('PrinterInfo')
+log.setLevel(config.logLevel)
+
const PrinterInfo = () => {
const location = useLocation()
+ const editFormRef = useRef(null)
+ const actionHandlerRef = useRef(null)
const printerId = new URLSearchParams(location.search).get('printerId')
const [collapseState, updateCollapseState] = useCollapseState('PrinterInfo', {
info: true,
- jobs: true,
+ stocks: true,
notes: true,
- auditLogsParent: true,
- auditLogsOwner: true
+ auditLogs: true
})
+ const [editFormState, setEditFormState] = useState({
+ isEditing: false,
+ editLoading: false,
+ formValid: false,
+ locked: false,
+ loading: false
+ })
+
+ const actions = {
+ reload: () => {
+ editFormRef?.current.handleFetchObject()
+ return true
+ },
+ edit: () => {
+ editFormRef?.current.startEditing()
+ console.log('CALLING START EDITING')
+ return false
+ },
+ cancelEdit: () => {
+ editFormRef?.current.cancelEditing()
+ return true
+ },
+ finishEdit: () => {
+ editFormRef?.current.handleUpdate()
+ return true
+ }
+ }
+
return (
-
- {({
- loading,
- isEditing,
- startEditing,
- cancelEditing,
- handleUpdate,
- formValid,
- objectData,
- editLoading,
- lock,
- fetchObject
- }) => {
- // Define actions for ActionHandler
- const actions = {
- reload: () => {
- fetchObject()
- return true
- },
- edit: () => {
- startEditing()
- return false
- },
- cancelEdit: () => {
- cancelEditing()
- return true
- },
- finishEdit: () => {
- handleUpdate()
- return true
- }
- }
+ <>
+
+
+
+
+
+
+
+
+
+
+ {
+ actionHandlerRef.current.callAction('finishEdit')
+ }}
+ cancelEditing={() => {
+ actionHandlerRef.current.callAction('cancelEdit')
+ }}
+ startEditing={() => {
+ actionHandlerRef.current.callAction('edit')
+ }}
+ editLoading={editFormState.editLoading}
+ formValid={editFormState.formValid}
+ disabled={editFormState.lock?.locked || editFormState.loading}
+ loading={editFormState.editLoading}
+ />
+
+
- return (
-
- {({ callAction }) => (
-
+
+
+ }
+ active={collapseState.info}
+ onToggle={(expanded) => updateCollapseState('info', expanded)}
+ collapseKey='info'
>
-
-
-
-
-
-
-
-
-
- {
- callAction('finishEdit')
- }}
- cancelEditing={() => {
- callAction('cancelEdit')
- }}
- startEditing={() => {
- callAction('edit')
- }}
- editLoading={editLoading}
- formValid={formValid}
- disabled={lock?.locked || loading}
- loading={editLoading}
- />
-
-
-
-
-
- }
- active={collapseState.info}
- onToggle={(expanded) =>
- updateCollapseState('info', expanded)
- }
- collapseKey='info'
- >
+ {
+ console.log('Got edit form state change', state)
+ setEditFormState((prev) => ({ ...prev, ...state }))
+ }}
+ >
+ {({ loading, isEditing, objectData }) => {
+ return (
}
@@ -144,83 +147,47 @@ const PrinterInfo = () => {
type='printer'
objectData={objectData}
/>
-
+ )
+ }}
+
+
+
- }
- active={collapseState.jobs}
- onToggle={(expanded) =>
- updateCollapseState('jobs', expanded)
- }
- collapseKey='jobs'
- >
-
-
+ }
+ active={collapseState.notes}
+ onToggle={(expanded) => updateCollapseState('notes', expanded)}
+ collapseKey='notes'
+ >
+
+
+
+
- }
- active={collapseState.notes}
- onToggle={(expanded) =>
- updateCollapseState('notes', expanded)
- }
- collapseKey='notes'
- >
-
-
-
-
-
- }
- active={collapseState.auditLogsParent}
- onToggle={(expanded) =>
- updateCollapseState('auditLogsParent', expanded)
- }
- collapseKey='auditLogs'
- >
- {loading ? (
-
- ) : (
-
- )}
-
- }
- active={collapseState.auditLogsOwner}
- onToggle={(expanded) =>
- updateCollapseState('auditLogsOwner', expanded)
- }
- collapseKey='auditLogs'
- >
- {loading ? (
-
- ) : (
-
- )}
-
-
-
-
- )}
-
- )
- }}
-
+ }
+ active={collapseState.auditLogs}
+ onToggle={(expanded) =>
+ updateCollapseState('auditLogs', expanded)
+ }
+ collapseKey='auditLogs'
+ >
+ {editFormState.loading ? (
+
+ ) : (
+
+ )}
+
+
+
+
+ >
)
}