@feedmepos/mf-inventory-portal 1.7.13-dev.4 → 1.7.13-dev.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{App-Cfp4CqzQ.js → App-JqoqVVdP.js} +354 -348
- package/dist/{ApprovalView-DO91AQ5f.js → ApprovalView-JiWbXkVU.js} +9 -9
- package/dist/{BindingsDialog-DUj0z6N7.js → BindingsDialog-BK4xofWu.js} +2 -2
- package/dist/{BindingsPicker-CD2J6-_Z.js → BindingsPicker-CLMsAseG.js} +2 -2
- package/dist/{BindingsTable-B2FEKZXU.js → BindingsTable-DKrBQTxN.js} +4 -4
- package/dist/{BulkReceiveRequestView-ejHyukEp.js → BulkReceiveRequestView-bttHw2ub.js} +19 -19
- package/dist/{ClosingDraftView-tIvrsfYH.js → ClosingDraftView-Bhdwo-n8.js} +19 -19
- package/dist/ClosingHistoryView-DrQPWnr6.js +761 -0
- package/dist/{ClosingTemplateView-C-hL9uPv.js → ClosingTemplateView-UkwXCrz_.js} +16 -16
- package/dist/{CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-BffF8S_q.js → CustomPrintTemplatePreview.vue_vue_type_script_setup_true_lang-DNtMdFVF.js} +1 -1
- package/dist/{DefaultView-BLbtx0Ho.js → DefaultView-sGrYeUGh.js} +2 -2
- package/dist/{DeliveryOrderPrintPreview-BLQHL7aB.js → DeliveryOrderPrintPreview-CVnqC9Jy.js} +10 -10
- package/dist/{EmailDialog.vue_vue_type_script_setup_true_lang-BnTAuutB.js → EmailDialog.vue_vue_type_script_setup_true_lang-CYtHQ2Ru.js} +2250 -2250
- package/dist/{FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-Mxhn0b6c.js → FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DXTdvT0C.js} +1 -1
- package/dist/{FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-hrk0cTBX.js → FmFilterableMenuOptions.vue_vue_type_script_setup_true_lang-DtfiRgsD.js} +2 -2
- package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-yBIbCJYy.js +243 -0
- package/dist/{FmMultiselectDialog-Bpi5rI0h.js → FmMultiselectDialog-A9VIMLGn.js} +1 -1
- package/dist/{FmMultiselectDialog-Bi6XlAAU.js → FmMultiselectDialog-DL00XnUc.js} +2 -2
- package/dist/{FmUnitInput.vue_vue_type_script_setup_true_lang-e55tnl4u.js → FmUnitInput.vue_vue_type_script_setup_true_lang-RJKOB-cm.js} +66 -63
- package/dist/{ImportView-xPTzBekx.js → ImportView-DPrLnJO8.js} +6 -6
- package/dist/{IngredientBindedItem.vue_vue_type_script_setup_true_lang-tvmS42s_.js → IngredientBindedItem.vue_vue_type_script_setup_true_lang-IAQyFPmi.js} +1 -1
- package/dist/{IngredientGroupView-RFcqjF8T.js → IngredientGroupView-DyhC6lJ8.js} +5 -5
- package/dist/{IngredientsView-CvWOgquN.js → IngredientsView-P4AqPikD.js} +15 -15
- package/dist/{IntegrationExplorerView-CYNhsJSS.js → IntegrationExplorerView-CujhjHHV.js} +4 -4
- package/dist/{IntegrationView-ZtLokbu3.js → IntegrationView-CFqsZyzI.js} +3074 -2999
- package/dist/{InventoryBindingForm-DwiAIf5v.js → InventoryBindingForm-B0NJ8H51.js} +1 -1
- package/dist/{InventoryBindingForm.vue_vue_type_script_setup_true_lang-njDaQe10.js → InventoryBindingForm.vue_vue_type_script_setup_true_lang-bbIpFo_4.js} +5 -5
- package/dist/{InventoryBindingSummary-zim_Bp5_.js → InventoryBindingSummary-CBgO_tCz.js} +1 -1
- package/dist/{NumberPrecisionInput.vue_vue_type_script_setup_true_lang-CfTgt5xW.js → NumberPrecisionInput.vue_vue_type_script_setup_true_lang-DuuXzyKH.js} +1 -1
- package/dist/{PremiumBadge.vue_vue_type_script_setup_true_lang-LLtd1VvM.js → PremiumBadge.vue_vue_type_script_setup_true_lang-C418f34P.js} +1 -1
- package/dist/ProductionRunDetailView-tSByC3nQ.js +5165 -0
- package/dist/ProductionRunPreparePrintView-zPAATL-n.js +31 -0
- package/dist/ProductionRunTabs.vue_vue_type_script_setup_true_lang-DgtZJgrs.js +3506 -0
- package/dist/ProductionRunView-BsP02jgC.js +815 -0
- package/dist/{PublishView-DFXOi7Hx.js → PublishView-Cf0Tn7xt.js} +3 -3
- package/dist/{PurchaseOrderPrintPreview-CG6kBQ26.js → PurchaseOrderPrintPreview-BTlSyQqZ.js} +6 -6
- package/dist/{ReceiveRequestView-DKMVMo7M.js → ReceiveRequestView-9LFOl2hJ.js} +14 -14
- package/dist/{RecipeView-cLLKlLmE.js → RecipeView-C4KxMCpQ.js} +17 -17
- package/dist/{SettingsView-Cmf2ZOUL.js → SettingsView-ShrefnTM.js} +4 -4
- package/dist/{StockView-DTai8l8U.js → StockView-BVd6f7Fr.js} +21 -21
- package/dist/{SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-BlKm7GLw.js → SubsidiaryTreeDialog.vue_vue_type_script_setup_true_lang-B-rB7p9o.js} +1 -1
- package/dist/{SupplierView-CRAHOOLm.js → SupplierView-DZSY6_eU.js} +12 -12
- package/dist/{SurchargeView-3XymEvcr.js → SurchargeView-UUYoT8MK.js} +6 -6
- package/dist/{SystemTrailDialog.vue_vue_type_script_setup_true_lang-DcXfQr_8.js → SystemTrailDialog.vue_vue_type_script_setup_true_lang-BLMxzi1C.js} +2 -2
- package/dist/{TemplatePublishDialog.vue_vue_type_script_setup_true_lang-qhJVHahS.js → TemplatePublishDialog.vue_vue_type_script_setup_true_lang-z3qIVKP7.js} +1 -1
- package/dist/{TransferDetails.vue_vue_type_script_setup_true_lang-CibsrZXw.js → TransferDetails.vue_vue_type_script_setup_true_lang-DEO8CP-X.js} +20 -20
- package/dist/{TransferTemplateView-ByhvK4Ua.js → TransferTemplateView-C21o2V_1.js} +20 -20
- package/dist/{UnitCostHistoryView-DHHWNJYA.js → UnitCostHistoryView-DPEGVLBP.js} +4 -4
- package/dist/{UnitDisplayControl.vue_vue_type_script_setup_true_lang-bQu2KOI7.js → UnitDisplayControl.vue_vue_type_script_setup_true_lang-BuGmmHBk.js} +4 -4
- package/dist/{UnitView-BZTS-Ahu.js → UnitView-Bx03E4uc.js} +7 -7
- package/dist/{WarehouseView-DVak1RPs.js → WarehouseView-BehHQ9Ao.js} +6 -6
- package/dist/{WastageTemplateView-CUDL3HUD.js → WastageTemplateView-gmr7doXL.js} +14 -14
- package/dist/api/netsuite.d.ts +13 -0
- package/dist/api/production-run-error.d.ts +36 -0
- package/dist/api/production-run-error.spec.d.ts +1 -0
- package/dist/api/production-run.d.ts +58 -0
- package/dist/api/stock.d.ts +0 -6
- package/dist/{app-BUQUpe4c.js → app-BT7hD4az.js} +16491 -12629
- package/dist/app.d.ts +2958 -14
- package/dist/app.js +1 -1
- package/dist/{closing-template-DzxDiEQB.js → closing-template-BNfr1RIX.js} +1 -1
- package/dist/components/FmInventoryBanner.vue.d.ts +39 -0
- package/dist/components/FmUnitInput.spec.d.ts +1 -0
- package/dist/components/FmUnitInputProps.d.ts +2 -0
- package/dist/composable/useModalA11y.d.ts +9 -0
- package/dist/composable/useModalA11y.spec.d.ts +1 -0
- package/dist/{date2-6jkfRNS_.js → date2-CAh7rsAp.js} +1 -1
- package/dist/{dayjs.min-ByRnXzrl.js → dayjs.min-BJk-edO7.js} +7 -7
- package/dist/{decimal-CqWBdj8E.js → decimal-DYlKNkVX.js} +2 -2
- package/dist/{defineDeepModel-CaT-4fiq.js → defineDeepModel-BPHl7mTD.js} +1 -1
- package/dist/{duplicate-template-Cyvx-WK7.js → duplicate-template-BWUUIdzG.js} +1 -1
- package/dist/{feature-FjXz4WXw.js → feature-CSvVyBN2.js} +2 -2
- package/dist/{format-time-from-id-cSri3OoO.js → format-time-from-id-Dh3lxXpc.js} +1 -1
- package/dist/{format-unit-display-DPbcT7Ff.js → format-unit-display-B1ft2wxm.js} +12 -12
- package/dist/{import-export.helper-_yqcePYs.js → import-export.helper-txDvkMf0.js} +6 -6
- package/dist/{index-CyJVMHQW.js → index-AmTodx3_.js} +1 -1
- package/dist/{index-CGvNoBid.js → index-B4wQijn6.js} +1 -1
- package/dist/{index-nSL5yxNn.js → index-TIX5DyQk.js} +3 -3
- package/dist/inventory-core-dart.default-BpMxAF-0.js +31060 -0
- package/dist/{lz-string-iyER1Klb.js → lz-string-CFDYH-K6.js} +1 -1
- package/dist/{netsuite-BD8LVxaA.js → netsuite-CdW9v92G.js} +477 -462
- package/dist/{number-C7CJ9ZfE.js → number-DRRlTYv7.js} +6 -6
- package/dist/{predefined-templates-o-_pKVSM.js → predefined-templates-C68U85pc.js} +1 -1
- package/dist/production-run-display-DmyfdjHR.js +239 -0
- package/dist/production-run-prepare-sheet-BvxMd19E.js +189 -0
- package/dist/{purchase-order-template-BHS8T1VA.js → purchase-order-template-BvED3CpO.js} +1 -1
- package/dist/{recalculationUtils-BCByr_CU.js → recalculationUtils-9rFepwwr.js} +1 -1
- package/dist/router/name.d.ts +2 -0
- package/dist/{rules-wZo-8FZ0.js → rules-C8RmopTe.js} +2 -2
- package/dist/{stock-DwqEvWM5.js → stock-BKkluaaM.js} +26 -36
- package/dist/{stock-CnAjxV7P.js → stock-CiCsT5JK.js} +3 -3
- package/dist/stores/integration/codemax.d.ts +1 -1
- package/dist/stores/integration/netsuite.d.ts +54 -0
- package/dist/style.css +1 -1
- package/dist/{supplier-DkqNwQmi.js → supplier--zZMQHPc.js} +2 -2
- package/dist/{surcharge-Csj1WYbH.js → surcharge-BLF3XV0G.js} +1 -1
- package/dist/tsconfig.app.tsbuildinfo +1 -1
- package/dist/{uom-rules-BI1CdWeS.js → uom-rules-CjCCXiGL.js} +1 -1
- package/dist/{use-ingredient-select-dialog-5AqoZJDA.js → use-ingredient-select-dialog-DnUiY-Ic.js} +2 -2
- package/dist/{use-inventory-binding-dialog-ChiyhiuP.js → use-inventory-binding-dialog-BAU-P8kV.js} +2 -2
- package/dist/{use-template-enabled-locations-BqXxegct.js → use-template-enabled-locations-DZMzYCi-.js} +2 -2
- package/dist/{use-transfer-locations-Ckj_diGt.js → use-transfer-locations-DomGLsT2.js} +2 -2
- package/dist/{useHrmPermission-USG_KRoq.js → useHrmPermission-CrhsV_5z.js} +1 -1
- package/dist/{useNavigationMenu-BhYf87KI.js → useNavigationMenu-1h-G_-el.js} +2 -2
- package/dist/{useSseClient-BqoE-ir6.js → useSseClient-o_3wiqhX.js} +1 -1
- package/dist/views/changelog/composables/use-inventory-record-commits.d.ts +1 -1
- package/dist/views/closing-draft/helpers/draft-status-to-class-name.helper.d.ts +1 -1
- package/dist/views/integration/components/ApplyProductDialogCodemax.vue.d.ts +2 -2
- package/dist/views/integration/components/CodemaxDialog.vue.d.ts +2 -2
- package/dist/views/integration/components/netsuite/business/vendor-publish.d.ts +7 -0
- package/dist/views/integration/components/netsuite/business/vendor-publish.spec.d.ts +1 -0
- package/dist/views/production-run/ProductionRunDetailView.spec.d.ts +1 -0
- package/dist/views/production-run/ProductionRunDetailView.vue.d.ts +15 -0
- package/dist/views/production-run/ProductionRunPreparePrintView.spec.d.ts +1 -0
- package/dist/views/production-run/ProductionRunPreparePrintView.vue.d.ts +2 -0
- package/dist/views/production-run/ProductionRunView.spec.d.ts +1 -0
- package/dist/views/production-run/ProductionRunView.vue.d.ts +2 -0
- package/dist/views/production-run/components/CancelRunDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/CancelRunDialog.vue.d.ts +918 -0
- package/dist/views/production-run/components/CancelRunDialogProps.d.ts +9 -0
- package/dist/views/production-run/components/CloseRunDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/CloseRunDialog.vue.d.ts +918 -0
- package/dist/views/production-run/components/CloseRunDialogProps.d.ts +29 -0
- package/dist/views/production-run/components/PrepareRunConfirmationDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/PrepareRunConfirmationDialog.vue.d.ts +29 -0
- package/dist/views/production-run/components/PrepareRunDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/PrepareRunDialog.vue.d.ts +18 -0
- package/dist/views/production-run/components/PrepareRunDialogProps.d.ts +29 -0
- package/dist/views/production-run/components/PrepareSheetDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/PrepareSheetDialog.vue.d.ts +26 -0
- package/dist/views/{stock/components/dialog/SnapshotRecalculationDialog.vue.d.ts → production-run/components/ProductionRunActionMenuItem.vue.d.ts} +7 -10
- package/dist/views/production-run/components/ProductionRunActionsCell.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunActionsCell.vue.d.ts +20 -0
- package/dist/views/production-run/components/ProductionRunActivityTab.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunActivityTab.vue.d.ts +15 -0
- package/dist/views/production-run/components/ProductionRunBanner.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunBanner.vue.d.ts +42 -0
- package/dist/views/production-run/components/ProductionRunBatchCard.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunBatchCard.vue.d.ts +69 -0
- package/dist/views/production-run/components/ProductionRunBatchWastageDetails.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunBatchWastageDetails.vue.d.ts +33 -0
- package/dist/views/production-run/components/ProductionRunBindingsDisclosure.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunBindingsDisclosure.vue.d.ts +25 -0
- package/dist/views/production-run/components/ProductionRunBindingsList.vue.d.ts +51 -0
- package/dist/views/production-run/components/ProductionRunCompactDisclosure.vue.d.ts +25 -0
- package/dist/views/production-run/components/ProductionRunContributorBranch.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunContributorBranch.vue.d.ts +25 -0
- package/dist/views/production-run/components/ProductionRunCostRail.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunCostRail.vue.d.ts +77 -0
- package/dist/views/production-run/components/ProductionRunDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunDialog.vue.d.ts +24 -0
- package/dist/views/production-run/components/ProductionRunDialogProps.d.ts +15 -0
- package/dist/views/production-run/components/ProductionRunDialogSurface.vue.d.ts +33 -0
- package/dist/views/production-run/components/ProductionRunDiscardDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunDiscardDialog.vue.d.ts +21 -0
- package/dist/views/production-run/components/ProductionRunDuplicateDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunDuplicateDialog.vue.d.ts +51 -0
- package/dist/views/production-run/components/ProductionRunFormDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunFormDialog.vue.d.ts +918 -0
- package/dist/views/production-run/components/ProductionRunFormDialogProps.d.ts +22 -0
- package/dist/views/production-run/components/ProductionRunHeader.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunHeader.vue.d.ts +65 -0
- package/dist/views/production-run/components/ProductionRunHelpPopover.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunHelpPopover.vue.d.ts +52 -0
- package/dist/views/production-run/components/ProductionRunIngredientTree.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunIngredientTree.vue.d.ts +42 -0
- package/dist/views/production-run/components/ProductionRunIngredientsTab.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunIngredientsTab.vue.d.ts +63 -0
- package/dist/views/production-run/components/ProductionRunInstructionsCard.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunInstructionsCard.vue.d.ts +15 -0
- package/dist/views/production-run/components/ProductionRunItemPickerDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunItemPickerDialog.vue.d.ts +30 -0
- package/dist/views/production-run/components/ProductionRunItemsCell.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunItemsCell.vue.d.ts +33 -0
- package/dist/views/production-run/components/ProductionRunItemsTable.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunItemsTable.vue.d.ts +73 -0
- package/dist/views/production-run/components/ProductionRunLoadBannerContract.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunNoBindingsHelp.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunNoBindingsHelp.vue.d.ts +15 -0
- package/dist/views/production-run/components/ProductionRunOutputTab.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunOutputTab.vue.d.ts +26 -0
- package/dist/views/production-run/components/ProductionRunOverviewTab.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunOverviewTab.vue.d.ts +999 -0
- package/dist/views/production-run/components/ProductionRunPlanCard.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunPlanCard.vue.d.ts +50 -0
- package/dist/views/production-run/components/ProductionRunPlanner.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunPlanner.vue.d.ts +61 -0
- package/dist/views/production-run/components/ProductionRunPrepareSheet.vue.d.ts +16 -0
- package/dist/views/production-run/components/ProductionRunProjectionFeedback.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunProjectionFeedback.vue.d.ts +41 -0
- package/dist/views/production-run/components/ProductionRunRecordOutputDetails.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunRecordOutputDetails.vue.d.ts +43 -0
- package/dist/views/production-run/components/ProductionRunRecordOutputWastageStatus.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunRecordOutputWastageStatus.vue.d.ts +31 -0
- package/dist/views/production-run/components/ProductionRunRequestedOverview.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunRequestedOverview.vue.d.ts +48 -0
- package/dist/views/production-run/components/ProductionRunResultTable.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunResultTable.vue.d.ts +31 -0
- package/dist/views/production-run/components/ProductionRunScrollHint.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunScrollHint.vue.d.ts +31 -0
- package/dist/views/production-run/components/ProductionRunSelectionCheckbox.vue.d.ts +31 -0
- package/dist/views/production-run/components/ProductionRunSelectionControls.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunSelectionRadio.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunSelectionRadio.vue.d.ts +37 -0
- package/dist/views/production-run/components/ProductionRunSideSheet.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunSideSheet.vue.d.ts +77 -0
- package/dist/views/production-run/components/ProductionRunSideSheetSurface.vue.d.ts +52 -0
- package/dist/views/production-run/components/ProductionRunSortHeader.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunSortHeader.vue.d.ts +25 -0
- package/dist/views/production-run/components/ProductionRunStatusBadge.vue.d.ts +15 -0
- package/dist/views/production-run/components/ProductionRunTabs.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunTabs.vue.d.ts +47 -0
- package/dist/views/production-run/components/ProductionRunTerminalNotice.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunTerminalNotice.vue.d.ts +15 -0
- package/dist/views/production-run/components/ProductionRunTextarea.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunTextarea.vue.d.ts +53 -0
- package/dist/views/production-run/components/ProductionRunUnitInput.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunUnitInput.vue.d.ts +34 -0
- package/dist/views/production-run/components/ProductionRunWastageDisclosure.spec.d.ts +1 -0
- package/dist/views/production-run/components/ProductionRunWastageDisclosure.vue.d.ts +23 -0
- package/dist/views/production-run/components/RecordOutputDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/RecordOutputDialog.vue.d.ts +20 -0
- package/dist/views/production-run/components/RecordOutputDialogProps.d.ts +28 -0
- package/dist/views/production-run/components/TargetReachedDialog.spec.d.ts +1 -0
- package/dist/views/production-run/components/TargetReachedDialog.vue.d.ts +927 -0
- package/dist/views/production-run/components/production-run-deduction-parity.spec.d.ts +1 -0
- package/dist/views/production-run/components/production-run-prepare-sheet.d.ts +17 -0
- package/dist/views/production-run/components/production-run-typography-contract.spec.d.ts +1 -0
- package/dist/views/production-run/components/production-run-unit-snapshot.d.ts +39 -0
- package/dist/views/production-run/composables/production-run-display.d.ts +272 -0
- package/dist/views/production-run/composables/production-run-display.spec.d.ts +1 -0
- package/dist/views/production-run/composables/production-run-list.d.ts +46 -0
- package/dist/views/production-run/composables/production-run-list.spec.d.ts +1 -0
- package/dist/views/production-run/composables/production-run-request-confirmation.d.ts +20 -0
- package/dist/views/production-run/composables/use-production-run-actions.d.ts +37 -0
- package/dist/views/production-run/composables/use-production-run-actions.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-cost.d.ts +672 -0
- package/dist/views/production-run/composables/use-production-run-cost.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-detail.d.ts +1894 -0
- package/dist/views/production-run/composables/use-production-run-detail.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-disclosure.d.ts +15 -0
- package/dist/views/production-run/composables/use-production-run-disclosure.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-duplicate-sources.d.ts +19 -0
- package/dist/views/production-run/composables/use-production-run-duplicate-sources.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-economics.d.ts +92 -0
- package/dist/views/production-run/composables/use-production-run-economics.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-form.d.ts +277 -0
- package/dist/views/production-run/composables/use-production-run-form.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-record-output.d.ts +261 -0
- package/dist/views/production-run/composables/use-production-run-record-output.spec.d.ts +1 -0
- package/dist/views/production-run/composables/use-production-run-scroll-hint.d.ts +9 -0
- package/dist/views/production-run/composables/use-production-run-table.d.ts +19 -0
- package/dist/views/production-run/composables/use-production-run-table.spec.d.ts +1 -0
- package/dist/views/production-run/helpers/production-run-precision.helper.d.ts +31 -0
- package/dist/views/production-run/helpers/production-run-quantity.helper.d.ts +55 -0
- package/dist/views/production-run/helpers/production-run-quantity.helper.spec.d.ts +1 -0
- package/dist/views/production-run/production-run.fixture.d.ts +70 -0
- package/dist/views/production-run/production-run.fixture.spec.d.ts +1 -0
- package/dist/views/receive-request/composables/use-receive-request-form.d.ts +3 -3
- package/dist/views/receive-request-bulk/composables/use-bulk-receive-request-form.d.ts +3 -3
- package/dist/views/stock/components/dialog/RecalculationDialog.vue.d.ts +2 -17
- package/dist/{vue-i18n-DoKioQ81.js → vue-i18n-hE8n67Ig.js} +202 -202
- package/dist/{xlsx.util-BXjE2o-3.js → xlsx.util-Jv7EpwFc.js} +2 -2
- package/package.json +4 -4
- package/dist/ChangeLocationComponent.vue_vue_type_script_setup_true_lang-ashHOuZt.js +0 -130
- package/dist/ClosingHistoryView-BYVZ01Ma.js +0 -1112
- package/dist/FmInventoryTableToolbar.vue_vue_type_script_setup_true_lang-hTQmIyaf.js +0 -120
- package/dist/ProductionView-BWn7RBEg.js +0 -1441
- package/dist/inventory-core-dart.default-DSYRPQNZ.js +0 -25155
- package/dist/views/stock/components/StockRecalculateDialog.vue.d.ts +0 -9
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { ref as S, onUnmounted as
|
|
2
|
-
import { _ as
|
|
3
|
-
import { u as je, a as
|
|
1
|
+
import { ref as S, onUnmounted as dt, computed as R, defineComponent as ce, watch as q, onMounted as Ee, resolveComponent as H, createElementBlock as c, openBlock as i, createBlock as pe, createCommentVNode as F, unref as $, createVNode as D, createElementVNode as g, toDisplayString as _, Fragment as z, renderList as ne, withKeys as Me, normalizeClass as se, withModifiers as ft, withCtx as te, createTextVNode as re, h as mt, onBeforeUnmount as pt, nextTick as vt, Teleport as gt, normalizeStyle as yt, withDirectives as ht, vModelText as _t } from "vue";
|
|
2
|
+
import { _ as xt } from "./empty-placeholder-B0QU467o.js";
|
|
3
|
+
import { u as je, a as He, R as ue, d as bt, S as wt, b as kt } from "./app-BT7hD4az.js";
|
|
4
4
|
import { useCoreStore as ge, useI18n as he } from "@feedmepos/mf-common";
|
|
5
|
-
import { useRouter as
|
|
6
|
-
import { u as
|
|
7
|
-
import { u as Rt } from "./netsuite-
|
|
8
|
-
import { u as
|
|
9
|
-
import { useBreakpoints as
|
|
5
|
+
import { useRouter as Fe, useRoute as St } from "vue-router";
|
|
6
|
+
import { u as $t, a as Lt, I as Ct } from "./feature-CSvVyBN2.js";
|
|
7
|
+
import { u as Rt } from "./netsuite-CdW9v92G.js";
|
|
8
|
+
import { u as Je } from "./useNavigationMenu-1h-G_-el.js";
|
|
9
|
+
import { useBreakpoints as Dt } from "@feedmepos/ui-library";
|
|
10
10
|
import { F as Pe } from "./FmAdminBadge-DlplQOHb.js";
|
|
11
|
-
import { i as
|
|
12
|
-
import { F as Ft } from "./decimal-
|
|
13
|
-
import { t as
|
|
11
|
+
import { i as It, _ as Et } from "./FmDateRangePickerChip.vue_vue_type_script_setup_true_lang-DXTdvT0C.js";
|
|
12
|
+
import { F as Ft } from "./decimal-DYlKNkVX.js";
|
|
13
|
+
import { t as Pt, a as Tt } from "./date2-CAh7rsAp.js";
|
|
14
14
|
import { _ as Nt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
15
|
-
import { u as
|
|
16
|
-
import { u as
|
|
17
|
-
function
|
|
15
|
+
import { u as Vt } from "./useTabStorage-BkIVScW_.js";
|
|
16
|
+
import { u as Bt } from "./googlemap-D9vA7GsS.js";
|
|
17
|
+
function Ut() {
|
|
18
18
|
return {
|
|
19
19
|
loadingHookInstalled: !1,
|
|
20
20
|
isLoading: !1
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
-
const me = S(
|
|
24
|
-
function
|
|
25
|
-
const o =
|
|
23
|
+
const me = S(Ut());
|
|
24
|
+
function At() {
|
|
25
|
+
const o = Fe();
|
|
26
26
|
if (!me.value.loadingHookInstalled) {
|
|
27
27
|
me.value.loadingHookInstalled = !0;
|
|
28
28
|
const e = o.beforeEach(() => {
|
|
@@ -30,7 +30,7 @@ function Ut() {
|
|
|
30
30
|
}), t = o.afterEach(() => {
|
|
31
31
|
me.value.isLoading = !1;
|
|
32
32
|
});
|
|
33
|
-
|
|
33
|
+
dt(() => {
|
|
34
34
|
me.value.loadingHookInstalled = !1, e(), t();
|
|
35
35
|
});
|
|
36
36
|
}
|
|
@@ -40,29 +40,29 @@ function Ut() {
|
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
function
|
|
44
|
-
const { firstAccessibleRouteName: o } =
|
|
45
|
-
return { hasAnyAccessibleInventoryRoute:
|
|
43
|
+
function Mt() {
|
|
44
|
+
const { firstAccessibleRouteName: o } = Je();
|
|
45
|
+
return { hasAnyAccessibleInventoryRoute: R(() => o.value !== null) };
|
|
46
46
|
}
|
|
47
|
-
const
|
|
47
|
+
const Ot = {
|
|
48
48
|
key: 0,
|
|
49
49
|
class: "flex flex-col items-center w-full h-full gap-24"
|
|
50
|
-
},
|
|
50
|
+
}, zt = {
|
|
51
51
|
key: 1,
|
|
52
52
|
class: "flex flex-col pt-[200px] gap-32 items-center"
|
|
53
|
-
},
|
|
53
|
+
}, Gt = { class: "flex flex-col gap-12 items-center text-center px-24 max-w-[600px]" }, Kt = { class: "fm-typo-en-title-lg-600" }, jt = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, Ht = {
|
|
54
54
|
key: 2,
|
|
55
55
|
class: "flex flex-col pt-[200px] gap-32 items-center"
|
|
56
|
-
},
|
|
56
|
+
}, Jt = { class: "flex flex-col gap-12 items-center text-center px-24 max-w-[1000px]" }, Yt = { class: "fm-typo-en-title-lg-600" }, Xt = { class: "text-fm-color-typo-secondary fm-typo-en-body-md-400" }, Wt = { class: "flex gap-16" }, qt = { href: "https://feedme.ai/product/inventory/features?tab=plans_%26_prices" }, Zt = { href: "https://feedme.ai/form" }, Qt = /* @__PURE__ */ ce({
|
|
57
57
|
__name: "InventoryView",
|
|
58
58
|
setup(o) {
|
|
59
|
-
const e = je(), t =
|
|
59
|
+
const e = je(), t = He(), l = Rt(), s = ge(), a = Fe(), u = At(), r = $t(), { t: v } = he(), { hasAnyAccessibleInventoryRoute: m } = Mt();
|
|
60
60
|
q(
|
|
61
61
|
[() => s.sessionUser.value, () => s.currentBusiness.value],
|
|
62
62
|
([O, I]) => {
|
|
63
63
|
h(O, I);
|
|
64
64
|
}
|
|
65
|
-
),
|
|
65
|
+
), Ee(async () => {
|
|
66
66
|
await r.init(), await s.readBusinesses();
|
|
67
67
|
const O = s.sessionUser.value, I = s.currentBusiness.value;
|
|
68
68
|
h(O, I);
|
|
@@ -75,13 +75,13 @@ const Mt = {
|
|
|
75
75
|
console.error("[all] error on reading netsuite store", O);
|
|
76
76
|
}), await t.init();
|
|
77
77
|
}
|
|
78
|
-
const
|
|
78
|
+
const T = R(() => a.currentRoute.value.name === ue.TRANSFER_TEMPLATE ? r.enablePoTemplate : a.currentRoute.value.name === ue.INGREDIENT_GROUP ? r.enableIngredientGroup : !0), U = R(
|
|
79
79
|
() => a.currentRoute.value.matched.some((O) => {
|
|
80
|
-
var
|
|
80
|
+
var C;
|
|
81
81
|
const I = O.meta, Y = I == null ? void 0 : I.validationManifest;
|
|
82
|
-
return (((
|
|
82
|
+
return (((C = Y == null ? void 0 : Y.requiredCaslPermissions) == null ? void 0 : C.length) ?? 0) > 0;
|
|
83
83
|
})
|
|
84
|
-
), oe =
|
|
84
|
+
), oe = R(() => {
|
|
85
85
|
if (!s.sessionUser.value) return !1;
|
|
86
86
|
if (e._locations !== null && e.locations.length === 0) return !0;
|
|
87
87
|
if (!r.isLoaded) return !1;
|
|
@@ -89,39 +89,39 @@ const Mt = {
|
|
|
89
89
|
return !m.value && (Y || U.value);
|
|
90
90
|
});
|
|
91
91
|
return (O, I) => {
|
|
92
|
-
const Y = H("FmSpacer"),
|
|
92
|
+
const Y = H("FmSpacer"), C = H("FmCircularProgress"), N = H("FmButton"), G = H("RouterView");
|
|
93
93
|
return i(), c("div", null, [
|
|
94
|
-
$(u).isLoading ? (i(), c("div",
|
|
94
|
+
$(u).isLoading ? (i(), c("div", Ot, [
|
|
95
95
|
D(Y),
|
|
96
96
|
g("div", null, [
|
|
97
|
-
D(
|
|
97
|
+
D(C, { size: "xl" })
|
|
98
98
|
]),
|
|
99
99
|
I[0] || (I[0] = g("div", { class: "fm-typo-en-body-lg-400 text-fm-color-typo-secondary pl-8" }, "Loading page...", -1)),
|
|
100
100
|
D(Y)
|
|
101
|
-
])) : oe.value ? (i(), c("div",
|
|
101
|
+
])) : oe.value ? (i(), c("div", zt, [
|
|
102
102
|
I[1] || (I[1] = g("img", {
|
|
103
|
-
src:
|
|
103
|
+
src: xt,
|
|
104
104
|
alt: "No permission",
|
|
105
105
|
class: "w-[200px] h-[200px]"
|
|
106
106
|
}, null, -1)),
|
|
107
|
-
g("div",
|
|
108
|
-
g("div",
|
|
107
|
+
g("div", Gt, [
|
|
108
|
+
g("div", Kt, _($(v)("inventory.common.noPermission.title")), 1),
|
|
109
109
|
g("div", jt, _($(v)("inventory.common.noPermission.description")), 1)
|
|
110
110
|
])
|
|
111
|
-
])) :
|
|
112
|
-
g("div",
|
|
113
|
-
g("div",
|
|
114
|
-
g("div",
|
|
111
|
+
])) : T.value ? $(s).sessionUser.value ? (i(), pe(G, { key: 3 })) : F("", !0) : (i(), c("div", Ht, [
|
|
112
|
+
g("div", Jt, [
|
|
113
|
+
g("div", Yt, _($(v)("inventory.common.proPlan.title")), 1),
|
|
114
|
+
g("div", Xt, _($(v)("inventory.common.proPlan.subtitle")), 1)
|
|
115
115
|
]),
|
|
116
|
-
g("div",
|
|
117
|
-
g("a",
|
|
118
|
-
D(
|
|
116
|
+
g("div", Wt, [
|
|
117
|
+
g("a", qt, [
|
|
118
|
+
D(N, {
|
|
119
119
|
label: $(v)("inventory.common.proPlan.comparePlans"),
|
|
120
120
|
variant: "secondary"
|
|
121
121
|
}, null, 8, ["label"])
|
|
122
122
|
]),
|
|
123
|
-
g("a",
|
|
124
|
-
D(
|
|
123
|
+
g("a", Zt, [
|
|
124
|
+
D(N, {
|
|
125
125
|
label: $(v)("inventory.common.proPlan.callUs"),
|
|
126
126
|
"prepend-icon": "call"
|
|
127
127
|
}, null, 8, ["label"])
|
|
@@ -131,7 +131,7 @@ const Mt = {
|
|
|
131
131
|
]);
|
|
132
132
|
};
|
|
133
133
|
}
|
|
134
|
-
}),
|
|
134
|
+
}), Ce = {
|
|
135
135
|
// Template/PO item rows carry no id of their own — the embedded sku's _id is
|
|
136
136
|
// the element identity, and kit names the element from that object's name
|
|
137
137
|
// field, so an item change reads "Items › <sku name> › …" instead of a bare
|
|
@@ -193,8 +193,8 @@ const Mt = {
|
|
|
193
193
|
"version"
|
|
194
194
|
]
|
|
195
195
|
}
|
|
196
|
-
},
|
|
197
|
-
...
|
|
196
|
+
}, Re = {
|
|
197
|
+
...Ce,
|
|
198
198
|
array_keys: {
|
|
199
199
|
measurements: "id",
|
|
200
200
|
"unit.measurements": "id",
|
|
@@ -204,10 +204,10 @@ const Mt = {
|
|
|
204
204
|
"contains.alternatives": "_id"
|
|
205
205
|
}
|
|
206
206
|
};
|
|
207
|
-
function
|
|
208
|
-
return o instanceof
|
|
207
|
+
function en(o) {
|
|
208
|
+
return o instanceof wt && o.errorResponse.statusCode === 409;
|
|
209
209
|
}
|
|
210
|
-
const _e =
|
|
210
|
+
const _e = bt((o, e) => ({
|
|
211
211
|
/**
|
|
212
212
|
* Commits for one record. recordId is the changelog docId, `${dbName}/${id}`.
|
|
213
213
|
* The dbName scopes the (access-checked) backend route; only the bare id is
|
|
@@ -285,7 +285,7 @@ const _e = xt((o, e) => ({
|
|
|
285
285
|
return await e.get(s);
|
|
286
286
|
}
|
|
287
287
|
})), Se = 50;
|
|
288
|
-
function
|
|
288
|
+
function tn() {
|
|
289
289
|
const o = _e(), e = S([]), t = S(!1), l = S(!1);
|
|
290
290
|
let s = null, a = 0;
|
|
291
291
|
async function u(v, m, h) {
|
|
@@ -296,11 +296,11 @@ function en() {
|
|
|
296
296
|
}
|
|
297
297
|
t.value = !0;
|
|
298
298
|
try {
|
|
299
|
-
const
|
|
299
|
+
const T = m ?? Se, U = await o.getRecordChangelog(v, T, h);
|
|
300
300
|
if (w !== a) return;
|
|
301
|
-
e.value = U, m == null && (s = { recordId: v, explain: h }, l.value = U.length ===
|
|
302
|
-
} catch (
|
|
303
|
-
throw w === a && (e.value = []),
|
|
301
|
+
e.value = U, m == null && (s = { recordId: v, explain: h }, l.value = U.length === T);
|
|
302
|
+
} catch (T) {
|
|
303
|
+
throw w === a && (e.value = []), T;
|
|
304
304
|
} finally {
|
|
305
305
|
w === a && (t.value = !1);
|
|
306
306
|
}
|
|
@@ -320,19 +320,25 @@ function en() {
|
|
|
320
320
|
}
|
|
321
321
|
return { commits: e, isLoading: t, hasMore: l, load: u, loadMore: r };
|
|
322
322
|
}
|
|
323
|
-
const
|
|
324
|
-
function
|
|
325
|
-
|
|
323
|
+
const Ye = 1e3;
|
|
324
|
+
function Oe(o) {
|
|
325
|
+
const e = /^(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2})(?:\.(\d+))?/.exec(o);
|
|
326
|
+
return e ? `${e[1]}.${(e[2] ?? "").padEnd(9, "0").slice(0, 9)}` : o;
|
|
327
|
+
}
|
|
328
|
+
function nn(o, e) {
|
|
329
|
+
return [...o, ...e].sort(
|
|
330
|
+
(t, l) => Oe(l.at).localeCompare(Oe(t.at)) || l.id.localeCompare(t.id)
|
|
331
|
+
);
|
|
326
332
|
}
|
|
327
|
-
function
|
|
333
|
+
function on() {
|
|
328
334
|
const o = _e(), e = S([]);
|
|
329
335
|
async function t(l) {
|
|
330
336
|
if (e.value = [], !!l)
|
|
331
337
|
try {
|
|
332
338
|
e.value = await o.getRecordChangelog(
|
|
333
339
|
l,
|
|
334
|
-
|
|
335
|
-
|
|
340
|
+
Ye,
|
|
341
|
+
Re
|
|
336
342
|
);
|
|
337
343
|
} catch (s) {
|
|
338
344
|
console.error("changelog per-entity load failed", s);
|
|
@@ -340,7 +346,7 @@ function nn() {
|
|
|
340
346
|
}
|
|
341
347
|
return { commits: e, load: t };
|
|
342
348
|
}
|
|
343
|
-
function
|
|
349
|
+
function Xe(o) {
|
|
344
350
|
if (!o) return null;
|
|
345
351
|
try {
|
|
346
352
|
const e = JSON.parse(o);
|
|
@@ -353,28 +359,28 @@ function Ye(o) {
|
|
|
353
359
|
return null;
|
|
354
360
|
}
|
|
355
361
|
}
|
|
356
|
-
function
|
|
362
|
+
function We(o) {
|
|
357
363
|
return o.startsWith("inventory.changelog.");
|
|
358
364
|
}
|
|
359
|
-
const
|
|
365
|
+
const qe = "";
|
|
360
366
|
function De(o) {
|
|
361
|
-
const e = o.indexOf(
|
|
367
|
+
const e = o.indexOf(qe);
|
|
362
368
|
return e === -1 ? { raw: o, human: o } : { raw: o.slice(0, e), human: o.slice(e + 1) };
|
|
363
369
|
}
|
|
364
|
-
const
|
|
370
|
+
const an = [
|
|
365
371
|
"inventory.changelog.label.recipe",
|
|
366
372
|
"inventory.changelog.label.sku",
|
|
367
373
|
"inventory.changelog.label.unit"
|
|
368
|
-
],
|
|
369
|
-
function
|
|
374
|
+
], sn = [...an, "Recipe", "Ingredient", "Unit"];
|
|
375
|
+
function ln(o) {
|
|
370
376
|
const { human: e } = De(o);
|
|
371
377
|
if (!e) return { type: "Document", name: "", field: [] };
|
|
372
378
|
const t = e.split(" › ");
|
|
373
|
-
return t.length >= 2 &&
|
|
379
|
+
return t.length >= 2 && sn.includes(t[0]) ? { type: t[0], name: t[1], field: t.slice(2) } : { type: "Document", name: "", field: t };
|
|
374
380
|
}
|
|
375
|
-
const
|
|
376
|
-
function
|
|
377
|
-
const l =
|
|
381
|
+
const ze = 800;
|
|
382
|
+
function Ze(o, e, t = 2) {
|
|
383
|
+
const l = Ge(o), s = Ge(e);
|
|
378
384
|
if (!l || !s) return null;
|
|
379
385
|
let a = 0;
|
|
380
386
|
for (; a < l.length && a < s.length && l[a] === s[a]; ) a++;
|
|
@@ -382,14 +388,14 @@ function qe(o, e, t = 2) {
|
|
|
382
388
|
for (; u < l.length - a && u < s.length - a && l[l.length - 1 - u] === s[s.length - 1 - u]; )
|
|
383
389
|
u++;
|
|
384
390
|
const r = l.slice(a, l.length - u), v = s.slice(a, s.length - u);
|
|
385
|
-
if (r.length >
|
|
391
|
+
if (r.length > ze || v.length > ze) return null;
|
|
386
392
|
const m = (h) => ({ type: "same", text: h });
|
|
387
|
-
return
|
|
388
|
-
[...l.slice(0, a).map(m), ...
|
|
393
|
+
return un(
|
|
394
|
+
[...l.slice(0, a).map(m), ...rn(r, v), ...l.slice(l.length - u).map(m)],
|
|
389
395
|
t
|
|
390
396
|
);
|
|
391
397
|
}
|
|
392
|
-
function
|
|
398
|
+
function Ge(o) {
|
|
393
399
|
try {
|
|
394
400
|
const e = JSON.parse(o);
|
|
395
401
|
return e === null || typeof e != "object" ? null : JSON.stringify(e, null, 2).split(`
|
|
@@ -398,7 +404,7 @@ function ze(o) {
|
|
|
398
404
|
return null;
|
|
399
405
|
}
|
|
400
406
|
}
|
|
401
|
-
function
|
|
407
|
+
function rn(o, e) {
|
|
402
408
|
const t = o.length, l = e.length, s = Array.from({ length: t + 1 }, () => new Uint32Array(l + 1));
|
|
403
409
|
for (let v = t - 1; v >= 0; v--)
|
|
404
410
|
for (let m = l - 1; m >= 0; m--)
|
|
@@ -411,7 +417,7 @@ function ln(o, e) {
|
|
|
411
417
|
for (; r < l; ) a.push({ type: "add", text: e[r++] });
|
|
412
418
|
return a;
|
|
413
419
|
}
|
|
414
|
-
function
|
|
420
|
+
function un(o, e) {
|
|
415
421
|
const t = o.map(() => !1);
|
|
416
422
|
o.forEach((a, u) => {
|
|
417
423
|
if (a.type !== "same")
|
|
@@ -424,7 +430,7 @@ function rn(o, e) {
|
|
|
424
430
|
t[u] ? (l.push(a), s = !1) : s || (l.push({ type: "skip", text: "⋯" }), s = !0);
|
|
425
431
|
}), l;
|
|
426
432
|
}
|
|
427
|
-
function
|
|
433
|
+
function cn(o, e) {
|
|
428
434
|
let t;
|
|
429
435
|
try {
|
|
430
436
|
t = JSON.parse(o);
|
|
@@ -435,13 +441,13 @@ function un(o, e) {
|
|
|
435
441
|
}
|
|
436
442
|
function Ie(o, e, t = 0, l) {
|
|
437
443
|
var m;
|
|
438
|
-
const s = o.label == null ? void 0 :
|
|
444
|
+
const s = o.label == null ? void 0 : We(o.label) ? e(o.label) : o.label, a = s != null || o.value != null || o.display != null, u = !((m = o.kids) != null && m.length), r = [];
|
|
439
445
|
a && r.push({
|
|
440
446
|
depth: t,
|
|
441
447
|
// A bare array index says nothing a reader needs — a leaf list entry
|
|
442
448
|
// shows just its value. Branch nodes keep the index as their header.
|
|
443
449
|
label: s != null && u && /^\d+$/.test(s) ? void 0 : s,
|
|
444
|
-
text: u ?
|
|
450
|
+
text: u ? dn(o, e, l) : void 0,
|
|
445
451
|
bookkeeping: !!o.bookkeeping
|
|
446
452
|
});
|
|
447
453
|
const v = a ? t + 1 : t;
|
|
@@ -449,16 +455,16 @@ function Ie(o, e, t = 0, l) {
|
|
|
449
455
|
r.push(...Ie(h, e, v, l));
|
|
450
456
|
return r;
|
|
451
457
|
}
|
|
452
|
-
function
|
|
458
|
+
function dn(o, e, t) {
|
|
453
459
|
if (o.value == null) return o.display || void 0;
|
|
454
|
-
const l =
|
|
460
|
+
const l = cn(o.value, e);
|
|
455
461
|
return (t == null ? void 0 : t(l)) ?? o.display ?? l;
|
|
456
462
|
}
|
|
457
463
|
function $e(o, e) {
|
|
458
464
|
return JSON.stringify(o, null, 2).split(`
|
|
459
465
|
`).map((t) => ({ type: e, text: t }));
|
|
460
466
|
}
|
|
461
|
-
function
|
|
467
|
+
function fn() {
|
|
462
468
|
const o = _e(), e = /* @__PURE__ */ new Map(), t = S(!1), l = S(null);
|
|
463
469
|
async function s(a) {
|
|
464
470
|
const u = e.get(a.id);
|
|
@@ -471,13 +477,13 @@ function dn() {
|
|
|
471
477
|
const r = a.doc_id.indexOf("/"), v = a.doc_id.slice(0, r), m = a.doc_id.slice(r + 1), [h, w] = await Promise.all([
|
|
472
478
|
a.parent ? o.getState(v, m, a.parent) : Promise.resolve({}),
|
|
473
479
|
o.getState(v, m, a.id)
|
|
474
|
-
]), U = { diff: a.parent ?
|
|
480
|
+
]), U = { diff: a.parent ? Ze(JSON.stringify(h), JSON.stringify(w)) ?? [
|
|
475
481
|
...$e(h, "del"),
|
|
476
482
|
...$e(w, "add")
|
|
477
483
|
] : $e(w, "add"), conflict: !1 };
|
|
478
484
|
e.set(a.id, U), l.value = U;
|
|
479
485
|
} catch (r) {
|
|
480
|
-
if (!
|
|
486
|
+
if (!en(r))
|
|
481
487
|
throw l.value = null, r;
|
|
482
488
|
const v = { diff: null, conflict: !0 };
|
|
483
489
|
e.set(a.id, v), l.value = v;
|
|
@@ -487,67 +493,67 @@ function dn() {
|
|
|
487
493
|
}
|
|
488
494
|
return { isLoading: t, result: l, load: s };
|
|
489
495
|
}
|
|
490
|
-
const
|
|
496
|
+
const mn = {
|
|
491
497
|
key: 0,
|
|
492
498
|
class: "flex justify-center p-16"
|
|
493
|
-
},
|
|
499
|
+
}, pn = {
|
|
494
500
|
key: 1,
|
|
495
501
|
class: "p-16 text-center text-gray-500"
|
|
496
|
-
},
|
|
502
|
+
}, vn = {
|
|
497
503
|
key: 2,
|
|
498
504
|
class: "flex h-full min-h-0 gap-8"
|
|
499
|
-
},
|
|
505
|
+
}, gn = { class: "w-1/3 shrink-0 overflow-y-auto border-r border-gray-200 pr-4" }, yn = ["onClick", "onKeydown"], hn = { class: "fm-typo-en-body-md-600" }, _n = { class: "text-xs text-gray-500" }, xn = {
|
|
500
506
|
key: 0,
|
|
501
507
|
class: "flex-1 overflow-y-auto pl-4"
|
|
502
|
-
},
|
|
508
|
+
}, bn = { class: "mb-12 flex flex-col gap-2 border-b border-gray-200 pb-8" }, wn = { class: "flex flex-wrap items-center gap-8" }, kn = { class: "fm-typo-en-body-lg-600" }, Sn = {
|
|
503
509
|
key: 0,
|
|
504
510
|
class: "rounded-full bg-gray-100 px-8 text-xs text-gray-500"
|
|
505
|
-
},
|
|
511
|
+
}, $n = { class: "text-xs text-gray-500" }, Ln = { class: "mb-12" }, Cn = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary pl-8" }, Rn = {
|
|
506
512
|
key: 0,
|
|
507
513
|
class: "mb-12"
|
|
508
|
-
},
|
|
514
|
+
}, Dn = {
|
|
509
515
|
key: 1,
|
|
510
516
|
class: "text-sm text-gray-400"
|
|
511
|
-
},
|
|
517
|
+
}, In = {
|
|
512
518
|
key: 2,
|
|
513
519
|
class: "w-full overflow-x-auto rounded border border-gray-200 py-4 font-mono text-xs"
|
|
514
|
-
},
|
|
520
|
+
}, En = {
|
|
515
521
|
key: 0,
|
|
516
522
|
class: "text-xs text-gray-400"
|
|
517
|
-
}, Fn = { class: "fm-typo-en-body-md-600" },
|
|
523
|
+
}, Fn = { class: "fm-typo-en-body-md-600" }, Pn = { class: "flex flex-col gap-6" }, Tn = {
|
|
518
524
|
key: 0,
|
|
519
525
|
class: "text-gray-700"
|
|
520
|
-
}, Nn = { class: "min-w-[120px] shrink-0 text-gray-500" },
|
|
526
|
+
}, Nn = { class: "min-w-[120px] shrink-0 text-gray-500" }, Vn = {
|
|
521
527
|
key: 0,
|
|
522
528
|
class: "flex w-full flex-col gap-4"
|
|
523
|
-
},
|
|
529
|
+
}, Bn = {
|
|
524
530
|
key: 0,
|
|
525
531
|
class: "w-full overflow-x-auto rounded border border-gray-200 py-4 font-mono text-xs"
|
|
526
|
-
},
|
|
532
|
+
}, Un = { key: 0 }, An = { key: 1 }, Mn = {
|
|
527
533
|
key: 1,
|
|
528
534
|
class: "w-full overflow-x-auto rounded border border-gray-200 py-4 font-mono text-xs"
|
|
529
|
-
},
|
|
535
|
+
}, On = { key: 0 }, zn = { key: 1 }, Gn = {
|
|
530
536
|
key: 1,
|
|
531
537
|
class: "w-full overflow-x-auto rounded border border-gray-200 py-4 font-mono text-xs"
|
|
532
|
-
},
|
|
538
|
+
}, Kn = {
|
|
533
539
|
key: 2,
|
|
534
540
|
class: "flex w-full flex-wrap items-baseline gap-4"
|
|
535
541
|
}, jn = {
|
|
536
542
|
key: 0,
|
|
537
543
|
class: "rounded bg-red-50 px-4 text-red-700"
|
|
538
|
-
},
|
|
544
|
+
}, Hn = {
|
|
539
545
|
key: 1,
|
|
540
546
|
class: "text-gray-400"
|
|
541
|
-
},
|
|
547
|
+
}, Jn = {
|
|
542
548
|
key: 2,
|
|
543
549
|
class: "rounded bg-green-50 px-4 text-green-700"
|
|
544
|
-
},
|
|
550
|
+
}, Yn = {
|
|
545
551
|
key: 1,
|
|
546
552
|
class: "text-sm text-gray-500"
|
|
547
|
-
},
|
|
553
|
+
}, Xn = {
|
|
548
554
|
key: 2,
|
|
549
555
|
class: "mt-16 break-all border-t border-gray-200 pt-8 font-mono text-xs text-gray-400"
|
|
550
|
-
},
|
|
556
|
+
}, Wn = { key: 0 }, qn = "capture baseline", Zn = /* @__PURE__ */ ce({
|
|
551
557
|
__name: "ChangelogPanel",
|
|
552
558
|
props: {
|
|
553
559
|
commits: {},
|
|
@@ -555,9 +561,9 @@ const fn = {
|
|
|
555
561
|
resolveName: { type: Function }
|
|
556
562
|
},
|
|
557
563
|
setup(o) {
|
|
558
|
-
const e = o, { t } = he(), l = S(null), s =
|
|
564
|
+
const e = o, { t } = he(), l = S(null), s = R(
|
|
559
565
|
() => e.commits.find((p) => p.id === l.value)
|
|
560
|
-
), a = /* @__PURE__ */ new Set(["updatedAt", "createdAt", "updatedBy", "createdBy", "_rev"]), u =
|
|
566
|
+
), a = /* @__PURE__ */ new Set(["updatedAt", "createdAt", "updatedBy", "createdBy", "_rev"]), u = R(() => {
|
|
561
567
|
var b;
|
|
562
568
|
return (((b = s.value) == null ? void 0 : b.changes) ?? []).filter((B) => {
|
|
563
569
|
const { raw: V } = De(B.path);
|
|
@@ -572,7 +578,7 @@ const fn = {
|
|
|
572
578
|
},
|
|
573
579
|
{ immediate: !0 }
|
|
574
580
|
);
|
|
575
|
-
const r = S(!1), { isLoading: v, result: m, load: h } =
|
|
581
|
+
const r = S(!1), { isLoading: v, result: m, load: h } = fn();
|
|
576
582
|
q([r, s], ([p, b]) => {
|
|
577
583
|
m.value = null, !(!p || !b) && h(b).catch((B) => {
|
|
578
584
|
console.error("changelog snapshot load failed", B), r.value = !1;
|
|
@@ -581,7 +587,7 @@ const fn = {
|
|
|
581
587
|
function w(p) {
|
|
582
588
|
return p ? p.slice(0, 8) : "";
|
|
583
589
|
}
|
|
584
|
-
function
|
|
590
|
+
function T(p) {
|
|
585
591
|
return p ? new Date(p).toLocaleString() : "";
|
|
586
592
|
}
|
|
587
593
|
function U(p) {
|
|
@@ -598,20 +604,20 @@ const fn = {
|
|
|
598
604
|
return (p.authors || []).join(", ") || t("inventory.changelog.unknownActor");
|
|
599
605
|
}
|
|
600
606
|
function O(p) {
|
|
601
|
-
if (p.message ===
|
|
602
|
-
const b =
|
|
607
|
+
if (p.message === qn) return t("inventory.changelog.captureBaseline");
|
|
608
|
+
const b = Xe(p.message);
|
|
603
609
|
if (!b) return p.message || t("inventory.changelog.noMessage");
|
|
604
610
|
const B = I(b.labelKey);
|
|
605
611
|
return b.name ? t(`inventory.changelog.message.${b.verb}`, { module: B, name: b.name }) : t(`inventory.changelog.message.${b.verb}NoName`, { module: B });
|
|
606
612
|
}
|
|
607
613
|
function I(p) {
|
|
608
|
-
return
|
|
614
|
+
return We(p) ? t(p) : p;
|
|
609
615
|
}
|
|
610
616
|
const Y = (p) => /[^a-zA-Z]/.test(p);
|
|
611
|
-
function
|
|
612
|
-
return p == null || b == null ? null :
|
|
617
|
+
function C(p, b) {
|
|
618
|
+
return p == null || b == null ? null : Ze(p, b);
|
|
613
619
|
}
|
|
614
|
-
function
|
|
620
|
+
function N(p) {
|
|
615
621
|
if (!(!p.to_value && !p.from_value))
|
|
616
622
|
return {
|
|
617
623
|
toTree: p.to_value ? Ie(p.to_value, t, 0, e.resolveName) : void 0,
|
|
@@ -621,36 +627,36 @@ const fn = {
|
|
|
621
627
|
function G(p) {
|
|
622
628
|
return p === "add" ? "bg-green-50 text-green-700" : p === "del" ? "bg-red-50 text-red-700" : p === "skip" ? "text-gray-400" : "text-gray-600";
|
|
623
629
|
}
|
|
624
|
-
function
|
|
630
|
+
function K(p) {
|
|
625
631
|
return p.type === "skip" ? p.text : (p.type === "add" ? "+ " : p.type === "del" ? "- " : " ") + p.text;
|
|
626
632
|
}
|
|
627
|
-
const Q =
|
|
633
|
+
const Q = R(() => {
|
|
628
634
|
const p = /* @__PURE__ */ new Map(), b = [], B = (y, f) => {
|
|
629
|
-
let
|
|
630
|
-
return
|
|
635
|
+
let E = p.get(y);
|
|
636
|
+
return E || (E = f(), p.set(y, E), b.push(E)), E;
|
|
631
637
|
}, V = () => B("@doc", () => ({ header: "", lines: [] })), X = (y, f) => {
|
|
632
638
|
var P;
|
|
633
639
|
if (y == null) return f;
|
|
634
|
-
let
|
|
640
|
+
let E;
|
|
635
641
|
try {
|
|
636
|
-
|
|
642
|
+
E = JSON.parse(y);
|
|
637
643
|
} catch {
|
|
638
|
-
|
|
644
|
+
E = y;
|
|
639
645
|
}
|
|
640
|
-
return (typeof
|
|
641
|
-
},
|
|
646
|
+
return (typeof E == "string" ? (P = e.resolveName) == null ? void 0 : P.call(e, E) : void 0) ?? f;
|
|
647
|
+
}, j = (y, f, E) => {
|
|
642
648
|
var P, J, Z, ee;
|
|
643
|
-
const x =
|
|
644
|
-
x ? y.lines.push({ label:
|
|
645
|
-
label:
|
|
649
|
+
const x = N(f);
|
|
650
|
+
x ? y.lines.push({ label: E, ...x }) : f.from != null && f.to != null ? y.lines.push({
|
|
651
|
+
label: E,
|
|
646
652
|
from: f.from,
|
|
647
653
|
to: f.to,
|
|
648
|
-
diff:
|
|
654
|
+
diff: C(f.from, f.to),
|
|
649
655
|
fromDisplay: X(f.from, (P = f.display) == null ? void 0 : P.from),
|
|
650
656
|
toDisplay: X(f.to, (J = f.display) == null ? void 0 : J.to)
|
|
651
|
-
}) : f.to != null ? y.lines.push({ label:
|
|
657
|
+
}) : f.to != null ? y.lines.push({ label: E, to: f.to, toDisplay: X(f.to, (Z = f.display) == null ? void 0 : Z.to) }) : y.lines.push({ label: E, from: f.from, fromDisplay: X(f.from, (ee = f.display) == null ? void 0 : ee.from) });
|
|
652
658
|
}, L = (y) => {
|
|
653
|
-
var
|
|
659
|
+
var E;
|
|
654
660
|
const f = y.element;
|
|
655
661
|
if (f) {
|
|
656
662
|
const x = B(`kit:${(f.trail ?? []).join(".")}:${f.id ?? ""}`, () => ({
|
|
@@ -658,57 +664,57 @@ const fn = {
|
|
|
658
664
|
header: f.name || f.id || "",
|
|
659
665
|
lines: []
|
|
660
666
|
}));
|
|
661
|
-
if ((
|
|
662
|
-
|
|
667
|
+
if ((E = y.field) != null && E.length)
|
|
668
|
+
j(x, y, y.field.map(I).join(" › "));
|
|
663
669
|
else {
|
|
664
670
|
x.badge = y.to != null ? "added" : "removed";
|
|
665
|
-
const P =
|
|
671
|
+
const P = N(y);
|
|
666
672
|
P && x.lines.push(P);
|
|
667
673
|
}
|
|
668
674
|
return;
|
|
669
675
|
}
|
|
670
|
-
|
|
676
|
+
j(V(), y, (y.field ?? []).map(I).join(" › "));
|
|
671
677
|
};
|
|
672
678
|
for (const y of u.value) {
|
|
673
|
-
const { raw: f, human:
|
|
679
|
+
const { raw: f, human: E } = De(y.path);
|
|
674
680
|
if (y.kind === "create" && !f) {
|
|
675
|
-
const Z =
|
|
681
|
+
const Z = N(y);
|
|
676
682
|
V().lines.push(
|
|
677
683
|
Z ? { label: t("inventory.changelog.kind.created"), ...Z } : { text: t("inventory.changelog.kind.created") }
|
|
678
684
|
);
|
|
679
685
|
continue;
|
|
680
686
|
}
|
|
681
|
-
if (!y.path.includes(
|
|
687
|
+
if (!y.path.includes(qe) && (y.field || y.element)) {
|
|
682
688
|
L(y);
|
|
683
689
|
continue;
|
|
684
690
|
}
|
|
685
|
-
const x = f ? f.split(".") : [], P =
|
|
691
|
+
const x = f ? f.split(".") : [], P = E ? E.split(" › ") : [], J = x.findIndex((Z, ee) => ee > 0 && Y(Z));
|
|
686
692
|
if (J > 0 && P.length === x.length) {
|
|
687
693
|
const Z = P[J], ee = B(x.slice(0, J + 1).join("."), () => ({
|
|
688
694
|
kind: P.slice(0, J).map(I).join(" › "),
|
|
689
695
|
header: Z,
|
|
690
696
|
lines: []
|
|
691
697
|
})), ie = P.slice(J + 1).map(I).join(" › ");
|
|
692
|
-
if (ie)
|
|
693
|
-
else if (y.from != null && y.to != null)
|
|
698
|
+
if (ie) j(ee, y, ie);
|
|
699
|
+
else if (y.from != null && y.to != null) j(ee, y, Z);
|
|
694
700
|
else {
|
|
695
701
|
ee.badge = y.to != null ? "added" : "removed";
|
|
696
|
-
const de =
|
|
702
|
+
const de = N(y);
|
|
697
703
|
de && ee.lines.push(de);
|
|
698
704
|
}
|
|
699
705
|
continue;
|
|
700
706
|
}
|
|
701
|
-
|
|
707
|
+
j(V(), y, P.map(I).join(" › "));
|
|
702
708
|
}
|
|
703
709
|
return b;
|
|
704
710
|
});
|
|
705
711
|
return (p, b) => {
|
|
706
|
-
var X,
|
|
712
|
+
var X, j;
|
|
707
713
|
const B = H("FmCircularProgress"), V = H("FmSwitch");
|
|
708
|
-
return p.isLoading ? (i(), c("div",
|
|
714
|
+
return p.isLoading ? (i(), c("div", mn, [
|
|
709
715
|
D(B)
|
|
710
|
-
])) : p.commits.length ? (i(), c("div",
|
|
711
|
-
g("ol",
|
|
716
|
+
])) : p.commits.length ? (i(), c("div", vn, [
|
|
717
|
+
g("ol", gn, [
|
|
712
718
|
(i(!0), c(z, null, ne(p.commits, (L) => (i(), c("li", {
|
|
713
719
|
key: L.id,
|
|
714
720
|
role: "button",
|
|
@@ -720,25 +726,25 @@ const fn = {
|
|
|
720
726
|
onClick: (y) => l.value = L.id,
|
|
721
727
|
onKeydown: [
|
|
722
728
|
Me((y) => l.value = L.id, ["enter"]),
|
|
723
|
-
Me(
|
|
729
|
+
Me(ft((y) => l.value = L.id, ["prevent"]), ["space"])
|
|
724
730
|
]
|
|
725
731
|
}, [
|
|
726
|
-
g("div",
|
|
727
|
-
g("div",
|
|
728
|
-
], 42,
|
|
732
|
+
g("div", hn, _(O(L)), 1),
|
|
733
|
+
g("div", _n, _(oe(L)) + " · " + _(T(L.at)) + " · " + _(w(L.id)), 1)
|
|
734
|
+
], 42, yn))), 128))
|
|
729
735
|
]),
|
|
730
|
-
s.value ? (i(), c("div",
|
|
731
|
-
g("div",
|
|
732
|
-
g("div",
|
|
733
|
-
g("div",
|
|
734
|
-
s.value.parent ?
|
|
736
|
+
s.value ? (i(), c("div", xn, [
|
|
737
|
+
g("div", bn, [
|
|
738
|
+
g("div", wn, [
|
|
739
|
+
g("div", kn, _(O(s.value)), 1),
|
|
740
|
+
s.value.parent ? F("", !0) : (i(), c("span", Sn, _($(t)("inventory.changelog.rootCommit")), 1))
|
|
735
741
|
]),
|
|
736
|
-
g("div",
|
|
742
|
+
g("div", $n, _(oe(s.value)) + " · " + _(T(s.value.at)), 1)
|
|
737
743
|
]),
|
|
738
|
-
g("div",
|
|
744
|
+
g("div", Ln, [
|
|
739
745
|
D(Pe, null, {
|
|
740
746
|
default: te(() => [
|
|
741
|
-
g("span",
|
|
747
|
+
g("span", Cn, _($(t)("inventory.changelog.dataDiff")), 1),
|
|
742
748
|
D(V, {
|
|
743
749
|
modelValue: r.value,
|
|
744
750
|
"onUpdate:modelValue": b[0] || (b[0] = (L) => r.value = L)
|
|
@@ -748,13 +754,13 @@ const fn = {
|
|
|
748
754
|
})
|
|
749
755
|
]),
|
|
750
756
|
r.value ? (i(), c("div", Rn, [
|
|
751
|
-
$(v) ? (i(), pe(B, { key: 0 })) : (X = $(m)) != null && X.conflict ? (i(), c("div",
|
|
757
|
+
$(v) ? (i(), pe(B, { key: 0 })) : (X = $(m)) != null && X.conflict ? (i(), c("div", Dn, _($(t)("inventory.changelog.snapshotUnavailable")), 1)) : (j = $(m)) != null && j.diff ? (i(), c("div", In, [
|
|
752
758
|
(i(!0), c(z, null, ne($(m).diff, (L, y) => (i(), c("div", {
|
|
753
759
|
key: y,
|
|
754
760
|
class: se(["whitespace-pre px-4", G(L.type)])
|
|
755
|
-
}, _(
|
|
756
|
-
])) :
|
|
757
|
-
])) :
|
|
761
|
+
}, _(K(L)), 3))), 128))
|
|
762
|
+
])) : F("", !0)
|
|
763
|
+
])) : F("", !0),
|
|
758
764
|
(i(!0), c(z, null, ne(Q.value, (L, y) => (i(), c("div", {
|
|
759
765
|
key: y,
|
|
760
766
|
class: "mb-12 rounded-lg border border-gray-200 p-12"
|
|
@@ -763,22 +769,22 @@ const fn = {
|
|
|
763
769
|
key: 0,
|
|
764
770
|
class: se(["flex flex-wrap items-baseline gap-8", L.lines.length ? "mb-8" : ""])
|
|
765
771
|
}, [
|
|
766
|
-
L.kind ? (i(), c("span",
|
|
772
|
+
L.kind ? (i(), c("span", En, _(L.kind), 1)) : F("", !0),
|
|
767
773
|
g("span", Fn, _(L.header), 1),
|
|
768
774
|
L.badge ? (i(), c("span", {
|
|
769
775
|
key: 1,
|
|
770
776
|
class: se(["rounded-full px-8 text-xs", L.badge === "added" ? "bg-green-100 text-green-700" : "bg-red-100 text-red-700"])
|
|
771
|
-
}, _(L.badge === "added" ? $(t)("inventory.changelog.added") : $(t)("inventory.changelog.kind.removed")), 3)) :
|
|
772
|
-
], 2)) :
|
|
773
|
-
g("ul",
|
|
774
|
-
(i(!0), c(z, null, ne(L.lines, (f,
|
|
775
|
-
key:
|
|
777
|
+
}, _(L.badge === "added" ? $(t)("inventory.changelog.added") : $(t)("inventory.changelog.kind.removed")), 3)) : F("", !0)
|
|
778
|
+
], 2)) : F("", !0),
|
|
779
|
+
g("ul", Pn, [
|
|
780
|
+
(i(!0), c(z, null, ne(L.lines, (f, E) => (i(), c("li", {
|
|
781
|
+
key: E,
|
|
776
782
|
class: "flex flex-wrap items-baseline gap-8 text-sm"
|
|
777
783
|
}, [
|
|
778
|
-
f.text ? (i(), c("span",
|
|
784
|
+
f.text ? (i(), c("span", Tn, _(f.text), 1)) : (i(), c(z, { key: 1 }, [
|
|
779
785
|
g("span", Nn, _(f.label), 1),
|
|
780
|
-
f.toTree || f.fromTree ? (i(), c("div",
|
|
781
|
-
f.fromTree ? (i(), c("div",
|
|
786
|
+
f.toTree || f.fromTree ? (i(), c("div", Vn, [
|
|
787
|
+
f.fromTree ? (i(), c("div", Bn, [
|
|
782
788
|
(i(!0), c(z, null, ne(f.fromTree, (x, P) => (i(), c("div", {
|
|
783
789
|
key: P,
|
|
784
790
|
class: se(["flex items-baseline gap-4 px-4", x.bookkeeping ? "text-gray-400" : "text-red-700"])
|
|
@@ -787,16 +793,16 @@ const fn = {
|
|
|
787
793
|
key: J,
|
|
788
794
|
class: "inline-block w-16"
|
|
789
795
|
}))), 128)),
|
|
790
|
-
x.label ? (i(), c("span",
|
|
796
|
+
x.label ? (i(), c("span", Un, [
|
|
791
797
|
re(_(x.label), 1),
|
|
792
798
|
x.text ? (i(), c(z, { key: 0 }, [
|
|
793
799
|
re(":")
|
|
794
|
-
], 64)) :
|
|
795
|
-
])) :
|
|
796
|
-
x.text ? (i(), c("span",
|
|
800
|
+
], 64)) : F("", !0)
|
|
801
|
+
])) : F("", !0),
|
|
802
|
+
x.text ? (i(), c("span", An, _(x.text), 1)) : F("", !0)
|
|
797
803
|
], 2))), 128))
|
|
798
|
-
])) :
|
|
799
|
-
f.toTree ? (i(), c("div",
|
|
804
|
+
])) : F("", !0),
|
|
805
|
+
f.toTree ? (i(), c("div", Mn, [
|
|
800
806
|
(i(!0), c(z, null, ne(f.toTree, (x, P) => (i(), c("div", {
|
|
801
807
|
key: P,
|
|
802
808
|
class: se(["flex items-baseline gap-4 px-4", x.bookkeeping ? "text-gray-400" : "text-green-700"])
|
|
@@ -805,65 +811,65 @@ const fn = {
|
|
|
805
811
|
key: J,
|
|
806
812
|
class: "inline-block w-16"
|
|
807
813
|
}))), 128)),
|
|
808
|
-
x.label ? (i(), c("span",
|
|
814
|
+
x.label ? (i(), c("span", On, [
|
|
809
815
|
re(_(x.label), 1),
|
|
810
816
|
x.text ? (i(), c(z, { key: 0 }, [
|
|
811
817
|
re(":")
|
|
812
|
-
], 64)) :
|
|
813
|
-
])) :
|
|
814
|
-
x.text ? (i(), c("span",
|
|
818
|
+
], 64)) : F("", !0)
|
|
819
|
+
])) : F("", !0),
|
|
820
|
+
x.text ? (i(), c("span", zn, _(x.text), 1)) : F("", !0)
|
|
815
821
|
], 2))), 128))
|
|
816
|
-
])) :
|
|
817
|
-
])) : f.diff ? (i(), c("div",
|
|
822
|
+
])) : F("", !0)
|
|
823
|
+
])) : f.diff ? (i(), c("div", Gn, [
|
|
818
824
|
(i(!0), c(z, null, ne(f.diff, (x, P) => (i(), c("div", {
|
|
819
825
|
key: P,
|
|
820
826
|
class: se(["whitespace-pre px-4", G(x.type)])
|
|
821
|
-
}, _(
|
|
822
|
-
])) : (i(), c("span",
|
|
823
|
-
f.from != null ? (i(), c("span", jn, _(f.fromDisplay ?? U(f.from)), 1)) :
|
|
824
|
-
f.from != null && f.to != null ? (i(), c("span",
|
|
825
|
-
f.to != null ? (i(), c("span",
|
|
827
|
+
}, _(K(x)), 3))), 128))
|
|
828
|
+
])) : (i(), c("span", Kn, [
|
|
829
|
+
f.from != null ? (i(), c("span", jn, _(f.fromDisplay ?? U(f.from)), 1)) : F("", !0),
|
|
830
|
+
f.from != null && f.to != null ? (i(), c("span", Hn, "→")) : F("", !0),
|
|
831
|
+
f.to != null ? (i(), c("span", Jn, _(f.toDisplay ?? U(f.to)), 1)) : F("", !0)
|
|
826
832
|
]))
|
|
827
833
|
], 64))
|
|
828
834
|
]))), 128))
|
|
829
835
|
])
|
|
830
836
|
]))), 128)),
|
|
831
|
-
Q.value.length ?
|
|
832
|
-
r.value ? (i(), c("div",
|
|
837
|
+
Q.value.length ? F("", !0) : (i(), c("div", Yn, _($(t)("inventory.changelog.empty")), 1)),
|
|
838
|
+
r.value ? (i(), c("div", Xn, [
|
|
833
839
|
re(_(s.value.id) + " ", 1),
|
|
834
|
-
s.value.parent ? (i(), c("span",
|
|
835
|
-
])) :
|
|
836
|
-
])) :
|
|
837
|
-
])) : (i(), c("div",
|
|
840
|
+
s.value.parent ? (i(), c("span", Wn, "← " + _(s.value.parent), 1)) : F("", !0)
|
|
841
|
+
])) : F("", !0)
|
|
842
|
+
])) : F("", !0)
|
|
843
|
+
])) : (i(), c("div", pn, _($(t)("inventory.changelog.empty")), 1));
|
|
838
844
|
};
|
|
839
845
|
}
|
|
840
|
-
}),
|
|
846
|
+
}), Qn = { class: "flex flex-col gap-8" }, eo = { class: "flex flex-wrap items-center gap-16" }, to = { class: "fm-typo-en-heading-lg-600" }, no = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, oo = { class: "flex h-full min-h-0 flex-col gap-12 p-16" }, ao = { class: "flex flex-wrap items-center gap-12" }, so = { class: "flex shrink-0 items-center gap-8" }, lo = { class: "fm-typo-en-body-md-400 text-fm-color-typo-secondary" }, ro = { class: "flex flex-wrap items-center gap-12" }, io = {
|
|
841
847
|
key: 0,
|
|
842
848
|
class: "fm-typo-en-body-md-600"
|
|
843
|
-
},
|
|
849
|
+
}, uo = { class: "fm-typo-en-heading-md-600" }, co = {
|
|
844
850
|
key: 0,
|
|
845
851
|
class: "flex justify-center py-8"
|
|
846
|
-
}, Le = "inventory.changelog.label.",
|
|
852
|
+
}, Le = "inventory.changelog.label.", fo = /* @__PURE__ */ ce({
|
|
847
853
|
__name: "ChangelogDialog",
|
|
848
854
|
props: {
|
|
849
855
|
modelValue: { type: Boolean }
|
|
850
856
|
},
|
|
851
857
|
emits: ["update:modelValue"],
|
|
852
858
|
setup(o, { emit: e }) {
|
|
853
|
-
const t = o, l = e, s =
|
|
859
|
+
const t = o, l = e, s = R({
|
|
854
860
|
get: () => t.modelValue,
|
|
855
861
|
set: (n) => l("update:modelValue", n)
|
|
856
|
-
}), { t: a } = he(), u = ge(), r =
|
|
857
|
-
function
|
|
862
|
+
}), { t: a } = he(), u = ge(), r = He(), v = je(), m = _e(), { breakpoints: h } = Dt(), w = R(() => h.value.xs || h.value.sm), T = R(() => w.value ? "98vw" : "72vw"), { commits: U, isLoading: oe, hasMore: O, load: I, loadMore: Y } = tn();
|
|
863
|
+
function C() {
|
|
858
864
|
Y().catch((n) => console.error("changelog load more failed", n));
|
|
859
865
|
}
|
|
860
|
-
function
|
|
866
|
+
function N(n) {
|
|
861
867
|
return n ? new Date(n).toLocaleString() : "—";
|
|
862
868
|
}
|
|
863
869
|
function G(n) {
|
|
864
870
|
return [...n].sort((d, k) => (k.lastUpdate ?? "").localeCompare(d.lastUpdate ?? ""));
|
|
865
871
|
}
|
|
866
|
-
function
|
|
872
|
+
function K(n, d, k) {
|
|
867
873
|
I(n, d, k).catch((A) => console.error("changelog load failed", A));
|
|
868
874
|
}
|
|
869
875
|
const Q = S([]);
|
|
@@ -877,29 +883,29 @@ const fn = {
|
|
|
877
883
|
console.error("changelog domain list load failed", k), Q.value = [];
|
|
878
884
|
}
|
|
879
885
|
}
|
|
880
|
-
const b =
|
|
886
|
+
const b = R(() => [
|
|
881
887
|
{ label: a("inventory.changelog.label.purchaseOrder"), value: "purchaseOrder" },
|
|
882
888
|
{ label: a("inventory.changelog.label.closingDraft"), value: "closingDraft" },
|
|
883
889
|
{ label: a("inventory.changelog.domainInventory"), value: "inventory" },
|
|
884
890
|
...Q.value.map((n) => ({ label: a(n.labelKey), value: n.domain }))
|
|
885
|
-
]), B = S(b.value[0]), V =
|
|
891
|
+
]), B = S(b.value[0]), V = R(() => {
|
|
886
892
|
var n;
|
|
887
893
|
return ((n = B.value) == null ? void 0 : n.value) ?? "purchaseOrder";
|
|
888
|
-
}), X =
|
|
894
|
+
}), X = R(
|
|
889
895
|
() => Q.value.some((n) => n.domain === V.value)
|
|
890
|
-
),
|
|
896
|
+
), j = S(!1), L = R(
|
|
891
897
|
() => ["sku", "recipe", "unit"].map((n) => ({
|
|
892
898
|
label: a(Le + n),
|
|
893
899
|
value: n
|
|
894
900
|
}))
|
|
895
|
-
), y = S(L.value[0]), f =
|
|
901
|
+
), y = S(L.value[0]), f = R(() => {
|
|
896
902
|
var n;
|
|
897
903
|
return ((n = y.value) == null ? void 0 : n.value) ?? "sku";
|
|
898
|
-
}),
|
|
904
|
+
}), E = S(""), x = S(null), P = S(!1), J = R(() => {
|
|
899
905
|
var k;
|
|
900
906
|
const n = (k = u.currentBusiness.value) == null ? void 0 : k._id, d = r.inventory._id;
|
|
901
907
|
return n && d ? `business_${n}/${d}` : "";
|
|
902
|
-
}), Z =
|
|
908
|
+
}), Z = R(() => {
|
|
903
909
|
const n = /* @__PURE__ */ new Map(), d = r.inventory;
|
|
904
910
|
for (const k of [d.sku, d.recipe, d.unit, d.skuGroup])
|
|
905
911
|
for (const A of k ?? [])
|
|
@@ -914,7 +920,7 @@ const fn = {
|
|
|
914
920
|
}
|
|
915
921
|
return n;
|
|
916
922
|
}), ee = (n) => Z.value.get(n), ie = S([]), de = S(!1);
|
|
917
|
-
async function
|
|
923
|
+
async function Te() {
|
|
918
924
|
var d;
|
|
919
925
|
const n = (d = u.currentBusiness.value) == null ? void 0 : d._id;
|
|
920
926
|
if (n) {
|
|
@@ -930,9 +936,9 @@ const fn = {
|
|
|
930
936
|
}
|
|
931
937
|
}
|
|
932
938
|
}
|
|
933
|
-
const
|
|
939
|
+
const Qe = R(
|
|
934
940
|
() => P.value ? ie.value : ie.value.filter((n) => !n.deleted)
|
|
935
|
-
),
|
|
941
|
+
), et = R(() => [
|
|
936
942
|
{ accessorKey: "id", header: () => a("inventory.closing.draft.table.id"), size: 320 },
|
|
937
943
|
{
|
|
938
944
|
id: "name",
|
|
@@ -940,7 +946,7 @@ const fn = {
|
|
|
940
946
|
accessorFn: (n) => n.name,
|
|
941
947
|
// Deleted records sit in the same list as live ones, so the row says which
|
|
942
948
|
// it is; nothing else distinguishes them.
|
|
943
|
-
cell: ({ row: n }) => n.original.deleted ?
|
|
949
|
+
cell: ({ row: n }) => n.original.deleted ? mt(
|
|
944
950
|
"span",
|
|
945
951
|
{ "data-deleted": "" },
|
|
946
952
|
`${n.original.name} (${a("inventory.changelog.deleted")})`
|
|
@@ -953,28 +959,28 @@ const fn = {
|
|
|
953
959
|
// Raw ISO is the sort key — clicking the header on formatted dates would
|
|
954
960
|
// order them lexicographically by locale string. Formatted only to display.
|
|
955
961
|
accessorFn: (n) => n.lastUpdate ?? "",
|
|
956
|
-
cell: ({ getValue: n }) =>
|
|
962
|
+
cell: ({ getValue: n }) => N(n() || void 0)
|
|
957
963
|
}
|
|
958
|
-
]), { commits:
|
|
959
|
-
function
|
|
960
|
-
x.value = n,
|
|
964
|
+
]), { commits: tt, load: nt } = on();
|
|
965
|
+
function ot(n) {
|
|
966
|
+
x.value = n, j.value = !0, K(J.value, Ye, Re), n.id && nt(`${J.value}/${f.value}/${n.id}`).catch(
|
|
961
967
|
(d) => console.error("changelog per-entity load failed", d)
|
|
962
968
|
);
|
|
963
969
|
}
|
|
964
|
-
function
|
|
965
|
-
const k =
|
|
970
|
+
function at(n, d) {
|
|
971
|
+
const k = Xe(n.message);
|
|
966
972
|
return k && k.labelKey === Le + f.value && k.name === d.name ? !0 : (n.changes ?? []).some((A) => {
|
|
967
|
-
const W =
|
|
973
|
+
const W = ln(A.path);
|
|
968
974
|
return W.type === Le + f.value && W.name === d.name;
|
|
969
975
|
});
|
|
970
976
|
}
|
|
971
|
-
const
|
|
977
|
+
const st = R(() => {
|
|
972
978
|
const n = x.value;
|
|
973
979
|
if (!n) return [];
|
|
974
|
-
const d = U.value.filter((k) =>
|
|
975
|
-
return
|
|
980
|
+
const d = U.value.filter((k) => at(k, n));
|
|
981
|
+
return nn(d, tt.value);
|
|
976
982
|
}), xe = S([]), be = S(!1), we = S(null);
|
|
977
|
-
async function
|
|
983
|
+
async function lt() {
|
|
978
984
|
var d;
|
|
979
985
|
const n = (d = u.currentBusiness.value) == null ? void 0 : d._id;
|
|
980
986
|
if (n) {
|
|
@@ -990,15 +996,15 @@ const fn = {
|
|
|
990
996
|
}
|
|
991
997
|
}
|
|
992
998
|
}
|
|
993
|
-
function
|
|
999
|
+
function rt(n) {
|
|
994
1000
|
var k;
|
|
995
1001
|
const d = (k = u.currentBusiness.value) == null ? void 0 : k._id;
|
|
996
|
-
d && (we.value = n,
|
|
1002
|
+
d && (we.value = n, j.value = !0, K(`business_${d}/${n.id}`, void 0, Ce));
|
|
997
1003
|
}
|
|
998
|
-
const ve = S(
|
|
1004
|
+
const ve = S(It()), ye = S([]), ke = S(!1), fe = S(null), Ne = R(() => {
|
|
999
1005
|
const n = v._currentLocation;
|
|
1000
1006
|
return n ? `${n.name} (${n.doc.profile.code ?? "--"})` : "";
|
|
1001
|
-
}), Ve =
|
|
1007
|
+
}), Ve = R(() => [
|
|
1002
1008
|
{ accessorKey: "id", header: () => a("inventory.closing.draft.table.id"), size: 320 },
|
|
1003
1009
|
{
|
|
1004
1010
|
accessorKey: "name",
|
|
@@ -1011,14 +1017,14 @@ const fn = {
|
|
|
1011
1017
|
size: 200,
|
|
1012
1018
|
// Raw ISO is the sort key; see the note on the inventory table.
|
|
1013
1019
|
accessorFn: (n) => n.lastUpdate ?? "",
|
|
1014
|
-
cell: ({ getValue: n }) =>
|
|
1020
|
+
cell: ({ getValue: n }) => N(n() || void 0)
|
|
1015
1021
|
}
|
|
1016
1022
|
]);
|
|
1017
1023
|
async function Be() {
|
|
1018
1024
|
var A;
|
|
1019
1025
|
const n = (A = v._currentLocation) == null ? void 0 : A.dbName;
|
|
1020
1026
|
if (!n) return;
|
|
1021
|
-
const d =
|
|
1027
|
+
const d = Pt(new Date(ve.value.startDate)).toISOString(), k = Tt(new Date(ve.value.endDate)).toISOString();
|
|
1022
1028
|
ke.value = !0;
|
|
1023
1029
|
try {
|
|
1024
1030
|
ye.value = G(
|
|
@@ -1032,21 +1038,21 @@ const fn = {
|
|
|
1032
1038
|
fe.value && !ye.value.find((W) => {
|
|
1033
1039
|
var ae;
|
|
1034
1040
|
return W.id === ((ae = fe.value) == null ? void 0 : ae.id);
|
|
1035
|
-
}) && (fe.value = null,
|
|
1041
|
+
}) && (fe.value = null, K(""));
|
|
1036
1042
|
}
|
|
1037
|
-
function
|
|
1038
|
-
fe.value = n,
|
|
1043
|
+
function it(n) {
|
|
1044
|
+
fe.value = n, j.value = !0, K(`${v.currentLocationDBName}/${n.id}`, void 0, Ce);
|
|
1039
1045
|
}
|
|
1040
|
-
const
|
|
1046
|
+
const ut = R(() => {
|
|
1041
1047
|
var n, d, k;
|
|
1042
1048
|
return V.value === "inventory" ? ((n = x.value) == null ? void 0 : n.name) ?? "" : X.value ? ((d = we.value) == null ? void 0 : d.name) ?? "" : ((k = fe.value) == null ? void 0 : k.name) ?? "";
|
|
1043
1049
|
});
|
|
1044
1050
|
function Ue() {
|
|
1045
|
-
|
|
1051
|
+
j.value = !1, V.value === "inventory" ? (x.value = null, P.value = !1, K(""), Te().catch(
|
|
1046
1052
|
(n) => console.error("changelog inventory list failed", n)
|
|
1047
|
-
)) : X.value ? (we.value = null,
|
|
1053
|
+
)) : X.value ? (we.value = null, K(""), lt().catch(
|
|
1048
1054
|
(n) => console.error("changelog domain records failed", n)
|
|
1049
|
-
)) : (fe.value = null,
|
|
1055
|
+
)) : (fe.value = null, K(""), Be().catch((n) => console.error("changelog location list failed", n)));
|
|
1050
1056
|
}
|
|
1051
1057
|
return q(s, (n) => {
|
|
1052
1058
|
n && (p().catch((d) => console.error("changelog domain list failed", d)), Ue());
|
|
@@ -1056,15 +1062,15 @@ const fn = {
|
|
|
1056
1062
|
s.value && V.value !== "inventory" && !X.value && Be().catch((n) => console.error("changelog location list failed", n));
|
|
1057
1063
|
}), q(P, (n) => {
|
|
1058
1064
|
var d;
|
|
1059
|
-
!n && ((d = x.value) != null && d.deleted) && (x.value = null,
|
|
1065
|
+
!n && ((d = x.value) != null && d.deleted) && (x.value = null, j.value = !1);
|
|
1060
1066
|
}), q(f, () => {
|
|
1061
|
-
x.value = null,
|
|
1067
|
+
x.value = null, j.value = !1, s.value && V.value === "inventory" && Te().catch(
|
|
1062
1068
|
(n) => console.error("changelog inventory list failed", n)
|
|
1063
1069
|
);
|
|
1064
1070
|
}), q(J, (n) => {
|
|
1065
|
-
x.value = null, s.value && V.value === "inventory" &&
|
|
1071
|
+
x.value = null, s.value && V.value === "inventory" && K(n, void 0, Re);
|
|
1066
1072
|
}), (n, d) => {
|
|
1067
|
-
const k = H("FmButtonGroup"), A = H("FmSearch"), W = H("FmSwitch"), ae = H("FmTable"), Ae = H("FmDialog"),
|
|
1073
|
+
const k = H("FmButtonGroup"), A = H("FmSearch"), W = H("FmSwitch"), ae = H("FmTable"), Ae = H("FmDialog"), ct = H("FmButton");
|
|
1068
1074
|
return i(), c(z, null, [
|
|
1069
1075
|
D(Ae, {
|
|
1070
1076
|
modelValue: s.value,
|
|
@@ -1077,35 +1083,35 @@ const fn = {
|
|
|
1077
1083
|
"content-class": "!p-0 h-[86vh]"
|
|
1078
1084
|
}, {
|
|
1079
1085
|
"dialog-header": te(() => [
|
|
1080
|
-
g("div",
|
|
1081
|
-
g("div",
|
|
1082
|
-
g("div",
|
|
1086
|
+
g("div", Qn, [
|
|
1087
|
+
g("div", eo, [
|
|
1088
|
+
g("div", to, _($(a)("inventory.changelog.title")), 1),
|
|
1083
1089
|
D(k, {
|
|
1084
1090
|
modelValue: B.value,
|
|
1085
1091
|
"onUpdate:modelValue": d[0] || (d[0] = (M) => B.value = M),
|
|
1086
1092
|
items: b.value
|
|
1087
1093
|
}, null, 8, ["modelValue", "items"])
|
|
1088
1094
|
]),
|
|
1089
|
-
g("div",
|
|
1095
|
+
g("div", no, _($(a)("inventory.changelog.scopeDescription")), 1)
|
|
1090
1096
|
])
|
|
1091
1097
|
]),
|
|
1092
1098
|
default: te(() => [
|
|
1093
|
-
g("div",
|
|
1099
|
+
g("div", oo, [
|
|
1094
1100
|
V.value === "inventory" ? (i(), c(z, { key: 0 }, [
|
|
1095
|
-
g("div",
|
|
1101
|
+
g("div", ao, [
|
|
1096
1102
|
D(k, {
|
|
1097
1103
|
modelValue: y.value,
|
|
1098
1104
|
"onUpdate:modelValue": d[1] || (d[1] = (M) => y.value = M),
|
|
1099
1105
|
items: L.value
|
|
1100
1106
|
}, null, 8, ["modelValue", "items"]),
|
|
1101
1107
|
D(A, {
|
|
1102
|
-
modelValue:
|
|
1103
|
-
"onUpdate:modelValue": d[2] || (d[2] = (M) =>
|
|
1108
|
+
modelValue: E.value,
|
|
1109
|
+
"onUpdate:modelValue": d[2] || (d[2] = (M) => E.value = M),
|
|
1104
1110
|
class: "flex-1",
|
|
1105
1111
|
placeholder: $(a)("inventory.changelog.searchInventory")
|
|
1106
1112
|
}, null, 8, ["modelValue", "placeholder"]),
|
|
1107
|
-
g("div",
|
|
1108
|
-
g("span",
|
|
1113
|
+
g("div", so, [
|
|
1114
|
+
g("span", lo, _($(a)("inventory.changelog.includeDeleted")), 1),
|
|
1109
1115
|
D(W, {
|
|
1110
1116
|
modelValue: P.value,
|
|
1111
1117
|
"onUpdate:modelValue": d[3] || (d[3] = (M) => P.value = M)
|
|
@@ -1114,12 +1120,12 @@ const fn = {
|
|
|
1114
1120
|
]),
|
|
1115
1121
|
D(ae, {
|
|
1116
1122
|
class: "min-h-0 flex-1",
|
|
1117
|
-
"row-data":
|
|
1118
|
-
"column-defs":
|
|
1119
|
-
"search-value":
|
|
1123
|
+
"row-data": Qe.value,
|
|
1124
|
+
"column-defs": et.value,
|
|
1125
|
+
"search-value": E.value,
|
|
1120
1126
|
loading: de.value,
|
|
1121
1127
|
"page-size": 20,
|
|
1122
|
-
onRowClick: d[4] || (d[4] = (M) =>
|
|
1128
|
+
onRowClick: d[4] || (d[4] = (M) => ot(M.original))
|
|
1123
1129
|
}, null, 8, ["row-data", "column-defs", "search-value", "loading"])
|
|
1124
1130
|
], 64)) : X.value ? (i(), pe(ae, {
|
|
1125
1131
|
key: 1,
|
|
@@ -1128,14 +1134,14 @@ const fn = {
|
|
|
1128
1134
|
"column-defs": Ve.value,
|
|
1129
1135
|
loading: be.value,
|
|
1130
1136
|
"page-size": 20,
|
|
1131
|
-
onRowClick: d[5] || (d[5] = (M) =>
|
|
1137
|
+
onRowClick: d[5] || (d[5] = (M) => rt(M.original))
|
|
1132
1138
|
}, null, 8, ["row-data", "column-defs", "loading"])) : (i(), c(z, { key: 2 }, [
|
|
1133
|
-
g("div",
|
|
1134
|
-
D(
|
|
1139
|
+
g("div", ro, [
|
|
1140
|
+
D(Et, {
|
|
1135
1141
|
modelValue: ve.value,
|
|
1136
1142
|
"onUpdate:modelValue": d[6] || (d[6] = (M) => ve.value = M)
|
|
1137
1143
|
}, null, 8, ["modelValue"]),
|
|
1138
|
-
|
|
1144
|
+
Ne.value ? (i(), c("span", io, _(Ne.value), 1)) : F("", !0)
|
|
1139
1145
|
]),
|
|
1140
1146
|
D(ae, {
|
|
1141
1147
|
class: "min-h-0 flex-1",
|
|
@@ -1143,7 +1149,7 @@ const fn = {
|
|
|
1143
1149
|
"column-defs": Ve.value,
|
|
1144
1150
|
loading: ke.value,
|
|
1145
1151
|
"page-size": 20,
|
|
1146
|
-
onRowClick: d[7] || (d[7] = (M) =>
|
|
1152
|
+
onRowClick: d[7] || (d[7] = (M) => it(M.original))
|
|
1147
1153
|
}, null, 8, ["row-data", "column-defs", "loading"])
|
|
1148
1154
|
], 64))
|
|
1149
1155
|
])
|
|
@@ -1151,106 +1157,106 @@ const fn = {
|
|
|
1151
1157
|
_: 1
|
|
1152
1158
|
}, 8, ["modelValue"]),
|
|
1153
1159
|
D(Ae, {
|
|
1154
|
-
modelValue:
|
|
1155
|
-
"onUpdate:modelValue": d[9] || (d[9] = (M) =>
|
|
1160
|
+
modelValue: j.value,
|
|
1161
|
+
"onUpdate:modelValue": d[9] || (d[9] = (M) => j.value = M),
|
|
1156
1162
|
"close-button": "",
|
|
1157
1163
|
"dismiss-away": "",
|
|
1158
|
-
"min-width":
|
|
1159
|
-
"max-width":
|
|
1164
|
+
"min-width": T.value,
|
|
1165
|
+
"max-width": T.value,
|
|
1160
1166
|
"max-height": "86vh"
|
|
1161
1167
|
}, {
|
|
1162
1168
|
"dialog-header": te(() => [
|
|
1163
|
-
g("div",
|
|
1169
|
+
g("div", uo, _(ut.value), 1)
|
|
1164
1170
|
]),
|
|
1165
1171
|
default: te(() => [
|
|
1166
|
-
D(
|
|
1167
|
-
commits: V.value === "inventory" ?
|
|
1172
|
+
D(Zn, {
|
|
1173
|
+
commits: V.value === "inventory" ? st.value : $(U),
|
|
1168
1174
|
"is-loading": $(oe),
|
|
1169
1175
|
"resolve-name": ee
|
|
1170
1176
|
}, null, 8, ["commits", "is-loading"]),
|
|
1171
|
-
V.value !== "inventory" && $(O) ? (i(), c("div",
|
|
1172
|
-
D(
|
|
1177
|
+
V.value !== "inventory" && $(O) ? (i(), c("div", co, [
|
|
1178
|
+
D(ct, {
|
|
1173
1179
|
label: $(a)("inventory.changelog.loadMore"),
|
|
1174
1180
|
variant: "secondary",
|
|
1175
1181
|
disabled: $(oe),
|
|
1176
|
-
onClick:
|
|
1182
|
+
onClick: C
|
|
1177
1183
|
}, null, 8, ["label", "disabled"])
|
|
1178
|
-
])) :
|
|
1184
|
+
])) : F("", !0)
|
|
1179
1185
|
]),
|
|
1180
1186
|
_: 1
|
|
1181
1187
|
}, 8, ["modelValue", "min-width", "max-width"])
|
|
1182
1188
|
], 64);
|
|
1183
1189
|
};
|
|
1184
1190
|
}
|
|
1185
|
-
}),
|
|
1186
|
-
function
|
|
1191
|
+
}), mo = /* @__PURE__ */ Nt(fo, [["__scopeId", "data-v-ae9bd171"]]), le = 8;
|
|
1192
|
+
function po(o, e) {
|
|
1187
1193
|
return { x: le, y: Math.max(le, e - o - le) };
|
|
1188
1194
|
}
|
|
1189
|
-
const
|
|
1195
|
+
const vo = ["title"], Ke = 48, go = 8, yo = /* @__PURE__ */ ce({
|
|
1190
1196
|
__name: "ChangelogFloatingButton",
|
|
1191
1197
|
setup(o) {
|
|
1192
|
-
const { t: e } = he(), t = ge(), l =
|
|
1193
|
-
var
|
|
1194
|
-
return !!((
|
|
1198
|
+
const { t: e } = he(), t = ge(), l = R(() => {
|
|
1199
|
+
var C;
|
|
1200
|
+
return !!((C = t.sessionUser.value) != null && C.role.isAdmin);
|
|
1195
1201
|
}), s = S(!1), a = S(null);
|
|
1196
1202
|
function u() {
|
|
1197
|
-
var
|
|
1203
|
+
var C, N;
|
|
1198
1204
|
return {
|
|
1199
|
-
width: ((
|
|
1200
|
-
height: ((
|
|
1205
|
+
width: ((C = a.value) == null ? void 0 : C.offsetWidth) ?? Ke,
|
|
1206
|
+
height: ((N = a.value) == null ? void 0 : N.offsetHeight) ?? Ke
|
|
1201
1207
|
};
|
|
1202
1208
|
}
|
|
1203
1209
|
const r = S({ x: 0, y: 0 });
|
|
1204
|
-
function v(
|
|
1205
|
-
return Math.min(Math.max(
|
|
1210
|
+
function v(C, N, G) {
|
|
1211
|
+
return Math.min(Math.max(C, N), G);
|
|
1206
1212
|
}
|
|
1207
1213
|
function m() {
|
|
1208
|
-
const { width:
|
|
1214
|
+
const { width: C, height: N } = u(), G = Math.max(le, window.innerWidth - C - le - go), K = Math.max(le, window.innerHeight - N - le), Q = r.value.x + C / 2;
|
|
1209
1215
|
r.value = {
|
|
1210
1216
|
x: Q < window.innerWidth / 2 ? le : G,
|
|
1211
|
-
y: v(r.value.y, le,
|
|
1217
|
+
y: v(r.value.y, le, K)
|
|
1212
1218
|
};
|
|
1213
1219
|
}
|
|
1214
1220
|
function h() {
|
|
1215
|
-
r.value =
|
|
1221
|
+
r.value = po(u().height, window.innerHeight);
|
|
1216
1222
|
}
|
|
1217
|
-
|
|
1223
|
+
Ee(() => {
|
|
1218
1224
|
h(), window.addEventListener("resize", m), window.addEventListener("orientationchange", m);
|
|
1219
|
-
}),
|
|
1225
|
+
}), pt(() => {
|
|
1220
1226
|
window.removeEventListener("resize", m), window.removeEventListener("orientationchange", m);
|
|
1221
|
-
}), q(l, async (
|
|
1222
|
-
|
|
1227
|
+
}), q(l, async (C) => {
|
|
1228
|
+
C && (await vt(), h());
|
|
1223
1229
|
});
|
|
1224
1230
|
const w = S(!1);
|
|
1225
|
-
let
|
|
1226
|
-
function oe(
|
|
1227
|
-
|
|
1231
|
+
let T = null, U = !1;
|
|
1232
|
+
function oe(C) {
|
|
1233
|
+
T = { x: C.clientX, y: C.clientY, px: r.value.x, py: r.value.y }, w.value = !0, U = !1, C.currentTarget.setPointerCapture(C.pointerId);
|
|
1228
1234
|
}
|
|
1229
|
-
function O(
|
|
1230
|
-
if (!
|
|
1231
|
-
const
|
|
1232
|
-
Math.abs(
|
|
1233
|
-
const { width:
|
|
1235
|
+
function O(C) {
|
|
1236
|
+
if (!T) return;
|
|
1237
|
+
const N = C.clientX - T.x, G = C.clientY - T.y;
|
|
1238
|
+
Math.abs(N) + Math.abs(G) > 3 && (U = !0);
|
|
1239
|
+
const { width: K, height: Q } = u();
|
|
1234
1240
|
r.value = {
|
|
1235
|
-
x: v(
|
|
1236
|
-
y: v(
|
|
1241
|
+
x: v(T.px + N, 0, window.innerWidth - K),
|
|
1242
|
+
y: v(T.py + G, 0, window.innerHeight - Q)
|
|
1237
1243
|
};
|
|
1238
1244
|
}
|
|
1239
1245
|
function I() {
|
|
1240
|
-
|
|
1246
|
+
T = null, w.value = !1, m();
|
|
1241
1247
|
}
|
|
1242
1248
|
function Y() {
|
|
1243
|
-
|
|
1249
|
+
T && (I(), U || (s.value = !0));
|
|
1244
1250
|
}
|
|
1245
|
-
return (
|
|
1251
|
+
return (C, N) => {
|
|
1246
1252
|
const G = H("FmIcon");
|
|
1247
|
-
return i(), pe(
|
|
1253
|
+
return i(), pe(gt, { to: "body" }, [
|
|
1248
1254
|
l.value ? (i(), c(z, { key: 0 }, [
|
|
1249
1255
|
g("div", {
|
|
1250
1256
|
ref_key: "wrapperRef",
|
|
1251
1257
|
ref: a,
|
|
1252
1258
|
class: se(["fixed z-50 cursor-grab touch-none", w.value ? "" : "transition-[left,top] duration-200 ease-out"]),
|
|
1253
|
-
style:
|
|
1259
|
+
style: yt({ left: `${r.value.x}px`, top: `${r.value.y}px` })
|
|
1254
1260
|
}, [
|
|
1255
1261
|
D(Pe, null, {
|
|
1256
1262
|
default: te(() => [
|
|
@@ -1269,47 +1275,47 @@ const po = ["title"], Ge = 48, vo = 8, go = /* @__PURE__ */ ce({
|
|
|
1269
1275
|
outline: ""
|
|
1270
1276
|
}),
|
|
1271
1277
|
g("span", null, _($(e)("inventory.changelog.fabLabel")), 1)
|
|
1272
|
-
], 42,
|
|
1278
|
+
], 42, vo)
|
|
1273
1279
|
]),
|
|
1274
1280
|
_: 1
|
|
1275
1281
|
})
|
|
1276
1282
|
], 6),
|
|
1277
|
-
D(
|
|
1283
|
+
D(mo, {
|
|
1278
1284
|
modelValue: s.value,
|
|
1279
|
-
"onUpdate:modelValue":
|
|
1285
|
+
"onUpdate:modelValue": N[0] || (N[0] = (K) => s.value = K)
|
|
1280
1286
|
}, null, 8, ["modelValue"])
|
|
1281
|
-
], 64)) :
|
|
1287
|
+
], 64)) : F("", !0)
|
|
1282
1288
|
]);
|
|
1283
1289
|
};
|
|
1284
1290
|
}
|
|
1285
|
-
}),
|
|
1291
|
+
}), ho = { class: "flex items-center gap-2" }, _o = { class: "text-xs text-gray-400 font-normal" }, xo = { class: "flex flex-col gap-3" }, bo = { class: "max-h-[480px] flex flex-col gap-1" }, wo = { class: "font-mono text-xs text-gray-700 break-all min-w-0" }, ko = {
|
|
1286
1292
|
key: 0,
|
|
1287
1293
|
class: "inline-flex items-center gap-1 text-xs font-medium text-green-700 bg-green-50 px-2 py-0.5 rounded-full"
|
|
1288
|
-
},
|
|
1294
|
+
}, So = {
|
|
1289
1295
|
key: 1,
|
|
1290
1296
|
class: "inline-flex items-center gap-1 text-xs font-medium text-red-700 bg-red-50 px-2 py-0.5 rounded-full"
|
|
1291
|
-
},
|
|
1297
|
+
}, $o = {
|
|
1292
1298
|
key: 2,
|
|
1293
1299
|
class: "inline-flex items-center gap-1 text-xs font-medium text-gray-500 bg-gray-100 px-2 py-0.5 rounded-full"
|
|
1294
|
-
},
|
|
1300
|
+
}, Lo = {
|
|
1295
1301
|
key: 0,
|
|
1296
1302
|
class: "text-center text-sm text-gray-400 py-4"
|
|
1297
|
-
},
|
|
1303
|
+
}, Co = /* @__PURE__ */ ce({
|
|
1298
1304
|
__name: "FmFeatureFlagDialog",
|
|
1299
1305
|
setup(o) {
|
|
1300
|
-
const e = S(!1), t = S(""), l =
|
|
1301
|
-
const { getFlagValue: u } =
|
|
1302
|
-
return Object.values(
|
|
1306
|
+
const e = S(!1), t = S(""), l = R(() => {
|
|
1307
|
+
const { getFlagValue: u } = Lt();
|
|
1308
|
+
return Object.values(Ct).map((r) => {
|
|
1303
1309
|
const v = u(r, (m) => m === "true");
|
|
1304
1310
|
return {
|
|
1305
1311
|
name: r,
|
|
1306
1312
|
enabled: v
|
|
1307
1313
|
};
|
|
1308
1314
|
});
|
|
1309
|
-
}), s =
|
|
1315
|
+
}), s = R(() => {
|
|
1310
1316
|
const u = t.value.toLowerCase();
|
|
1311
1317
|
return u ? l.value.filter((r) => r.name.toLowerCase().includes(u)) : l.value;
|
|
1312
|
-
}), a =
|
|
1318
|
+
}), a = R(() => {
|
|
1313
1319
|
const u = l.value.filter((m) => m.enabled === !0).length, r = l.value.filter((m) => m.enabled === !1).length, v = l.value.filter((m) => m.enabled === null).length;
|
|
1314
1320
|
return { enabled: u, disabled: r, unknown: v, total: l.value.length };
|
|
1315
1321
|
});
|
|
@@ -1332,9 +1338,9 @@ const po = ["title"], Ge = 48, vo = 8, go = /* @__PURE__ */ ce({
|
|
|
1332
1338
|
})
|
|
1333
1339
|
]),
|
|
1334
1340
|
"dialog-header": te(() => [
|
|
1335
|
-
g("div",
|
|
1341
|
+
g("div", ho, [
|
|
1336
1342
|
r[3] || (r[3] = g("span", null, "Feature Flags", -1)),
|
|
1337
|
-
g("span",
|
|
1343
|
+
g("span", _o, _(a.value.enabled) + " enabled · " + _(a.value.disabled) + " disabled · " + _(a.value.unknown) + " unknown ", 1)
|
|
1338
1344
|
])
|
|
1339
1345
|
]),
|
|
1340
1346
|
"dialog-footer": te(() => [
|
|
@@ -1348,33 +1354,33 @@ const po = ["title"], Ge = 48, vo = 8, go = /* @__PURE__ */ ce({
|
|
|
1348
1354
|
})
|
|
1349
1355
|
]),
|
|
1350
1356
|
default: te(() => [
|
|
1351
|
-
g("div",
|
|
1352
|
-
|
|
1357
|
+
g("div", xo, [
|
|
1358
|
+
ht(g("input", {
|
|
1353
1359
|
"onUpdate:modelValue": r[0] || (r[0] = (w) => t.value = w),
|
|
1354
1360
|
type: "text",
|
|
1355
1361
|
placeholder: "Search flags...",
|
|
1356
1362
|
class: "w-full px-3 py-2 text-sm border border-gray-300 rounded-md focus:outline-none focus:ring-1 focus:ring-blue-500"
|
|
1357
1363
|
}, null, 512), [
|
|
1358
|
-
[
|
|
1364
|
+
[_t, t.value]
|
|
1359
1365
|
]),
|
|
1360
|
-
g("div",
|
|
1366
|
+
g("div", bo, [
|
|
1361
1367
|
(i(!0), c(z, null, ne(s.value, (w) => (i(), c("div", {
|
|
1362
1368
|
key: w.name,
|
|
1363
1369
|
class: "flex items-start justify-between gap-2 px-3 py-2 rounded-md hover:bg-gray-50 text-sm"
|
|
1364
1370
|
}, [
|
|
1365
|
-
g("span",
|
|
1366
|
-
w.enabled === !0 ? (i(), c("span",
|
|
1371
|
+
g("span", wo, _(w.name), 1),
|
|
1372
|
+
w.enabled === !0 ? (i(), c("span", ko, r[4] || (r[4] = [
|
|
1367
1373
|
g("span", { class: "w-1.5 h-1.5 rounded-full bg-green-500" }, null, -1),
|
|
1368
1374
|
re(" Enabled ")
|
|
1369
|
-
]))) : w.enabled === !1 ? (i(), c("span",
|
|
1375
|
+
]))) : w.enabled === !1 ? (i(), c("span", So, r[5] || (r[5] = [
|
|
1370
1376
|
g("span", { class: "w-1.5 h-1.5 rounded-full bg-red-500" }, null, -1),
|
|
1371
1377
|
re(" Disabled ")
|
|
1372
|
-
]))) : (i(), c("span",
|
|
1378
|
+
]))) : (i(), c("span", $o, r[6] || (r[6] = [
|
|
1373
1379
|
g("span", { class: "w-1.5 h-1.5 rounded-full bg-gray-400" }, null, -1),
|
|
1374
1380
|
re(" Unknown ")
|
|
1375
1381
|
])))
|
|
1376
1382
|
]))), 128)),
|
|
1377
|
-
s.value.length === 0 ? (i(), c("div",
|
|
1383
|
+
s.value.length === 0 ? (i(), c("div", Lo, ' No flags matching "' + _(t.value) + '" ', 1)) : F("", !0)
|
|
1378
1384
|
])
|
|
1379
1385
|
])
|
|
1380
1386
|
]),
|
|
@@ -1382,14 +1388,14 @@ const po = ["title"], Ge = 48, vo = 8, go = /* @__PURE__ */ ce({
|
|
|
1382
1388
|
}, 8, ["modelValue"]);
|
|
1383
1389
|
};
|
|
1384
1390
|
}
|
|
1385
|
-
}), Ro = { class: "h-full flex flex-col overflow-auto py-16 gap-2" },
|
|
1391
|
+
}), Ro = { class: "h-full flex flex-col overflow-auto py-16 gap-2" }, Do = /* @__PURE__ */ ce({
|
|
1386
1392
|
__name: "NavigationTab",
|
|
1387
1393
|
setup(o) {
|
|
1388
|
-
const e =
|
|
1394
|
+
const e = St(), t = Fe(), l = ge(), s = Vt(), { menuItems: a } = Je();
|
|
1389
1395
|
q([() => l.currentBusiness.value, () => e.name], ([h, w]) => {
|
|
1390
1396
|
(h == null ? void 0 : h.menuVersion) === "v3" && (w === ue.INGREDIENTS || w === ue.RECIPE || w === ue.UNIT) && t.push({ name: ue.STOCK });
|
|
1391
1397
|
});
|
|
1392
|
-
const u =
|
|
1398
|
+
const u = R({
|
|
1393
1399
|
get() {
|
|
1394
1400
|
if (e.name)
|
|
1395
1401
|
return String(e.name);
|
|
@@ -1397,12 +1403,12 @@ const po = ["title"], Ge = 48, vo = 8, go = /* @__PURE__ */ ce({
|
|
|
1397
1403
|
set(h) {
|
|
1398
1404
|
h && t.push({ name: h });
|
|
1399
1405
|
}
|
|
1400
|
-
}), r =
|
|
1406
|
+
}), r = R(
|
|
1401
1407
|
() => {
|
|
1402
1408
|
var h;
|
|
1403
1409
|
return `NavigationTab.${(h = l.currentBusiness.value) == null ? void 0 : h._id}`;
|
|
1404
1410
|
}
|
|
1405
|
-
), v = S(!1), m =
|
|
1411
|
+
), v = S(!1), m = R({
|
|
1406
1412
|
get() {
|
|
1407
1413
|
return v.value;
|
|
1408
1414
|
},
|
|
@@ -1415,10 +1421,10 @@ const po = ["title"], Ge = 48, vo = 8, go = /* @__PURE__ */ ce({
|
|
|
1415
1421
|
m.value = !s.getItem(r.value);
|
|
1416
1422
|
}, 2e3);
|
|
1417
1423
|
}), (h, w) => {
|
|
1418
|
-
const
|
|
1424
|
+
const T = H("FmCollapsibleTabs");
|
|
1419
1425
|
return i(), c("div", Ro, [
|
|
1420
|
-
D(
|
|
1421
|
-
D(
|
|
1426
|
+
D(Co),
|
|
1427
|
+
D(T, {
|
|
1422
1428
|
modelValue: u.value,
|
|
1423
1429
|
"onUpdate:modelValue": w[0] || (w[0] = (U) => u.value = U),
|
|
1424
1430
|
items: $(a)
|
|
@@ -1436,16 +1442,16 @@ typeof Promise.withResolvers > "u" && (Promise.withResolvers = () => {
|
|
|
1436
1442
|
typeof Promise.prototype.delayed > "u" && (Promise.prototype.delayed = async function(o) {
|
|
1437
1443
|
return await new Promise((e) => setTimeout(e, o)), Promise.resolve(this);
|
|
1438
1444
|
});
|
|
1439
|
-
const
|
|
1445
|
+
const Ho = /* @__PURE__ */ ce({
|
|
1440
1446
|
__name: "App",
|
|
1441
1447
|
setup(o) {
|
|
1442
|
-
const e = ge(), t =
|
|
1443
|
-
|
|
1448
|
+
const e = ge(), t = Bt(), l = kt(), s = window.location.href.includes("print-preview");
|
|
1449
|
+
Ee(() => {
|
|
1444
1450
|
if (window.location.href.includes("print-preview")) {
|
|
1445
1451
|
e.setEmbedded(!0), document.body.classList.add("print-mode");
|
|
1446
1452
|
return;
|
|
1447
1453
|
}
|
|
1448
|
-
e.registerSidebarComponent(
|
|
1454
|
+
e.registerSidebarComponent(Do), t.initGoogleMap(l.appApi.googleMap).catch(() => {
|
|
1449
1455
|
console.error("Google map cannot be loaded");
|
|
1450
1456
|
});
|
|
1451
1457
|
}), q([() => e.currentCountry.value], () => {
|
|
@@ -1460,11 +1466,11 @@ const Ko = /* @__PURE__ */ ce({
|
|
|
1460
1466
|
}
|
|
1461
1467
|
}
|
|
1462
1468
|
return (u, r) => (i(), c(z, null, [
|
|
1463
|
-
D(
|
|
1464
|
-
$(s) ?
|
|
1469
|
+
D(Qt),
|
|
1470
|
+
$(s) ? F("", !0) : (i(), pe(yo, { key: 0 }))
|
|
1465
1471
|
], 64));
|
|
1466
1472
|
}
|
|
1467
1473
|
});
|
|
1468
1474
|
export {
|
|
1469
|
-
|
|
1475
|
+
Ho as default
|
|
1470
1476
|
};
|