{"version":3,"sources":["components/Assets/Warranties/FormView.jsx","containers/Assets/Warranties/FormView.js","components/Assets/Tasks/FormView.jsx","containers/Assets/Tasks/FormView.js","components/Assets/Tasks/index.jsx","containers/Assets/Tasks/index.js","components/Assets/CopySchedule.jsx","containers/Assets/CopySchedule.js","containers/Assets/Forms/FormView.js","components/Assets/Forms/FormView.jsx","components/Assets/Forms/index.jsx","containers/Assets/Forms/index.js","components/Assets/FormView.jsx","containers/Assets/FormView.js","actions/assets/assetWarranties.js","elements/Divider.jsx","components/Lists/ChildListView/Items.jsx","containers/Lists/ChildListView/Items.js","components/Lists/Select/Filter.jsx","containers/Lists/Select/Filter.js","components/Lists/Select/index.jsx","containers/Lists/Select/index.js","components/Lists/ChildListView/index.jsx","containers/Lists/ChildListView/index.js","components/Assets/Warranties/index.jsx","containers/Assets/Warranties/index.js"],"names":["FormView","React","constructor","props","_this","super","this","state","getItemId","_this$state$item","_this$props$linkTarge","item","id","linkTargetRecord","find","Boolean","fetchItem","async","itemId","arguments","length","undefined","responses","Promise","all","getItem","catch","error","_this$props$onCancel","_this$props","onCancel","call","resourceNotFound","newItem","getSettings","type","settingsType","setState","value","data","fieldSettings","showError","handleSubmit","createHandleSubmit","componentDidMount","render","_jsx","_Spin","createLabel","createLabelFactory","createFieldDecorator","createFieldFactory","form","readOnly","isReadOnly","_jsxs","_Form","layout","colon","onSubmit","stopEvent","children","className","ValidationError","errors","validationErrors","Item","label","_Input","TextArea","rows","autoFocus","extraRules","validator","rule","callback","tryParseMoment","MIN_TIME","getFieldValue","MAX_TIME","Error","t","DatePicker","allowClear","_Button","onClick","_Tooltip","title","placement","htmlType","loading","saveAndCloseButtonLoading","create","createChildFormViewContainer","actions","Component","_props$settingsType","taskType","taskTypes","ScheduledJob","extraDispatchToProps","tasksFormViewExtraDispatchToProps","createChildListViewComponent","entityName","entityNames","assets","childName","createButtonTextId","createButtonLinkTarget","formSize","formComponent","primaryLinkTarget","secondaryLinkTargets","secondaryLinkTargetsRecipeFactories","jobTemplateRecord","self","record","draft","one","editDrawerLinkTargetRecord","path","editDrawerLinkTargetColumn","dtoFieldName","oldText","get","newText","name","forEach","each","set","extraTableButtons","onTableExtraButtonsClick","key","disabled","size","Icon","allowCustomize","createChildListViewContainer","_state$assets$items","_state$assets","getAssets","getTaskItems","updateState","useImmer","visible","fetchAssets","search","assetIds","assetId","searchAssets","useDebouncedCallback","DEBOUNCE","Modal","okText","onOk","taskItems","then","r","window","setTimeout","_props$onCopy","onCopy","okButtonProps","isNil","Select","onChange","dropdownRender","createDropdownRender","onSearch","placeholder","showSearch","items","map","Option","getOptionProps","displayName","connect","mapStateToProps","createAuthStateToProps","mapDispatchToProps","dispatch","params","assetActions","getOptions","pageIndex","pageSize","createLinkedItemsDispatchToProps","taskActions","createFormViewContainer","updateStatus","formInstanceId","submitItem","getUsers","userActions","getItems","getFormTemplate","formTemplateId","formTemplateActions","createFormInstanceAttachmentsDispatchToProps","objectType","objectId","parentRecord","createDisabled","_self$props$parentRec","_self$props$parentRec2","getDeleteButtonTooltip","JobsFormView","linkTargets","jobRecord","InventoryFormView","inventoryRecord","inventoryAvailability","listItems","warrantyItems","toleranceItems","promiseState","resolve","handleFormChange","formHasChanged","_this$props$linkTarge2","_this$props$linkTarge3","_this$props$linkTarge4","jobTaskSettings","_image$value","_image$value2","description","manufacturer","replacementBarcode","assetCategoryId","supervisor","overdueNotificationGroupId","price","mileage","serviceHours","locationId","getLocations","getAssetCategories","includeUnassignedSelection","active","vending","getUserGroups","cloneDeep","documentItems","historyItems","image","formInstanceItems","getDocumentItems","request","domainObjectId","domainObjectType","documentType","getWarrantyItems","getToleranceItems","getHistoryItems","getDocumentContents","documentName","barcode","getFormInstanceItems","itemOriginal","locations","assetCategories","users","userGroups","documentItemsOriginal","documentItemsTotals","warrantyItemsOriginal","warrantyItemsTotals","toleranceItemsOriginal","toleranceItemsTotals","historyItemsOriginal","historyItemsTotals","imageOriginal","taskItemsOriginal","taskItemsTotals","formInstanceItemsOriginal","formInstanceItemsTotals","fetchInventoryAvailability","saveTaskItems","creating","updating","deleting","getChangedItems","isEmpty","response","deleteTaskItems","showClientNotifications","failureCount","updateTaskItems","createTaskItems","produce","unset","saveItem","saved","updateItem","createItem","saveDocumentItems","saveWarrantyItems","saveToleranceItems","saveImage","handleFileUpload","fileList","contents","fileContents","fileType","fileUploadDrawerVisible","setItemValue","setFieldsValue","includes","_this$state$item2","getInventoryAvailability","handleActionsMenuClick","_ref","confirmUnsavedChanges","history","push","concat","encodeState","showFilter","filterDto","setSessionItem","TRACK_ASSETS_AFTER_CLOSE_KEY","redirectUrl","location","pathname","linkTarget","linkTargetName","linkTargetText","setStorageItem","quickscan","operatorId","user","operatorBarcode","operatorDisplayName","operatorName","hasUnsavedChanges","_message","createJobVisible","createJobSaving","processSetupSheetVisible","copyFromExistingVisible","copyFromExistingSelectedRecord","warn","handleCopyFromExisting","copyFromExistingLoading","rest","seed","Date","now","Object","assign","updateField","confirm","autoFocusButton","camelCase","replace","okType","cancelText","_this$props$onSave","_this$props2","onSave","invoke","_this$props$onSave2","_this$props3","handleGenerateClick","_this$props$onSave3","_this$props4","_this$props$onSave4","_this$props5","e","getFieldsValue","createdDate","toJSON","createdBy","userName","generateButtonLoading","generateId","_this$props$onSave5","_this$props6","_this$state$item3","isEqual","debounce","createSaveDocumentItems","createSaveToleranceItems","createSaveWarrantyItems","createSaveImage","saveFormInstances","createSaveFormInstances","refreshFormInstances","createRefreshFormInstances","Emitter","on","FORM_INSTANCES_REFRESH","FORM_CHANGE_EVENT","componentWillUnmount","off","_this$state$locations","_this$state$assetCate","_this$state$users","_this$state$userGroup","_this$state$taskItems","_this$state$taskItems2","_this$state$tolerance","_this$state$tolerance2","_this$state$warrantyI","_this$state$warrantyI2","_this$state$historyIt","_this$state$historyIt2","_this$state$documentI","_this$state$documentI2","_this$state$formInsta","_this$state$formInsta2","getUserPermission","_Fragment","_Dropdown","overlay","_Menu","Divider","trigger","Row","Col","third","filter","status","entries","serviceStatusOptions","_ref2","gutter","xs","validateBarcode","twoThirds","_Tabs","activeKey","tabsActiveKey","TabPane","tab","forceRender","allowPricing","InputNumber","min","currency","InputImage","onUpload","onDelete","target","editInventoryVisible","editInventorySaving","onHand","onHand2","onOrder","_ref3","join","valuePropName","Checkbox","HARD_SPACE","half","sm","tryParseFloat","orientation","Tasks","pageTotals","values","_ref4","copyScheduleVisible","Tolerances","Warranties","History","Documents","Lists","entityType","entityId","FormInstancesContext","Provider","FormInstances","FormButtons","saveButtonLoading","Drawer","onClose","saving","inventoryId","pending","_this$props$onSave6","_this$props7","onSaveAndClose","FileUpload","accept","_this$props$onSave7","_this$props8","CopySchedule","copiedTaskItems","index","taskId","width","SelectAsset","onSelect","ProcessSetupSheet","flow","withRouter","onValuesChange","_len","Array","_key","emit","locationActions","locationVendingTypes","assetCategoryActions","userGroupActions","inventoryActions","getAvailability","updateMileage","updateServiceHours","createDocumentsDispatchToProps","documentActions","createChildItemsDispatchToProps","assetWarrantyActions","assetToleranceActions","assetHistoryActions","formInstanceActions","createChildActions","styled","_Divider","_templateObject","_taggedTemplateLiteral","getStorageKey","_self$props$listType","listType","getListItemMode","_self$props$listType2","_self$props$entityTyp","fetchSettings","listItemMode","fetchChildItems","listId","getChildItems","saveState","setKeyValueItem","pick","handleLinkTargetClick","column","text","editDrawerLinkTarget","drawerTitleLanguageKey","editDrawerVisible","editDrawerSaving","editDrawerLinkTargetText","editDrawerReadOnly","handleDrawerClose","handleColumnResize","createHandleColumnResize","handleTableChange","createChildListViewHandleTableChange","resetState","createResetState","columnWidths","sortOrder","sortBy","savedState","getKeyValueItem","flush","componentDidUpdate","prevProps","_this$state$editDrawe","columns","getChildColumns","tableCellComponents","onResize","getTableWidth","EditComponent","UnderDevelopment","cx","_Table","childrenColumnName","rowKey","dataSource","style","components","header","cell","ResizableCell","pagination","showTotal","pageSizeOptions","showSizeChanger","Filter","setFilterValue","createSetFilterValue","getListTypes","listTypes","_filterDto$type","_this$state$listTypes","createListModalComponent","_self$props$filterPro","filterProps","transformGetItemsParams","_self$props$filterPro2","createListModalContainer","listRecord","Container","_state$items","_state$items2","_state$items3","createItems","deleteItems","entityListTypes","uniqBy","typeName","listTypeDescription","filteredItems","selectedListType","selectedItem","entityListId","selectedEntityListId","fetchItems","orderBy","justify","_find","_state$items4","allowSearch","listName","updatedItems","nextItem","_nextItem$entityListI","_nextItem$listType","addListVisible","addListRecords","bold","display","alignItems","justifyContent","height","_Empty","ListItems","footer","_state$addListRecords","LIST_MODAL_CLEAR_SELECTION","addListLoading","SelectList","mode","tableSummary","expired","isValidDate","expiryDate","tryParseDate","getTime","formatValue","displayFormat"],"mappings":"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","file":"static/js/6.414e57d5.chunk.js","sourcesContent":["import * as React from 'react'\r\nimport { Form, Input, Spin, Button, Tooltip } from 'antd'\r\nimport { showError, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport { createLabelFactory, createFieldFactory, createHandleSubmit, isReadOnly } from 'helpers/formViews'\r\nimport { tryParseMoment, MIN_TIME, MAX_TIME } from 'helpers/dateTime'\r\nimport { t } from 'helpers/i18n'\r\nimport { stopEvent } from 'helpers/events'\r\nimport DatePicker from 'elements/DatePicker'\r\n\r\nclass FormView extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleSubmit = createHandleSubmit(this)\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchItem()\r\n }\r\n\r\n getItemId = () => [this.state.item?.id, this.props.linkTargetRecord?.id].find(Boolean)\r\n\r\n fetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const responses = await Promise.all([\r\n itemId\r\n ? this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n : !this.props.linkTargetRecord\r\n ? this.props.newItem({})\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType }),\r\n ])\r\n\r\n this.setState({\r\n item: responses[0].value.data,\r\n fieldSettings: responses[1].value.data.fieldSettings,\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n render() {\r\n const { item, fieldSettings } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return \r\n }\r\n\r\n const createLabel = createLabelFactory(fieldSettings)\r\n const createFieldDecorator = createFieldFactory(this.props.form, item, fieldSettings)\r\n const readOnly = isReadOnly(this)\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n {createFieldDecorator('description')()}\r\n \r\n \r\n {createFieldDecorator('startDate', {\r\n extraRules: [\r\n {\r\n validator: (rule, value, callback) => {\r\n const startDate = tryParseMoment(value, MIN_TIME)\r\n const expiryDate = tryParseMoment(this.props.form.getFieldValue('expiryDate'), MAX_TIME)\r\n callback(startDate > expiryDate ? [new Error(t('startDateValidationError'))] : [])\r\n },\r\n },\r\n ],\r\n })()}\r\n \r\n \r\n {createFieldDecorator('expiryDate', {\r\n extraRules: [\r\n {\r\n validator: (rule, value, callback) => {\r\n const startDate = tryParseMoment(this.props.form.getFieldValue('startDate'), MIN_TIME)\r\n const expiryDate = tryParseMoment(value, MAX_TIME)\r\n callback(startDate > expiryDate ? [new Error(t('expiryDateValidationError'))] : [])\r\n },\r\n },\r\n ],\r\n })()}\r\n \r\n
\r\n
\r\n {' '}\r\n {!readOnly && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Form.create()(FormView)\r\n","import actions from 'actions/assets/assetWarranties'\r\nimport { createChildFormViewContainer } from 'factories/ChildFormView'\r\nimport Component from 'components/Assets/Warranties/FormView'\r\n\r\nexport default createChildFormViewContainer({ actions })(Component)\r\n","import taskTypes from 'options/tasks/taskTypes'\r\nimport FormView from 'components/Tasks/FormView'\r\n\r\nconst Component = (props) => (\r\n \r\n)\r\n\r\nexport default Component\r\n","import actions from 'actions/tasks'\r\nimport { createChildFormViewContainer } from 'factories/ChildFormView'\r\nimport { tasksFormViewExtraDispatchToProps } from 'helpers/tasks'\r\nimport Component from 'components/Assets/Tasks/FormView'\r\n\r\nexport default createChildFormViewContainer({\r\n actions,\r\n extraDispatchToProps: tasksFormViewExtraDispatchToProps,\r\n})(Component)\r\n","import { get, set } from 'lodash'\r\nimport { Tooltip, Button } from 'antd'\r\nimport { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { t } from 'helpers/i18n'\r\nimport { isReadOnly } from 'helpers/formViews'\r\nimport Icon from 'elements/Icon'\r\nimport FormView from 'containers/Assets/Tasks/FormView'\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.assets,\r\n childName: 'tasks',\r\n createButtonTextId: 'scheduleJob',\r\n createButtonLinkTarget: {\r\n formSize: 'md',\r\n formComponent: FormView,\r\n },\r\n primaryLinkTarget: 'assetTaskRecord',\r\n secondaryLinkTargets: ['jobTemplateRecord'],\r\n secondaryLinkTargetsRecipeFactories: {\r\n jobTemplateRecord: (self, record) => (draft) => {\r\n const item = draft.find((one) => one.id === self.state.editDrawerLinkTargetRecord.id)\r\n const path = self.state.editDrawerLinkTargetColumn.dtoFieldName\r\n const oldText = get(item, path)\r\n const newText = record.name\r\n\r\n draft.forEach((each) => {\r\n if (get(each, path) === oldText) {\r\n set(each, path, newText)\r\n }\r\n })\r\n },\r\n },\r\n extraTableButtons: (self) => (\r\n \r\n self.props.onTableExtraButtonsClick({ key: 'copySchedule' })}\r\n disabled={isReadOnly(self)}\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n ),\r\n allowCustomize: (self) => true,\r\n})()\r\n","import actions from 'actions/tasks'\r\nimport { createChildListViewContainer } from 'factories/ChildListView'\r\nimport Component from 'components/Assets/Tasks'\r\n\r\nexport default createChildListViewContainer({ actions })(Component)\r\n","import * as React from 'react'\r\nimport { Form } from 'antd'\r\nimport { isNil, set, get } from 'lodash'\r\nimport { useImmer } from 'use-immer'\r\nimport { useDebouncedCallback } from 'use-debounce'\r\nimport { DEBOUNCE } from 'helpers/utils'\r\nimport { createDropdownRender } from 'helpers/formViews'\r\nimport { showError } from 'helpers/errors'\r\nimport taskTypes from 'options/tasks/taskTypes'\r\nimport { t } from 'helpers/i18n'\r\nimport Modal from 'elements/Modal'\r\nimport Select, { Option, getOptionProps } from 'elements/Select'\r\n\r\nfunction Component(props) {\r\n const { getAssets, getTaskItems } = props\r\n\r\n const [state, updateState] = useImmer({ visible: true })\r\n\r\n function setState(path, value) {\r\n updateState((draft) => {\r\n set(draft, path, value)\r\n })\r\n }\r\n\r\n async function fetchAssets(search) {\r\n try {\r\n const response = await getAssets({\r\n search,\r\n assetIds: state.assetId ? [state.assetId] : undefined,\r\n })\r\n\r\n setState('assets', response.value.data)\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n async function handleOk() {\r\n try {\r\n setState('loading', true)\r\n\r\n const taskItems = await getTaskItems({\r\n taskType: taskTypes.ScheduledJob,\r\n assetId: state.assetId,\r\n }).then((r) => get(r, 'value.data.items', []))\r\n\r\n setState('visible', false)\r\n\r\n window.setTimeout(() => props.onCopy?.(taskItems), 500)\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n setState('loading', false)\r\n }\r\n }\r\n\r\n function handleCancel() {\r\n setState('visible', false)\r\n\r\n window.setTimeout(props.onCancel, 500)\r\n }\r\n\r\n React.useEffect(() => {\r\n fetchAssets()\r\n }, [])\r\n\r\n const searchAssets = useDebouncedCallback((search) => fetchAssets(search), DEBOUNCE)\r\n\r\n return (\r\n \r\n

{t('copyScheduleDescription')}

\r\n \r\n setState('assetId', value)}\r\n value={state.assetId}\r\n dropdownRender={createDropdownRender(state.assets)}\r\n onSearch={searchAssets}\r\n placeholder={t('select')}\r\n showSearch\r\n >\r\n {(state?.assets?.items ?? []).map((each) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Component\r\n","import { connect } from 'react-redux'\r\nimport { createAuthStateToProps } from 'helpers/auth'\r\nimport assetActions from 'actions/assets'\r\nimport taskActions from 'actions/tasks'\r\nimport { createLinkedItemsDispatchToProps } from 'helpers/formViews'\r\nimport Component from 'components/Assets/CopySchedule'\r\n\r\nconst mapStateToProps = (state, props) => ({ ...createAuthStateToProps(state, props) })\r\n\r\nconst mapDispatchToProps = (dispatch, props) => ({\r\n getAssets: (params) =>\r\n dispatch(\r\n assetActions.getOptions({\r\n pageIndex: 1,\r\n pageSize: 100,\r\n ...params,\r\n })\r\n ),\r\n ...createLinkedItemsDispatchToProps(dispatch, 'Task', taskActions),\r\n})\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Component)\r\n","import actions from 'actions/formInstances'\r\nimport { createFormViewContainer } from 'factories/FormView'\r\nimport userActions from 'actions/users'\r\nimport formTemplateActions from 'actions/formTemplates'\r\nimport { createFormInstanceAttachmentsDispatchToProps } from 'helpers/formInstances'\r\nimport Component from 'components/Assets/Forms/FormView'\r\n\r\nexport default createFormViewContainer({\r\n actions,\r\n extraDispatchToProps: (dispatch, props) => ({\r\n newItem: (params) => dispatch(actions.newItem(params)),\r\n updateStatus: (formInstanceId, name, value) =>\r\n dispatch(actions.updateStatus(formInstanceId, name, value)),\r\n submitItem: (formInstanceId) => dispatch(actions.submitItem(formInstanceId)),\r\n getUsers: (params) => dispatch(userActions.getItems(params)),\r\n getFormTemplate: (formTemplateId) => dispatch(formTemplateActions.getItem(formTemplateId)),\r\n ...createFormInstanceAttachmentsDispatchToProps(dispatch, props),\r\n }),\r\n})(Component)\r\n","import FormView from 'components/FormInstances/FormView'\r\n\r\nexport default (props) => \r\n","import { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { t } from 'helpers/i18n'\r\nimport FormView from 'containers/Assets/Forms/FormView'\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.assets,\r\n childName: 'formInstances',\r\n primaryLinkTarget: 'formInstanceRecord',\r\n createButtonTextId: 'addFormInstance',\r\n createButtonLinkTarget: {\r\n formSize: 'xl',\r\n formComponent: FormView,\r\n },\r\n createDisabled: (self) => (self.props.parentRecord?.id ?? 0) <= 0,\r\n getDeleteButtonTooltip: (self) => t('deleteFormsTooltip'),\r\n})()\r\n","import actions from 'actions/formInstances'\r\nimport { createChildListViewContainer } from 'factories/ChildListView'\r\nimport Component from 'components/Assets/Forms'\r\n\r\nexport default createChildListViewContainer({ actions })(Component)\r\n","import * as React from 'react'\r\nimport produce from 'immer'\r\nimport { Form, Spin, Button, Dropdown, Menu, Input, Tabs, message } from 'antd'\r\nimport { isNil, get, set, isEmpty, debounce, cloneDeep, unset, isEqual, camelCase, invoke, flow } from 'lodash'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { showError, showClientNotifications, resourceNotFound, ValidationError } from 'helpers/errors'\r\nimport { getUserPermission, allowPricing } from 'helpers/auth'\r\nimport {\r\n createLabelFactory,\r\n createFieldFactory,\r\n createSaveDocumentItems,\r\n createSaveToleranceItems,\r\n createSaveWarrantyItems,\r\n createSaveImage,\r\n getChangedItems,\r\n createHandleSubmit,\r\n validateBarcode,\r\n isReadOnly,\r\n confirmUnsavedChanges,\r\n} from 'helpers/formViews'\r\nimport { HARD_SPACE, tryParseFloat, DEBOUNCE, encodeState } from 'helpers/utils'\r\nimport { setSessionItem } from 'helpers/sessionStorage'\r\nimport { setStorageItem } from 'helpers/localStorage'\r\nimport serviceStatusOptions from 'options/assets/serviceStatusOptions'\r\nimport taskTypes from 'options/tasks/taskTypes'\r\nimport linkTargets from 'options/linkTargets'\r\nimport { t } from 'helpers/i18n'\r\nimport { createSaveFormInstances, createRefreshFormInstances, FormInstancesContext } from 'helpers/formInstances'\r\nimport Documents from 'containers/Documents/ChildListView'\r\nimport Lists from 'containers/Lists/ChildListView'\r\nimport Warranties from 'containers/Assets/Warranties'\r\nimport Tolerances from 'containers/Assets/Tolerances'\r\nimport History from 'containers/Assets/History'\r\nimport Tasks from 'containers/Assets/Tasks'\r\nimport FileUpload from 'elements/FileUpload'\r\nimport InputImage from 'elements/InputImage'\r\nimport FormButtons from 'elements/FormButtons'\r\nimport CopySchedule from 'containers/Assets/CopySchedule'\r\nimport FormInstances from 'containers/Assets/Forms'\r\nimport { Emitter, stopEvent } from 'helpers/events'\r\nimport { FORM_INSTANCES_REFRESH, FORM_CHANGE_EVENT } from 'options/events'\r\nimport { TRACK_ASSETS_AFTER_CLOSE_KEY } from 'components/TrackAssets'\r\nimport SelectAsset from 'containers/Assets/Select'\r\nimport Checkbox from 'elements/Checkbox'\r\nimport Select, { Option, getOptionProps } from 'elements/Select'\r\nimport InputNumber from 'elements/InputNumber'\r\nimport DatePicker from 'elements/DatePicker'\r\nimport Divider from 'elements/Divider'\r\nimport Modal from 'elements/Modal'\r\nimport Drawer from 'elements/Drawer'\r\nimport Icon from 'elements/Icon'\r\nimport { Row, Col } from 'elements/Grid'\r\nimport ProcessSetupSheet from 'containers/ProcessSetupSheet/FormView'\r\n\r\nconst JobsFormView = linkTargets.jobRecord.formComponent\r\nconst InventoryFormView = linkTargets.inventoryRecord.formComponent\r\n\r\nclass FormView extends React.Component {\r\n state = {\r\n inventoryAvailability: {},\r\n listItems: [],\r\n warrantyItems: [],\r\n toleranceItems: [],\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleSubmit = createHandleSubmit(this)\r\n this.fetchInventoryAvailability = debounce(this.fetchInventoryAvailability, DEBOUNCE)\r\n this.saveDocumentItems = createSaveDocumentItems(this, 'Asset')\r\n this.saveToleranceItems = createSaveToleranceItems(this)\r\n this.saveWarrantyItems = createSaveWarrantyItems(this)\r\n this.saveImage = createSaveImage(this, 'Asset')\r\n this.saveFormInstances = createSaveFormInstances(this, { objectType: 'Asset' })\r\n this.refreshFormInstances = createRefreshFormInstances(this, { objectType: 'Asset' })\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchItem()\r\n\r\n Emitter.on(FORM_INSTANCES_REFRESH, this.refreshFormInstances)\r\n Emitter.on(FORM_CHANGE_EVENT, this.handleFormChange)\r\n }\r\n\r\n componentWillUnmount() {\r\n Emitter.off(FORM_INSTANCES_REFRESH, this.refreshFormInstances)\r\n Emitter.off(FORM_CHANGE_EVENT, this.handleFormChange)\r\n }\r\n\r\n promiseState = (state = {}) => new Promise((resolve) => this.setState(state, resolve))\r\n\r\n handleFormChange = () => this.setState({ formHasChanged: true })\r\n\r\n getItemId = () =>\r\n [\r\n this.state.item?.id,\r\n this.props.linkTargetRecord?.jobTaskSettings?.assetId,\r\n this.props.linkTargetRecord?.assetId,\r\n this.props.linkTargetRecord?.objectId,\r\n ].find(Boolean)\r\n\r\n fetchItem = async ({ itemId = this.getItemId() } = {}) => {\r\n try {\r\n const { description = '', manufacturer = '', replacementBarcode = '' } = this.props\r\n const responses = await Promise.all([\r\n itemId\r\n ? this.props.getItem(itemId).catch((error) => {\r\n this.props.onCancel?.()\r\n throw error\r\n })\r\n : !this.props.linkTargetRecord\r\n ? this.props.newItem({\r\n assetCategoryId: 0,\r\n supervisor: '',\r\n overdueNotificationGroupId: 0,\r\n price: 0,\r\n mileage: 0,\r\n serviceHours: 0,\r\n description,\r\n locationId: this.props.locationId,\r\n manufacturer,\r\n replacementBarcode,\r\n })\r\n : resourceNotFound(this),\r\n this.props.getSettings({ type: this.props.settingsType }),\r\n this.props.getLocations(),\r\n this.props.getAssetCategories({ includeUnassignedSelection: false }),\r\n this.props.getUsers({ active: 'Active', vending: 'NonVending' }),\r\n this.props.getUserGroups(),\r\n ])\r\n\r\n const item = cloneDeep(responses[0].value.data)\r\n\r\n const [documentItems, warrantyItems, toleranceItems, historyItems, image, taskItems, formInstanceItems] =\r\n await Promise.all([\r\n item.id\r\n ? this.props.getDocumentItems({\r\n request: {\r\n domainObjectId: item.id,\r\n domainObjectType: 'Asset',\r\n documentType: 'ObjectDocument',\r\n },\r\n })\r\n : Promise.resolve(null),\r\n item.id ? this.props.getWarrantyItems(item.id) : Promise.resolve(null),\r\n item.id ? this.props.getToleranceItems(item.id) : Promise.resolve(null),\r\n item.id ? this.props.getHistoryItems(item.id) : Promise.resolve(null),\r\n item.id\r\n ? this.props\r\n .getDocumentContents({\r\n request: {\r\n domainObjectId: item.id,\r\n domainObjectType: 'Asset',\r\n documentType: 'ObjectImage',\r\n documentName: item.barcode,\r\n },\r\n })\r\n .catch(() => {})\r\n : Promise.resolve(null),\r\n item.id\r\n ? this.props.getTaskItems({\r\n active: 'All',\r\n taskType: taskTypes.ScheduledJob,\r\n assetId: item.id,\r\n })\r\n : Promise.resolve(null),\r\n item.id ? this.props.getFormInstanceItems({ objectType: 'Asset', objectId: item.id }) : Promise.resolve(null),\r\n ])\r\n\r\n this.setState(\r\n {\r\n item,\r\n itemOriginal: cloneDeep(item),\r\n fieldSettings: responses[1].value.data.fieldSettings,\r\n locations: get(responses[2], 'value.data.items', []),\r\n assetCategories: get(responses[3], 'value.data.items', []),\r\n users: get(responses[4], 'value.data.items', []),\r\n userGroups: get(responses[5], 'value.data.items', []),\r\n documentItems: get(documentItems, 'value.data.items', []),\r\n documentItemsOriginal: get(documentItems, 'value.data.items', []),\r\n documentItemsTotals: get(documentItems, 'value.data.pageTotals', {}),\r\n warrantyItems: get(warrantyItems, 'value.data.items', []),\r\n warrantyItemsOriginal: get(warrantyItems, 'value.data.items', []),\r\n warrantyItemsTotals: get(warrantyItems, 'value.data.pageTotals', {}),\r\n toleranceItems: get(toleranceItems, 'value.data.items', []),\r\n toleranceItemsOriginal: get(toleranceItems, 'value.data.items', []),\r\n toleranceItemsTotals: get(toleranceItems, 'value.data.pageTotals', {}),\r\n historyItems: get(historyItems, 'value.data.items', []),\r\n historyItemsOriginal: get(historyItems, 'value.data.items', []),\r\n historyItemsTotals: get(historyItems, 'value.data.pageTotals', {}),\r\n image: image?.value?.data,\r\n imageOriginal: image?.value?.data,\r\n taskItems: get(taskItems, 'value.data.items', []),\r\n taskItemsOriginal: get(taskItems, 'value.data.items', []),\r\n taskItemsTotals: get(taskItems, 'value.data.pageTotals', {}),\r\n formInstanceItems: get(formInstanceItems, 'value.data.items', []),\r\n formInstanceItemsOriginal: get(formInstanceItems, 'value.data.items', []),\r\n formInstanceItemsTotals: get(formInstanceItems, 'value.data.pageTotals', {}),\r\n formHasChanged: false,\r\n },\r\n this.fetchInventoryAvailability\r\n )\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n saveTaskItems = async (assetId) => {\r\n const { creating, updating, deleting } = getChangedItems(this.state.taskItemsOriginal, this.state.taskItems)\r\n\r\n if (!isEmpty(deleting)) {\r\n const response = await this.props.deleteTaskItems(deleting.map((each) => each.id))\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n }\r\n\r\n if (!isEmpty(updating)) {\r\n const response = await this.props.updateTaskItems(updating)\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n }\r\n\r\n if (!isEmpty(creating)) {\r\n const response = await this.props.createTaskItems(\r\n creating.map(\r\n produce((draft) => {\r\n unset(draft, 'id')\r\n unset(draft, 'taskId')\r\n set(draft, 'lastRun', '0001-01-01T12:00:00Z')\r\n set(draft, 'jobTaskSettings.assetBarcode', this.state.item.barcode)\r\n set(draft, 'jobTaskSettings.assetId', assetId)\r\n set(draft, 'jobTaskSettings.previousJobId', 0)\r\n })\r\n )\r\n )\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n }\r\n }\r\n\r\n saveItem = async (item) => {\r\n if (!item) {\r\n throw new Error('item is undefined')\r\n }\r\n\r\n const saved = item.id ? await this.props.updateItem(item) : await this.props.createItem(item)\r\n\r\n await Promise.all([\r\n this.saveDocumentItems(saved.value.data.id),\r\n this.saveWarrantyItems(saved.value.data.id),\r\n this.saveToleranceItems(saved.value.data.id),\r\n this.saveTaskItems(saved.value.data.id),\r\n this.saveImage(saved.value.data.id, item.barcode),\r\n ])\r\n\r\n return saved\r\n }\r\n\r\n handleFileUpload = (fileList = []) => {\r\n if (fileList[0]) {\r\n this.setState({\r\n image: {\r\n contents: fileList[0].fileContents,\r\n fileType: fileList[0].fileType,\r\n },\r\n fileUploadDrawerVisible: false,\r\n })\r\n } else {\r\n this.setState({ fileUploadDrawerVisible: false })\r\n }\r\n }\r\n\r\n setItemValue = (name, value) =>\r\n this.setState(\r\n produce((draft) => {\r\n set(draft.item, name, value)\r\n\r\n this.props.form.setFieldsValue({ [name]: value })\r\n }),\r\n () => {\r\n if (['locationId', 'replacementBarcode'].includes(name)) {\r\n this.fetchInventoryAvailability()\r\n }\r\n }\r\n )\r\n\r\n fetchInventoryAvailability = async () => {\r\n const { locationId, replacementBarcode: barcode } = this.state.item ?? {}\r\n\r\n if (locationId && barcode) {\r\n try {\r\n const response = await this.props.getInventoryAvailability({\r\n locationId,\r\n barcode,\r\n })\r\n\r\n this.setState({ inventoryAvailability: response.value.data })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n }\r\n\r\n handleActionsMenuClick = ({ key }) => {\r\n switch (key) {\r\n case 'jobs':\r\n confirmUnsavedChanges(() => {\r\n this.props.history.push(\r\n `/jobs/jobs?${encodeState({\r\n showFilter: true,\r\n filterDto: { assetIds: [this.state.item.id] },\r\n })}`\r\n )\r\n this.props.onCancel()\r\n })\r\n break\r\n\r\n case 'jobCostReport':\r\n confirmUnsavedChanges(() => {\r\n this.props.history.push(\r\n `/jobs/reports/jobCostReport?${encodeState({\r\n showFilter: true,\r\n filterDto: { assetIds: [this.state.item.id] },\r\n })}`\r\n )\r\n this.props.onCancel()\r\n })\r\n break\r\n\r\n case 'trackAsset':\r\n confirmUnsavedChanges(() => {\r\n setSessionItem(TRACK_ASSETS_AFTER_CLOSE_KEY, {\r\n redirectUrl: window.location.pathname,\r\n linkTarget: {\r\n linkTargetName: 'assetRecord',\r\n linkTargetRecord: { assetId: this.state.item.id },\r\n linkTargetText: this.state.item.barcode,\r\n },\r\n })\r\n setStorageItem('assets.trackAssets', {\r\n quickscan: true,\r\n assetId: this.state.item.id,\r\n operatorId: this.props.user.operatorId,\r\n operatorBarcode: this.props.user.operatorBarcode,\r\n operatorDisplayName: this.props.user.operatorName,\r\n })\r\n this.props.history.push('/assets/trackAssets')\r\n this.props.onCancel()\r\n })\r\n break\r\n\r\n case 'createJob':\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n } else {\r\n this.setState({ createJobVisible: true, createJobSaving: false })\r\n }\r\n break\r\n\r\n case 'processSetupSheet':\r\n if (this.hasUnsavedChanges()) {\r\n message.error(t('saveChangesFirst'))\r\n } else {\r\n this.setState({ processSetupSheetVisible: true })\r\n }\r\n break\r\n\r\n case 'copyFromExistingRecord':\r\n this.setState({\r\n copyFromExistingVisible: true,\r\n copyFromExistingSelectedRecord: null,\r\n })\r\n break\r\n\r\n default:\r\n message.warn(t('underDevelopment'))\r\n break\r\n }\r\n }\r\n\r\n handleCopyFromExisting = async () => {\r\n try {\r\n this.setState({ copyFromExistingLoading: true })\r\n\r\n const { id, ...rest } = await this.props\r\n .getItem(this.state.copyFromExistingSelectedRecord.id)\r\n .then((r) => r.value.data)\r\n .then(cloneDeep)\r\n\r\n const [warrantyItems, toleranceItems] = await Promise.all([\r\n this.props.getWarrantyItems(id),\r\n this.props.getToleranceItems(id),\r\n ])\r\n\r\n let seed = Date.now() * -1\r\n\r\n this.setState(\r\n produce((draft) => {\r\n Object.assign(draft.item, rest)\r\n\r\n draft.warrantyItems = warrantyItems.value.data.items.map((each) => ({\r\n ...each,\r\n id: seed--,\r\n assetId: id,\r\n }))\r\n draft.toleranceItems = toleranceItems.value.data.items.map((each) => ({\r\n ...each,\r\n id: seed--,\r\n assetId: id,\r\n }))\r\n\r\n draft.copyFromExistingVisible = false\r\n draft.copyFromExistingSelectedRecord = null\r\n })\r\n )\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n this.setState({ copyFromExistingLoading: false })\r\n }\r\n }\r\n\r\n updateField = (dtoFieldName) => {\r\n switch (dtoFieldName) {\r\n case 'mileage':\r\n case 'serviceHours':\r\n Modal.confirm({\r\n autoFocusButton: 'ok',\r\n title: t(camelCase(`confirmUpdate-${dtoFieldName}`))\r\n .replace('xxx', this.state.itemOriginal[dtoFieldName])\r\n .replace('yyy', this.state.item[dtoFieldName]),\r\n okType: 'primary',\r\n okText: t('update'),\r\n cancelText: t('cancel'),\r\n onOk: async () => {\r\n try {\r\n await this.props.onSave?.(true)\r\n\r\n const response = await invoke(this.props, camelCase(`update-${dtoFieldName}`), this.state.item)\r\n\r\n showClientNotifications({ response })\r\n\r\n const historyItems = await this.props.getHistoryItems(this.state.item.id).then((r) => r.value.data.items)\r\n\r\n this.setState(\r\n produce((draft) => {\r\n draft.itemOriginal[dtoFieldName] = draft.item[dtoFieldName]\r\n draft.historyItems = draft.historyItemsOriginal = historyItems\r\n })\r\n )\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n await this.props.onSave?.(false)\r\n }\r\n },\r\n })\r\n break\r\n\r\n default:\r\n message.warn(t('underDevelopment'))\r\n break\r\n }\r\n }\r\n\r\n handleGenerateClick = async (e) => {\r\n let saved = null\r\n\r\n try {\r\n stopEvent(e)\r\n\r\n const params = {\r\n ...this.props.form.getFieldsValue(),\r\n createdDate: new Date().toJSON(),\r\n createdBy: this.props.user.userName,\r\n id: undefined,\r\n }\r\n\r\n if (!params.locationId) {\r\n message.error(t('selectLocationFirst'))\r\n return\r\n }\r\n\r\n this.setState({ validationErrors: null, generateButtonLoading: true })\r\n\r\n await this.props.onSave?.(true)\r\n\r\n saved = await this.props.generateId(params).then((r) => r.value.data)\r\n\r\n await this.fetchItem({ itemId: saved.id })\r\n\r\n await this.props.onSave?.(false, saved)\r\n } catch (error) {\r\n showError({ error })\r\n await this.props.onSave?.(false, saved)\r\n } finally {\r\n this.setState({ generateButtonLoading: false })\r\n }\r\n }\r\n\r\n hasUnsavedChanges = () =>\r\n this.state.formHasChanged ||\r\n !this.state.item?.id ||\r\n !isEqual(this.state.item, this.state.itemOriginal) ||\r\n !isEqual(this.state.documentItems, this.state.documentItemsOriginal) ||\r\n !isEqual(this.state.warrantyItems, this.state.warrantyItemsOriginal) ||\r\n !isEqual(this.state.toleranceItems, this.state.toleranceItemsOriginal) ||\r\n !isEqual(this.state.historyItems, this.state.historyItemsOriginal) ||\r\n !isEqual(this.state.taskItems, this.state.taskItemsOriginal)\r\n\r\n render() {\r\n const { item, fieldSettings, inventoryAvailability } = this.state\r\n\r\n if (!item || !fieldSettings) {\r\n return \r\n }\r\n\r\n const createLabel = createLabelFactory(fieldSettings)\r\n const createFieldDecorator = createFieldFactory(this.props.form, item, fieldSettings)\r\n\r\n const readOnly = isReadOnly(this) || getUserPermission('Assets') !== 'Edit'\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {t('createJob')}\r\n \r\n \r\n \r\n {t('jobs')}\r\n \r\n {getUserPermission('Reports') !== 'No' && (\r\n \r\n {t('jobCostReport')}\r\n \r\n )}\r\n \r\n {t('processSetupSheet')}\r\n \r\n \r\n \r\n {t('trackAsset')}\r\n \r\n \r\n \r\n {t('copyFromExistingAsset')}\r\n \r\n \r\n }\r\n trigger={['click']}\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('locationId')(\r\n this.setItemValue('locationId', value)}\r\n readOnly={readOnly}\r\n >\r\n {(this.state.locations ?? []).map((each) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('assetCategoryId')(\r\n this.setItemValue('assetCategoryId', value || 0)}\r\n placeholder={t('none')}\r\n readOnly={readOnly}\r\n >\r\n \r\n {(this.state.assetCategories ?? [])\r\n .filter((each) => each.id)\r\n .map((each) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('serviceStatus')(\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('barcode', { extraRules: [validateBarcode()] })(\r\n \r\n )}\r\n \r\n {!item.id && (\r\n \r\n \r\n {t('generate')}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('itemNumber')()}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('inServiceDate')()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {createFieldDecorator('description')()}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('revisionDate')()}\r\n \r\n \r\n \r\n this.setState({ tabsActiveKey: value })}\r\n >\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('binLocation')()}\r\n \r\n \r\n {createFieldDecorator('manufacturer')()}\r\n \r\n \r\n {createFieldDecorator('modelNumber')()}\r\n \r\n \r\n {createFieldDecorator('serialNumber')()}\r\n \r\n \r\n {createFieldDecorator('supervisor')(\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('accountNumber')()}\r\n \r\n \r\n {createFieldDecorator('costCenter')()}\r\n \r\n {allowPricing() && (\r\n \r\n {createFieldDecorator('price')()}\r\n \r\n )}\r\n \r\n {createFieldDecorator('maxCheckoutDays')()}\r\n \r\n \r\n {createFieldDecorator('overdueNotificationGroupId')(\r\n this.setItemValue('overdueNotificationGroupId', value || 0)}\r\n readOnly={readOnly}\r\n showSearch\r\n >\r\n \r\n {(this.state.userGroups ?? [])\r\n .filter((each) => each.id)\r\n .map((each) => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n \r\n this.setState({ fileUploadDrawerVisible: true })}\r\n onDelete={() => this.setState({ image: null })}\r\n value={this.state.image}\r\n readOnly={readOnly}\r\n />\r\n \r\n
\r\n \r\n
\r\n {createFieldDecorator('replacementBarcode', {\r\n extraRules: [validateBarcode()],\r\n })(\r\n this.setItemValue('replacementBarcode', e.target.value)}\r\n readOnly={readOnly}\r\n />\r\n )}\r\n
\r\n \r\n
\r\n \r\n this.setState({\r\n editInventoryVisible: true,\r\n editInventorySaving: false,\r\n })\r\n }\r\n disabled={!inventoryAvailability?.id || readOnly}\r\n >\r\n \r\n \r\n
\r\n `${t(value)}: ${get(inventoryAvailability, key, '?')}`)\r\n .join(', ')\r\n : t('na')\r\n }\r\n disabled={!inventoryAvailability?.id}\r\n readOnly\r\n />\r\n
\r\n \r\n \r\n {createFieldDecorator('isCritical', { valuePropName: 'checked' })(\r\n {createLabel('isCritical')}\r\n )}\r\n \r\n \r\n {createFieldDecorator('isRental', { valuePropName: 'checked' })(\r\n {createLabel('isRental')}\r\n )}\r\n \r\n \r\n \r\n {createFieldDecorator('certificationRequired', { valuePropName: 'checked' })(\r\n {createLabel('certificationRequired')}\r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {createFieldDecorator('keywords')()}\r\n \r\n \r\n \r\n \r\n {createFieldDecorator('comment')()}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {['lastCalibrationDate', 'nextCalibrationDate'].map((each) => (\r\n \r\n \r\n {createFieldDecorator(each)()}\r\n \r\n \r\n ))}\r\n {['serviceHours', 'mileage'].map((each) => (\r\n \r\n \r\n {this.state.item.id ? (\r\n
\r\n this.updateField(each)}\r\n >\r\n \r\n \r\n
\r\n ) : null}\r\n {createFieldDecorator(each)(\r\n this.setItemValue(each, tryParseFloat(value, 0))} min={0} />\r\n )}\r\n
\r\n \r\n ))}\r\n
\r\n \r\n {t('scheduledJobs')}\r\n \r\n this.setState({ taskItems: values })}\r\n settingsType=\"asset\"\r\n readOnly={readOnly}\r\n onTableExtraButtonsClick={({ key }) => {\r\n if (key === 'copySchedule') {\r\n this.setState({ copyScheduleVisible: true })\r\n }\r\n }}\r\n />\r\n
\r\n \r\n this.setState({ toleranceItems: values })}\r\n readOnly={readOnly}\r\n parentRecord={item}\r\n />\r\n \r\n \r\n this.setState({ warrantyItems: values })}\r\n readOnly={readOnly}\r\n />\r\n \r\n \r\n {createFieldDecorator('lotoNotes')()}\r\n \r\n \r\n this.setState({ historyItems: values })}\r\n readOnly={readOnly}\r\n />\r\n \r\n \r\n this.setState({ documentItems: values })}\r\n readOnly={readOnly}\r\n />\r\n \r\n {!isNil(item.id) && (\r\n \r\n \r\n \r\n )}\r\n {!isNil(item.id) && (getUserPermission('Master') === 'Yes' || getUserPermission('Forms') !== 'None') && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n this.setState({ editInventoryVisible: false })}\r\n saving={this.state.editInventorySaving}\r\n >\r\n \r\n this.promiseState({ editInventorySaving: pending }).then(async () => {\r\n await this.props.onSave?.(pending)\r\n\r\n if (!pending) {\r\n await this.fetchInventoryAvailability()\r\n }\r\n })\r\n }\r\n onSaveAndClose={() => this.setState({ editInventoryVisible: false })}\r\n onCancel={() => this.setState({ editInventoryVisible: false })}\r\n />\r\n \r\n this.setState({ fileUploadDrawerVisible: false })}\r\n >\r\n this.setState({ fileUploadDrawerVisible: false })}\r\n />\r\n \r\n this.setState({ createJobVisible: false })}\r\n saving={this.state.createJobSaving}\r\n >\r\n \r\n this.promiseState({ createJobSaving: pending }).then(async () => {\r\n await this.props.onSave?.(pending)\r\n\r\n if (!pending) {\r\n await this.fetchItem()\r\n }\r\n })\r\n }\r\n onSaveAndClose={() => this.setState({ createJobVisible: false })}\r\n onCancel={() => this.setState({ createJobVisible: false })}\r\n />\r\n \r\n {this.state.copyScheduleVisible && (\r\n \r\n this.setState(\r\n produce((draft) => {\r\n const seed = Date.now() * -1\r\n\r\n draft.taskItems.push(\r\n ...copiedTaskItems.map((each, index) => ({\r\n ...each,\r\n id: seed - index,\r\n taskId: seed - index,\r\n }))\r\n )\r\n\r\n draft.copyScheduleVisible = false\r\n })\r\n )\r\n }\r\n onCancel={() => this.setState({ copyScheduleVisible: false })}\r\n />\r\n )}\r\n \r\n this.setState({\r\n copyFromExistingVisible: false,\r\n copyFromExistingSelectedRecord: null,\r\n })\r\n }\r\n width={992}\r\n >\r\n this.setState({ copyFromExistingSelectedRecord: values[0] })} />\r\n \r\n this.setState({ processSetupSheetVisible: false })}\r\n >\r\n this.setState({ processSetupSheetVisible: false })}\r\n />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default flow(\r\n withRouter,\r\n Form.create({\r\n onValuesChange: (...params) => Emitter.emit(FORM_CHANGE_EVENT, ...params),\r\n })\r\n)(FormView)\r\n","import actions from 'actions/assets'\r\nimport { createFormViewContainer } from 'factories/FormView'\r\nimport {\r\n createChildItemsDispatchToProps,\r\n createLinkedItemsDispatchToProps,\r\n createDocumentsDispatchToProps,\r\n} from 'helpers/formViews'\r\nimport locationActions from 'actions/locations'\r\nimport assetCategoryActions from 'actions/assetCategories'\r\nimport userActions from 'actions/users'\r\nimport userGroupActions from 'actions/userGroups'\r\nimport inventoryActions from 'actions/inventory'\r\nimport documentActions from 'actions/documents'\r\nimport assetWarrantyActions from 'actions/assets/assetWarranties'\r\nimport assetToleranceActions from 'actions/assets/assetTolerances'\r\nimport assetHistoryActions from 'actions/assets/assetHistory'\r\nimport taskActions from 'actions/tasks'\r\nimport formInstanceActions from 'actions/formInstances'\r\nimport Component from 'components/Assets/FormView'\r\n\r\nexport default createFormViewContainer({\r\n actions,\r\n extraDispatchToProps: (dispatch, props) => ({\r\n generateId: (params) => dispatch(actions.generateId(params)),\r\n getLocations: (params) =>\r\n dispatch(locationActions.getItems({ ...params, locationVendingTypes: ['NonVending'] })),\r\n getAssetCategories: (params) => dispatch(assetCategoryActions.getOptions(params)),\r\n getUsers: (params) => dispatch(userActions.getItems(params)),\r\n getUserGroups: (params) => dispatch(userGroupActions.getOptions(params)),\r\n getInventoryAvailability: (params) => dispatch(inventoryActions.getAvailability(params)),\r\n updateMileage: (params) => dispatch(actions.updateMileage(params)),\r\n updateServiceHours: (params) => dispatch(actions.updateServiceHours(params)),\r\n ...createDocumentsDispatchToProps(dispatch, documentActions),\r\n ...createLinkedItemsDispatchToProps(dispatch, 'Task', taskActions),\r\n ...createChildItemsDispatchToProps(dispatch, 'Warranty', assetWarrantyActions),\r\n ...createChildItemsDispatchToProps(dispatch, 'Tolerance', assetToleranceActions),\r\n ...createChildItemsDispatchToProps(dispatch, 'History', assetHistoryActions),\r\n ...createLinkedItemsDispatchToProps(dispatch, 'FormInstance', formInstanceActions),\r\n }),\r\n})(Component)\r\n","import { createChildActions } from 'helpers/actions'\r\nimport entityNames from 'options/entityNames'\r\n\r\nexport default createChildActions(entityNames.assets, 'assetWarranties')\r\n","import styled from 'styled-components'\r\nimport { Divider } from 'antd'\r\n\r\nexport default styled(Divider)`\r\n .ant-divider-inner-text {\r\n font-size: 14px;\r\n color: rgba(0, 0, 0, 0.65);\r\n }\r\n\r\n &.ant-divider-with-text-left::before {\r\n width: 0 !important;\r\n }\r\n`\r\n","import * as React from 'react'\r\nimport cx from 'clsx'\r\nimport { Spin, Table } from 'antd'\r\nimport { camelCase, isEmpty, get, pick, debounce } from 'lodash'\r\nimport {\r\n getChildColumns,\r\n getTableWidth,\r\n showTotal,\r\n pageSizeOptions,\r\n createHandleColumnResize,\r\n createChildListViewHandleTableChange,\r\n} from 'helpers/listViews'\r\nimport { showError } from 'helpers/errors'\r\nimport { getKeyValueItem, setKeyValueItem } from 'helpers/keyValueStorage'\r\nimport { createResetState } from 'helpers/utils'\r\nimport { tableCellComponents } from 'helpers/listItems'\r\nimport { t } from 'helpers/i18n'\r\nimport linkTargets from 'options/linkTargets'\r\nimport ResizableCell from 'elements/ResizableCell'\r\nimport Drawer from 'elements/Drawer'\r\nimport UnderDevelopment from 'elements/UnderDevelopment'\r\n\r\nconst getStorageKey = (self) => `childListItems.${camelCase(self.props.listType ?? 'Product')}`\r\nconst getListItemMode = (self) =>\r\n `${self.props.listType ?? 'Product'}List${self.props.entityType ?? 'Job'}Record`\r\n\r\nclass Component extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleColumnResize = createHandleColumnResize(this)\r\n this.handleTableChange = createChildListViewHandleTableChange(this)\r\n this.fetchChildItems = debounce(this.fetchChildItems, 500)\r\n this.resetState = createResetState(this, {\r\n columnWidths: {},\r\n fieldSettings: [],\r\n sortOrder: 'ascend',\r\n sortBy: 'barcode',\r\n pageSize: 20,\r\n })\r\n this.saveState = debounce(this.saveState, 2500)\r\n }\r\n\r\n async componentDidMount() {\r\n const savedState = await getKeyValueItem(getStorageKey(this), {})\r\n await this.resetState(savedState)\r\n await this.fetchSettings()\r\n }\r\n\r\n componentWillUnmount() {\r\n this.saveState.flush()\r\n }\r\n\r\n async componentDidUpdate(prevProps) {\r\n if (getListItemMode(this) !== getListItemMode({ props: prevProps })) {\r\n const savedState = await getKeyValueItem(getStorageKey(this), {})\r\n await this.resetState(savedState)\r\n await this.fetchSettings()\r\n }\r\n\r\n if (this.props.listId !== prevProps.listId) {\r\n await this.fetchChildItems()\r\n }\r\n\r\n if (this.props.locationId !== prevProps.locationId) {\r\n await this.fetchChildItems()\r\n }\r\n }\r\n\r\n promiseState = (state = {}) => new Promise((resolve) => this.setState(state, resolve))\r\n\r\n fetchSettings = async () => {\r\n try {\r\n const { getSettings, listItemMode = getListItemMode(this) } = this.props\r\n const response = await getSettings({ type: camelCase(listItemMode) })\r\n\r\n this.setState({ fieldSettings: response.value.data.fieldSettings }, this.fetchChildItems)\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n fetchChildItems = async () => {\r\n try {\r\n const {\r\n locationId,\r\n domainObjectType,\r\n listId,\r\n listType = 'Product',\r\n listItemMode = getListItemMode(this),\r\n } = this.props\r\n\r\n this.setState({ loading: true })\r\n\r\n const response = await this.props.getChildItems(listId, {\r\n listId,\r\n domainObjectType,\r\n locationId,\r\n listType,\r\n listItemMode,\r\n })\r\n\r\n this.setState({ items: response.value.data.items })\r\n\r\n return response\r\n } catch (error) {\r\n showError({ error })\r\n\r\n return error\r\n } finally {\r\n this.setState({ loading: false })\r\n }\r\n }\r\n\r\n saveState = () => setKeyValueItem(getStorageKey(this), pick(this.state, ['columnWidths', 'pageSize']))\r\n\r\n handleLinkTargetClick = ({ column, record, text, readOnly }) => {\r\n if (process.env.NODE_ENV === 'development') console.log({ column, record, text, readOnly })\r\n\r\n const editDrawerLinkTarget = linkTargets[column.linkTarget]\r\n const { drawerTitleLanguageKey } = editDrawerLinkTarget ?? {}\r\n\r\n this.setState({\r\n editDrawerVisible: true,\r\n editDrawerSaving: false,\r\n editDrawerLinkTarget,\r\n editDrawerLinkTargetRecord: record,\r\n editDrawerLinkTargetText: drawerTitleLanguageKey ? `${t(drawerTitleLanguageKey)} - ${text}` : text,\r\n editDrawerReadOnly: false,\r\n })\r\n }\r\n\r\n handleDrawerClose = () =>\r\n this.setState({\r\n editDrawerVisible: false,\r\n editDrawerSaving: false,\r\n editDrawerLinkTarget: null,\r\n editDrawerLinkTargetRecord: null,\r\n editDrawerLinkTargetText: '',\r\n })\r\n\r\n render() {\r\n const { sortOrder, sortBy, pageSize, items = [], fieldSettings = [], columnWidths = {} } = this.state\r\n\r\n if (isEmpty(fieldSettings)) {\r\n return \r\n }\r\n\r\n const columns = getChildColumns({\r\n sortBy,\r\n sortOrder,\r\n fieldSettings,\r\n columnWidths,\r\n tableCellComponents,\r\n onResize: this.handleColumnResize,\r\n onClick: this.handleLinkTargetClick,\r\n self: this,\r\n })\r\n const width = isEmpty(columns) ? '100%' : getTableWidth(columns)\r\n const EditComponent = get(this.state, 'editDrawerLinkTarget.formComponent', UnderDevelopment)\r\n\r\n // console.log({ items, fieldSettings })\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n record.id}\r\n loading={this.state.loading}\r\n columns={columns}\r\n dataSource={items}\r\n size=\"middle\"\r\n style={{ width }}\r\n components={{ header: { cell: ResizableCell } }}\r\n pagination={{\r\n pageSize,\r\n showTotal,\r\n pageSizeOptions,\r\n showSizeChanger: true,\r\n }}\r\n onChange={this.handleTableChange}\r\n />\r\n
\r\n
\r\n \r\n \r\n this.promiseState({ editDrawerSaving: pending }).then(async () => {\r\n if (!pending) {\r\n await this.fetchChildItems()\r\n }\r\n })\r\n }\r\n onSaveAndClose={this.handleDrawerClose}\r\n onCancel={this.handleDrawerClose}\r\n />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Component\r\n","import { connect } from 'react-redux'\r\nimport { createAuthStateToProps } from 'helpers/auth'\r\nimport actions from 'actions/lists/listItems'\r\nimport Component from 'components/Lists/ChildListView/Items'\r\n\r\nconst mapStateToProps = (state, props) => ({ ...createAuthStateToProps(state, props) })\r\n\r\nconst mapDispatchToProps = {\r\n getSettings: actions.getSettings,\r\n getChildItems: actions.getChildItems,\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Component)\r\n","import * as React from 'react'\r\nimport { Form } from 'antd'\r\nimport { showError } from 'helpers/errors'\r\nimport { createSetFilterValue } from 'helpers/filters'\r\nimport { stopEvent } from 'helpers/events'\r\nimport { t } from 'helpers/i18n'\r\nimport Select, { Option } from 'elements/Select'\r\nimport { Row, Col } from 'elements/Grid'\r\n\r\nclass Filter extends React.Component {\r\n state = {}\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n this.setFilterValue = createSetFilterValue(this)\r\n }\r\n\r\n async componentDidMount() {\r\n try {\r\n const response = await this.props.getListTypes({ type: this.props.entityType })\r\n\r\n this.setState({ listTypes: response.value.data })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n }\r\n\r\n render() {\r\n const { filterDto = {}, disabled } = this.props\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n this.setFilterValue('type', value || 'All')}\r\n placeholder={t('all')}\r\n value={filterDto.type ?? 'All'}\r\n disabled={disabled}\r\n >\r\n \r\n {(this.state.listTypes ?? []).map((each) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default Form.create()(Filter)\r\n","import { connect } from 'react-redux'\r\nimport actions from 'actions/lists'\r\nimport Component from 'components/Lists/Select/Filter'\r\n\r\nexport default connect(null, { getListTypes: actions.getListTypes })(Component)\r\n","import { camelCase } from 'lodash'\r\nimport { createListModalComponent } from 'factories/ListModal'\r\nimport Filter from 'containers/Lists/Select/Filter'\r\n\r\nexport default createListModalComponent({\r\n getStorageKey: (self) => `selectList.${camelCase(self.props.filterProps?.entityType)}`,\r\n transformGetItemsParams: (self) => ({ entityType: self.props.filterProps?.entityType }),\r\n})(Filter)\r\n","import { createListModalContainer } from 'factories/ListModal'\r\nimport actions from 'actions/lists'\r\nimport Component from 'components/Lists/Select'\r\n\r\nexport default createListModalContainer({ actions })(Component)\r\n","import * as React from 'react'\r\nimport styled from 'styled-components'\r\nimport { useImmer } from 'use-immer'\r\nimport { Button, Tooltip, Spin, Empty } from 'antd'\r\nimport { isEmpty, isNil, uniqBy, orderBy, set } from 'lodash'\r\nimport { t } from 'helpers/i18n'\r\nimport { showError, showClientNotifications } from 'helpers/errors'\r\nimport linkTargets from 'options/linkTargets'\r\nimport { Emitter } from 'helpers/events'\r\nimport { LIST_MODAL_CLEAR_SELECTION } from 'options/events'\r\nimport Select, { Option } from 'elements/Select'\r\nimport Icon from 'elements/Icon'\r\nimport ListItems from 'containers/Lists/ChildListView/Items'\r\nimport Drawer from 'elements/Drawer'\r\nimport Modal from 'elements/Modal'\r\nimport SelectList from 'containers/Lists/Select'\r\nimport { Row, Col } from 'elements/Grid'\r\n\r\nconst FormView = linkTargets.listRecord.formComponent\r\n\r\nconst Container = styled(Row)`\r\n .ant-select {\r\n min-width: 200px;\r\n }\r\n\r\n .ant-select-sm {\r\n .ant-select-selection--single {\r\n height: 26px;\r\n line-height: 24px;\r\n }\r\n }\r\n\r\n .ant-col {\r\n margin-bottom: 12px;\r\n\r\n .ant-btn {\r\n padding: 5px;\r\n line-height: 5px;\r\n height: 26px;\r\n }\r\n }\r\n`\r\n\r\nfunction Component(props) {\r\n const { entityType, entityId, getItems, createItems, deleteItems, ...rest } = props\r\n\r\n const [state, updateState] = useImmer({})\r\n\r\n function setState(path, value) {\r\n updateState((draft) => {\r\n set(draft, path, value)\r\n })\r\n }\r\n\r\n const entityListTypes = uniqBy(\r\n (state?.items ?? []).map((each) => ({\r\n type: each.listType,\r\n typeName: each.listTypeDescription,\r\n })),\r\n 'type'\r\n )\r\n\r\n const filteredItems = (state?.items ?? []).filter((each) => each.listType === state.selectedListType)\r\n const selectedItem = (state?.items ?? []).find((one) => one.entityListId === state.selectedEntityListId)\r\n\r\n async function fetchItems() {\r\n let items = []\r\n\r\n try {\r\n setState('loading', true)\r\n\r\n const response = await getItems({ entityType, entityId })\r\n\r\n items = orderBy(response.value.data.items, ['listType', 'listName'], ['desc', 'asc'])\r\n\r\n setState('items', items)\r\n\r\n if (isEmpty(items)) {\r\n updateState((draft) => {\r\n draft.selectedListType = null\r\n draft.selectedEntityListId = null\r\n })\r\n } else {\r\n updateState((draft) => {\r\n draft.selectedListType = items[0].listType\r\n draft.selectedEntityListId = items[0].entityListId\r\n })\r\n }\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n setState('loading', false)\r\n }\r\n\r\n return items\r\n }\r\n\r\n function handleDeleteClick() {\r\n Modal.confirm({\r\n autoFocusButton: 'ok',\r\n title: t('confirmRemoveListAssociation'),\r\n okType: 'danger',\r\n okText: t('remove'),\r\n cancelText: t('cancel'),\r\n onOk: async () => {\r\n try {\r\n const response = await deleteItems([state.selectedEntityListId])\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.failureCount > 0) {\r\n throw new Error()\r\n }\r\n\r\n const updatedItems = await fetchItems()\r\n const nextItem =\r\n updatedItems.find((one) => one.listType === state.selectedListType) || updatedItems[0]\r\n\r\n updateState((draft) => {\r\n draft.selectedEntityListId = nextItem?.entityListId ?? null\r\n draft.selectedListType = nextItem?.listType ?? null\r\n })\r\n } catch (error) {\r\n showError({ error })\r\n }\r\n },\r\n })\r\n }\r\n\r\n async function handleAddListClick() {\r\n const creating = (state?.addListRecords ?? []).map((each) => ({\r\n entityType,\r\n entityId,\r\n listId: each.id,\r\n listType: each.type,\r\n }))\r\n\r\n try {\r\n setState('addListLoading', false)\r\n\r\n const response = await createItems(creating)\r\n\r\n showClientNotifications({ response })\r\n\r\n if (response.value.data.items[0]) {\r\n await fetchItems()\r\n\r\n setState('addListVisible', false)\r\n\r\n Emitter.emit(LIST_MODAL_CLEAR_SELECTION)\r\n }\r\n } catch (error) {\r\n showError({ error })\r\n } finally {\r\n setState('addListLoading', false)\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n fetchItems()\r\n }, [entityType, entityId])\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n updateState((draft) => {\r\n draft.selectedListType = value\r\n draft.selectedEntityListId = (state?.items ?? []).find(\r\n (one) => one.listType === value\r\n )?.entityListId\r\n })\r\n }}\r\n size=\"small\"\r\n allowClear={false}\r\n allowSearch={false}\r\n disabled={isEmpty(entityListTypes)}\r\n >\r\n {entityListTypes.map((each) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n setState('selectedEntityListId', value)}\r\n size=\"small\"\r\n allowClear={false}\r\n allowSearch={false}\r\n disabled={isEmpty(filteredItems)}\r\n >\r\n {filteredItems.map((each) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n updateState((draft) => {\r\n draft.editDrawerVisible = true\r\n draft.editDrawerSaving = false\r\n })\r\n }\r\n disabled={isNil(state.selectedEntityListId)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n updateState((draft) => {\r\n draft.addListVisible = true\r\n draft.addListRecords = null\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {state.loading ? (\r\n \r\n ) : !isNil(selectedItem?.listId) ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n setState('editDrawerVisible', false)}\r\n saving={state.editDrawerSaving}\r\n >\r\n {\r\n setState('editDrawerSaving', pending)\r\n\r\n if (!pending) {\r\n await fetchItems()\r\n }\r\n }}\r\n onSaveAndClose={() => setState('editDrawerVisible', false)}\r\n onCancel={() => setState('editDrawerVisible', false)}\r\n />\r\n \r\n setState('addListVisible', false)}\r\n footer={\r\n <>\r\n \r\n \r\n {t('addList')}\r\n \r\n \r\n }\r\n width={992}\r\n >\r\n setState('addListRecords', values)}\r\n mode=\"multiple\"\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Component\r\n","import { connect } from 'react-redux'\r\nimport actions from 'actions/entityLists'\r\nimport Component from 'components/Lists/ChildListView'\r\n\r\nconst mapDispatchToProps = {\r\n getItems: actions.getItems,\r\n createItems: actions.createItem,\r\n deleteItems: actions.deleteItems,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(Component)\r\n","import { createChildListViewComponent } from 'factories/ChildListView'\r\nimport entityNames from 'options/entityNames'\r\nimport { formatValue } from 'helpers/listViews'\r\nimport { isValidDate, tryParseDate } from 'helpers/dateTime'\r\nimport { t } from 'helpers/i18n'\r\nimport FormView from 'containers/Assets/Warranties/FormView'\r\n\r\nexport default createChildListViewComponent({\r\n entityName: entityNames.assets,\r\n childName: 'assetWarranties',\r\n createButtonTextId: 'addWarranty',\r\n createButtonLinkTarget: {\r\n formSize: 'xs',\r\n formComponent: FormView,\r\n },\r\n primaryLinkTarget: 'assetWarrantyRecord',\r\n tableSummary: (self) => {\r\n const { items = [] } = self.props\r\n const expired = items.filter(\r\n (each) => isValidDate(each.expiryDate) && tryParseDate(each.expiryDate).getTime() < Date.now()\r\n )\r\n\r\n return `${expired.length} ${t('of')} ${items.length} ${t('expired')}`\r\n },\r\n tableCellComponents: {\r\n expiryDate: (self, item) => {\r\n const text = formatValue({\r\n value: item.expiryDate,\r\n displayFormat: self.state.fieldSettings.find((one) => one.dtoFieldName === 'expiryDate')\r\n .displayFormat,\r\n })\r\n return isValidDate(item.expiryDate) && tryParseDate(item.expiryDate).getTime() < Date.now() ? (\r\n
\r\n {text}\r\n
\r\n ) : (\r\n text\r\n )\r\n },\r\n },\r\n})()\r\n","import { createChildListViewContainer } from 'factories/ChildListView'\r\nimport actions from 'actions/assets/assetWarranties'\r\nimport Component from 'components/Assets/Warranties'\r\n\r\nexport default createChildListViewContainer({ actions })(Component)\r\n"],"sourceRoot":""}