@corva/ui 3.75.0-13 → 3.75.0-15
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/cjs-bundle/components/AddComment/Popover.js +1 -1
- package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
- package/cjs-bundle/components/AttachmentPreview/useStoredAttachments.js +1 -1
- package/cjs-bundle/components/AttachmentPreview/useStoredAttachments.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js +1 -1
- package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js.map +1 -1
- package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
- package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
- package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/getCoordinatedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/getCoordinatedWells.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
- package/cjs-bundle/effects/useSignedURL.js +1 -1
- package/cjs-bundle/effects/useSignedURL.js.map +1 -1
- package/cjs-bundle/utils/signedLinkCache.js +2 -0
- package/cjs-bundle/utils/signedLinkCache.js.map +1 -0
- package/components/AddComment/Popover.js +1 -1
- package/components/AddComment/Popover.js.map +1 -1
- package/components/AddComment/components/Content.js +1 -1
- package/components/AddComment/components/Content.js.map +1 -1
- package/components/AttachmentPreview/useStoredAttachments.d.ts.map +1 -1
- package/components/AttachmentPreview/useStoredAttachments.js +1 -1
- package/components/AttachmentPreview/useStoredAttachments.js.map +1 -1
- package/components/BICOffsetPickerDialog/components/Map/Map.d.ts.map +1 -1
- package/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
- package/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
- package/components/BICOffsetPickerDialog/index.js +1 -1
- package/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/components/CommentComposer/useAttachmentUpload.d.ts.map +1 -1
- package/components/CommentComposer/useAttachmentUpload.js +1 -1
- package/components/CommentComposer/useAttachmentUpload.js.map +1 -1
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/components/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
- package/components/OffsetWellMap/OffsetWellMap.js +1 -1
- package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/OffsetWellPickerV2/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/effects/index.js +1 -1
- package/components/OffsetWellPickerV2/effects/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/components/OffsetWellPickerV4/effects/useAdvancedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/utils/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js.map +1 -1
- package/components/OffsetWellPickerV5/utils/getCoordinatedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/utils/getCoordinatedWells.js +1 -1
- package/components/OffsetWellPickerV5/utils/getCoordinatedWells.js.map +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
- package/effects/useSignedURL.d.ts +1 -1
- package/effects/useSignedURL.d.ts.map +1 -1
- package/effects/useSignedURL.js +1 -1
- package/effects/useSignedURL.js.map +1 -1
- package/mcp-server/server.mjs +4 -4
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/utils/__tests__/signedLinkCache.test.d.ts +2 -0
- package/utils/__tests__/signedLinkCache.test.d.ts.map +1 -0
- package/utils/signedLinkCache.d.ts +9 -0
- package/utils/signedLinkCache.d.ts.map +1 -0
- package/utils/signedLinkCache.js +2 -0
- package/utils/signedLinkCache.js.map +1 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),r=require("lodash"),s=require("prop-types"),t=require("@material-ui/core"),o=require("../constants.js"),n=require("../../../../../utils/mobileDetect.js");require("@babel/runtime/helpers/defineProperty"),require("../../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("classnames"),require("../../../../Modal/CorvaModal.scss.js"),require("@icon-park/react/es/all");var i=require("react/jsx-runtime");require("../../../../../icons/IconParkProvider.js"),require("../../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../../icons/customIcons/icons/DragOne.js"),require("../../../../../icons/customIcons/icons/Attention.js"),require("../../../../../icons/customIcons/icons/Collapse.js"),require("../../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../../icons/customIcons/icons/Expand.js"),require("../../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../../icons/customIcons/icons/Search.js"),require("../../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../../icons/customIcons/icons/Radio.js"),require("../../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../../icons/customIcons/icons/InfoRounded.js"),require("../../../../../icons/customIcons/icons/FlameFilled.js"),require("../../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../../icons/customIcons/icons/Pad.js"),require("../../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../../icons/customIcons/icons/Global.js"),require("../../../../../icons/customIcons/icons/Program.js"),require("../../../../../icons/customIcons/icons/Rig.js"),require("../../../../../icons/customIcons/icons/Well.js"),require("../../../../../icons/customIcons/icons/Gap.js"),require("../../../../../icons/customIcons/icons/Pin.js"),require("../../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../../icons/customIcons/icons/Archive.js"),require("../../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../../icons/customIcons/icons/Archived.js"),require("../../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../../icons/customIcons/icons/Lasso.js"),require("../../../../../icons/customIcons/icons/Radius.js"),require("../../../../../icons/customIcons/icons/ErrorOps.js"),require("../../../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../../../icons/customIcons/icons/CriticalOps.js"),require("../../../../../icons/customIcons/icons/Company.js"),require("../../../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../../../icons/customIcons/icons/Connect.js"),require("../../../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../../../icons/customIcons/icons/Feed.js"),require("../../../../../icons/customIcons/icons/Prompt.js"),require("../../../../../icons/customIcons/icons/Companies.js"),require("../../../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../../../icons/customIcons/icons/Key.js"),require("../../../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../../../icons/customIcons/icons/MappingManual.js"),require("../../../../../icons/customIcons/icons/Mapping.js"),require("../../../../../icons/customIcons/icons/Metrics.js"),require("../../../../../icons/customIcons/icons/Drops.js"),require("../../../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../../../icons/customIcons/icons/Template.js"),require("../../../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../../../icons/customIcons/icons/UnitConversion.js"),require("../../../../../icons/customIcons/icons/NPT.js"),require("../../../../../icons/customIcons/icons/GuidedFrac.js"),require("../../../../IconButton/index.js"),require("../../../../../constants/goals.js"),require("../../../../../constants/segment.js"),require("../../../../../constants/alerts.js"),require("../../../../../constants/apps.js");var c=require("../../../../../constants/casing.js");require("../../../../../constants/drillstring.js"),require("../../../../../constants/completion.js"),require("../../../../../constants/appPackages.js"),require("../../../../../constants/notifications.js"),require("../../../../../constants/feed.js"),require("../../../../../constants/bha.js"),require("../../../../../constants/corvaCompanyId.js"),require("../../../../GradientManager/configuration/constants.js"),require("@babel/runtime/helpers/slicedToArray"),require("uuid"),require("../../../../IconMenu/index.js"),require("../../../../StyledMenuItem/index.js"),require("../../../../AppIcon/AppIcon.js"),require("../../../../DevCenter/AppHeader/AppHeader.js"),require("../../../../DevCenter/AppSideBar/AppSideBar.js"),require("../../../../DevCenter/AppsDataProvider/AppsDataProvider.js"),require("../../../../DevCenter/AppContext.js"),require("../../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router-dom"),require("query-string"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../../utils/index.js"),require("@material-ui/icons"),require("../../../../EmptyState/EmptyState.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/styles.js"),require("@material-ui/pickers"),require("@date-io/moment"),require("moment"),require("../../../../../config/theme/index.js"),require("../../../../../hocs/withAssetEditorLockHOC.js"),require("../../../../ErrorBoundary/ErrorBoundary.js"),require("../../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js"),require("../../../../Button/components/Button/index.js"),require("moment-timezone"),require("../../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js"),require("../../../../Button/components/LiveButton/styles.js"),require("../../../../AssetEditorV2/index.js"),require("../../../../AppVersionsSelect/AppVersionsSelect.js"),require("../../../../DisabledSettingsMessage/DisabledSettingsMessage.js"),require("../../../../ConfirmationDialog.js"),require("immutable"),require("../../../../../permissions/PermissionsContext.js"),require("../../../../../permissions/constants/index.js"),require("../../../../../permissions/withPermissionsHOC.js"),require("../../../../../clients/jsonApi/index.js"),require("../../../../../permissions/ProvidePermissions.js"),require("../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants.js"),require("../../../../Annotations/components/AnnotationsList/index.js"),require("../../../../Annotations/components/LastAnnotation/index.js"),require("../../../../Annotations/AnnotationsContext.js"),require("../../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../../componentsV2/Text/Text.js"),require("../../../../../componentsV2/Header/Header.scss.js"),require("../../../../../componentsV2/Tooltip/Tooltip.scss.js"),require("../../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../../../componentsV2/Chip/Chip.js"),require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../../PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../../constants/streamSourceType.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../../componentsV2/utils.js"),require("../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("../../../../../componentsV2/Button/Button.js"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../../componentsV2/Popover/Popover.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../../componentsV2/ButtonIcon/ButtonIcon.js"),require("../../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../../../componentsV2/Menu/Menu.js"),require("../../../../../componentsV2/ModalWindow/ModalWindow.js"),require("../../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../../utils/getSingleAsset.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../../componentsV2/TextInput/TextInput.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../../clients/subscriptions/constants.js"),require("querystring"),require("uuid/v1"),require("../../../../../clients/subscriptions.v1.js"),require("../../../../../clients/subscriptions/subscriptions-client.factory.js"),require("jsona"),require("../../../../../utils/env.js"),require("../../../../StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../../clients/api/apiCore.js"),require("../../../../../clients/constants.js"),require("../../../../../clients/sso/auth0.js"),require("../../../../../clients/sso/oauth2.js"),require("../../../../../clients/api/rateLimiter.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DevCenterAppView/components/ChooseAssetButton.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.scss.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppActions/AppActions.css.js"),require("../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.scss.js"),require("../../../../../componentsV2/Grid/Grid.js"),require("../../../../../componentsV2/Grid/Cell.js"),require("../../../../../componentsV2/PopoverPanel/PopoverPanel.js"),require("../../../../../componentsV2/Radio/Radio.js"),require("../../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../../componentsV2/Checkbox/Checkbox.js"),require("../../../../../componentsV2/TextInputNext/TextInputNext.js"),require("../../../../../componentsV2/TextArea/TextArea.js"),require("../../../../../componentsV2/Label/Label.js"),require("../../../../../componentsV2/TextLink/TextLink.js"),require("../../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../../componentsV2/Avatar/Avatar.js"),require("../../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../../componentsV2/Paper/Paper.js"),require("../../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../../componentsV2/Counter/Counter.js"),require("../../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../../componentsV2/TemplatesControl/Store/utils.js"),require("../../../../../componentsV2/TemplatesControl/types.js"),require("../../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../../componentsV2/Switch/Switch.js"),require("../../../../../componentsV2/Tabs/Tabs.js"),require("../../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("file-extension"),require("image-extensions"),require("video-extensions"),require("../../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../../utils/main.js"),require("../../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../../componentsV2/AppFooter/AppFooter.js"),require("../../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js"),require("highcharts"),require("../../../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js"),require("../../../../../componentsV2/Autocomplete/Autocomplete.js"),require("../../../../../componentsV2/Select/Select.js"),require("../../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../../componentsV2/Slider/constants.js"),require("../../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../../componentsV2/Slider/Slider.scss.js"),require("../../../../../componentsV2/SliderAdvanced/SliderAdvanced.js"),require("react-color"),require("../../../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js"),require("../../../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js"),require("../../../../../componentsV2/ColorPicker/ColorPicker.scss.js"),require("../../../../../componentsV2/ChartHelper/ChartHelper.scss.js"),require("../../../../../componentsV2/Hotkey/Hotkey.js"),require("@tanstack/react-query"),require("../../../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js"),require("../../../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js"),require("../../../../DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.css.js"),require("../../../../Icons/AnnotationIcon.js"),require("../../../../HelpCenter/HelpCenterIcon.js"),require("../../../../DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/RestoreAppSizeButton.css.js"),require("../../../../DevCenter/DevCenterAppContainer/DevCenterAppContainer.scss.js"),require("../../../../Toaster/Toaster.js"),require("../../../../DevCenter/NavigationBar/NavigationBar.js"),require("../../../../DevCenter/SideBar/SideBar.js"),require("../../../../DevCenter/AppSettingsPopover/AppSettingsPopover.js"),require("../../../../DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"),require("../../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"),require("../../../../AssetEditor/index.js"),require("../../../../LoadingIndicator/LoadingIndicator.js"),require("../../../../Typography.js"),require("../../../../RealTimeValuesSidebar/RealTimeSidebar.js"),require("../../../../CollapsableSidebar.js"),require("../../../../DateTimePicker/index.js"),require("../../../../DatePicker/index.js"),require("../../../../SlateFormattedText/SlateFormattedText.js"),require("../../../../SlateFormattedText/RenderElements.js"),require("slate"),require("../../../../ParameterCharts/ParameterCharts.js"),require("../../../../ParameterCharts/AddEditTrack.js"),require("../../../../ChartActionsList/ChartActionsList.js"),require("../../../../CopyToClipboard/CopyToClipboard.js"),require("../../../../AssetEditor/AssetEditorAutocomplete.js"),require("../../../../AssetEditor/SingleAssetEditor.js"),require("../../../../SettingEditors/ColorEditor/style.css.js"),require("../../../../SettingEditors/DropdownEditor/index.js"),require("../../../../SwitchControl/index.js"),require("../../../../ColorPicker/ColorPicker.js"),require("../../../../Chart/components/ChartButton.js"),require("../../../../Chart/components/ChartButtons.js"),require("../../../../Chart/components/ChartWrapper.js"),require("../../../../Chart/components/AxisDropdown.js"),require("../../../../Chart/components/ChartSelect.js"),require("../../../../Chart/ChartWrapperContext.js"),require("../../../../Chart/effects/useChartModifier.js"),require("../../../../Chart/components/buttons/HideAxesButton.js"),require("../../../../Chart/components/buttons/ChartTypeButton.js"),require("../../../../ColorPicker/PaletteChromePicker/PaletteChromePicker.js"),require("../../../../TruncatedText/index.js"),require("../../../../MiddleTruncatedText/MiddleTruncatedText.js"),require("../../../../RangeSlider/constants.js"),require("../../../../RangeSlider/Input.css.js"),require("../../../../RangeSlider/RangeSlider.css.js"),require("../../../../AdvancedSlider/AdvancedSlider.js"),require("../../../../Breadcrumbs/index.js"),require("../../../../VirtualizedTable/index.js"),require("../../../../EmptyView/EmptyView.js"),require("../../../../EmptyView/EmptyAppView/EmptyAppView.js"),require("../../../../ContextMenuItem/index.js"),require("../../../../FolderMenuItem/index.js"),require("../../../../EditableItem/EditableItem/index.js"),require("../../../../EditableItem/EditableItemWithBadge/index.js"),require("../../../../Checkbox/index.js"),require("../../../../FolderMenuItemWithLinks/index.js"),require("../../../../TextField/index.js"),require("../../../../Chip/index.js"),require("../../../../Counter/index.js"),require("../../../../AnchorsList/AnchorsList.js"),require("../../../../Select/index.js"),require("../../../../Select/SelectFilterBy.js"),require("../../../../CustomSelect/index.js"),require("../../../../Tabs/Tabs.js"),require("../../../../Tabs/Tab.js"),require("../../../../ResizableTable/ResizableTable.js"),require("../../../../GradientPicker/GradientPicker.js"),require("@babel/runtime/helpers/classCallCheck"),require("@babel/runtime/helpers/createClass"),require("../../../../GradientManager/GradientPreview/GradientPreview.js"),require("../../../../GradientManager/GradientSelect.scss.js"),require("../../../../GradientManager/GradientManager.styles.js"),require("../../../../Drillstring/BHASchematic.js"),require("../../../../Drillstring/BHATable/index.js"),require("../../../../Drillstring/BHAComponentIcon.js"),require("../../../../Drillstring/BHAComponentDetail/index.js"),require("../../../../Drillstring/BHATileIcon.js"),require("../../../../Drillstring/BHATile/BHATile.js"),require("../../../../Drillstring/BHAList/BHAList.js"),require("../../../../Drillstring/BHAComponentsTable/BHAComponentsTable.js"),require("../../../CasingTable/index.js");var u=require("../../../CasingComponentIcon.js");require("../../../CasingTileIcon.js"),require("../../CasingTableV2.js"),require("../../../CasingTile/CasingTile.js"),require("../../../../WellSummary/WellSummaryItemLabel.js"),require("../../../../WellSummary/WellSummaryItemTitle.js"),require("../../../../WellSummary/WellSummaryItemValue.js"),require("../../../../WellSummary/ActivitySummaryChart.js"),require("../../../../WellSummary/FracWirelineTimeChart.js"),require("../../../../BICOffsetPickerDialog/index.js"),require("../../../../OffsetWellButton/OffsetWellButton.js"),require("../../../../OffsetWellPickerV2/OffsetWellPickerDialog.js"),require("../../../../OffsetWellPickerV3/index.js"),require("../../../../OffsetWellChips/Chip.js"),require("../../../../OffsetWellChips/ChipsContainer.js"),require("../../../../OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js"),require("../../../../OffsetWellMap/OffsetWellMap.js"),require("@material-ui/core/Snackbar"),require("../../../../Notifications/Toast.js"),require("../../../../Notifications/Notifications.scss.js"),require("../../../../TextLink/index.js"),require("../../../../Avatar/index.js"),require("../../../../Template/TemplatePopover/index.js"),require("../../../../Template/TemplateSharingDialog/index.js"),require("../../../../MenuItem/index.js"),require("../../../../MiddleTruncate/MiddleTruncate.js"),require("../../../../PinnableFilters/PinnableFilters.js"),require("../../../../HeaderLayout/HeaderLayout.js"),require("../../../../PadOffsetsPicker/PadOffsetsPicker.js"),require("../../../../PadOffsetsPicker/OffsetAssetChip.js"),require("../../../../PadOffsetsPicker/OffsetAssetsListExpander.js"),require("../../../../PadOffsetsPicker/StagesSelector.js"),require("../../../../PadOffsetsPickerV2/PadOffsetsPickerV2.js"),require("../../../../Table/TableToolbar/TableToolbar.js"),require("../../../../Table/TableContainer/TableContainer.js"),require("../../../../Table/TableCell/TableCell.js"),require("../../../../Table/TablePagination/TablePagination.js"),require("../../../../Table/TablePaginationActions/TablePaginationActions.js"),require("../../../../Tooltip/ScrollableTooltip.js"),require("../../../../PriceInput/PriceInput.js"),require("../../../../LabelsCounter/LabelsCounter.js"),require("../../../../Stepper/Stepper.js"),require("../../../../Stepper/Step/Step.js"),require("../../../../Stepper/StepsWrapper.js"),require("../../../../Comment/CommentIcon/index.js"),require("../../../../FilesLoader/FilesLoader.js"),require("../../../../../componentsV2/FileIcon/icons/ArchiveFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/CSVFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/DocFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/EDMFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/ExcelFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/ImageFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/JsonFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/LasFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/OtherFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/PdfFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/PowerPointFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/TxtFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/UnknownFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/VideoFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/XmlFileIcon.js"),require("../../../../SearchInput/index.js"),require("../../../../FeedItem/FeedItem.js"),require("../../../../FeedItem/FeedItemEditProvider/FeedItemEditProvider.js"),require("../../../../PostInput/PostInput.js"),require("../../../../KeyboardDateTimePicker.js"),require("../../../../AddComment/Popover.js"),require("../../../../AddComment/Popup.js"),require("../../../../StageDesignVActual/ComparisonBar/ComparisonBar.js"),require("../../../../StageDesignVActual/ElementsComparison/ElementsComparison.js"),require("../../../../StageDesignVActual/ComparisonHeader.js"),require("../../../../StageDesignVActual/ComparisonRow.js"),require("../../../../EmbeddedApp/DevCenterEmbeddedApp.js"),require("../../../../EmbeddedApp/EmbeddedApp.js"),require("../../../../Autocomplete/Autocomplete.js"),require("../../../../DocumentViewer/DocumentViewer.js"),require("../../../../ColorPickerPalette/ColorPickerPalette.js"),require("../../../../Search/Search.js"),require("../../../../Search/components/Listbox.js"),require("../../../../Search/components/Paper.js"),require("../../../../Search/components/RecentSearches.js"),require("../../../../Search/components/Groups.js"),require("../../../../Search/components/SelectAllListItem.js"),require("../../../../StatusBadge/index.js"),require("../../../../Attachment/index.js"),require("../../../../EmojiIconButton.js"),require("../../../../FileUploadIconButton.js"),require("../../../../FilePreview/index.js"),require("../../../../FailedFileUploading.js"),require("../../../../UserMention/index.js"),require("../../../../CommentsInfo/index.js"),require("../../../../CommentInput/index.js"),require("../../../../Comment/index.js"),require("../../../../CommentLoader.js"),require("../../../../AssetNameLabel/AssetStatusBadge.js"),require("../../../../AssetEditorV2/components/PrimaryAssetSelect.js"),require("../../../../AssetEditorV2/components/SecondaryAssetSelect.js"),require("../../../../AssetEditorV2/components/SelectItem.js"),require("../../../../AssetEditorV2/components/MultipleAssetsToggle.js"),require("../../../../AssetEditorV2/components/PrimaryAssetSelectV2.js"),require("../../../../EChartsWrapper/EChartsWrapper.js"),require("../../../../AssetsMultipleSelector/AssetsMultipleSelector.js"),require("@material-ui/icons/Close"),require("@material-ui/icons/GetApp"),require("../../../../GoogleDocsViewer/index.js"),require("../../../../NewDocumentViewer/effects/useFileContent.js"),require("../../../../NewDocumentViewer/styles.js"),require("../../../../FilesLoaderV2/styles.js"),require("../../../../FilesDropzone/styles.js"),require("../../../../FilesProcessor/styles.js"),require("../../../../Hint/styles.js"),require("@babel/runtime/helpers/taggedTemplateLiteral"),require("fparser"),require("../../../../Formula/useFormulaStyles.js"),require("../../../../Formula/RootXIcon.js"),require("../../../../Formula/FormulaTextEditor.js"),require("../../../../Formula/CloseSuggestion.js"),require("../../../../Formula/SuggestionsMenu.js"),require("../../../../CommentCard/CommentCard.js"),require("@material-ui/icons/AlternateEmail"),require("../../../../AttachFileButton/AttachFileButton.scss.js"),require("../../../../CommentInputNext/CommentInputNext.js"),require("../../../../UserMention/utils/index.js"),require("react-s3-uploader/s3upload"),require("../../../../CommentComposer/CommentMetaLine.scss.js"),require("../../../../CommentComposer/ChatChannelSelector.scss.js"),require("../../../../CommentComposer/ShareToChatRow.scss.js"),require("../../../../CommentComposer/CommentComposer.scss.js"),require("../../../../AttachmentPreview/AttachmentPreview.js"),require("../../../../AttachmentPreview/AttachmentImage.js"),require("../../../../AttachmentPreview/AttachmentPreview.scss.js"),require("../../../../CommentPin/CommentPin.js"),require("../../../../FeedCard/FeedCard.js"),require("../../../../FeedItemCard/FeedItemCard.js"),require("../../../../NewCommentCursor/NewCommentCursor.js"),require("../../../../LinkedText/LinkedText.js"),require("../../../../FeedItem/feedItemTypes/AlertFeedItem.js"),require("../../../../FeedItem/feedItemTypes/PostFeedItem.js"),require("../../../../FeedItem/feedItemTypes/GeosteeringFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillingOperationalNoteFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillingOperationSummaryFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillingDailyCostFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DocumentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillerMemoFeedItem.js"),require("../../../../FeedItem/feedItemTypes/NptFeedItem.js"),require("../../../../FeedItem/feedItemTypes/SurveyStationFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/LessonsLearnedFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/TracesMemoFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DepthCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionOperationalNoteFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionOperationSummaryFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionDailyCostFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionDocumentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionNptFeedItem.js"),require("../../../../FeedItem/feedItemTypes/StageOverviewFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/WellPlanFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/FluidReportFeedItem.js"),require("../../../../FeedItem/feedItemTypes/BhaFeedItem/BhaFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DvDCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/PCCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/HookloadCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/NptLessonsCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/GenericDataCommentFeedItem.js");var a=require("../../../../Drillstring/BHAComponentsTable/components/shared/CancelButton.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js"),require("../../../../Drillstring/BHAComponentsTable/components/shared/FormatedNumber.js");var p=require("../../../../Drillstring/BHAComponentsTable/components/shared/InputText.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/MoreButton.js");var l=require("../../../../Drillstring/BHAComponentsTable/components/shared/SaveButton.js"),m=require("../../../../Drillstring/BHAComponentsTable/components/shared/SelectField.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/StaticField.js");var d=require("../../../../Drillstring/BHAComponentsTable/components/shared/SharedEditorElements.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js");var q=require("../../../../Drillstring/BHAComponentsTable/components/Suggestions/Suggestions.js"),j=require("../../../../Drillstring/BHAComponentsTable/components/sharedStyles.js");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var I=C(s);function A(s){var C=s.component,I=s.error,A=void 0===I?null:I,g=s.onChange,S=s.onCancel,h=s.onSave,V=s.onUseSuggestion,T=s.columns,F=j.useStyles({isMobile:n.isMobileDetected}),v=n.isMobileDetected?o.CONTAINER_XS/2:o.CONTAINER_XS/T,D=function(e){return A&&A[e]},x=e.useMemo((function(){var e=c.OD_ID_DEP_LIST;return C.outer_diameter?e.filter((function(e){return e.outer_diameter===parseFloat(C.outer_diameter)})):[]}),[C.outer_diameter]);return i.jsxs(t.Grid,{container:!0,spacing:0,className:F.editorContainer,children:[!n.isMobileDetected&&i.jsx(t.Grid,{item:!0,className:F.editorComponentSize,children:i.jsx(u,{component:C})}),i.jsx(t.Grid,{item:!0,className:F.eidtorContentContainer,children:i.jsxs(t.Grid,{container:!0,spacing:2,children:[i.jsx(d.SharedEditorElements,{component:C,getError:D,onChange:g,isCasing:!0}),x.length>0&&i.jsx(q,{data:x,allData:c.OD_ID_DEP_LIST,columns:o.OD_ID_DEP_COLUMNS,displayKeys:["outer_diameter","inner_diameter"],descriptionKeys:["outer_diameter","inner_diameter","linear_weight","number_of_joints","component_length"],onSelect:V,isCasing:!0}),i.jsx(p.InputText,{type:"name",label:"Name",value:C.name,error:D("name"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"number_of_joints",label:"# of Joints",value:C.number_of_joints,error:D("number_of_joints"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"component_length",label:"Component Length",unit:"length",value:C.component_length,error:D("component_length"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"weight",label:"T.Weight",unit:"mass",value:C.weight,error:D("weight"),disabled:!0,xs:v,onChangeField:g}),i.jsx(m.SelectField,{type:"grade",options:c.COMPONENT_GRADES,label:"Grade",value:C.grade,error:D("grade"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"outer_diameter_tooljoint",label:"TJ OD",unit:"shortLength",value:C.outer_diameter_tooljoint,error:D("outer_diameter_tooljoint"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"inner_diameter_tooljoint",label:"TJ ID",unit:"shortLength",value:C.inner_diameter_tooljoint,error:D("inner_diameter_tooljoint"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"length_tooljoint",label:"TJ Length Per Joint",unit:"length",value:C.length_tooljoint,error:D("length_tooljoint"),xs:v,onChangeField:g}),i.jsx(p.InputText,{type:"connection_type",label:"Connection Type",value:C.connection_type,error:D("connection_type"),xs:v,onChangeField:g}),i.jsx(m.SelectField,{type:"class",options:c.COMPONENT_CLASSES,label:"Class",value:C.class,error:D("class"),xs:v,onChangeField:g}),i.jsx(m.SelectField,{type:"material",options:c.COMPONENT_MATERIALS,label:"Material",value:C.material,error:D("material"),xs:v,onChangeField:g})]})}),!n.isMobileDetected&&i.jsxs(t.Grid,{item:!0,className:F.eidtorActionGroup,children:[i.jsx(a.CancelButton,{handleCancel:S}),i.jsx(l.SaveButton,{handleSave:h,disabled:!r.isEmpty(A)})]})]})}A.propTypes={component:I.default.shape({outer_diameter:I.default.number,component_length:I.default.number,name:I.default.string,number_of_joints:I.default.number,weight:I.default.number,connection_type:I.default.string,grade:I.default.string,class:I.default.string,material:I.default.string,outer_diameter_tooljoint:I.default.number,inner_diameter_tooljoint:I.default.number,length_tooljoint:I.default.number}).isRequired,error:I.default.shape({}),onChange:I.default.func.isRequired,onCancel:I.default.func.isRequired,onSave:I.default.func.isRequired,onUseSuggestion:I.default.func.isRequired,columns:I.default.number.isRequired};var g=e.memo(A);module.exports=g;
|
|
1
|
+
"use strict";var e=require("react"),r=require("lodash"),s=require("prop-types"),t=require("@material-ui/core"),o=require("../constants.js"),n=require("../../../../../utils/mobileDetect.js");require("@babel/runtime/helpers/defineProperty"),require("../../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("classnames"),require("../../../../Modal/CorvaModal.scss.js"),require("@icon-park/react/es/all");var i=require("react/jsx-runtime");require("../../../../../icons/IconParkProvider.js"),require("../../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../../icons/customIcons/icons/DragOne.js"),require("../../../../../icons/customIcons/icons/Attention.js"),require("../../../../../icons/customIcons/icons/Collapse.js"),require("../../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../../icons/customIcons/icons/Expand.js"),require("../../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../../icons/customIcons/icons/Search.js"),require("../../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../../icons/customIcons/icons/Radio.js"),require("../../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../../icons/customIcons/icons/InfoRounded.js"),require("../../../../../icons/customIcons/icons/FlameFilled.js"),require("../../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../../icons/customIcons/icons/Pad.js"),require("../../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../../icons/customIcons/icons/Global.js"),require("../../../../../icons/customIcons/icons/Program.js"),require("../../../../../icons/customIcons/icons/Rig.js"),require("../../../../../icons/customIcons/icons/Well.js"),require("../../../../../icons/customIcons/icons/Gap.js"),require("../../../../../icons/customIcons/icons/Pin.js"),require("../../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../../icons/customIcons/icons/Archive.js"),require("../../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../../icons/customIcons/icons/Archived.js"),require("../../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../../icons/customIcons/icons/Lasso.js"),require("../../../../../icons/customIcons/icons/Radius.js"),require("../../../../../icons/customIcons/icons/ErrorOps.js"),require("../../../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../../../icons/customIcons/icons/CriticalOps.js"),require("../../../../../icons/customIcons/icons/Company.js"),require("../../../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../../../icons/customIcons/icons/Connect.js"),require("../../../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../../../icons/customIcons/icons/Feed.js"),require("../../../../../icons/customIcons/icons/Prompt.js"),require("../../../../../icons/customIcons/icons/Companies.js"),require("../../../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../../../icons/customIcons/icons/Key.js"),require("../../../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../../../icons/customIcons/icons/MappingManual.js"),require("../../../../../icons/customIcons/icons/Mapping.js"),require("../../../../../icons/customIcons/icons/Metrics.js"),require("../../../../../icons/customIcons/icons/Drops.js"),require("../../../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../../../icons/customIcons/icons/Template.js"),require("../../../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../../../icons/customIcons/icons/UnitConversion.js"),require("../../../../../icons/customIcons/icons/NPT.js"),require("../../../../../icons/customIcons/icons/GuidedFrac.js"),require("../../../../IconButton/index.js"),require("../../../../../constants/goals.js"),require("../../../../../constants/segment.js"),require("../../../../../constants/alerts.js"),require("../../../../../constants/apps.js");var c=require("../../../../../constants/casing.js");require("../../../../../constants/drillstring.js"),require("../../../../../constants/completion.js"),require("../../../../../constants/appPackages.js"),require("../../../../../constants/notifications.js"),require("../../../../../constants/feed.js"),require("../../../../../constants/bha.js"),require("../../../../../constants/corvaCompanyId.js"),require("../../../../GradientManager/configuration/constants.js"),require("@babel/runtime/helpers/slicedToArray"),require("uuid"),require("../../../../IconMenu/index.js"),require("../../../../StyledMenuItem/index.js"),require("../../../../AppIcon/AppIcon.js"),require("../../../../DevCenter/AppHeader/AppHeader.js"),require("../../../../DevCenter/AppSideBar/AppSideBar.js"),require("../../../../DevCenter/AppsDataProvider/AppsDataProvider.js"),require("../../../../DevCenter/AppContext.js"),require("../../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router-dom"),require("query-string"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../../utils/index.js"),require("@material-ui/icons"),require("../../../../EmptyState/EmptyState.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/styles.js"),require("@material-ui/pickers"),require("@date-io/moment"),require("moment"),require("../../../../../config/theme/index.js"),require("../../../../../hocs/withAssetEditorLockHOC.js"),require("../../../../ErrorBoundary/ErrorBoundary.js"),require("../../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js"),require("../../../../Button/components/Button/index.js"),require("moment-timezone"),require("../../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js"),require("../../../../Button/components/LiveButton/styles.js"),require("../../../../AssetEditorV2/index.js"),require("../../../../AppVersionsSelect/AppVersionsSelect.js"),require("../../../../DisabledSettingsMessage/DisabledSettingsMessage.js"),require("../../../../ConfirmationDialog.js"),require("immutable"),require("../../../../../permissions/PermissionsContext.js"),require("../../../../../permissions/constants/index.js"),require("../../../../../permissions/withPermissionsHOC.js"),require("../../../../../clients/jsonApi/index.js"),require("../../../../../permissions/ProvidePermissions.js"),require("../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants.js"),require("../../../../Annotations/components/AnnotationsList/index.js"),require("../../../../Annotations/components/LastAnnotation/index.js"),require("../../../../Annotations/AnnotationsContext.js"),require("../../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../../componentsV2/Text/Text.js"),require("../../../../../componentsV2/Header/Header.scss.js"),require("../../../../../componentsV2/Tooltip/Tooltip.scss.js"),require("../../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../../../componentsV2/Chip/Chip.js"),require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../../PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../../constants/streamSourceType.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../../componentsV2/utils.js"),require("../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("../../../../../componentsV2/Button/Button.js"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../../componentsV2/Popover/Popover.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../../componentsV2/ButtonIcon/ButtonIcon.js"),require("../../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../../../componentsV2/Menu/Menu.js"),require("../../../../../componentsV2/ModalWindow/ModalWindow.js"),require("../../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../../utils/getSingleAsset.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../../componentsV2/TextInput/TextInput.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../../clients/subscriptions/constants.js"),require("querystring"),require("uuid/v1"),require("../../../../../clients/subscriptions.v1.js"),require("../../../../../clients/subscriptions/subscriptions-client.factory.js"),require("jsona"),require("../../../../../utils/env.js"),require("../../../../StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../../clients/api/apiCore.js"),require("../../../../../clients/constants.js"),require("../../../../../clients/sso/auth0.js"),require("../../../../../clients/sso/oauth2.js"),require("../../../../../clients/api/rateLimiter.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DevCenterAppView/components/ChooseAssetButton.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.scss.js"),require("../../../../DevCenter/DevCenterAppContainer/components/AppActions/AppActions.css.js"),require("../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.scss.js"),require("../../../../../componentsV2/Grid/Grid.js"),require("../../../../../componentsV2/Grid/Cell.js"),require("../../../../../componentsV2/PopoverPanel/PopoverPanel.js"),require("../../../../../componentsV2/Radio/Radio.js"),require("../../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../../componentsV2/Checkbox/Checkbox.js"),require("../../../../../componentsV2/TextInputNext/TextInputNext.js"),require("../../../../../componentsV2/TextArea/TextArea.js"),require("../../../../../componentsV2/Label/Label.js"),require("../../../../../componentsV2/TextLink/TextLink.js"),require("../../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../../componentsV2/Avatar/Avatar.js"),require("../../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../../componentsV2/Paper/Paper.js"),require("../../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../../componentsV2/Counter/Counter.js"),require("../../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../../componentsV2/TemplatesControl/Store/utils.js"),require("../../../../../componentsV2/TemplatesControl/types.js"),require("../../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../../componentsV2/Switch/Switch.js"),require("../../../../../componentsV2/Tabs/Tabs.js"),require("../../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("file-extension"),require("image-extensions"),require("video-extensions"),require("../../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../../utils/main.js"),require("../../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../../componentsV2/AppFooter/AppFooter.js"),require("../../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js"),require("highcharts"),require("../../../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js"),require("../../../../../componentsV2/Autocomplete/Autocomplete.js"),require("../../../../../componentsV2/Select/Select.js"),require("../../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../../componentsV2/Slider/constants.js"),require("../../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../../componentsV2/Slider/Slider.scss.js"),require("../../../../../componentsV2/SliderAdvanced/SliderAdvanced.js"),require("react-color"),require("../../../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js"),require("../../../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js"),require("../../../../../componentsV2/ColorPicker/ColorPicker.scss.js"),require("../../../../../componentsV2/ChartHelper/ChartHelper.scss.js"),require("../../../../../componentsV2/Hotkey/Hotkey.js"),require("@tanstack/react-query"),require("../../../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js"),require("../../../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js"),require("../../../../DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.css.js"),require("../../../../Icons/AnnotationIcon.js"),require("../../../../HelpCenter/HelpCenterIcon.js"),require("../../../../DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/RestoreAppSizeButton.css.js"),require("../../../../DevCenter/DevCenterAppContainer/DevCenterAppContainer.scss.js"),require("../../../../Toaster/Toaster.js"),require("../../../../DevCenter/NavigationBar/NavigationBar.js"),require("../../../../DevCenter/SideBar/SideBar.js"),require("../../../../DevCenter/AppSettingsPopover/AppSettingsPopover.js"),require("../../../../DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"),require("../../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"),require("../../../../AssetEditor/index.js"),require("../../../../LoadingIndicator/LoadingIndicator.js"),require("../../../../Typography.js"),require("../../../../RealTimeValuesSidebar/RealTimeSidebar.js"),require("../../../../CollapsableSidebar.js"),require("../../../../DateTimePicker/index.js"),require("../../../../DatePicker/index.js"),require("../../../../SlateFormattedText/SlateFormattedText.js"),require("../../../../SlateFormattedText/RenderElements.js"),require("slate"),require("../../../../ParameterCharts/ParameterCharts.js"),require("../../../../ParameterCharts/AddEditTrack.js"),require("../../../../ChartActionsList/ChartActionsList.js"),require("../../../../CopyToClipboard/CopyToClipboard.js"),require("../../../../AssetEditor/AssetEditorAutocomplete.js"),require("../../../../AssetEditor/SingleAssetEditor.js"),require("../../../../SettingEditors/ColorEditor/style.css.js"),require("../../../../SettingEditors/DropdownEditor/index.js"),require("../../../../SwitchControl/index.js"),require("../../../../ColorPicker/ColorPicker.js"),require("../../../../Chart/components/ChartButton.js"),require("../../../../Chart/components/ChartButtons.js"),require("../../../../Chart/components/ChartWrapper.js"),require("../../../../Chart/components/AxisDropdown.js"),require("../../../../Chart/components/ChartSelect.js"),require("../../../../Chart/ChartWrapperContext.js"),require("../../../../Chart/effects/useChartModifier.js"),require("../../../../Chart/components/buttons/HideAxesButton.js"),require("../../../../Chart/components/buttons/ChartTypeButton.js"),require("../../../../ColorPicker/PaletteChromePicker/PaletteChromePicker.js"),require("../../../../TruncatedText/index.js"),require("../../../../MiddleTruncatedText/MiddleTruncatedText.js"),require("../../../../RangeSlider/constants.js"),require("../../../../RangeSlider/Input.css.js"),require("../../../../RangeSlider/RangeSlider.css.js"),require("../../../../AdvancedSlider/AdvancedSlider.js"),require("../../../../Breadcrumbs/index.js"),require("../../../../VirtualizedTable/index.js"),require("../../../../EmptyView/EmptyView.js"),require("../../../../EmptyView/EmptyAppView/EmptyAppView.js"),require("../../../../ContextMenuItem/index.js"),require("../../../../FolderMenuItem/index.js"),require("../../../../EditableItem/EditableItem/index.js"),require("../../../../EditableItem/EditableItemWithBadge/index.js"),require("../../../../Checkbox/index.js"),require("../../../../FolderMenuItemWithLinks/index.js"),require("../../../../TextField/index.js"),require("../../../../Chip/index.js"),require("../../../../Counter/index.js"),require("../../../../AnchorsList/AnchorsList.js"),require("../../../../Select/index.js"),require("../../../../Select/SelectFilterBy.js"),require("../../../../CustomSelect/index.js"),require("../../../../Tabs/Tabs.js"),require("../../../../Tabs/Tab.js"),require("../../../../ResizableTable/ResizableTable.js"),require("../../../../GradientPicker/GradientPicker.js"),require("@babel/runtime/helpers/classCallCheck"),require("@babel/runtime/helpers/createClass"),require("../../../../GradientManager/GradientPreview/GradientPreview.js"),require("../../../../GradientManager/GradientSelect.scss.js"),require("../../../../GradientManager/GradientManager.styles.js"),require("../../../../Drillstring/BHASchematic.js"),require("../../../../Drillstring/BHATable/index.js"),require("../../../../Drillstring/BHAComponentIcon.js"),require("../../../../Drillstring/BHAComponentDetail/index.js"),require("../../../../Drillstring/BHATileIcon.js"),require("../../../../Drillstring/BHATile/BHATile.js"),require("../../../../Drillstring/BHAList/BHAList.js"),require("../../../../Drillstring/BHAComponentsTable/BHAComponentsTable.js"),require("../../../CasingTable/index.js");var u=require("../../../CasingComponentIcon.js");require("../../../CasingTileIcon.js"),require("../../CasingTableV2.js"),require("../../../CasingTile/CasingTile.js"),require("../../../../WellSummary/WellSummaryItemLabel.js"),require("../../../../WellSummary/WellSummaryItemTitle.js"),require("../../../../WellSummary/WellSummaryItemValue.js"),require("../../../../WellSummary/ActivitySummaryChart.js"),require("../../../../WellSummary/FracWirelineTimeChart.js"),require("../../../../BICOffsetPickerDialog/index.js"),require("../../../../OffsetWellButton/OffsetWellButton.js"),require("../../../../OffsetWellPickerV2/OffsetWellPickerDialog.js"),require("../../../../OffsetWellPickerV3/index.js"),require("../../../../OffsetWellChips/Chip.js"),require("../../../../OffsetWellChips/ChipsContainer.js"),require("../../../../OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js"),require("mapbox-gl/dist/mapbox-gl.css"),require("@material-ui/icons/Info"),require("@material-ui/icons/Block"),require("../../../../OffsetWellMap/WellTooltip.module.css.js"),require("../../../../OffsetWellMap/OffsetWellMap.module.css.js"),require("../../../../../config/mapboxGl/index.js"),require("../../../../../config/mapbox/index.js"),require("react-dom"),require("@material-ui/core/Snackbar"),require("../../../../Notifications/Toast.js"),require("../../../../Notifications/Notifications.scss.js"),require("../../../../TextLink/index.js"),require("../../../../Avatar/index.js"),require("../../../../Template/TemplatePopover/index.js"),require("../../../../Template/TemplateSharingDialog/index.js"),require("../../../../MenuItem/index.js"),require("../../../../MiddleTruncate/MiddleTruncate.js"),require("../../../../PinnableFilters/PinnableFilters.js"),require("../../../../HeaderLayout/HeaderLayout.js"),require("../../../../PadOffsetsPicker/PadOffsetsPicker.js"),require("../../../../PadOffsetsPicker/OffsetAssetChip.js"),require("../../../../PadOffsetsPicker/OffsetAssetsListExpander.js"),require("../../../../PadOffsetsPicker/StagesSelector.js"),require("../../../../PadOffsetsPickerV2/PadOffsetsPickerV2.js"),require("../../../../Table/TableToolbar/TableToolbar.js"),require("../../../../Table/TableContainer/TableContainer.js"),require("../../../../Table/TableCell/TableCell.js"),require("../../../../Table/TablePagination/TablePagination.js"),require("../../../../Table/TablePaginationActions/TablePaginationActions.js"),require("../../../../Tooltip/ScrollableTooltip.js"),require("../../../../PriceInput/PriceInput.js"),require("../../../../LabelsCounter/LabelsCounter.js"),require("../../../../Stepper/Stepper.js"),require("../../../../Stepper/Step/Step.js"),require("../../../../Stepper/StepsWrapper.js"),require("../../../../Comment/CommentIcon/index.js"),require("../../../../FilesLoader/FilesLoader.js"),require("../../../../../componentsV2/FileIcon/icons/ArchiveFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/CSVFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/DocFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/EDMFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/ExcelFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/ImageFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/JsonFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/LasFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/OtherFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/PdfFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/PowerPointFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/TxtFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/UnknownFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/VideoFileIcon.js"),require("../../../../../componentsV2/FileIcon/icons/XmlFileIcon.js"),require("../../../../SearchInput/index.js"),require("../../../../FeedItem/FeedItem.js"),require("../../../../FeedItem/FeedItemEditProvider/FeedItemEditProvider.js"),require("../../../../PostInput/PostInput.js"),require("../../../../KeyboardDateTimePicker.js"),require("../../../../AddComment/Popover.js"),require("../../../../AddComment/Popup.js"),require("../../../../StageDesignVActual/ComparisonBar/ComparisonBar.js"),require("../../../../StageDesignVActual/ElementsComparison/ElementsComparison.js"),require("../../../../StageDesignVActual/ComparisonHeader.js"),require("../../../../StageDesignVActual/ComparisonRow.js"),require("../../../../EmbeddedApp/DevCenterEmbeddedApp.js"),require("../../../../EmbeddedApp/EmbeddedApp.js"),require("../../../../Autocomplete/Autocomplete.js"),require("../../../../DocumentViewer/DocumentViewer.js"),require("../../../../ColorPickerPalette/ColorPickerPalette.js"),require("../../../../Search/Search.js"),require("../../../../Search/components/Listbox.js"),require("../../../../Search/components/Paper.js"),require("../../../../Search/components/RecentSearches.js"),require("../../../../Search/components/Groups.js"),require("../../../../Search/components/SelectAllListItem.js"),require("../../../../StatusBadge/index.js"),require("../../../../Attachment/index.js"),require("../../../../EmojiIconButton.js"),require("../../../../FileUploadIconButton.js"),require("../../../../FilePreview/index.js"),require("../../../../FailedFileUploading.js"),require("../../../../UserMention/index.js"),require("../../../../CommentsInfo/index.js"),require("../../../../CommentInput/index.js"),require("../../../../Comment/index.js"),require("../../../../CommentLoader.js"),require("../../../../AssetNameLabel/AssetStatusBadge.js"),require("../../../../AssetEditorV2/components/PrimaryAssetSelect.js"),require("../../../../AssetEditorV2/components/SecondaryAssetSelect.js"),require("../../../../AssetEditorV2/components/SelectItem.js"),require("../../../../AssetEditorV2/components/MultipleAssetsToggle.js"),require("../../../../AssetEditorV2/components/PrimaryAssetSelectV2.js"),require("../../../../EChartsWrapper/EChartsWrapper.js"),require("../../../../AssetsMultipleSelector/AssetsMultipleSelector.js"),require("@material-ui/icons/Close"),require("@material-ui/icons/GetApp"),require("../../../../GoogleDocsViewer/index.js"),require("../../../../NewDocumentViewer/effects/useFileContent.js"),require("../../../../NewDocumentViewer/styles.js"),require("../../../../FilesLoaderV2/styles.js"),require("../../../../FilesDropzone/styles.js"),require("../../../../FilesProcessor/styles.js"),require("../../../../Hint/styles.js"),require("@babel/runtime/helpers/taggedTemplateLiteral"),require("fparser"),require("../../../../Formula/useFormulaStyles.js"),require("../../../../Formula/RootXIcon.js"),require("../../../../Formula/FormulaTextEditor.js"),require("../../../../Formula/CloseSuggestion.js"),require("../../../../Formula/SuggestionsMenu.js"),require("../../../../CommentCard/CommentCard.js"),require("@material-ui/icons/AlternateEmail"),require("../../../../AttachFileButton/AttachFileButton.scss.js"),require("../../../../CommentInputNext/CommentInputNext.js"),require("../../../../UserMention/utils/index.js"),require("react-s3-uploader/s3upload"),require("../../../../CommentComposer/CommentMetaLine.scss.js"),require("../../../../CommentComposer/ChatChannelSelector.scss.js"),require("../../../../CommentComposer/ShareToChatRow.scss.js"),require("../../../../CommentComposer/CommentComposer.scss.js"),require("../../../../AttachmentPreview/AttachmentPreview.js"),require("../../../../AttachmentPreview/AttachmentImage.js"),require("../../../../AttachmentPreview/AttachmentPreview.scss.js"),require("../../../../CommentPin/CommentPin.js"),require("../../../../FeedCard/FeedCard.js"),require("../../../../FeedItemCard/FeedItemCard.js"),require("../../../../NewCommentCursor/NewCommentCursor.js"),require("../../../../LinkedText/LinkedText.js"),require("../../../../FeedItem/feedItemTypes/AlertFeedItem.js"),require("../../../../FeedItem/feedItemTypes/PostFeedItem.js"),require("../../../../FeedItem/feedItemTypes/GeosteeringFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillingOperationalNoteFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillingOperationSummaryFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillingDailyCostFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DocumentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DrillerMemoFeedItem.js"),require("../../../../FeedItem/feedItemTypes/NptFeedItem.js"),require("../../../../FeedItem/feedItemTypes/SurveyStationFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/LessonsLearnedFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/TracesMemoFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DepthCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionOperationalNoteFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionOperationSummaryFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionDailyCostFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionDocumentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/CompletionNptFeedItem.js"),require("../../../../FeedItem/feedItemTypes/StageOverviewFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/WellPlanFeedItem/index.js"),require("../../../../FeedItem/feedItemTypes/FluidReportFeedItem.js"),require("../../../../FeedItem/feedItemTypes/BhaFeedItem/BhaFeedItem.js"),require("../../../../FeedItem/feedItemTypes/DvDCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/PCCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/HookloadCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/NptLessonsCommentFeedItem.js"),require("../../../../FeedItem/feedItemTypes/GenericDataCommentFeedItem.js");var a=require("../../../../Drillstring/BHAComponentsTable/components/shared/CancelButton.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js"),require("../../../../Drillstring/BHAComponentsTable/components/shared/FormatedNumber.js");var p=require("../../../../Drillstring/BHAComponentsTable/components/shared/InputText.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/MoreButton.js");var l=require("../../../../Drillstring/BHAComponentsTable/components/shared/SaveButton.js"),m=require("../../../../Drillstring/BHAComponentsTable/components/shared/SelectField.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/StaticField.js");var d=require("../../../../Drillstring/BHAComponentsTable/components/shared/SharedEditorElements.js");require("../../../../Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js");var q=require("../../../../Drillstring/BHAComponentsTable/components/Suggestions/Suggestions.js"),j=require("../../../../Drillstring/BHAComponentsTable/components/sharedStyles.js");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var I=C(s);function A(s){var C=s.component,I=s.error,A=void 0===I?null:I,g=s.onChange,S=s.onCancel,h=s.onSave,V=s.onUseSuggestion,T=s.columns,F=j.useStyles({isMobile:n.isMobileDetected}),x=n.isMobileDetected?o.CONTAINER_XS/2:o.CONTAINER_XS/T,v=function(e){return A&&A[e]},D=e.useMemo((function(){var e=c.OD_ID_DEP_LIST;return C.outer_diameter?e.filter((function(e){return e.outer_diameter===parseFloat(C.outer_diameter)})):[]}),[C.outer_diameter]);return i.jsxs(t.Grid,{container:!0,spacing:0,className:F.editorContainer,children:[!n.isMobileDetected&&i.jsx(t.Grid,{item:!0,className:F.editorComponentSize,children:i.jsx(u,{component:C})}),i.jsx(t.Grid,{item:!0,className:F.eidtorContentContainer,children:i.jsxs(t.Grid,{container:!0,spacing:2,children:[i.jsx(d.SharedEditorElements,{component:C,getError:v,onChange:g,isCasing:!0}),D.length>0&&i.jsx(q,{data:D,allData:c.OD_ID_DEP_LIST,columns:o.OD_ID_DEP_COLUMNS,displayKeys:["outer_diameter","inner_diameter"],descriptionKeys:["outer_diameter","inner_diameter","linear_weight","number_of_joints","component_length"],onSelect:V,isCasing:!0}),i.jsx(p.InputText,{type:"name",label:"Name",value:C.name,error:v("name"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"number_of_joints",label:"# of Joints",value:C.number_of_joints,error:v("number_of_joints"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"component_length",label:"Component Length",unit:"length",value:C.component_length,error:v("component_length"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"weight",label:"T.Weight",unit:"mass",value:C.weight,error:v("weight"),disabled:!0,xs:x,onChangeField:g}),i.jsx(m.SelectField,{type:"grade",options:c.COMPONENT_GRADES,label:"Grade",value:C.grade,error:v("grade"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"outer_diameter_tooljoint",label:"TJ OD",unit:"shortLength",value:C.outer_diameter_tooljoint,error:v("outer_diameter_tooljoint"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"inner_diameter_tooljoint",label:"TJ ID",unit:"shortLength",value:C.inner_diameter_tooljoint,error:v("inner_diameter_tooljoint"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"length_tooljoint",label:"TJ Length Per Joint",unit:"length",value:C.length_tooljoint,error:v("length_tooljoint"),xs:x,onChangeField:g}),i.jsx(p.InputText,{type:"connection_type",label:"Connection Type",value:C.connection_type,error:v("connection_type"),xs:x,onChangeField:g}),i.jsx(m.SelectField,{type:"class",options:c.COMPONENT_CLASSES,label:"Class",value:C.class,error:v("class"),xs:x,onChangeField:g}),i.jsx(m.SelectField,{type:"material",options:c.COMPONENT_MATERIALS,label:"Material",value:C.material,error:v("material"),xs:x,onChangeField:g})]})}),!n.isMobileDetected&&i.jsxs(t.Grid,{item:!0,className:F.eidtorActionGroup,children:[i.jsx(a.CancelButton,{handleCancel:S}),i.jsx(l.SaveButton,{handleSave:h,disabled:!r.isEmpty(A)})]})]})}A.propTypes={component:I.default.shape({outer_diameter:I.default.number,component_length:I.default.number,name:I.default.string,number_of_joints:I.default.number,weight:I.default.number,connection_type:I.default.string,grade:I.default.string,class:I.default.string,material:I.default.string,outer_diameter_tooljoint:I.default.number,inner_diameter_tooljoint:I.default.number,length_tooljoint:I.default.number}).isRequired,error:I.default.shape({}),onChange:I.default.func.isRequired,onCancel:I.default.func.isRequired,onSave:I.default.func.isRequired,onUseSuggestion:I.default.func.isRequired,columns:I.default.number.isRequired};var g=e.memo(A);module.exports=g;
|
|
2
2
|
//# sourceMappingURL=Editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editor.js","sources":["../../../../../../../src/components/Casing/CasingTableV2/components/DrillPipe/Editor.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport { isEmpty } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@material-ui/core';\n\nimport { CONTAINER_XS, OD_ID_DEP_COLUMNS } from '../constants';\n\nimport { isMobileDetected } from '~/utils/mobileDetect';\nimport { CasingComponentIcon as ComponentIcon } from '~/components';\nimport {\n COMPONENT_GRADES,\n COMPONENT_CLASSES,\n COMPONENT_MATERIALS,\n OD_ID_DEP_LIST,\n} from '~/constants/casing';\nimport {\n InputText,\n SelectField,\n CancelButton,\n SaveButton,\n SharedEditorElements,\n} from '~/components/Drillstring/BHAComponentsTable/components/shared';\nimport { Suggestions } from '~/components/Drillstring/BHAComponentsTable/components/Suggestions';\nimport { useStyles } from '~/components/Drillstring/BHAComponentsTable/components/sharedStyles';\n\nfunction DrillPipe({\n component,\n error = null,\n onChange,\n onCancel,\n onSave,\n onUseSuggestion,\n columns,\n}) {\n const classes = useStyles({ isMobile: isMobileDetected });\n const xs = isMobileDetected ? CONTAINER_XS / 2 : CONTAINER_XS / columns;\n\n const getError = key => error && error[key];\n\n const filteredSuggestions = useMemo(() => {\n const suggestionsToUse = OD_ID_DEP_LIST;\n return !component.outer_diameter\n ? []\n : suggestionsToUse.filter(\n item => item.outer_diameter === parseFloat(component.outer_diameter)\n );\n }, [component.outer_diameter]);\n\n return (\n <Grid container spacing={0} className={classes.editorContainer}>\n {!isMobileDetected && (\n <Grid item className={classes.editorComponentSize}>\n <ComponentIcon component={component} />\n </Grid>\n )}\n <Grid item className={classes.eidtorContentContainer}>\n <Grid container spacing={2}>\n <SharedEditorElements\n component={component}\n getError={getError}\n onChange={onChange}\n isCasing\n />\n\n {filteredSuggestions.length > 0 && (\n <Suggestions\n data={filteredSuggestions}\n allData={OD_ID_DEP_LIST}\n columns={OD_ID_DEP_COLUMNS}\n displayKeys={['outer_diameter', 'inner_diameter']}\n descriptionKeys={[\n 'outer_diameter',\n 'inner_diameter',\n 'linear_weight',\n 'number_of_joints',\n 'component_length',\n ]}\n onSelect={onUseSuggestion}\n isCasing\n />\n )}\n\n <InputText\n type=\"name\"\n label=\"Name\"\n value={component.name}\n error={getError('name')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"number_of_joints\"\n label=\"# of Joints\"\n value={component.number_of_joints}\n error={getError('number_of_joints')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"component_length\"\n label=\"Component Length\"\n unit=\"length\"\n value={component.component_length}\n error={getError('component_length')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"weight\"\n label=\"T.Weight\"\n unit=\"mass\"\n value={component.weight}\n error={getError('weight')}\n disabled\n xs={xs}\n onChangeField={onChange}\n />\n <SelectField\n type=\"grade\"\n options={COMPONENT_GRADES}\n label=\"Grade\"\n value={component.grade}\n error={getError('grade')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"outer_diameter_tooljoint\"\n label=\"TJ OD\"\n unit=\"shortLength\"\n value={component.outer_diameter_tooljoint}\n error={getError('outer_diameter_tooljoint')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"inner_diameter_tooljoint\"\n label=\"TJ ID\"\n unit=\"shortLength\"\n value={component.inner_diameter_tooljoint}\n error={getError('inner_diameter_tooljoint')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"length_tooljoint\"\n label=\"TJ Length Per Joint\"\n unit=\"length\"\n value={component.length_tooljoint}\n error={getError('length_tooljoint')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"connection_type\"\n label=\"Connection Type\"\n value={component.connection_type}\n error={getError('connection_type')}\n xs={xs}\n onChangeField={onChange}\n />\n <SelectField\n type=\"class\"\n options={COMPONENT_CLASSES}\n label=\"Class\"\n value={component.class}\n error={getError('class')}\n xs={xs}\n onChangeField={onChange}\n />\n <SelectField\n type=\"material\"\n options={COMPONENT_MATERIALS}\n label=\"Material\"\n value={component.material}\n error={getError('material')}\n xs={xs}\n onChangeField={onChange}\n />\n </Grid>\n </Grid>\n {!isMobileDetected && (\n <Grid item className={classes.eidtorActionGroup}>\n <CancelButton handleCancel={onCancel} />\n <SaveButton handleSave={onSave} disabled={!isEmpty(error)} />\n </Grid>\n )}\n </Grid>\n );\n}\n\nDrillPipe.propTypes = {\n component: PropTypes.shape({\n outer_diameter: PropTypes.number,\n component_length: PropTypes.number,\n name: PropTypes.string,\n number_of_joints: PropTypes.number,\n weight: PropTypes.number,\n connection_type: PropTypes.string,\n grade: PropTypes.string,\n class: PropTypes.string,\n material: PropTypes.string,\n outer_diameter_tooljoint: PropTypes.number,\n inner_diameter_tooljoint: PropTypes.number,\n length_tooljoint: PropTypes.number,\n }).isRequired,\n error: PropTypes.shape({}),\n onChange: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n onUseSuggestion: PropTypes.func.isRequired,\n columns: PropTypes.number.isRequired,\n};\n\nexport default memo(DrillPipe);\n"],"names":["DrillPipe","_ref","component","_ref$error","error","onChange","onCancel","onSave","onUseSuggestion","columns","classes","useStyles","isMobile","isMobileDetected","xs","CONTAINER_XS","getError","key","filteredSuggestions","useMemo","suggestionsToUse","OD_ID_DEP_LIST","outer_diameter","filter","item","parseFloat","_jsxs","Grid","container","spacing","className","editorContainer","children","_jsx","editorComponentSize","ComponentIcon","eidtorContentContainer","SharedEditorElements","isCasing","length","Suggestions","data","allData","OD_ID_DEP_COLUMNS","displayKeys","descriptionKeys","onSelect","InputText","type","label","value","name","onChangeField","number_of_joints","unit","component_length","weight","disabled","SelectField","options","COMPONENT_GRADES","grade","outer_diameter_tooljoint","inner_diameter_tooljoint","length_tooljoint","connection_type","COMPONENT_CLASSES","class","COMPONENT_MATERIALS","material","eidtorActionGroup","CancelButton","handleCancel","SaveButton","handleSave","isEmpty","propTypes","PropTypes","shape","number","string","isRequired","func","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Editor.js","sources":["../../../../../../../src/components/Casing/CasingTableV2/components/DrillPipe/Editor.js"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport { isEmpty } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@material-ui/core';\n\nimport { CONTAINER_XS, OD_ID_DEP_COLUMNS } from '../constants';\n\nimport { isMobileDetected } from '~/utils/mobileDetect';\nimport { CasingComponentIcon as ComponentIcon } from '~/components';\nimport {\n COMPONENT_GRADES,\n COMPONENT_CLASSES,\n COMPONENT_MATERIALS,\n OD_ID_DEP_LIST,\n} from '~/constants/casing';\nimport {\n InputText,\n SelectField,\n CancelButton,\n SaveButton,\n SharedEditorElements,\n} from '~/components/Drillstring/BHAComponentsTable/components/shared';\nimport { Suggestions } from '~/components/Drillstring/BHAComponentsTable/components/Suggestions';\nimport { useStyles } from '~/components/Drillstring/BHAComponentsTable/components/sharedStyles';\n\nfunction DrillPipe({\n component,\n error = null,\n onChange,\n onCancel,\n onSave,\n onUseSuggestion,\n columns,\n}) {\n const classes = useStyles({ isMobile: isMobileDetected });\n const xs = isMobileDetected ? CONTAINER_XS / 2 : CONTAINER_XS / columns;\n\n const getError = key => error && error[key];\n\n const filteredSuggestions = useMemo(() => {\n const suggestionsToUse = OD_ID_DEP_LIST;\n return !component.outer_diameter\n ? []\n : suggestionsToUse.filter(\n item => item.outer_diameter === parseFloat(component.outer_diameter)\n );\n }, [component.outer_diameter]);\n\n return (\n <Grid container spacing={0} className={classes.editorContainer}>\n {!isMobileDetected && (\n <Grid item className={classes.editorComponentSize}>\n <ComponentIcon component={component} />\n </Grid>\n )}\n <Grid item className={classes.eidtorContentContainer}>\n <Grid container spacing={2}>\n <SharedEditorElements\n component={component}\n getError={getError}\n onChange={onChange}\n isCasing\n />\n\n {filteredSuggestions.length > 0 && (\n <Suggestions\n data={filteredSuggestions}\n allData={OD_ID_DEP_LIST}\n columns={OD_ID_DEP_COLUMNS}\n displayKeys={['outer_diameter', 'inner_diameter']}\n descriptionKeys={[\n 'outer_diameter',\n 'inner_diameter',\n 'linear_weight',\n 'number_of_joints',\n 'component_length',\n ]}\n onSelect={onUseSuggestion}\n isCasing\n />\n )}\n\n <InputText\n type=\"name\"\n label=\"Name\"\n value={component.name}\n error={getError('name')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"number_of_joints\"\n label=\"# of Joints\"\n value={component.number_of_joints}\n error={getError('number_of_joints')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"component_length\"\n label=\"Component Length\"\n unit=\"length\"\n value={component.component_length}\n error={getError('component_length')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"weight\"\n label=\"T.Weight\"\n unit=\"mass\"\n value={component.weight}\n error={getError('weight')}\n disabled\n xs={xs}\n onChangeField={onChange}\n />\n <SelectField\n type=\"grade\"\n options={COMPONENT_GRADES}\n label=\"Grade\"\n value={component.grade}\n error={getError('grade')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"outer_diameter_tooljoint\"\n label=\"TJ OD\"\n unit=\"shortLength\"\n value={component.outer_diameter_tooljoint}\n error={getError('outer_diameter_tooljoint')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"inner_diameter_tooljoint\"\n label=\"TJ ID\"\n unit=\"shortLength\"\n value={component.inner_diameter_tooljoint}\n error={getError('inner_diameter_tooljoint')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"length_tooljoint\"\n label=\"TJ Length Per Joint\"\n unit=\"length\"\n value={component.length_tooljoint}\n error={getError('length_tooljoint')}\n xs={xs}\n onChangeField={onChange}\n />\n <InputText\n type=\"connection_type\"\n label=\"Connection Type\"\n value={component.connection_type}\n error={getError('connection_type')}\n xs={xs}\n onChangeField={onChange}\n />\n <SelectField\n type=\"class\"\n options={COMPONENT_CLASSES}\n label=\"Class\"\n value={component.class}\n error={getError('class')}\n xs={xs}\n onChangeField={onChange}\n />\n <SelectField\n type=\"material\"\n options={COMPONENT_MATERIALS}\n label=\"Material\"\n value={component.material}\n error={getError('material')}\n xs={xs}\n onChangeField={onChange}\n />\n </Grid>\n </Grid>\n {!isMobileDetected && (\n <Grid item className={classes.eidtorActionGroup}>\n <CancelButton handleCancel={onCancel} />\n <SaveButton handleSave={onSave} disabled={!isEmpty(error)} />\n </Grid>\n )}\n </Grid>\n );\n}\n\nDrillPipe.propTypes = {\n component: PropTypes.shape({\n outer_diameter: PropTypes.number,\n component_length: PropTypes.number,\n name: PropTypes.string,\n number_of_joints: PropTypes.number,\n weight: PropTypes.number,\n connection_type: PropTypes.string,\n grade: PropTypes.string,\n class: PropTypes.string,\n material: PropTypes.string,\n outer_diameter_tooljoint: PropTypes.number,\n inner_diameter_tooljoint: PropTypes.number,\n length_tooljoint: PropTypes.number,\n }).isRequired,\n error: PropTypes.shape({}),\n onChange: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n onUseSuggestion: PropTypes.func.isRequired,\n columns: PropTypes.number.isRequired,\n};\n\nexport default memo(DrillPipe);\n"],"names":["DrillPipe","_ref","component","_ref$error","error","onChange","onCancel","onSave","onUseSuggestion","columns","classes","useStyles","isMobile","isMobileDetected","xs","CONTAINER_XS","getError","key","filteredSuggestions","useMemo","suggestionsToUse","OD_ID_DEP_LIST","outer_diameter","filter","item","parseFloat","_jsxs","Grid","container","spacing","className","editorContainer","children","_jsx","editorComponentSize","ComponentIcon","eidtorContentContainer","SharedEditorElements","isCasing","length","Suggestions","data","allData","OD_ID_DEP_COLUMNS","displayKeys","descriptionKeys","onSelect","InputText","type","label","value","name","onChangeField","number_of_joints","unit","component_length","weight","disabled","SelectField","options","COMPONENT_GRADES","grade","outer_diameter_tooljoint","inner_diameter_tooljoint","length_tooljoint","connection_type","COMPONENT_CLASSES","class","COMPONENT_MATERIALS","material","eidtorActionGroup","CancelButton","handleCancel","SaveButton","handleSave","isEmpty","propTypes","PropTypes","shape","number","string","isRequired","func","memo"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),r=require("@babel/runtime/helpers/asyncToGenerator"),n=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),u=require("@babel/runtime/regenerator"),i=require("react"),l=require("react-s3-uploader/s3upload"),o=require("../AttachmentPreview/getAttachmentKind.js"),a=require("../AttachFileButton/AttachFileButton.js"),c=require("../../clients/jsonApi/index.js"),f=require("../../utils/links.js");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),r=require("@babel/runtime/helpers/asyncToGenerator"),n=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),u=require("@babel/runtime/regenerator"),i=require("react"),l=require("react-s3-uploader/s3upload"),o=require("../AttachmentPreview/getAttachmentKind.js"),a=require("../AttachFileButton/AttachFileButton.js"),c=require("../../clients/jsonApi/index.js"),f=require("../../utils/links.js"),s=require("../../utils/signedLinkCache.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(e),v=d(r),m=d(n),h=d(t),g=d(u),b=d(l);function U(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function k(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?U(Object(n),!0).forEach((function(r){m.default(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var w=function(e){return e.type.startsWith("image/")?"image":e.type.startsWith("video/")?"video":"file"},y=function(e){return(e/1048576).toFixed(1)},j=function(e){return{id:e.url,name:e.name,file:null,previewUrl:"",isUploading:!1,error:null,uploaded:e}},C=0,O=function(){return"attachment-".concat(C+=1)};exports.DEFAULT_MAX_ATTACHMENTS=10,exports.useAttachmentUpload=function(e){var r,n,t=e.value,u=e.onChange,l=e.onError,d=e.maxSizeBytes,m=e.maxFiles,U=void 0===m?10:m,C=e.accept,A=void 0===C?a.ACCEPTED_ATTACHMENT_TYPES:C,S=i.useState([]),E=h.default(S,2),L=E[0],R=E[1],F=i.useRef(null),x=i.useRef(new Map),P=i.useRef(new Map),q=i.useRef([]),T=i.useRef(u),z=i.useRef(l);T.current=u,z.current=l;var M=i.useRef([]),D=i.useCallback((function(e){var r=e(q.current);q.current=r,R(r),M.current=function(e){return e.map((function(e){return e.uploaded})).filter(Boolean)}(r),T.current(M.current)}),[]),B=i.useCallback((function(e,r){return D((function(n){return n.map((function(n){return n.id===e?k(k({},n),r):n}))}))}),[D]),_=i.useCallback((function(e){var r,n;null===(r=x.current.get(e))||void 0===r||r.abortUpload(),x.current.delete(e),P.current.set(e,(null!==(n=P.current.get(e))&&void 0!==n?n:0)+1)}),[]),W=i.useCallback((function(e){null!=e&&e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}),[]),K=i.useCallback((function(){var e,r,n;null===(e=z.current)||void 0===e||e.call(z,null!==(r=null===(n=q.current.find((function(e){return e.error})))||void 0===n?void 0:n.error)&&void 0!==r?r:null)}),[]);i.useEffect((function(){return function(){x.current.forEach((function(e){return e.abortUpload()})),x.current.clear(),q.current.forEach((function(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}))}}),[]);var N=i.useCallback((function(e,r){var n,t=(null!==(n=P.current.get(e))&&void 0!==n?n:0)+1;P.current.set(e,t);var u,i,l=function(){return P.current.get(e)===t},o=function(r){var n;l()&&(B(e,{isUploading:!1,error:r}),null===(n=z.current)||void 0===n||n.call(z,r))},a="",f=new b.default({files:[r],preprocess:function(e,r){return r(e)},onProgress:function(){},getSignedUrl:(i=v.default(g.default.mark((function e(r,n){var t;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,c.getS3SignedUrl(r.name,r.type);case 3:t=e.sent,a=t.file_name,n(k(k({},t),{},{signedUrl:t.signed_url})),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),o((null===e.t0||void 0===e.t0?void 0:e.t0.message)||"Failed to upload the file");case 11:case"end":return e.stop()}}),e,null,[[0,8]])}))),function(e,r){return i.apply(this,arguments)}),onFinishS3Put:(u=v.default(g.default.mark((function n(){var t;return g.default.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,s.getSignedLink(a);case 3:if(t=n.sent,l()){n.next=6;break}return n.abrupt("return");case 6:x.current.delete(e),B(e,{isUploading:!1,error:null,uploaded:{url:t,name:a,size:r.size}}),K(),n.next=14;break;case 11:n.prev=11,n.t0=n.catch(0),o((null===n.t0||void 0===n.t0?void 0:n.t0.message)||"Failed to upload the file");case 14:case"end":return n.stop()}}),n,null,[[0,11]])}))),function(){return u.apply(this,arguments)}),onError:function(e){return o(e||"Failed to upload the file")}});x.current.set(e,f)}),[B,K]),Y=i.useCallback((function(e){var r,n=f.getUrlFileName(e);n&&(q.current.length>=U?null===(r=z.current)||void 0===r||r.call(z,"You can attach up to ".concat(U," files.")):q.current.some((function(r){var n;return(null===(n=r.uploaded)||void 0===n?void 0:n.url)===e}))||D((function(r){return[].concat(p.default(r),[{id:O(),name:n,file:null,previewUrl:e,isUploading:!1,error:null,uploaded:{url:e,name:n}}])})))}),[D,U]),H=i.useCallback((function(e){var r,n,t,u,i=e.filter((function(e){return function(e,r){return r.split(",").map((function(e){return e.trim().toLowerCase()})).filter(Boolean).some((function(r){if(r.startsWith("."))return e.name.toLowerCase().endsWith(r);if(r.endsWith("/*")){var n=e.type.toLowerCase();return n?n.startsWith(r.slice(0,-1)):o.getAttachmentKind({name:e.name})===r.slice(0,-1)}return e.type.toLowerCase()===r}))}(e,A)})),l=i.length<e.length?1===e.length?"That file type is not supported.":"Some files were skipped — unsupported file type.":null,a="You can attach up to ".concat(U," files."),c=U-q.current.length;if(!i.length||c<=0){var f;null===(f=z.current)||void 0===f||f.call(z,i.length?a:l)}else{var s=i.slice(0,c),v=s.map((function(e){var r=w(e),n=!!d&&e.size>d;return{id:O(),name:e.name,file:e,previewUrl:"file"===r?"":URL.createObjectURL(e),isUploading:!n,error:n?"File is too large (".concat(y(e.size)," MB). Maximum size is ").concat(y(d)," MB."):null,uploaded:null}}));D((function(e){return[].concat(p.default(e),p.default(v))}));var m=i.length>s.length?a:null;null===(r=z.current)||void 0===r||r.call(z,null!==(n=null!==(t=null===(u=q.current.find((function(e){return e.error})))||void 0===u?void 0:u.error)&&void 0!==t?t:l)&&void 0!==n?n:m),v.filter((function(e){return!e.error})).forEach((function(e){return N(e.id,e.file)}))}}),[D,U,d,N,A]),I=i.useCallback((function(e){var r,n=Array.from(null!==(r=e.target.files)&&void 0!==r?r:[]);F.current&&(F.current.value=""),n.length&&H(n)}),[H]),G=i.useCallback((function(){var e;return null===(e=F.current)||void 0===e?void 0:e.click()}),[]),X=i.useCallback((function(e){var r=String(e);_(r),W(q.current.find((function(e){return e.id===r}))),D((function(e){return e.filter((function(e){return e.id!==r}))})),K()}),[_,W,D,K]),J=i.useCallback((function(e){var r=String(e),n=q.current.find((function(e){return e.id===r}));null!=n&&n.file&&(_(r),B(r,{isUploading:!0,error:null}),K(),N(r,n.file))}),[_,B,N,K]),Q=i.useCallback((function(e){return D((function(r){var n=new Map(r.map((function(e){return[e.id,e]}))),t=e.map((function(e){return n.get(String(e))})).filter(Boolean),u=r.filter((function(r){return!e.some((function(e){return String(e)===r.id}))}));return[].concat(p.default(t),p.default(u))}))}),[D]),V=i.useCallback((function(){var e;q.current.forEach((function(e){_(e.id),W(e)})),D((function(){return[]})),null===(e=z.current)||void 0===e||e.call(z,null)}),[_,D,W]);i.useEffect((function(){var e,r,n;(r=M.current,n=t,r.length===n.length&&r.every((function(e,r){return e.url===n[r].url})))||(q.current.forEach((function(e){_(e.id),e.previewUrl&&URL.revokeObjectURL(e.previewUrl)})),q.current=t.map(j),M.current=t,R(q.current),null===(e=z.current)||void 0===e||e.call(z,null))}),[t,_]);var Z=i.useState((function(){return t.reduce((function(e,r){var n=s.peekSignedLink(r.name,"inline");return n&&(e[r.name]=n),e}),{})})),$=h.default(Z,2),ee=$[0],re=$[1],ne=i.useRef(ee);ne.current=ee;var te=L.filter((function(e){return!e.file&&!e.previewUrl&&e.uploaded})).map((function(e){return e.uploaded.name})).join("|");return i.useEffect((function(){var e=te.split("|").filter((function(e){return e&&!(e in ne.current)}));if(e.length){var r=!0;return Promise.all(e.map((function(e){return s.getSignedLink(e,"inline").then((function(r){return[e,r]})).catch((function(r){return console.error('Failed to sign stored attachment "'.concat(e,'"'),r),[e,""]}))}))).then((function(e){r&&re((function(r){return k(k({},r),Object.fromEntries(e))}))})),function(){r=!1}}}),[te]),{items:L.reduce((function(e,r){var n;if(r.file)return e.push({id:r.id,name:r.name,src:r.previewUrl,kind:w(r.file),size:r.file.size,isUploading:r.isUploading,hideDownload:!0,error:null!==(n=r.error)&&void 0!==n?n:void 0}),e;var t=r.uploaded,u=o.getAttachmentKind(t),i=r.previewUrl||ee[t.name];return"file"===u||i?(e.push({id:r.id,name:t.name,src:i,kind:u,size:t.size,hideDownload:!0}),e):e}),[]),fileInputRef:F,openFileDialog:G,handleFileSelect:I,addFiles:H,addLinkedImage:Y,removeAttachment:X,handleRetry:J,reorderAttachments:Q,clearAttachments:V,isUploading:L.some((function(e){return e.isUploading})),error:null!==(r=null===(n=L.find((function(e){return e.error})))||void 0===n?void 0:n.error)&&void 0!==r?r:null,count:L.length,isFull:L.length>=U,maxFiles:U}};
|
|
2
2
|
//# sourceMappingURL=useAttachmentUpload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAttachmentUpload.js","sources":["../../../../src/components/CommentComposer/useAttachmentUpload.ts"],"sourcesContent":["import { ChangeEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport S3Upload from 'react-s3-uploader/s3upload';\n\nimport type {\n AttachmentKind,\n AttachmentPreviewItem,\n} from '../AttachmentPreview/AttachmentPreview.types';\nimport { getAttachmentKind } from '../AttachmentPreview/getAttachmentKind';\nimport { ACCEPTED_ATTACHMENT_TYPES } from '../AttachFileButton';\n\nimport { getS3SignedUrl, getS3DownloadLink } from '~/clients/jsonApi';\nimport { getUrlFileName } from '~/utils/links';\n\nexport type UploadedAttachment = {\n url: string;\n name: string;\n size?: number;\n};\n\ntype UseAttachmentUploadOptions = {\n value: UploadedAttachment[];\n onChange: (attachments: UploadedAttachment[]) => void;\n onError?: (message: string | null) => void;\n maxSizeBytes?: number;\n maxFiles?: number;\n /** Mirrors the file input's `accept`; also gates drag-and-drop. */\n accept?: string;\n};\n\n/** A picked or already-stored file, in the order the user arranged it. */\ntype Entry = {\n id: string;\n name: string;\n /** Set while the file is local; cleared entries come from `value`. */\n file: File | null;\n previewUrl: string;\n isUploading: boolean;\n error: string | null;\n uploaded: UploadedAttachment | null;\n};\n\nexport const DEFAULT_MAX_ATTACHMENTS = 10;\n\n/** Same rules the file input enforces via `accept`, so drag-and-drop can't smuggle a type past it. */\nconst isAcceptedType = (file: File, accept: string) =>\n accept\n .split(',')\n .map(rule => rule.trim().toLowerCase())\n .filter(Boolean)\n .some(rule => {\n if (rule.startsWith('.')) return file.name.toLowerCase().endsWith(rule);\n if (rule.endsWith('/*')) {\n const type = file.type.toLowerCase();\n if (type) return type.startsWith(rule.slice(0, -1));\n\n return getAttachmentKind({ name: file.name }) === rule.slice(0, -1);\n }\n\n return file.type.toLowerCase() === rule;\n });\n\nconst getFileKind = (file: File): AttachmentKind => {\n if (file.type.startsWith('image/')) return 'image';\n if (file.type.startsWith('video/')) return 'video';\n return 'file';\n};\n\nconst formatMb = (bytes: number) => (bytes / (1024 * 1024)).toFixed(1);\n\nconst getUploaded = (entries: Entry[]) =>\n entries.map(entry => entry.uploaded).filter(Boolean) as UploadedAttachment[];\n\nconst isSameList = (a: UploadedAttachment[], b: UploadedAttachment[]) =>\n a.length === b.length && a.every((item, index) => item.url === b[index].url);\n\nconst toStoredEntry = (attachment: UploadedAttachment): Entry => ({\n id: attachment.url,\n name: attachment.name,\n file: null,\n previewUrl: '',\n isUploading: false,\n error: null,\n uploaded: attachment,\n});\n\nlet entrySeq = 0;\nconst nextEntryId = () => {\n entrySeq += 1;\n return `attachment-${entrySeq}`;\n};\n\nexport const useAttachmentUpload = ({\n value,\n onChange,\n onError,\n maxSizeBytes,\n maxFiles = DEFAULT_MAX_ATTACHMENTS,\n accept = ACCEPTED_ATTACHMENT_TYPES,\n}: UseAttachmentUploadOptions) => {\n const [entries, setEntries] = useState<Entry[]>([]);\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n const uploadersRef = useRef(new Map<string, S3Upload>());\n // Bumped per attempt so a superseded upload can't write state for a restarted entry.\n const sessionsRef = useRef(new Map<string, number>());\n // Mutations are driven from async upload callbacks, so the latest list lives in a ref.\n const entriesRef = useRef<Entry[]>([]);\n const onChangeRef = useRef(onChange);\n const onErrorRef = useRef(onError);\n\n onChangeRef.current = onChange;\n onErrorRef.current = onError;\n\n // What we last handed the parent. A `value` that still matches it is our own change echoing\n // back; anything else is a parent-driven reset we must adopt.\n const emittedRef = useRef<UploadedAttachment[]>([]);\n\n const commit = useCallback((updater: (prev: Entry[]) => Entry[]) => {\n const next = updater(entriesRef.current);\n entriesRef.current = next;\n setEntries(next);\n emittedRef.current = getUploaded(next);\n onChangeRef.current(emittedRef.current);\n }, []);\n\n const patchEntry = useCallback(\n (id: string, patch: Partial<Entry>) =>\n commit(prev => prev.map(entry => (entry.id === id ? { ...entry, ...patch } : entry))),\n [commit]\n );\n\n const abortUpload = useCallback((id: string) => {\n uploadersRef.current.get(id)?.abortUpload();\n uploadersRef.current.delete(id);\n // Bump, never delete: deleting would let the next attempt reuse session 1, so a callback\n // still in flight from the aborted attempt would pass `isCurrent` and clobber it.\n sessionsRef.current.set(id, (sessionsRef.current.get(id) ?? 0) + 1);\n }, []);\n\n const releasePreview = useCallback((entry?: Entry) => {\n if (entry?.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n }, []);\n\n // The banner is shared by every tile, so recompute it rather than clear it — one file\n // succeeding must not hide a sibling that is still failing.\n const syncError = useCallback(() => {\n onErrorRef.current?.(entriesRef.current.find(entry => entry.error)?.error ?? null);\n }, []);\n\n useEffect(\n () => () => {\n uploadersRef.current.forEach(uploader => uploader.abortUpload());\n uploadersRef.current.clear();\n entriesRef.current.forEach(entry => {\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n },\n []\n );\n\n const startUpload = useCallback(\n (id: string, file: File) => {\n const session = (sessionsRef.current.get(id) ?? 0) + 1;\n sessionsRef.current.set(id, session);\n // A superseded upload must not write state for an entry that is gone or restarted.\n const isCurrent = () => sessionsRef.current.get(id) === session;\n\n const fail = (message: string) => {\n if (!isCurrent()) return;\n patchEntry(id, { isUploading: false, error: message });\n onErrorRef.current?.(message);\n };\n\n let storedKey = '';\n\n const uploader = new S3Upload({\n files: [file],\n preprocess: (target: File, next: (file: File) => void) => next(target),\n onProgress: () => {},\n getSignedUrl: async (\n target: File,\n callback: (data: { signedUrl: string; [key: string]: unknown }) => void\n ) => {\n try {\n const data = await getS3SignedUrl(target.name, target.type);\n storedKey = data.file_name;\n callback({ ...data, signedUrl: data.signed_url });\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onFinishS3Put: async () => {\n try {\n const { url } = await getS3DownloadLink(storedKey);\n if (!isCurrent()) return;\n\n uploadersRef.current.delete(id);\n patchEntry(id, {\n isUploading: false,\n error: null,\n uploaded: { url, name: storedKey, size: file.size },\n });\n syncError();\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onError: (message: string) => fail(message || 'Failed to upload the file'),\n });\n\n uploadersRef.current.set(id, uploader);\n },\n [patchEntry, syncError]\n );\n\n /** Nothing is uploaded: a comment attachment is a url, so the link itself is the attachment. */\n const addLinkedImage = useCallback(\n (url: string) => {\n const name = getUrlFileName(url);\n\n if (!name) return;\n if (entriesRef.current.length >= maxFiles) {\n onErrorRef.current?.(`You can attach up to ${maxFiles} files.`);\n\n return;\n }\n\n if (entriesRef.current.some(entry => entry.uploaded?.url === url)) return;\n\n commit(prev => [\n ...prev,\n {\n id: nextEntryId(),\n name,\n file: null,\n previewUrl: url,\n isUploading: false,\n error: null,\n uploaded: { url, name },\n },\n ]);\n },\n [commit, maxFiles]\n );\n\n const addFiles = useCallback(\n (files: File[]) => {\n const supported = files.filter(file => isAcceptedType(file, accept));\n const skipped = supported.length < files.length;\n // One banner, one message: report the most actionable reason once, at the end. Reporting\n // as we go would let a later call overwrite an earlier warning on a mixed drop.\n const unsupported = skipped\n ? (files.length === 1 && 'That file type is not supported.') ||\n 'Some files were skipped — unsupported file type.'\n : null;\n const tooMany = `You can attach up to ${maxFiles} files.`;\n\n const room = maxFiles - entriesRef.current.length;\n if (!supported.length || room <= 0) {\n onErrorRef.current?.(supported.length ? tooMany : unsupported);\n return;\n }\n\n const accepted = supported.slice(0, room);\n const added: Entry[] = accepted.map(file => {\n const kind = getFileKind(file);\n const isTooLarge = !!maxSizeBytes && file.size > maxSizeBytes;\n\n return {\n id: nextEntryId(),\n name: file.name,\n file,\n previewUrl: kind === 'file' ? '' : URL.createObjectURL(file),\n isUploading: !isTooLarge,\n error: isTooLarge\n ? `File is too large (${formatMb(file.size)} MB). Maximum size is ${formatMb(\n maxSizeBytes as number\n )} MB.`\n : null,\n uploaded: null,\n };\n });\n\n commit(prev => [...prev, ...added]);\n\n const overflow = supported.length > accepted.length ? tooMany : null;\n onErrorRef.current?.(\n entriesRef.current.find(entry => entry.error)?.error ?? unsupported ?? overflow\n );\n\n added\n .filter(entry => !entry.error)\n .forEach(entry => startUpload(entry.id, entry.file as File));\n },\n [commit, maxFiles, maxSizeBytes, startUpload, accept]\n );\n\n const handleFileSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(event.target.files ?? []);\n // Reset the input so re-picking the same file still fires a change event.\n if (fileInputRef.current) fileInputRef.current.value = '';\n if (files.length) addFiles(files);\n },\n [addFiles]\n );\n\n const openFileDialog = useCallback(() => fileInputRef.current?.click(), []);\n\n const removeAttachment = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n abortUpload(key);\n releasePreview(entriesRef.current.find(entry => entry.id === key));\n commit(prev => prev.filter(entry => entry.id !== key));\n syncError();\n },\n [abortUpload, releasePreview, commit, syncError]\n );\n\n const handleRetry = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n const entry = entriesRef.current.find(item => item.id === key);\n if (!entry?.file) return;\n\n abortUpload(key);\n patchEntry(key, { isUploading: true, error: null });\n syncError();\n startUpload(key, entry.file);\n },\n [abortUpload, patchEntry, startUpload, syncError]\n );\n\n const reorderAttachments = useCallback(\n (orderedIds: AttachmentPreviewItem['id'][]) =>\n commit(prev => {\n const byId = new Map(prev.map(entry => [entry.id, entry]));\n const reordered = orderedIds.map(id => byId.get(String(id))).filter(Boolean) as Entry[];\n // Unlisted ids (a race with a removal) keep their place at the end.\n const missing = prev.filter(entry => !orderedIds.some(id => String(id) === entry.id));\n return [...reordered, ...missing];\n }),\n [commit]\n );\n\n const clearAttachments = useCallback(() => {\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n releasePreview(entry);\n });\n commit(() => []);\n onErrorRef.current?.(null);\n }, [abortUpload, commit, releasePreview]);\n\n // Adopt a value we didn't produce — an edit form's initial attachments, or a parent-side reset.\n // Compared against what we emitted, not against the current entries: a failed-only or\n // mid-upload list emits `[]` too, and treating that as \"in sync\" would strand those tiles\n // on screen and let a late upload write itself back into freshly reset parent state.\n useEffect(() => {\n if (isSameList(emittedRef.current, value)) return;\n\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n entriesRef.current = value.map(toStoredEntry);\n emittedRef.current = value;\n setEntries(entriesRef.current);\n onErrorRef.current?.(null);\n }, [value, abortUpload]);\n\n // A stored url has expired by now, so re-sign it for the preview.\n const [storedSrcs, setStoredSrcs] = useState<Record<string, string>>({});\n const storedSrcsRef = useRef(storedSrcs);\n storedSrcsRef.current = storedSrcs;\n\n const storedNames = entries\n // A linked image carries its own url, so there is no key of ours to sign.\n .filter(entry => !entry.file && !entry.previewUrl && entry.uploaded)\n .map(entry => (entry.uploaded as UploadedAttachment).name)\n .join('|');\n\n useEffect(() => {\n const pending = storedNames.split('|').filter(name => name && !(name in storedSrcsRef.current));\n if (!pending.length) return undefined;\n\n let isActive = true;\n Promise.all(\n pending.map(name =>\n getS3DownloadLink(name, 'inline')\n .then(({ url }: { url: string }) => [name, url] as const)\n .catch(error => {\n console.error(`Failed to sign stored attachment \"${name}\"`, error);\n\n return [name, ''] as const;\n })\n )\n ).then(resolved => {\n if (isActive) setStoredSrcs(prev => ({ ...prev, ...Object.fromEntries(resolved) }));\n });\n\n return () => {\n isActive = false;\n };\n }, [storedNames]);\n\n const items = entries.reduce<AttachmentPreviewItem[]>((acc, entry) => {\n if (entry.file) {\n acc.push({\n id: entry.id,\n name: entry.name,\n src: entry.previewUrl,\n kind: getFileKind(entry.file),\n size: entry.file.size,\n isUploading: entry.isUploading,\n hideDownload: true,\n error: entry.error ?? undefined,\n });\n return acc;\n }\n\n const stored = entry.uploaded as UploadedAttachment;\n const kind = getAttachmentKind(stored);\n // A linked image is already a url; only one of ours has an S3 key worth signing.\n const src = entry.previewUrl || storedSrcs[stored.name];\n // A thumbnail without its signed url would paint as a broken image, so hold it back.\n if (kind !== 'file' && !src) return acc;\n\n acc.push({ id: entry.id, name: stored.name, src, kind, size: stored.size, hideDownload: true });\n return acc;\n }, []);\n\n return {\n items,\n fileInputRef,\n openFileDialog,\n handleFileSelect,\n addFiles,\n addLinkedImage,\n removeAttachment,\n handleRetry,\n reorderAttachments,\n clearAttachments,\n isUploading: entries.some(entry => entry.isUploading),\n error: entries.find(entry => entry.error)?.error ?? null,\n count: entries.length,\n isFull: entries.length >= maxFiles,\n maxFiles,\n };\n};\n"],"names":["getFileKind","file","type","startsWith","formatMb","bytes","toFixed","toStoredEntry","attachment","id","url","name","previewUrl","isUploading","error","uploaded","entrySeq","nextEntryId","concat","_ref","_entries$find$error","_entries$find","value","onChange","onError","maxSizeBytes","_ref$maxFiles","maxFiles","_ref$accept","accept","ACCEPTED_ATTACHMENT_TYPES","useState","_useState2","_slicedToArray","_useState","entries","setEntries","fileInputRef","useRef","uploadersRef","Map","sessionsRef","entriesRef","onChangeRef","onErrorRef","current","emittedRef","commit","useCallback","updater","next","map","entry","filter","Boolean","getUploaded","patchEntry","patch","prev","abortUpload","_uploadersRef$current","_sessionsRef$current$","get","delete","set","releasePreview","URL","revokeObjectURL","syncError","_onErrorRef$current","_entriesRef$current$f","_entriesRef$current$f2","find","useEffect","forEach","uploader","clear","startUpload","_sessionsRef$current$2","session","_onFinishS3Put","_getSignedUrl","isCurrent","fail","message","_onErrorRef$current2","storedKey","S3Upload","files","preprocess","target","onProgress","getSignedUrl","_asyncToGenerator","_regeneratorRuntime","mark","_callee","callback","_data","wrap","_context","getS3SignedUrl","data","sent","file_name","signedUrl","signed_url","t0","stop","_x","_x2","apply","this","arguments","onFinishS3Put","_callee2","_yield$getS3DownloadL","_context2","getS3DownloadLink","abrupt","size","addLinkedImage","_onErrorRef$current3","getUrlFileName","length","some","_entry$uploaded","_toConsumableArray","addFiles","_onErrorRef$current5","_ref2","_entriesRef$current$f3","_entriesRef$current$f4","supported","split","rule","trim","toLowerCase","endsWith","slice","getAttachmentKind","isAcceptedType","unsupported","tooMany","room","_onErrorRef$current4","accepted","added","kind","isTooLarge","createObjectURL","overflow","handleFileSelect","event","_event$target$files","Array","from","openFileDialog","_fileInputRef$current","click","removeAttachment","key","String","handleRetry","item","reorderAttachments","orderedIds","byId","reordered","missing","clearAttachments","_onErrorRef$current6","_onErrorRef$current7","a","b","every","index","_useState3","_useState4","storedSrcs","setStoredSrcs","storedSrcsRef","storedNames","join","pending","isActive","Promise","all","then","_ref3","catch","console","resolved","_objectSpread","Object","fromEntries","items","reduce","acc","_entry$error","push","src","hideDownload","undefined","stored","count","isFull"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useAttachmentUpload.js","sources":["../../../../src/components/CommentComposer/useAttachmentUpload.ts"],"sourcesContent":["import { ChangeEvent, useCallback, useEffect, useRef, useState } from 'react';\nimport S3Upload from 'react-s3-uploader/s3upload';\n\nimport type {\n AttachmentKind,\n AttachmentPreviewItem,\n} from '../AttachmentPreview/AttachmentPreview.types';\nimport { getAttachmentKind } from '../AttachmentPreview/getAttachmentKind';\nimport { ACCEPTED_ATTACHMENT_TYPES } from '../AttachFileButton';\n\nimport { getS3SignedUrl } from '~/clients/jsonApi';\nimport { getUrlFileName } from '~/utils/links';\nimport { getSignedLink, peekSignedLink } from '~/utils/signedLinkCache';\n\nexport type UploadedAttachment = {\n url: string;\n name: string;\n size?: number;\n};\n\ntype UseAttachmentUploadOptions = {\n value: UploadedAttachment[];\n onChange: (attachments: UploadedAttachment[]) => void;\n onError?: (message: string | null) => void;\n maxSizeBytes?: number;\n maxFiles?: number;\n /** Mirrors the file input's `accept`; also gates drag-and-drop. */\n accept?: string;\n};\n\n/** A picked or already-stored file, in the order the user arranged it. */\ntype Entry = {\n id: string;\n name: string;\n /** Set while the file is local; cleared entries come from `value`. */\n file: File | null;\n previewUrl: string;\n isUploading: boolean;\n error: string | null;\n uploaded: UploadedAttachment | null;\n};\n\nexport const DEFAULT_MAX_ATTACHMENTS = 10;\n\n/** Same rules the file input enforces via `accept`, so drag-and-drop can't smuggle a type past it. */\nconst isAcceptedType = (file: File, accept: string) =>\n accept\n .split(',')\n .map(rule => rule.trim().toLowerCase())\n .filter(Boolean)\n .some(rule => {\n if (rule.startsWith('.')) return file.name.toLowerCase().endsWith(rule);\n if (rule.endsWith('/*')) {\n const type = file.type.toLowerCase();\n if (type) return type.startsWith(rule.slice(0, -1));\n\n return getAttachmentKind({ name: file.name }) === rule.slice(0, -1);\n }\n\n return file.type.toLowerCase() === rule;\n });\n\nconst getFileKind = (file: File): AttachmentKind => {\n if (file.type.startsWith('image/')) return 'image';\n if (file.type.startsWith('video/')) return 'video';\n return 'file';\n};\n\nconst formatMb = (bytes: number) => (bytes / (1024 * 1024)).toFixed(1);\n\nconst getUploaded = (entries: Entry[]) =>\n entries.map(entry => entry.uploaded).filter(Boolean) as UploadedAttachment[];\n\nconst isSameList = (a: UploadedAttachment[], b: UploadedAttachment[]) =>\n a.length === b.length && a.every((item, index) => item.url === b[index].url);\n\nconst toStoredEntry = (attachment: UploadedAttachment): Entry => ({\n id: attachment.url,\n name: attachment.name,\n file: null,\n previewUrl: '',\n isUploading: false,\n error: null,\n uploaded: attachment,\n});\n\nlet entrySeq = 0;\nconst nextEntryId = () => {\n entrySeq += 1;\n return `attachment-${entrySeq}`;\n};\n\nexport const useAttachmentUpload = ({\n value,\n onChange,\n onError,\n maxSizeBytes,\n maxFiles = DEFAULT_MAX_ATTACHMENTS,\n accept = ACCEPTED_ATTACHMENT_TYPES,\n}: UseAttachmentUploadOptions) => {\n const [entries, setEntries] = useState<Entry[]>([]);\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n const uploadersRef = useRef(new Map<string, S3Upload>());\n // Bumped per attempt so a superseded upload can't write state for a restarted entry.\n const sessionsRef = useRef(new Map<string, number>());\n // Mutations are driven from async upload callbacks, so the latest list lives in a ref.\n const entriesRef = useRef<Entry[]>([]);\n const onChangeRef = useRef(onChange);\n const onErrorRef = useRef(onError);\n\n onChangeRef.current = onChange;\n onErrorRef.current = onError;\n\n // What we last handed the parent. A `value` that still matches it is our own change echoing\n // back; anything else is a parent-driven reset we must adopt.\n const emittedRef = useRef<UploadedAttachment[]>([]);\n\n const commit = useCallback((updater: (prev: Entry[]) => Entry[]) => {\n const next = updater(entriesRef.current);\n entriesRef.current = next;\n setEntries(next);\n emittedRef.current = getUploaded(next);\n onChangeRef.current(emittedRef.current);\n }, []);\n\n const patchEntry = useCallback(\n (id: string, patch: Partial<Entry>) =>\n commit(prev => prev.map(entry => (entry.id === id ? { ...entry, ...patch } : entry))),\n [commit]\n );\n\n const abortUpload = useCallback((id: string) => {\n uploadersRef.current.get(id)?.abortUpload();\n uploadersRef.current.delete(id);\n // Bump, never delete: deleting would let the next attempt reuse session 1, so a callback\n // still in flight from the aborted attempt would pass `isCurrent` and clobber it.\n sessionsRef.current.set(id, (sessionsRef.current.get(id) ?? 0) + 1);\n }, []);\n\n const releasePreview = useCallback((entry?: Entry) => {\n if (entry?.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n }, []);\n\n // The banner is shared by every tile, so recompute it rather than clear it — one file\n // succeeding must not hide a sibling that is still failing.\n const syncError = useCallback(() => {\n onErrorRef.current?.(entriesRef.current.find(entry => entry.error)?.error ?? null);\n }, []);\n\n useEffect(\n () => () => {\n uploadersRef.current.forEach(uploader => uploader.abortUpload());\n uploadersRef.current.clear();\n entriesRef.current.forEach(entry => {\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n },\n []\n );\n\n const startUpload = useCallback(\n (id: string, file: File) => {\n const session = (sessionsRef.current.get(id) ?? 0) + 1;\n sessionsRef.current.set(id, session);\n // A superseded upload must not write state for an entry that is gone or restarted.\n const isCurrent = () => sessionsRef.current.get(id) === session;\n\n const fail = (message: string) => {\n if (!isCurrent()) return;\n patchEntry(id, { isUploading: false, error: message });\n onErrorRef.current?.(message);\n };\n\n let storedKey = '';\n\n const uploader = new S3Upload({\n files: [file],\n preprocess: (target: File, next: (file: File) => void) => next(target),\n onProgress: () => {},\n getSignedUrl: async (\n target: File,\n callback: (data: { signedUrl: string; [key: string]: unknown }) => void\n ) => {\n try {\n const data = await getS3SignedUrl(target.name, target.type);\n storedKey = data.file_name;\n callback({ ...data, signedUrl: data.signed_url });\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onFinishS3Put: async () => {\n try {\n const url = await getSignedLink(storedKey);\n if (!isCurrent()) return;\n\n uploadersRef.current.delete(id);\n patchEntry(id, {\n isUploading: false,\n error: null,\n uploaded: { url, name: storedKey, size: file.size },\n });\n syncError();\n } catch (e) {\n fail((e as Error)?.message || 'Failed to upload the file');\n }\n },\n onError: (message: string) => fail(message || 'Failed to upload the file'),\n });\n\n uploadersRef.current.set(id, uploader);\n },\n [patchEntry, syncError]\n );\n\n /** Nothing is uploaded: a comment attachment is a url, so the link itself is the attachment. */\n const addLinkedImage = useCallback(\n (url: string) => {\n const name = getUrlFileName(url);\n\n if (!name) return;\n if (entriesRef.current.length >= maxFiles) {\n onErrorRef.current?.(`You can attach up to ${maxFiles} files.`);\n\n return;\n }\n\n if (entriesRef.current.some(entry => entry.uploaded?.url === url)) return;\n\n commit(prev => [\n ...prev,\n {\n id: nextEntryId(),\n name,\n file: null,\n previewUrl: url,\n isUploading: false,\n error: null,\n uploaded: { url, name },\n },\n ]);\n },\n [commit, maxFiles]\n );\n\n const addFiles = useCallback(\n (files: File[]) => {\n const supported = files.filter(file => isAcceptedType(file, accept));\n const skipped = supported.length < files.length;\n // One banner, one message: report the most actionable reason once, at the end. Reporting\n // as we go would let a later call overwrite an earlier warning on a mixed drop.\n const unsupported = skipped\n ? (files.length === 1 && 'That file type is not supported.') ||\n 'Some files were skipped — unsupported file type.'\n : null;\n const tooMany = `You can attach up to ${maxFiles} files.`;\n\n const room = maxFiles - entriesRef.current.length;\n if (!supported.length || room <= 0) {\n onErrorRef.current?.(supported.length ? tooMany : unsupported);\n return;\n }\n\n const accepted = supported.slice(0, room);\n const added: Entry[] = accepted.map(file => {\n const kind = getFileKind(file);\n const isTooLarge = !!maxSizeBytes && file.size > maxSizeBytes;\n\n return {\n id: nextEntryId(),\n name: file.name,\n file,\n previewUrl: kind === 'file' ? '' : URL.createObjectURL(file),\n isUploading: !isTooLarge,\n error: isTooLarge\n ? `File is too large (${formatMb(file.size)} MB). Maximum size is ${formatMb(\n maxSizeBytes as number\n )} MB.`\n : null,\n uploaded: null,\n };\n });\n\n commit(prev => [...prev, ...added]);\n\n const overflow = supported.length > accepted.length ? tooMany : null;\n onErrorRef.current?.(\n entriesRef.current.find(entry => entry.error)?.error ?? unsupported ?? overflow\n );\n\n added\n .filter(entry => !entry.error)\n .forEach(entry => startUpload(entry.id, entry.file as File));\n },\n [commit, maxFiles, maxSizeBytes, startUpload, accept]\n );\n\n const handleFileSelect = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const files = Array.from(event.target.files ?? []);\n // Reset the input so re-picking the same file still fires a change event.\n if (fileInputRef.current) fileInputRef.current.value = '';\n if (files.length) addFiles(files);\n },\n [addFiles]\n );\n\n const openFileDialog = useCallback(() => fileInputRef.current?.click(), []);\n\n const removeAttachment = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n abortUpload(key);\n releasePreview(entriesRef.current.find(entry => entry.id === key));\n commit(prev => prev.filter(entry => entry.id !== key));\n syncError();\n },\n [abortUpload, releasePreview, commit, syncError]\n );\n\n const handleRetry = useCallback(\n (id: AttachmentPreviewItem['id']) => {\n const key = String(id);\n const entry = entriesRef.current.find(item => item.id === key);\n if (!entry?.file) return;\n\n abortUpload(key);\n patchEntry(key, { isUploading: true, error: null });\n syncError();\n startUpload(key, entry.file);\n },\n [abortUpload, patchEntry, startUpload, syncError]\n );\n\n const reorderAttachments = useCallback(\n (orderedIds: AttachmentPreviewItem['id'][]) =>\n commit(prev => {\n const byId = new Map(prev.map(entry => [entry.id, entry]));\n const reordered = orderedIds.map(id => byId.get(String(id))).filter(Boolean) as Entry[];\n // Unlisted ids (a race with a removal) keep their place at the end.\n const missing = prev.filter(entry => !orderedIds.some(id => String(id) === entry.id));\n return [...reordered, ...missing];\n }),\n [commit]\n );\n\n const clearAttachments = useCallback(() => {\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n releasePreview(entry);\n });\n commit(() => []);\n onErrorRef.current?.(null);\n }, [abortUpload, commit, releasePreview]);\n\n // Adopt a value we didn't produce — an edit form's initial attachments, or a parent-side reset.\n // Compared against what we emitted, not against the current entries: a failed-only or\n // mid-upload list emits `[]` too, and treating that as \"in sync\" would strand those tiles\n // on screen and let a late upload write itself back into freshly reset parent state.\n useEffect(() => {\n if (isSameList(emittedRef.current, value)) return;\n\n entriesRef.current.forEach(entry => {\n abortUpload(entry.id);\n if (entry.previewUrl) URL.revokeObjectURL(entry.previewUrl);\n });\n entriesRef.current = value.map(toStoredEntry);\n emittedRef.current = value;\n setEntries(entriesRef.current);\n onErrorRef.current?.(null);\n }, [value, abortUpload]);\n\n // A stored url has expired by now, so re-sign it for the preview.\n const [storedSrcs, setStoredSrcs] = useState<Record<string, string>>(() =>\n value.reduce<Record<string, string>>((acc, attachment) => {\n const src = peekSignedLink(attachment.name, 'inline');\n if (src) acc[attachment.name] = src;\n\n return acc;\n }, {})\n );\n const storedSrcsRef = useRef(storedSrcs);\n storedSrcsRef.current = storedSrcs;\n\n const storedNames = entries\n // A linked image carries its own url, so there is no key of ours to sign.\n .filter(entry => !entry.file && !entry.previewUrl && entry.uploaded)\n .map(entry => (entry.uploaded as UploadedAttachment).name)\n .join('|');\n\n useEffect(() => {\n const pending = storedNames.split('|').filter(name => name && !(name in storedSrcsRef.current));\n if (!pending.length) return undefined;\n\n let isActive = true;\n Promise.all(\n pending.map(name =>\n getSignedLink(name, 'inline')\n .then(url => [name, url] as const)\n .catch(error => {\n console.error(`Failed to sign stored attachment \"${name}\"`, error);\n\n return [name, ''] as const;\n })\n )\n ).then(resolved => {\n if (isActive) setStoredSrcs(prev => ({ ...prev, ...Object.fromEntries(resolved) }));\n });\n\n return () => {\n isActive = false;\n };\n }, [storedNames]);\n\n const items = entries.reduce<AttachmentPreviewItem[]>((acc, entry) => {\n if (entry.file) {\n acc.push({\n id: entry.id,\n name: entry.name,\n src: entry.previewUrl,\n kind: getFileKind(entry.file),\n size: entry.file.size,\n isUploading: entry.isUploading,\n hideDownload: true,\n error: entry.error ?? undefined,\n });\n return acc;\n }\n\n const stored = entry.uploaded as UploadedAttachment;\n const kind = getAttachmentKind(stored);\n // A linked image is already a url; only one of ours has an S3 key worth signing.\n const src = entry.previewUrl || storedSrcs[stored.name];\n // A thumbnail without its signed url would paint as a broken image, so hold it back.\n if (kind !== 'file' && !src) return acc;\n\n acc.push({ id: entry.id, name: stored.name, src, kind, size: stored.size, hideDownload: true });\n return acc;\n }, []);\n\n return {\n items,\n fileInputRef,\n openFileDialog,\n handleFileSelect,\n addFiles,\n addLinkedImage,\n removeAttachment,\n handleRetry,\n reorderAttachments,\n clearAttachments,\n isUploading: entries.some(entry => entry.isUploading),\n error: entries.find(entry => entry.error)?.error ?? null,\n count: entries.length,\n isFull: entries.length >= maxFiles,\n maxFiles,\n };\n};\n"],"names":["getFileKind","file","type","startsWith","formatMb","bytes","toFixed","toStoredEntry","attachment","id","url","name","previewUrl","isUploading","error","uploaded","entrySeq","nextEntryId","concat","_ref","_entries$find$error","_entries$find","value","onChange","onError","maxSizeBytes","_ref$maxFiles","maxFiles","_ref$accept","accept","ACCEPTED_ATTACHMENT_TYPES","useState","_useState2","_slicedToArray","_useState","entries","setEntries","fileInputRef","useRef","uploadersRef","Map","sessionsRef","entriesRef","onChangeRef","onErrorRef","current","emittedRef","commit","useCallback","updater","next","map","entry","filter","Boolean","getUploaded","patchEntry","patch","prev","abortUpload","_uploadersRef$current","_sessionsRef$current$","get","delete","set","releasePreview","URL","revokeObjectURL","syncError","_onErrorRef$current","_entriesRef$current$f","_entriesRef$current$f2","find","useEffect","forEach","uploader","clear","startUpload","_sessionsRef$current$2","session","_onFinishS3Put","_getSignedUrl","isCurrent","fail","message","_onErrorRef$current2","storedKey","S3Upload","files","preprocess","target","onProgress","getSignedUrl","_asyncToGenerator","_regeneratorRuntime","mark","_callee","callback","_data","wrap","_context","getS3SignedUrl","data","sent","file_name","signedUrl","signed_url","t0","stop","_x","_x2","apply","this","arguments","onFinishS3Put","_callee2","_context2","getSignedLink","abrupt","size","addLinkedImage","_onErrorRef$current3","getUrlFileName","length","some","_entry$uploaded","_toConsumableArray","addFiles","_onErrorRef$current5","_ref2","_entriesRef$current$f3","_entriesRef$current$f4","supported","split","rule","trim","toLowerCase","endsWith","slice","getAttachmentKind","isAcceptedType","unsupported","tooMany","room","_onErrorRef$current4","accepted","added","kind","isTooLarge","createObjectURL","overflow","handleFileSelect","event","_event$target$files","Array","from","openFileDialog","_fileInputRef$current","click","removeAttachment","key","String","handleRetry","item","reorderAttachments","orderedIds","byId","reordered","missing","clearAttachments","_onErrorRef$current6","_onErrorRef$current7","a","b","every","index","_useState3","reduce","acc","src","peekSignedLink","_useState4","storedSrcs","setStoredSrcs","storedSrcsRef","storedNames","join","pending","isActive","Promise","all","then","catch","console","resolved","_objectSpread","Object","fromEntries","items","_entry$error","push","hideDownload","undefined","stored","count","isFull"],"mappings":"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"}
|