@corva/ui 3.80.0-2 → 3.80.0-4
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/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/CollapsableSidebar.js +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.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/EmojiIconButton.js +1 -1
- package/cjs-bundle/components/EmojiIconButton.js.map +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js.map +1 -1
- package/cjs-bundle/components/GradientManager/GradientSelect.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientSelect.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/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.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/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/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.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/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.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/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.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/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
- package/cjs-bundle/componentsV2/ColorPicker/ColorPicker.constants.js +2 -0
- package/cjs-bundle/componentsV2/ColorPicker/ColorPicker.constants.js.map +1 -0
- package/cjs-bundle/componentsV2/ColorPicker/ColorPicker.js +1 -1
- package/cjs-bundle/componentsV2/ColorPicker/ColorPicker.js.map +1 -1
- package/cjs-bundle/componentsV2/ColorPicker/Swatches/Swatches.js +1 -1
- package/cjs-bundle/componentsV2/ColorPicker/Swatches/Swatches.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/cjs-bundle/componentsV2/Popover/Popover.js +1 -1
- package/cjs-bundle/componentsV2/Popover/Popover.js.map +1 -1
- package/cjs-bundle/componentsV2/index.js +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
- 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/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/CollapsableSidebar.js +1 -1
- package/components/CollapsableSidebar.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- 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/EmojiIconButton.d.ts.map +1 -1
- package/components/EmojiIconButton.js +1 -1
- package/components/EmojiIconButton.js.map +1 -1
- package/components/FeedItem/FeedItem.js +1 -1
- package/components/FeedItem/FeedItem.js.map +1 -1
- package/components/GradientManager/GradientManager.js +1 -1
- package/components/GradientManager/GradientManager.js.map +1 -1
- package/components/GradientManager/GradientSelect.js +1 -1
- package/components/GradientManager/GradientSelect.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/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.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/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/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js.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/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.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/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
- package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.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/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
- package/componentsV2/ColorPicker/ColorPicker.constants.d.ts +7 -0
- package/componentsV2/ColorPicker/ColorPicker.constants.d.ts.map +1 -0
- package/componentsV2/ColorPicker/ColorPicker.constants.js +2 -0
- package/componentsV2/ColorPicker/ColorPicker.constants.js.map +1 -0
- package/componentsV2/ColorPicker/ColorPicker.d.ts.map +1 -1
- package/componentsV2/ColorPicker/ColorPicker.js +1 -1
- package/componentsV2/ColorPicker/ColorPicker.js.map +1 -1
- package/componentsV2/ColorPicker/Swatches/Swatches.d.ts.map +1 -1
- package/componentsV2/ColorPicker/Swatches/Swatches.js +1 -1
- package/componentsV2/ColorPicker/Swatches/Swatches.js.map +1 -1
- package/componentsV2/ColorPicker/index.d.ts +1 -0
- package/componentsV2/ColorPicker/index.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/componentsV2/Popover/Popover.d.ts +1 -0
- package/componentsV2/Popover/Popover.d.ts.map +1 -1
- package/componentsV2/Popover/Popover.js +1 -1
- package/componentsV2/Popover/Popover.js.map +1 -1
- package/componentsV2/index.js +1 -1
- package/mcp-server/server.mjs +4 -4
- package/package.json +1 -1
- package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeedItem.js","sources":["../../../src/components/FeedItem/FeedItem.js"],"sourcesContent":["import { Divider, makeStyles, Paper, Typography } from '@material-ui/core';\nimport grey from '@material-ui/core/colors/grey';\nimport classNames from 'classnames';\nimport { includes, noop, startCase } from 'lodash';\nimport { useRef, useState } from 'react';\n\nimport { useDevCenterRouter } from '../DevCenter';\n\nimport Actions from './components/Actions';\nimport CompletionDateTimestamp from './components/CompletionDateTimestamp';\nimport Content from './components/Content';\nimport CreatedAt from './components/CreatedAt';\nimport FeedComments from './components/FeedComments';\nimport Icon from './components/Icon';\nimport Reactions from './components/Reactions';\nimport RigAndWell from './components/RigAndWell';\nimport TypeAndAssetTitle from './components/TypeAndAssetTitle';\n\nimport styles from './FeedItem.css';\n\nimport { deleteFeedItem, toggleFeedItemLike } from '~/clients/jsonApi';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { useIsInsideIsolatedDcApp } from '~/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider';\nimport ErrorBoundary from '~/components/ErrorBoundary';\nimport LoadingIndicator from '~/components/LoadingIndicator';\nimport { OPEN_ALERT_DETAILS_ID_STORAGE_KEY } from '~/constants/alerts';\nimport { FEED_ITEM_TYPES, FEED_ITEM_TYPES_BY_KEY } from '~/constants/feed';\nimport { showSuccessNotification } from '~/utils';\nimport utils from '~/utils/main';\nimport { isNativeDetected } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'FeedPo';\n\nconst useStyles = makeStyles(theme => ({\n paperRoot: {\n position: 'relative',\n marginBottom: 10,\n paddingBottom: 16,\n backgroundColor: ({ isInsideDcApp }) =>\n isInsideDcApp ? 'rgba(65, 65, 65, 0.9)' : theme.palette.background.b8,\n width: ({ isInsideDcApp }) => (isInsideDcApp ? 360 : '100%'),\n boxShadow: ({ isInsideDcApp }) =>\n isInsideDcApp &&\n '0px 8px 10px rgba(0, 0, 0, 0.14), 0px 3px 14px rgba(0, 0, 0, 0.12), 0px 5px 5px rgba(0, 0, 0, 0.2)',\n },\n clickablePaperRoot: {\n '&:hover': {\n filter: 'brightness(90%)',\n transition: 'filter 0.3s',\n },\n },\n headerDividerRoot: {\n margin: '8px 0 8px 0',\n backgroundColor: '#595959',\n },\n dateTimestamp: {\n color: theme.palette.primary.text6,\n '& span': {\n color: theme.palette.primary.contrastText,\n },\n },\n}));\n\n/**\n * @typedef {object} ActivityItem\n * @property {number} id\n * @property {string} type\n * @property {Record<string, any>} [context]\n * @property {Array<'update' | 'destroy' | 'like'>} [allowed_actions]\n * @property {number} [company_id]\n * @property {number} [asset_id] is not received from the back but have to be provided while saving activities\n * @property {any} [rig]\n * @property {any} [well]\n * @property {string} [updated_at]\n * @property {any} [segment]\n * @property {boolean} [liked]\n * @property {any[]} [likes]\n * @property {number} [likes_count]\n * @property {any[]} [mentioned_users]\n */\n\n/**\n * @param {object} props\n * @param {ActivityItem} props.feedItem\n * @param {string[]} [props.editableFeedItemTypes]\n * @param {(feedItemId: number) => void} [props.removeFeedItem] called after a feed item was removed by a user\n * @param {(feedItem: ActivityItem) => void} [props.enterEditMode] called when a used clicks \"Edit\" menu item\n * @param {any} [props.router] used for alert navigation by host applications\n * @param {any} props.currentUser used to display Avatar and to determine the ability to edit comments\n * @param {any} [props.appData] passed to body Template\n * @param {Record<string, any>} [props.customFeedItemTypeTemplates]\n * @param {string} [props.paperClassName]\n * @param {any} [props.getFeedItemMessage] used only to create a data-testid attribute\n * @param {(feedItem: ActivityItem) => void} [props.onFeedItemClick]\n * used to override built-in navigation for clickable alert feed items\n * @param {ReactNode} [props.extraActions] additional action nodes rendered inside the reactions/actions row, after the built-in like and comment buttons\n */\nfunction FeedItem({\n feedItem,\n editableFeedItemTypes = [FEED_ITEM_TYPES.POST],\n removeFeedItem = noop,\n enterEditMode = noop,\n router,\n currentUser,\n appData,\n customFeedItemTypeTemplates = {},\n paperClassName,\n getFeedItemMessage = ({ context }) => context?.post?.body || context?.dvd_comment?.body,\n onFeedItemClick,\n extraActions,\n ...props\n}) {\n const canDeleteFeedItem = includes(feedItem.allowed_actions, 'destroy');\n\n const isInsideDcApp = useIsInsideIsolatedDcApp();\n const classes = useStyles({ isInsideDcApp });\n const [isLoading, setIsLoading] = useState(false);\n const [openCommentInput, setOpenCommentInput] = useState(true);\n const [openCommentList, setOpenCommentList] = useState(true);\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false);\n\n const isPost = feedItem.type === FEED_ITEM_TYPES_BY_KEY.post.type;\n const isEditableItem = editableFeedItemTypes.includes(feedItem.type);\n\n const isGeosteering = feedItem.type === FEED_ITEM_TYPES_BY_KEY.geosteering_comments.type;\n const isRecommended =\n isGeosteering && feedItem.context?.geosteering_comments?.data?.isRecommendation;\n\n const typeCategory = FEED_ITEM_TYPES_BY_KEY[feedItem.type]?.category || 'post';\n\n const userFullName = utils.getUserFullName(feedItem.user);\n const typeLabel = FEED_ITEM_TYPES_BY_KEY[feedItem.type]?.showCreatorToLabel\n ? userFullName\n : FEED_ITEM_TYPES_BY_KEY[feedItem.type]?.label || startCase(feedItem.type);\n\n const feedItemSourceLink =\n feedItem.type === FEED_ITEM_TYPES_BY_KEY.alert.type && `/alerts/${feedItem.context?.alert?.id}`;\n\n const isFeedItemClickable =\n feedItem.type === FEED_ITEM_TYPES_BY_KEY.alert.type && feedItemSourceLink;\n\n const handleDeleteFeedItem = async () => {\n setIsLoading(true);\n\n try {\n await deleteFeedItem(feedItem.id);\n } catch (e) {\n return;\n } finally {\n setIsLoading(false);\n }\n\n showSuccessNotification('Item was deleted');\n\n removeFeedItem(feedItem.id);\n };\n\n const isBeingLikedRef = useRef(false);\n\n const handleToggleLike = async () => {\n if (!isBeingLikedRef.current) {\n const feedItemId = feedItem.id;\n isBeingLikedRef.current = true;\n try {\n await toggleFeedItemLike(feedItemId); // NOTE: Received through subscription\n } catch (e) {\n // NOTE: Do nothing\n }\n isBeingLikedRef.current = false;\n }\n };\n\n const handleEditMenuItem = () => {\n enterEditMode(feedItem);\n };\n\n const handleDeleteMenuItem = () => {\n setOpenDeleteDialog(true);\n };\n\n const copyFeedItemLink = () => {\n const feedId = feedItem.id;\n const text = `${window.location.host}/feed/${feedId}`;\n\n utils.copyToClipboard(text);\n };\n\n const handleDelete = () => {\n handleDeleteFeedItem();\n };\n\n const devCenterRouter = useDevCenterRouter();\n\n const handleMainContainerClick = () => {\n if (!isFeedItemClickable) return;\n\n if (onFeedItemClick) {\n onFeedItemClick(feedItem);\n return;\n }\n\n const alertRouter = router || devCenterRouter;\n\n if (alertRouter) {\n alertRouter.push(feedItemSourceLink);\n return;\n }\n\n localStorage.setItem(OPEN_ALERT_DETAILS_ID_STORAGE_KEY, feedItem.context.alert.id);\n };\n\n const getRigName = feedItem => {\n const isRigBasedItem = !!feedItem.rig;\n return isRigBasedItem ? feedItem.rig?.name : feedItem.well?.parent_asset?.name;\n };\n\n return (\n <Paper\n data-testid={`${PAGE_NAME}_post_${getFeedItemMessage(feedItem)}_rigName_${getRigName(\n feedItem\n )}`}\n className={classNames(classes.paperRoot, paperClassName, {\n [classes.clickablePaperRoot]: isFeedItemClickable,\n [styles.hideOverflow]: isLoading,\n })}\n elevation={0}\n >\n <div\n onClick={handleMainContainerClick}\n className={classNames(styles.mainContainer, {\n [styles.mainContainerClickable]: isFeedItemClickable,\n [styles.mainContainerNative]: isNativeDetected,\n })}\n >\n <Icon\n feedItem={feedItem}\n classes={classes}\n displayName={userFullName}\n isRecommended={isRecommended}\n currentUser={currentUser}\n />\n <div\n className={classNames(styles.mainContainerTop, {\n [styles.mainContainerTopNative]: isNativeDetected,\n })}\n >\n <div className={styles.mainContainerTopLine}>\n <TypeAndAssetTitle\n feedItem={feedItem}\n userFullName={userFullName}\n typeLabel={typeLabel}\n classes={classes}\n isPost={isPost}\n />\n <div className={styles.mainContainerTopMenu}>\n <CreatedAt feedItem={feedItem} classes={classes} />\n\n <Actions\n data-testid={`${PAGE_NAME}_actionsDropdown`}\n isPost={isPost}\n isEditableItem={isEditableItem}\n canDeleteFeedItem={canDeleteFeedItem}\n handleEditMenuItem={handleEditMenuItem}\n handleDeleteMenuItem={handleDeleteMenuItem}\n copyFeedItemLink={copyFeedItemLink}\n feedItem={feedItem}\n currentUser={currentUser}\n />\n </div>\n </div>\n\n <RigAndWell feedItem={feedItem} isPost={isPost} />\n </div>\n <Divider className={classes.headerDividerRoot} />\n <CompletionDateTimestamp feedItem={feedItem} />\n <ErrorBoundary ErrorView={() => <Typography>Feed Item loading failed</Typography>}>\n <Content\n feedItem={feedItem}\n appData={appData}\n customFeedItemTypeTemplates={customFeedItemTypeTemplates}\n currentUser={currentUser}\n onFeedItemClick={onFeedItemClick}\n {...props}\n />\n </ErrorBoundary>\n </div>\n <Reactions\n feedItem={feedItem}\n handleToggleLike={handleToggleLike}\n setOpenCommentInput={setOpenCommentInput}\n setOpenCommentList={setOpenCommentList}\n openCommentInput={openCommentInput}\n openCommentList={openCommentList}\n currentUser={currentUser}\n extraActions={extraActions}\n />\n <FeedComments\n openCommentInput={openCommentInput}\n openCommentList={openCommentList}\n feedItem={feedItem}\n currentUser={currentUser}\n />\n {isLoading && ( // NOTE: Avoids feed item height change\n <div className={styles.loadingContainer} style={{ backgroundColor: grey[800] }}>\n <LoadingIndicator />\n </div>\n )}\n {openDeleteDialog && (\n <ConfirmationDialog\n open={openDeleteDialog}\n title={`Delete ${typeCategory}`}\n text={`Are you sure you want to delete ${typeCategory} and all attachments?`}\n handleClose={() => setOpenDeleteDialog(false)}\n handleOk={handleDelete}\n okText=\"Delete\"\n />\n )}\n </Paper>\n );\n}\n\nexport default FeedItem;\n"],"names":["useStyles","makeStyles","theme","paperRoot","position","marginBottom","paddingBottom","backgroundColor","_ref","isInsideDcApp","palette","background","b8","width","_ref2","boxShadow","_ref3","clickablePaperRoot","filter","transition","headerDividerRoot","margin","dateTimestamp","color","primary","text6","contrastText","FeedItem","_ref4","_feedItem$context","_feedItem$context$geo","_feedItem$context$geo2","_FEED_ITEM_TYPES_BY_K","_FEED_ITEM_TYPES_BY_K2","_FEED_ITEM_TYPES_BY_K3","_feedItem$context2","_feedItem$context2$al","_classNames","_classNames2","_ref6","_ref7","feedItem","_ref4$editableFeedIte","editableFeedItemTypes","FEED_ITEM_TYPES","POST","_ref4$removeFeedItem","removeFeedItem","noop","_ref4$enterEditMode","enterEditMode","router","currentUser","appData","_ref4$customFeedItemT","customFeedItemTypeTemplates","paperClassName","_ref4$getFeedItemMess","getFeedItemMessage","_ref5","_context$post","_context$dvd_comment","context","post","body","dvd_comment","onFeedItemClick","extraActions","props","_objectWithoutProperties","_excluded","canDeleteFeedItem","includes","allowed_actions","useIsInsideIsolatedDcApp","classes","useState","_useState2","_slicedToArray","_useState","isLoading","setIsLoading","_useState4","_useState3","openCommentInput","setOpenCommentInput","_useState6","_useState5","openCommentList","setOpenCommentList","_useState8","_useState7","openDeleteDialog","setOpenDeleteDialog","isPost","type","FEED_ITEM_TYPES_BY_KEY","isEditableItem","isRecommended","geosteering_comments","data","isRecommendation","typeCategory","category","userFullName","utils","getUserFullName","user","typeLabel","showCreatorToLabel","label","startCase","feedItemSourceLink","alert","id","isFeedItemClickable","handleDeleteFeedItem","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","deleteFeedItem","t0","abrupt","finish","showSuccessNotification","stop","apply","this","arguments","isBeingLikedRef","useRef","handleToggleLike","_callee2","feedItemId","_context2","current","toggleFeedItemLike","devCenterRouter","useDevCenterRouter","_jsxs","Paper","PAGE_NAME","concat","_feedItem$rig","_feedItem$well","_feedItem$well$parent","rig","name","well","parent_asset","getRigName","className","classNames","styles","hideOverflow","elevation","children","onClick","alertRouter","push","localStorage","setItem","OPEN_ALERT_DETAILS_ID_STORAGE_KEY","mainContainer","mainContainerClickable","mainContainerNative","isNativeDetected","_jsx","Icon","displayName","mainContainerTop","mainContainerTopNative","mainContainerTopLine","TypeAndAssetTitle","mainContainerTopMenu","CreatedAt","Actions","handleEditMenuItem","handleDeleteMenuItem","copyFeedItemLink","feedId","text","window","location","host","copyToClipboard","RigAndWell","Divider","CompletionDateTimestamp","ErrorBoundary","ErrorView","Typography","Content","_objectSpread","Reactions","FeedComments","loadingContainer","style","grey","LoadingIndicator","ConfirmationDialog","open","title","handleClose","handleOk","okText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FeedItem.js","sources":["../../../src/components/FeedItem/FeedItem.js"],"sourcesContent":["import { Divider, makeStyles, Paper, Typography } from '@material-ui/core';\nimport grey from '@material-ui/core/colors/grey';\nimport classNames from 'classnames';\nimport { includes, noop, startCase } from 'lodash';\nimport { useRef, useState } from 'react';\n\nimport { useDevCenterRouter } from '../DevCenter';\n\nimport Actions from './components/Actions';\nimport CompletionDateTimestamp from './components/CompletionDateTimestamp';\nimport Content from './components/Content';\nimport CreatedAt from './components/CreatedAt';\nimport FeedComments from './components/FeedComments';\nimport Icon from './components/Icon';\nimport Reactions from './components/Reactions';\nimport RigAndWell from './components/RigAndWell';\nimport TypeAndAssetTitle from './components/TypeAndAssetTitle';\n\nimport styles from './FeedItem.css';\n\nimport { deleteFeedItem, toggleFeedItemLike } from '~/clients/jsonApi';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { useIsInsideIsolatedDcApp } from '~/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider';\nimport ErrorBoundary from '~/components/ErrorBoundary';\nimport LoadingIndicator from '~/components/LoadingIndicator';\nimport { OPEN_ALERT_DETAILS_ID_STORAGE_KEY } from '~/constants/alerts';\nimport { FEED_ITEM_TYPES, FEED_ITEM_TYPES_BY_KEY } from '~/constants/feed';\nimport { showSuccessNotification } from '~/utils';\nimport utils from '~/utils/main';\nimport { isNativeDetected } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'FeedPo';\n\nconst useStyles = makeStyles(theme => ({\n paperRoot: {\n position: 'relative',\n marginBottom: 10,\n paddingBottom: 16,\n backgroundColor: ({ isInsideDcApp }) =>\n isInsideDcApp ? 'rgba(65, 65, 65, 0.9)' : theme.palette.background.b8,\n width: ({ isInsideDcApp }) => (isInsideDcApp ? 360 : '100%'),\n boxShadow: ({ isInsideDcApp }) =>\n isInsideDcApp &&\n '0px 8px 10px rgba(0, 0, 0, 0.14), 0px 3px 14px rgba(0, 0, 0, 0.12), 0px 5px 5px rgba(0, 0, 0, 0.2)',\n },\n clickablePaperRoot: {\n '&:hover': {\n filter: 'brightness(90%)',\n transition: 'filter 0.3s',\n },\n },\n headerDividerRoot: {\n margin: '8px 0 8px 0',\n backgroundColor: '#595959',\n },\n dateTimestamp: {\n color: theme.palette.primary.text6,\n '& span': {\n color: theme.palette.primary.contrastText,\n },\n },\n}));\n\n/**\n * @typedef {object} ActivityItem\n * @property {number} id\n * @property {string} type\n * @property {Record<string, any>} [context]\n * @property {Array<'update' | 'destroy' | 'like'>} [allowed_actions]\n * @property {number} [company_id]\n * @property {number} [asset_id] is not received from the back but have to be provided while saving activities\n * @property {any} [rig]\n * @property {any} [well]\n * @property {string} [updated_at]\n * @property {any} [segment]\n * @property {boolean} [liked]\n * @property {any[]} [likes]\n * @property {number} [likes_count]\n * @property {any[]} [mentioned_users]\n */\n\n/**\n * @param {object} props\n * @param {ActivityItem} props.feedItem\n * @param {string[]} [props.editableFeedItemTypes]\n * @param {(feedItemId: number) => void} [props.removeFeedItem] called after a feed item was removed by a user\n * @param {(feedItem: ActivityItem) => void} [props.enterEditMode] called when a used clicks \"Edit\" menu item\n * @param {any} [props.router] used for alert navigation by host applications\n * @param {any} props.currentUser used to display Avatar and to determine the ability to edit comments\n * @param {any} [props.appData] passed to body Template\n * @param {Record<string, any>} [props.customFeedItemTypeTemplates]\n * @param {string} [props.paperClassName]\n * @param {any} [props.getFeedItemMessage] used only to create a data-testid attribute\n * @param {(feedItem: ActivityItem) => void} [props.onFeedItemClick]\n * used to override built-in navigation for clickable alert feed items\n * @param {ReactNode} [props.extraActions] additional action nodes rendered inside the reactions/actions row, after the built-in like and comment buttons\n */\nfunction FeedItem({\n feedItem,\n editableFeedItemTypes = [FEED_ITEM_TYPES.POST],\n removeFeedItem = noop,\n enterEditMode = noop,\n router,\n currentUser,\n appData,\n customFeedItemTypeTemplates = {},\n paperClassName,\n getFeedItemMessage = ({ context }) => context?.post?.body || context?.dvd_comment?.body,\n onFeedItemClick,\n extraActions,\n ...props\n}) {\n const canDeleteFeedItem = includes(feedItem.allowed_actions, 'destroy');\n\n const isInsideDcApp = useIsInsideIsolatedDcApp();\n const classes = useStyles({ isInsideDcApp });\n const [isLoading, setIsLoading] = useState(false);\n const [openCommentInput, setOpenCommentInput] = useState(true);\n const [openCommentList, setOpenCommentList] = useState(true);\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false);\n\n const isPost = feedItem.type === FEED_ITEM_TYPES_BY_KEY.post.type;\n const isEditableItem = editableFeedItemTypes.includes(feedItem.type);\n\n const isGeosteering = feedItem.type === FEED_ITEM_TYPES_BY_KEY.geosteering_comments.type;\n const isRecommended =\n isGeosteering && feedItem.context?.geosteering_comments?.data?.isRecommendation;\n\n const typeCategory = FEED_ITEM_TYPES_BY_KEY[feedItem.type]?.category || 'post';\n\n const userFullName = utils.getUserFullName(feedItem.user);\n const typeLabel = FEED_ITEM_TYPES_BY_KEY[feedItem.type]?.showCreatorToLabel\n ? userFullName\n : FEED_ITEM_TYPES_BY_KEY[feedItem.type]?.label || startCase(feedItem.type);\n\n const feedItemSourceLink =\n feedItem.type === FEED_ITEM_TYPES_BY_KEY.alert.type && `/alerts/${feedItem.context?.alert?.id}`;\n\n const isFeedItemClickable =\n feedItem.type === FEED_ITEM_TYPES_BY_KEY.alert.type && feedItemSourceLink;\n\n const handleDeleteFeedItem = async () => {\n setIsLoading(true);\n\n try {\n await deleteFeedItem(feedItem.id);\n } catch (e) {\n return;\n } finally {\n setIsLoading(false);\n }\n\n showSuccessNotification('Item was deleted');\n\n removeFeedItem(feedItem.id);\n };\n\n const isBeingLikedRef = useRef(false);\n\n const handleToggleLike = async () => {\n if (!isBeingLikedRef.current) {\n const feedItemId = feedItem.id;\n isBeingLikedRef.current = true;\n try {\n await toggleFeedItemLike(feedItemId); // NOTE: Received through subscription\n } catch (e) {\n // NOTE: Do nothing\n }\n isBeingLikedRef.current = false;\n }\n };\n\n const handleEditMenuItem = () => {\n enterEditMode(feedItem);\n };\n\n const handleDeleteMenuItem = () => {\n setOpenDeleteDialog(true);\n };\n\n const copyFeedItemLink = () => {\n const feedId = feedItem.id;\n const text = `${window.location.host}/feed/${feedId}`;\n\n utils.copyToClipboard(text);\n };\n\n const handleDelete = () => {\n handleDeleteFeedItem();\n };\n\n const devCenterRouter = useDevCenterRouter();\n\n const handleMainContainerClick = () => {\n if (!isFeedItemClickable) return;\n\n if (onFeedItemClick) {\n onFeedItemClick(feedItem);\n return;\n }\n\n const alertRouter = router || devCenterRouter;\n\n if (alertRouter) {\n alertRouter.push(feedItemSourceLink);\n return;\n }\n\n localStorage.setItem(OPEN_ALERT_DETAILS_ID_STORAGE_KEY, feedItem.context.alert.id);\n };\n\n const getRigName = feedItem => {\n const isRigBasedItem = !!feedItem.rig;\n return isRigBasedItem ? feedItem.rig?.name : feedItem.well?.parent_asset?.name;\n };\n\n return (\n <Paper\n data-testid={`${PAGE_NAME}_post_${getFeedItemMessage(feedItem)}_rigName_${getRigName(\n feedItem\n )}`}\n className={classNames(classes.paperRoot, paperClassName, {\n [classes.clickablePaperRoot]: isFeedItemClickable,\n [styles.hideOverflow]: isLoading,\n })}\n elevation={0}\n >\n <div\n onClick={handleMainContainerClick}\n className={classNames(styles.mainContainer, {\n [styles.mainContainerClickable]: isFeedItemClickable,\n [styles.mainContainerNative]: isNativeDetected,\n })}\n >\n <Icon\n feedItem={feedItem}\n classes={classes}\n displayName={userFullName}\n isRecommended={isRecommended}\n currentUser={currentUser}\n />\n <div\n className={classNames(styles.mainContainerTop, {\n [styles.mainContainerTopNative]: isNativeDetected,\n })}\n >\n <div className={styles.mainContainerTopLine}>\n <TypeAndAssetTitle\n feedItem={feedItem}\n userFullName={userFullName}\n typeLabel={typeLabel}\n classes={classes}\n isPost={isPost}\n />\n <div className={styles.mainContainerTopMenu}>\n <CreatedAt feedItem={feedItem} classes={classes} />\n\n <Actions\n data-testid={`${PAGE_NAME}_actionsDropdown`}\n isPost={isPost}\n isEditableItem={isEditableItem}\n canDeleteFeedItem={canDeleteFeedItem}\n handleEditMenuItem={handleEditMenuItem}\n handleDeleteMenuItem={handleDeleteMenuItem}\n copyFeedItemLink={copyFeedItemLink}\n feedItem={feedItem}\n currentUser={currentUser}\n />\n </div>\n </div>\n\n <RigAndWell feedItem={feedItem} isPost={isPost} />\n </div>\n <Divider className={classes.headerDividerRoot} />\n <CompletionDateTimestamp feedItem={feedItem} />\n <ErrorBoundary ErrorView={() => <Typography>Feed Item loading failed</Typography>}>\n <Content\n feedItem={feedItem}\n appData={appData}\n customFeedItemTypeTemplates={customFeedItemTypeTemplates}\n currentUser={currentUser}\n onFeedItemClick={onFeedItemClick}\n {...props}\n />\n </ErrorBoundary>\n </div>\n <Reactions\n feedItem={feedItem}\n handleToggleLike={handleToggleLike}\n setOpenCommentInput={setOpenCommentInput}\n setOpenCommentList={setOpenCommentList}\n openCommentInput={openCommentInput}\n openCommentList={openCommentList}\n currentUser={currentUser}\n extraActions={extraActions}\n />\n <FeedComments\n openCommentInput={openCommentInput}\n openCommentList={openCommentList}\n feedItem={feedItem}\n currentUser={currentUser}\n />\n {isLoading && ( // NOTE: Avoids feed item height change\n <div className={styles.loadingContainer} style={{ backgroundColor: grey[800] }}>\n <LoadingIndicator />\n </div>\n )}\n {openDeleteDialog && (\n <ConfirmationDialog\n open={openDeleteDialog}\n title={`Delete ${typeCategory}`}\n text={`Are you sure you want to delete ${typeCategory} and all attachments?`}\n handleClose={() => setOpenDeleteDialog(false)}\n handleOk={handleDelete}\n okText=\"Delete\"\n />\n )}\n </Paper>\n );\n}\n\nexport default FeedItem;\n"],"names":["useStyles","makeStyles","theme","paperRoot","position","marginBottom","paddingBottom","backgroundColor","_ref","isInsideDcApp","palette","background","b8","width","_ref2","boxShadow","_ref3","clickablePaperRoot","filter","transition","headerDividerRoot","margin","dateTimestamp","color","primary","text6","contrastText","FeedItem","_ref4","_feedItem$context","_feedItem$context$geo","_feedItem$context$geo2","_FEED_ITEM_TYPES_BY_K","_FEED_ITEM_TYPES_BY_K2","_FEED_ITEM_TYPES_BY_K3","_feedItem$context2","_feedItem$context2$al","_classNames","_classNames2","_ref6","_ref7","feedItem","_ref4$editableFeedIte","editableFeedItemTypes","FEED_ITEM_TYPES","POST","_ref4$removeFeedItem","removeFeedItem","noop","_ref4$enterEditMode","enterEditMode","router","currentUser","appData","_ref4$customFeedItemT","customFeedItemTypeTemplates","paperClassName","_ref4$getFeedItemMess","getFeedItemMessage","_ref5","_context$post","_context$dvd_comment","context","post","body","dvd_comment","onFeedItemClick","extraActions","props","_objectWithoutProperties","_excluded","canDeleteFeedItem","includes","allowed_actions","useIsInsideIsolatedDcApp","classes","useState","_useState2","_slicedToArray","_useState","isLoading","setIsLoading","_useState4","_useState3","openCommentInput","setOpenCommentInput","_useState6","_useState5","openCommentList","setOpenCommentList","_useState8","_useState7","openDeleteDialog","setOpenDeleteDialog","isPost","type","FEED_ITEM_TYPES_BY_KEY","isEditableItem","isRecommended","geosteering_comments","data","isRecommendation","typeCategory","category","userFullName","utils","getUserFullName","user","typeLabel","showCreatorToLabel","label","startCase","feedItemSourceLink","alert","id","isFeedItemClickable","handleDeleteFeedItem","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","deleteFeedItem","t0","abrupt","finish","showSuccessNotification","stop","apply","this","arguments","isBeingLikedRef","useRef","handleToggleLike","_callee2","feedItemId","_context2","current","toggleFeedItemLike","devCenterRouter","useDevCenterRouter","_jsxs","Paper","PAGE_NAME","concat","_feedItem$rig","_feedItem$well","_feedItem$well$parent","rig","name","well","parent_asset","getRigName","className","classNames","styles","hideOverflow","elevation","children","onClick","alertRouter","push","localStorage","setItem","OPEN_ALERT_DETAILS_ID_STORAGE_KEY","mainContainer","mainContainerClickable","mainContainerNative","isNativeDetected","_jsx","Icon","displayName","mainContainerTop","mainContainerTopNative","mainContainerTopLine","TypeAndAssetTitle","mainContainerTopMenu","CreatedAt","Actions","handleEditMenuItem","handleDeleteMenuItem","copyFeedItemLink","feedId","text","window","location","host","copyToClipboard","RigAndWell","Divider","CompletionDateTimestamp","ErrorBoundary","ErrorView","Typography","Content","_objectSpread","Reactions","FeedComments","loadingContainer","style","grey","LoadingIndicator","ConfirmationDialog","open","title","handleClose","handleOk","okText"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{Grid as t,Box as e}from"@material-ui/core";import{noop as n,isEmpty as i,trim as r}from"lodash";import{useMemo as c,useState as p,useEffect as m,useCallback as a}from"react";import l from"../IconButton/index.js";import{GradientPicker as d}from"../GradientPicker/GradientPicker.js";import"../../componentsV2/Text/Text.js";import"../../componentsV2/Grid/Grid.js";import"../../componentsV2/Grid/Cell.js";import"classnames";import"../../componentsV2/Header/Header.scss.js";import{jsxs as j,jsx as u,Fragment as V}from"react/jsx-runtime";import"../../componentsV2/Button/Button.js";import"../../componentsV2/ButtonIcon/ButtonIcon.js";import"@babel/runtime/helpers/objectWithoutProperties";import"../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../componentsV2/Tooltip/Tooltip.scss.js";import"../../componentsV2/Popover/Popover.js";import"../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../componentsV2/Radio/Radio.js";import"../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../componentsV2/Checkbox/Checkbox.js";import"@babel/runtime/helpers/toConsumableArray";import"../../componentsV2/TextInput/TextInput.js";import{TextInputNext as A}from"../../componentsV2/TextInputNext/TextInputNext.js";import"../../componentsV2/TextArea/TextArea.js";import"../../componentsV2/Label/Label.js";import"../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../componentsV2/TextLink/TextLink.js";import"../../componentsV2/Chip/Chip.js";import"../../componentsV2/ChipAlert/ChipAlert.js";import"../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../componentsV2/Avatar/Avatar.js";import"../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../componentsV2/Paper/Paper.js";import"../../componentsV2/ModalWindow/ModalWindow.js";import"../../componentsV2/Modal/Modal.scss.js";import"../../componentsV2/Menu/Menu.js";import"../../componentsV2/utils.js";import{CheckSmallIcon as I,CloseSmallIcon as C,WriteIcon as g,DeleteFourIcon as v}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import"../../componentsV2/Hint/Hint.scss.js";import"../../componentsV2/Counter/Counter.js";import"../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../componentsV2/TemplatesControl/utils.js";import"../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../componentsV2/TemplatesControl/Store/utils.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../componentsV2/TemplatesControl/types.js";import"../UserMention/utils/index.js";import"../../utils/convert.js";import"../../constants/completion.js";import"moment";import"../../constants/alerts.js";import"../../utils/casing/validation.js";import"lodash/mean";import"../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import{TEMP_GRADIENT_ID as h,DEFAULT_GRADIENTS as S,DEFAULT_GRADIENT_STOPS as f,GRADIENT_MAX_NAME_LENGTH as P}from"./configuration/constants.js";import"../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../utils/ga.js";import"../../utils/goalsConfig/goalsConfig.js";import"../../utils/lasParser.js";import"../../utils/main.js";import"../../utils/metrics/metricsConfig.js";import"../../utils/mobileDetect.js";import"../../utils/feed.js";import"../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../utils/dashboardReports.js";import"../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../utils/jsonaDataFormatter.js";import"../../utils/bha.js";import"jsona";import"../../clients/jsonApi/index.js";import"../../utils/shareRecentRequest.js";import"../../utils/charts/Styles.scss.js";import"../../utils/getSingleAsset.js";import"../../permissions/PermissionsContext.js";import"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"../../permissions/ProvidePermissions.js";import"../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../componentsV2/LoaderLinear/LoaderLinear.js";import"../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../componentsV2/Switch/Switch.js";import"../../componentsV2/Tabs/Tabs.js";import"../../componentsV2/EmptyState/EmptyState.scss.js";import"../../componentsV2/FileIcon/FileIcon.js";import"../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../componentsV2/Skeleton/Skeleton.scss.js";import"../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../componentsV2/Stepper/Step/Step.scss.js";import"../../componentsV2/Stepper/Stepper.scss.js";import"../../componentsV2/ButtonLive/ButtonLive.js";import"../../componentsV2/ButtonText/ButtonText.js";import"../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../componentsV2/Accordion/Accordion.scss.js";import"../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../componentsV2/BadgeComment/BadgeComment.js";import"../../componentsV2/AppContainer/AppContainer.js";import"../../componentsV2/AppContainer/AppContainer.constants.js";import"../../componentsV2/AppFooter/AppFooter.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppHeader/AppHeader.constants.js";import"../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"react-router-dom";import"../../componentsV2/AppHeader/AppAssets/utils.js";import"../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../PadModeSelect/PadModeSelect.js";import"../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../AppIcon/AppIcon.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"querystring";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../StatusBadge/constants.js";import"lodash/unset";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppPanel/AppPanelsContext.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../componentsV2/AppHeader/V3/constants.scss.js";import"../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../componentsV2/AppHeader/AppHeader.scss.js";import"../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../componentsV2/Autocomplete/Autocomplete.js";import"../../componentsV2/Select/Select.js";import"../../componentsV2/AppPanel/AppPanel.js";import"../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../componentsV2/DatePicker/DatePicker.js";import"../../componentsV2/DragHandle/DragHandle.js";import"../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../componentsV2/Slider/constants.js";import"../../componentsV2/Slider/components/SliderThumb.js";import"../../componentsV2/Slider/Slider.scss.js";import"../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";import{GradientList as b}from"./GradientList.js";import{GradientSelect as D}from"./GradientSelect.js";import{useStyles as x}from"./GradientManager.styles.js";function T(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);s&&(e=e.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,e)}return t}function y(s){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?T(Object(e),!0).forEach((function(t){o(s,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):T(Object(e)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(e,o))}))}return s}var k=function(o){var T,k,O=o.gradientId,B=o.onGradientEditStateChange,F=void 0===B?n:B,H=o.onChange,M=void 0===H?n:H,L=o.defaultGradients,G=void 0===L?S:L,E=o.defaultGradientStops,q=void 0===E?f:E,w=o.allowNoname,R=o.scaleOptions,N=(R=void 0===R?{}:R).scaleFrom,U=void 0===N?0:N,W=R.scaleTo,z=void 0===W?100:W,K=R.scaleUnit,Z=o.className,J=x(),Q=c((function(){return new b(o.gradients||[],G,o.onGradientsChange)}),[o.gradients,G,o.onGradientsChange]),X=p(null),Y=s(X,2),$=Y[0],_=Y[1],oo=o.disableGradientsManagement||!o.onGradientsChange,so=Q.getHelperText({name:null!==(T=null==$?void 0:$.name)&&void 0!==T?T:"",allowNoname:null!=w&&w,gradientId:O});m((function(){F(Boolean($))}),[Boolean($)]);var to=(null===(k=Q.getById(O))||void 0===k?void 0:k.gradientStops)||o.gradientStops||q,eo=a((function(){_(null)}),[]),no=a((function(){_({name:"",gradientStops:q,id:h})}),[q]),io=a((function(){var o;Q.isDefault(O)?_({name:Q.newName(),gradientStops:to,id:h}):_({name:(null===(o=Q.getById(O))||void 0===o?void 0:o.name)||"",gradientStops:to})}),[Q,O,to]),ro=function(){if(i(so)&&$){var o=$.gradientStops;if(o){var s=r($.name);if(_(null),s){if(Q.getById($.id||O))return Q.update(O,{gradientStops:o,name:s}),void M({gradientId:O,gradientStops:o});var t=Q.add(s,o);M({gradientId:t.id,gradientStops:o})}else w&&M({gradientStops:o,gradientId:null})}}},co=a((function(o){o===O&&(M({gradientId:null,gradientStops:to}),_(null)),Q.remove(o)}),[to,Q,M,O]),po=function(o){var s=o.trimStart().substring(0,P);_(y(y({},$),{},{name:s}))},mo=a((function(o,s){switch(o){case"add":no();break;case"delete":co(s)}}),[no,co]),ao=a((function(o){var s,t=Q.getById(o);M({gradientId:o,gradientStops:null!==(s=null==t?void 0:t.gradientStops)&&void 0!==s?s:q})}),[Q,M,q]);return j(t,{container:!0,className:Z,children:[u(t,{item:!0,xs:6,children:$?u(A,{className:J.customGradientName,label:"Gradient Name",value:$.name,onChange:po,onFocus:function(o){o.target.select()},onKeyDown:function(o){if("Enter"===o.key){var s=o.target.value;s&&(po(s),ro())}},autoFocus:!0,status:null!=so&&so.error?"error":void 0,message:null==so?void 0:so.helperText}):u(D,{value:O,gradients:o.gradients||[],onChange:ao,defaultGradients:G,onAction:mo,readonly:oo})}),u(t,{item:!0,xs:6,children:u(e,{display:"flex",alignItems:"center",height:"100%",children:u(e,{display:"flex",paddingLeft:1,children:j(V,$?{children:[u(l,{"data-testid":"save-gradient-btn",onClick:ro,tooltipProps:{title:"Save"},disabled:!!so||oo,children:u(I,{})}),u(l,{"data-testid":"cancel-edit-btn",onClick:eo,tooltipProps:{title:"Cancel"},children:u(C,{})})]}:{children:[u(l,{"data-testid":"edit-gradient-btn",onClick:io,tooltipProps:{title:"Edit"},disabled:oo,children:u(g,{})}),!!Q.getById(O)&&!Q.isDefault(O)&&u(l,{"data-testid":"delete-gradient-btn",onClick:function(){return co(O)},tooltipProps:{title:"Remove"},disabled:oo,children:u(v,{})})]})})})}),u(t,{item:!0,xs:12,children:u(d,{from:U,to:z,unit:K,noScale:!0,gradientStops:(null==$?void 0:$.gradientStops)||to,onChange:function(o){_(y(y({},$),{},{gradientStops:o}))},readonly:!$,isMoveInputVisible:!0})})]})};export{k as GradientManager};
|
|
1
|
+
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{Grid as t,Box as e}from"@material-ui/core";import{noop as n,isEmpty as i,trim as r}from"lodash";import{useMemo as c,useState as p,useEffect as m,useCallback as a}from"react";import l from"../IconButton/index.js";import{GradientPicker as d}from"../GradientPicker/GradientPicker.js";import"../../componentsV2/Text/Text.js";import"../../componentsV2/Grid/Grid.js";import"../../componentsV2/Grid/Cell.js";import"classnames";import"../../componentsV2/Header/Header.scss.js";import{jsxs as j,jsx as u,Fragment as V}from"react/jsx-runtime";import"../../componentsV2/Button/Button.js";import"../../componentsV2/ButtonIcon/ButtonIcon.js";import"@babel/runtime/helpers/objectWithoutProperties";import"../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../componentsV2/Tooltip/Tooltip.scss.js";import"../../componentsV2/Popover/Popover.js";import"../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../componentsV2/Radio/Radio.js";import"../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../componentsV2/Checkbox/Checkbox.js";import"@babel/runtime/helpers/toConsumableArray";import"../../componentsV2/TextInput/TextInput.js";import{TextInputNext as A}from"../../componentsV2/TextInputNext/TextInputNext.js";import"../../componentsV2/TextArea/TextArea.js";import"../../componentsV2/Label/Label.js";import"../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../componentsV2/TextLink/TextLink.js";import"../../componentsV2/Chip/Chip.js";import"../../componentsV2/ChipAlert/ChipAlert.js";import"../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../componentsV2/Avatar/Avatar.js";import"../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../componentsV2/Paper/Paper.js";import"../../componentsV2/ModalWindow/ModalWindow.js";import"../../componentsV2/Modal/Modal.scss.js";import"../../componentsV2/Menu/Menu.js";import"../../componentsV2/utils.js";import{CheckSmallIcon as C,CloseSmallIcon as I,WriteIcon as g,DeleteFourIcon as v}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import"../../componentsV2/Hint/Hint.scss.js";import"../../componentsV2/Counter/Counter.js";import"../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../componentsV2/TemplatesControl/utils.js";import"../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../componentsV2/TemplatesControl/Store/utils.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../componentsV2/TemplatesControl/types.js";import"../UserMention/utils/index.js";import"../../utils/convert.js";import"../../constants/completion.js";import"moment";import"../../constants/alerts.js";import"../../utils/casing/validation.js";import"lodash/mean";import"../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import{TEMP_GRADIENT_ID as h,DEFAULT_GRADIENTS as S,DEFAULT_GRADIENT_STOPS as P,GRADIENT_MAX_NAME_LENGTH as f}from"./configuration/constants.js";import"../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../utils/ga.js";import"../../utils/goalsConfig/goalsConfig.js";import"../../utils/lasParser.js";import"../../utils/main.js";import"../../utils/metrics/metricsConfig.js";import"../../utils/mobileDetect.js";import"../../utils/feed.js";import"../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../utils/dashboardReports.js";import"../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../utils/jsonaDataFormatter.js";import"../../utils/bha.js";import"jsona";import"../../clients/jsonApi/index.js";import"../../utils/shareRecentRequest.js";import"../../utils/charts/Styles.scss.js";import"../../utils/getSingleAsset.js";import"../../permissions/PermissionsContext.js";import"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"../../permissions/ProvidePermissions.js";import"../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../componentsV2/LoaderLinear/LoaderLinear.js";import"../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../componentsV2/Switch/Switch.js";import"../../componentsV2/Tabs/Tabs.js";import"../../componentsV2/EmptyState/EmptyState.scss.js";import"../../componentsV2/FileIcon/FileIcon.js";import"../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../componentsV2/Skeleton/Skeleton.scss.js";import"../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../componentsV2/Stepper/Step/Step.scss.js";import"../../componentsV2/Stepper/Stepper.scss.js";import"../../componentsV2/ButtonLive/ButtonLive.js";import"../../componentsV2/ButtonText/ButtonText.js";import"../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../componentsV2/Accordion/Accordion.scss.js";import"../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../componentsV2/BadgeComment/BadgeComment.js";import"../../componentsV2/AppContainer/AppContainer.js";import"../../componentsV2/AppContainer/AppContainer.constants.js";import"../../componentsV2/AppFooter/AppFooter.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppHeader/AppHeader.constants.js";import"../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"react-router-dom";import"../../componentsV2/AppHeader/AppAssets/utils.js";import"../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../PadModeSelect/PadModeSelect.js";import"../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../AppIcon/AppIcon.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"querystring";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../StatusBadge/constants.js";import"lodash/unset";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppPanel/AppPanelsContext.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../componentsV2/AppHeader/V3/constants.scss.js";import"../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../componentsV2/AppHeader/AppHeader.scss.js";import"../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../componentsV2/Autocomplete/Autocomplete.js";import"../../componentsV2/Select/Select.js";import"../../componentsV2/AppPanel/AppPanel.js";import"../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../componentsV2/DatePicker/DatePicker.js";import"../../componentsV2/DragHandle/DragHandle.js";import"../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../componentsV2/Slider/constants.js";import"../../componentsV2/Slider/components/SliderThumb.js";import"../../componentsV2/Slider/Slider.scss.js";import"../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../componentsV2/ColorPicker/ColorPicker.constants.js";import"../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";import{GradientList as b}from"./GradientList.js";import{GradientSelect as D}from"./GradientSelect.js";import{useStyles as x}from"./GradientManager.styles.js";function T(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);s&&(e=e.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,e)}return t}function y(s){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?T(Object(e),!0).forEach((function(t){o(s,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):T(Object(e)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(e,o))}))}return s}var k=function(o){var T,k,O=o.gradientId,B=o.onGradientEditStateChange,F=void 0===B?n:B,H=o.onChange,M=void 0===H?n:H,L=o.defaultGradients,G=void 0===L?S:L,E=o.defaultGradientStops,q=void 0===E?P:E,w=o.allowNoname,R=o.scaleOptions,N=(R=void 0===R?{}:R).scaleFrom,U=void 0===N?0:N,W=R.scaleTo,z=void 0===W?100:W,K=R.scaleUnit,Z=o.className,J=x(),Q=c((function(){return new b(o.gradients||[],G,o.onGradientsChange)}),[o.gradients,G,o.onGradientsChange]),X=p(null),Y=s(X,2),$=Y[0],_=Y[1],oo=o.disableGradientsManagement||!o.onGradientsChange,so=Q.getHelperText({name:null!==(T=null==$?void 0:$.name)&&void 0!==T?T:"",allowNoname:null!=w&&w,gradientId:O});m((function(){F(Boolean($))}),[Boolean($)]);var to=(null===(k=Q.getById(O))||void 0===k?void 0:k.gradientStops)||o.gradientStops||q,eo=a((function(){_(null)}),[]),no=a((function(){_({name:"",gradientStops:q,id:h})}),[q]),io=a((function(){var o;Q.isDefault(O)?_({name:Q.newName(),gradientStops:to,id:h}):_({name:(null===(o=Q.getById(O))||void 0===o?void 0:o.name)||"",gradientStops:to})}),[Q,O,to]),ro=function(){if(i(so)&&$){var o=$.gradientStops;if(o){var s=r($.name);if(_(null),s){if(Q.getById($.id||O))return Q.update(O,{gradientStops:o,name:s}),void M({gradientId:O,gradientStops:o});var t=Q.add(s,o);M({gradientId:t.id,gradientStops:o})}else w&&M({gradientStops:o,gradientId:null})}}},co=a((function(o){o===O&&(M({gradientId:null,gradientStops:to}),_(null)),Q.remove(o)}),[to,Q,M,O]),po=function(o){var s=o.trimStart().substring(0,f);_(y(y({},$),{},{name:s}))},mo=a((function(o,s){switch(o){case"add":no();break;case"delete":co(s)}}),[no,co]),ao=a((function(o){var s,t=Q.getById(o);M({gradientId:o,gradientStops:null!==(s=null==t?void 0:t.gradientStops)&&void 0!==s?s:q})}),[Q,M,q]);return j(t,{container:!0,className:Z,children:[u(t,{item:!0,xs:6,children:$?u(A,{className:J.customGradientName,label:"Gradient Name",value:$.name,onChange:po,onFocus:function(o){o.target.select()},onKeyDown:function(o){if("Enter"===o.key){var s=o.target.value;s&&(po(s),ro())}},autoFocus:!0,status:null!=so&&so.error?"error":void 0,message:null==so?void 0:so.helperText}):u(D,{value:O,gradients:o.gradients||[],onChange:ao,defaultGradients:G,onAction:mo,readonly:oo})}),u(t,{item:!0,xs:6,children:u(e,{display:"flex",alignItems:"center",height:"100%",children:u(e,{display:"flex",paddingLeft:1,children:j(V,$?{children:[u(l,{"data-testid":"save-gradient-btn",onClick:ro,tooltipProps:{title:"Save"},disabled:!!so||oo,children:u(C,{})}),u(l,{"data-testid":"cancel-edit-btn",onClick:eo,tooltipProps:{title:"Cancel"},children:u(I,{})})]}:{children:[u(l,{"data-testid":"edit-gradient-btn",onClick:io,tooltipProps:{title:"Edit"},disabled:oo,children:u(g,{})}),!!Q.getById(O)&&!Q.isDefault(O)&&u(l,{"data-testid":"delete-gradient-btn",onClick:function(){return co(O)},tooltipProps:{title:"Remove"},disabled:oo,children:u(v,{})})]})})})}),u(t,{item:!0,xs:12,children:u(d,{from:U,to:z,unit:K,noScale:!0,gradientStops:(null==$?void 0:$.gradientStops)||to,onChange:function(o){_(y(y({},$),{},{gradientStops:o}))},readonly:!$,isMoveInputVisible:!0})})]})};export{k as GradientManager};
|
|
2
2
|
//# sourceMappingURL=GradientManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GradientManager.js","sources":["../../../src/components/GradientManager/GradientManager.tsx"],"sourcesContent":["import { Box, Grid } from '@material-ui/core';\nimport { isEmpty, noop, trim } from 'lodash';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport IconButton from '../IconButton';\nimport { GradientPicker } from '../GradientPicker';\nimport { TextInputNext } from '../../componentsV2';\n\nimport {\n DEFAULT_GRADIENT_STOPS,\n DEFAULT_GRADIENTS,\n GRADIENT_MAX_NAME_LENGTH,\n TEMP_GRADIENT_ID,\n} from './configuration/constants';\nimport { GradientList } from './GradientList';\nimport { GradientSelect } from './GradientSelect';\nimport { GradientManagerProps } from './GradientManagerProps';\nimport { useStyles } from './GradientManager.styles';\n\nimport { CheckSmallIcon, CloseSmallIcon, DeleteFourIcon, WriteIcon } from '~/icons';\nimport type { CustomGradient, GradientFillStop } from '~/types';\n\nexport const GradientManager: React.FC<GradientManagerProps> = props => {\n const {\n gradientId,\n onGradientEditStateChange = noop,\n onChange = noop,\n defaultGradients = DEFAULT_GRADIENTS,\n defaultGradientStops = DEFAULT_GRADIENT_STOPS,\n allowNoname,\n scaleOptions: { scaleFrom = 0, scaleTo = 100, scaleUnit } = {},\n className,\n } = props;\n\n const classes = useStyles();\n const gradientList = useMemo(\n () => new GradientList(props.gradients || [], defaultGradients, props.onGradientsChange!),\n [props.gradients, defaultGradients, props.onGradientsChange]\n );\n const [currentlyEdited, setCurrentlyEdited] = useState<Partial<CustomGradient> | null>(null);\n const disableGradientsManagement = props.disableGradientsManagement || !props.onGradientsChange;\n const validationResult = gradientList.getHelperText({\n name: currentlyEdited?.name ?? '',\n allowNoname: allowNoname ?? false,\n gradientId,\n });\n\n /**\n * Calls editStateChange handler when gradient edit starts or ends.\n * Will be called with false on component mount\n */\n useEffect(() => {\n onGradientEditStateChange(Boolean(currentlyEdited));\n }, [Boolean(currentlyEdited)]);\n\n /**\n * Use stops from the stored gradient first, then fallback to stored in the trace\n * and finally, use defaultGradientStops if none of above is available\n */\n const gradientStops =\n gradientList.getById(gradientId)?.gradientStops || props.gradientStops || defaultGradientStops;\n\n const cancelEdit = useCallback(() => {\n setCurrentlyEdited(null);\n }, []);\n\n const startAddGradient = useCallback(() => {\n setCurrentlyEdited({\n name: '',\n gradientStops: defaultGradientStops,\n id: TEMP_GRADIENT_ID,\n });\n }, [defaultGradientStops]);\n\n const startEditGradient = useCallback(() => {\n if (gradientList.isDefault(gradientId)) {\n setCurrentlyEdited({\n name: gradientList.newName(),\n gradientStops,\n id: TEMP_GRADIENT_ID,\n });\n return;\n }\n\n setCurrentlyEdited({\n name: gradientList.getById(gradientId)?.name || '',\n gradientStops,\n });\n }, [gradientList, gradientId, gradientStops]);\n\n const saveChanges = () => {\n if (!isEmpty(validationResult) || !currentlyEdited) {\n return;\n }\n\n const { gradientStops } = currentlyEdited;\n if (!gradientStops) return;\n\n const name = trim(currentlyEdited.name);\n\n setCurrentlyEdited(null);\n\n // No name - no need to create a gradient. Saving stops to the trace.\n if (!name) {\n if (allowNoname) {\n onChange({ gradientStops, gradientId: null });\n }\n return;\n }\n\n /**\n * Gradient exists - Updating\n * simple check that gradientId is not null is NOT enough because\n * Deleted gradients have gradientId but should be handles as non-existing ones.\n */\n if (gradientList.getById(currentlyEdited.id || gradientId)) {\n gradientList.update(gradientId, {\n gradientStops,\n name,\n });\n onChange({\n gradientId,\n gradientStops,\n });\n return;\n }\n\n // Creating a new gradient\n const newGradient = gradientList.add(name, gradientStops);\n onChange({\n gradientId: newGradient.id,\n gradientStops,\n });\n };\n\n const deleteGradient = useCallback(\n (id: string) => {\n if (id === gradientId) {\n onChange({\n gradientId: null,\n gradientStops,\n });\n setCurrentlyEdited(null);\n }\n gradientList.remove(id);\n },\n [gradientStops, gradientList, onChange, gradientId]\n );\n\n const handleNameChange = (value: string) => {\n const name = value.trimStart().substring(0, GRADIENT_MAX_NAME_LENGTH);\n setCurrentlyEdited({ ...currentlyEdited, name });\n };\n\n const handleGradientAction = useCallback(\n (type: 'delete' | 'add', id: string) => {\n switch (type) {\n case 'add':\n startAddGradient();\n break;\n case 'delete': {\n deleteGradient(id);\n break;\n }\n default:\n }\n },\n [startAddGradient, deleteGradient]\n );\n\n const handleGradientSelect = useCallback(\n (id: string) => {\n const gradient = gradientList.getById(id);\n onChange({\n gradientId: id,\n gradientStops: gradient?.gradientStops ?? defaultGradientStops,\n });\n },\n [gradientList, onChange, defaultGradientStops]\n );\n\n const handleGradientChange = (gradientStops: GradientFillStop[]) => {\n setCurrentlyEdited({\n ...currentlyEdited,\n gradientStops,\n });\n };\n\n const handleNameKeyDown = (evt: React.KeyboardEvent<HTMLInputElement>) => {\n if (evt.key === 'Enter') {\n const { value } = evt.target as HTMLInputElement;\n if (value) {\n handleNameChange(value);\n saveChanges();\n }\n }\n };\n\n return (\n <Grid container className={className}>\n <Grid item xs={6}>\n {currentlyEdited ? (\n <TextInputNext\n className={classes.customGradientName}\n label=\"Gradient Name\"\n value={currentlyEdited.name}\n onChange={handleNameChange}\n onFocus={event => {\n event.target.select();\n }}\n onKeyDown={handleNameKeyDown}\n autoFocus\n status={validationResult?.error ? 'error' : undefined}\n message={validationResult?.helperText}\n />\n ) : (\n <GradientSelect\n value={gradientId}\n gradients={props.gradients || []}\n onChange={handleGradientSelect}\n defaultGradients={defaultGradients}\n onAction={handleGradientAction}\n readonly={disableGradientsManagement}\n />\n )}\n </Grid>\n <Grid item xs={6}>\n <Box display=\"flex\" alignItems=\"center\" height=\"100%\">\n {/* Control panel */}\n <Box display=\"flex\" paddingLeft={1}>\n {currentlyEdited ? (\n <>\n <IconButton\n data-testid=\"save-gradient-btn\"\n onClick={saveChanges}\n tooltipProps={{ title: 'Save' }}\n disabled={!!validationResult || disableGradientsManagement}\n >\n <CheckSmallIcon />\n </IconButton>\n <IconButton\n data-testid=\"cancel-edit-btn\"\n onClick={cancelEdit}\n tooltipProps={{ title: 'Cancel' }}\n >\n <CloseSmallIcon />\n </IconButton>\n </>\n ) : (\n <>\n <IconButton\n data-testid=\"edit-gradient-btn\"\n onClick={startEditGradient}\n tooltipProps={{ title: 'Edit' }}\n disabled={disableGradientsManagement}\n >\n <WriteIcon />\n </IconButton>\n {!!gradientList.getById(gradientId) && !gradientList.isDefault(gradientId) && (\n <IconButton\n data-testid=\"delete-gradient-btn\"\n onClick={() => deleteGradient(gradientId)}\n tooltipProps={{ title: 'Remove' }}\n disabled={disableGradientsManagement}\n >\n <DeleteFourIcon />\n </IconButton>\n )}\n </>\n )}\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <GradientPicker\n from={scaleFrom}\n to={scaleTo}\n unit={scaleUnit}\n noScale\n gradientStops={currentlyEdited?.gradientStops || gradientStops}\n onChange={handleGradientChange}\n readonly={!currentlyEdited}\n isMoveInputVisible\n />\n </Grid>\n </Grid>\n );\n};\n"],"names":["GradientManager","props","_currentlyEdited$name","_gradientList$getById","gradientId","_props$onGradientEdit","onGradientEditStateChange","noop","_props$onChange","onChange","_props$defaultGradien","defaultGradients","DEFAULT_GRADIENTS","_props$defaultGradien2","defaultGradientStops","DEFAULT_GRADIENT_STOPS","allowNoname","_props$scaleOptions","scaleOptions","_props$scaleOptions$s","scaleFrom","_props$scaleOptions$s2","scaleTo","scaleUnit","className","classes","useStyles","gradientList","useMemo","GradientList","gradients","onGradientsChange","useState","_useState2","_slicedToArray","_useState","currentlyEdited","setCurrentlyEdited","disableGradientsManagement","validationResult","getHelperText","name","useEffect","Boolean","gradientStops","getById","cancelEdit","useCallback","startAddGradient","id","TEMP_GRADIENT_ID","startEditGradient","_gradientList$getById2","isDefault","newName","saveChanges","isEmpty","trim","update","newGradient","add","deleteGradient","remove","handleNameChange","value","trimStart","substring","GRADIENT_MAX_NAME_LENGTH","handleGradientAction","type","handleGradientSelect","_gradient$gradientSto","gradient","_jsxs","Grid","container","children","_jsx","item","xs","TextInputNext","customGradientName","label","onFocus","event","target","select","onKeyDown","evt","key","autoFocus","status","error","undefined","message","helperText","GradientSelect","onAction","readonly","Box","display","alignItems","height","paddingLeft","_Fragment","IconButton","onClick","tooltipProps","title","disabled","CheckSmallIcon","CloseSmallIcon","WriteIcon","DeleteFourIcon","GradientPicker","from","to","unit","noScale","isMoveInputVisible"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GradientManager.js","sources":["../../../src/components/GradientManager/GradientManager.tsx"],"sourcesContent":["import { Box, Grid } from '@material-ui/core';\nimport { isEmpty, noop, trim } from 'lodash';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport IconButton from '../IconButton';\nimport { GradientPicker } from '../GradientPicker';\nimport { TextInputNext } from '../../componentsV2';\n\nimport {\n DEFAULT_GRADIENT_STOPS,\n DEFAULT_GRADIENTS,\n GRADIENT_MAX_NAME_LENGTH,\n TEMP_GRADIENT_ID,\n} from './configuration/constants';\nimport { GradientList } from './GradientList';\nimport { GradientSelect } from './GradientSelect';\nimport { GradientManagerProps } from './GradientManagerProps';\nimport { useStyles } from './GradientManager.styles';\n\nimport { CheckSmallIcon, CloseSmallIcon, DeleteFourIcon, WriteIcon } from '~/icons';\nimport type { CustomGradient, GradientFillStop } from '~/types';\n\nexport const GradientManager: React.FC<GradientManagerProps> = props => {\n const {\n gradientId,\n onGradientEditStateChange = noop,\n onChange = noop,\n defaultGradients = DEFAULT_GRADIENTS,\n defaultGradientStops = DEFAULT_GRADIENT_STOPS,\n allowNoname,\n scaleOptions: { scaleFrom = 0, scaleTo = 100, scaleUnit } = {},\n className,\n } = props;\n\n const classes = useStyles();\n const gradientList = useMemo(\n () => new GradientList(props.gradients || [], defaultGradients, props.onGradientsChange!),\n [props.gradients, defaultGradients, props.onGradientsChange]\n );\n const [currentlyEdited, setCurrentlyEdited] = useState<Partial<CustomGradient> | null>(null);\n const disableGradientsManagement = props.disableGradientsManagement || !props.onGradientsChange;\n const validationResult = gradientList.getHelperText({\n name: currentlyEdited?.name ?? '',\n allowNoname: allowNoname ?? false,\n gradientId,\n });\n\n /**\n * Calls editStateChange handler when gradient edit starts or ends.\n * Will be called with false on component mount\n */\n useEffect(() => {\n onGradientEditStateChange(Boolean(currentlyEdited));\n }, [Boolean(currentlyEdited)]);\n\n /**\n * Use stops from the stored gradient first, then fallback to stored in the trace\n * and finally, use defaultGradientStops if none of above is available\n */\n const gradientStops =\n gradientList.getById(gradientId)?.gradientStops || props.gradientStops || defaultGradientStops;\n\n const cancelEdit = useCallback(() => {\n setCurrentlyEdited(null);\n }, []);\n\n const startAddGradient = useCallback(() => {\n setCurrentlyEdited({\n name: '',\n gradientStops: defaultGradientStops,\n id: TEMP_GRADIENT_ID,\n });\n }, [defaultGradientStops]);\n\n const startEditGradient = useCallback(() => {\n if (gradientList.isDefault(gradientId)) {\n setCurrentlyEdited({\n name: gradientList.newName(),\n gradientStops,\n id: TEMP_GRADIENT_ID,\n });\n return;\n }\n\n setCurrentlyEdited({\n name: gradientList.getById(gradientId)?.name || '',\n gradientStops,\n });\n }, [gradientList, gradientId, gradientStops]);\n\n const saveChanges = () => {\n if (!isEmpty(validationResult) || !currentlyEdited) {\n return;\n }\n\n const { gradientStops } = currentlyEdited;\n if (!gradientStops) return;\n\n const name = trim(currentlyEdited.name);\n\n setCurrentlyEdited(null);\n\n // No name - no need to create a gradient. Saving stops to the trace.\n if (!name) {\n if (allowNoname) {\n onChange({ gradientStops, gradientId: null });\n }\n return;\n }\n\n /**\n * Gradient exists - Updating\n * simple check that gradientId is not null is NOT enough because\n * Deleted gradients have gradientId but should be handles as non-existing ones.\n */\n if (gradientList.getById(currentlyEdited.id || gradientId)) {\n gradientList.update(gradientId, {\n gradientStops,\n name,\n });\n onChange({\n gradientId,\n gradientStops,\n });\n return;\n }\n\n // Creating a new gradient\n const newGradient = gradientList.add(name, gradientStops);\n onChange({\n gradientId: newGradient.id,\n gradientStops,\n });\n };\n\n const deleteGradient = useCallback(\n (id: string) => {\n if (id === gradientId) {\n onChange({\n gradientId: null,\n gradientStops,\n });\n setCurrentlyEdited(null);\n }\n gradientList.remove(id);\n },\n [gradientStops, gradientList, onChange, gradientId]\n );\n\n const handleNameChange = (value: string) => {\n const name = value.trimStart().substring(0, GRADIENT_MAX_NAME_LENGTH);\n setCurrentlyEdited({ ...currentlyEdited, name });\n };\n\n const handleGradientAction = useCallback(\n (type: 'delete' | 'add', id: string) => {\n switch (type) {\n case 'add':\n startAddGradient();\n break;\n case 'delete': {\n deleteGradient(id);\n break;\n }\n default:\n }\n },\n [startAddGradient, deleteGradient]\n );\n\n const handleGradientSelect = useCallback(\n (id: string) => {\n const gradient = gradientList.getById(id);\n onChange({\n gradientId: id,\n gradientStops: gradient?.gradientStops ?? defaultGradientStops,\n });\n },\n [gradientList, onChange, defaultGradientStops]\n );\n\n const handleGradientChange = (gradientStops: GradientFillStop[]) => {\n setCurrentlyEdited({\n ...currentlyEdited,\n gradientStops,\n });\n };\n\n const handleNameKeyDown = (evt: React.KeyboardEvent<HTMLInputElement>) => {\n if (evt.key === 'Enter') {\n const { value } = evt.target as HTMLInputElement;\n if (value) {\n handleNameChange(value);\n saveChanges();\n }\n }\n };\n\n return (\n <Grid container className={className}>\n <Grid item xs={6}>\n {currentlyEdited ? (\n <TextInputNext\n className={classes.customGradientName}\n label=\"Gradient Name\"\n value={currentlyEdited.name}\n onChange={handleNameChange}\n onFocus={event => {\n event.target.select();\n }}\n onKeyDown={handleNameKeyDown}\n autoFocus\n status={validationResult?.error ? 'error' : undefined}\n message={validationResult?.helperText}\n />\n ) : (\n <GradientSelect\n value={gradientId}\n gradients={props.gradients || []}\n onChange={handleGradientSelect}\n defaultGradients={defaultGradients}\n onAction={handleGradientAction}\n readonly={disableGradientsManagement}\n />\n )}\n </Grid>\n <Grid item xs={6}>\n <Box display=\"flex\" alignItems=\"center\" height=\"100%\">\n {/* Control panel */}\n <Box display=\"flex\" paddingLeft={1}>\n {currentlyEdited ? (\n <>\n <IconButton\n data-testid=\"save-gradient-btn\"\n onClick={saveChanges}\n tooltipProps={{ title: 'Save' }}\n disabled={!!validationResult || disableGradientsManagement}\n >\n <CheckSmallIcon />\n </IconButton>\n <IconButton\n data-testid=\"cancel-edit-btn\"\n onClick={cancelEdit}\n tooltipProps={{ title: 'Cancel' }}\n >\n <CloseSmallIcon />\n </IconButton>\n </>\n ) : (\n <>\n <IconButton\n data-testid=\"edit-gradient-btn\"\n onClick={startEditGradient}\n tooltipProps={{ title: 'Edit' }}\n disabled={disableGradientsManagement}\n >\n <WriteIcon />\n </IconButton>\n {!!gradientList.getById(gradientId) && !gradientList.isDefault(gradientId) && (\n <IconButton\n data-testid=\"delete-gradient-btn\"\n onClick={() => deleteGradient(gradientId)}\n tooltipProps={{ title: 'Remove' }}\n disabled={disableGradientsManagement}\n >\n <DeleteFourIcon />\n </IconButton>\n )}\n </>\n )}\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <GradientPicker\n from={scaleFrom}\n to={scaleTo}\n unit={scaleUnit}\n noScale\n gradientStops={currentlyEdited?.gradientStops || gradientStops}\n onChange={handleGradientChange}\n readonly={!currentlyEdited}\n isMoveInputVisible\n />\n </Grid>\n </Grid>\n );\n};\n"],"names":["GradientManager","props","_currentlyEdited$name","_gradientList$getById","gradientId","_props$onGradientEdit","onGradientEditStateChange","noop","_props$onChange","onChange","_props$defaultGradien","defaultGradients","DEFAULT_GRADIENTS","_props$defaultGradien2","defaultGradientStops","DEFAULT_GRADIENT_STOPS","allowNoname","_props$scaleOptions","scaleOptions","_props$scaleOptions$s","scaleFrom","_props$scaleOptions$s2","scaleTo","scaleUnit","className","classes","useStyles","gradientList","useMemo","GradientList","gradients","onGradientsChange","useState","_useState2","_slicedToArray","_useState","currentlyEdited","setCurrentlyEdited","disableGradientsManagement","validationResult","getHelperText","name","useEffect","Boolean","gradientStops","getById","cancelEdit","useCallback","startAddGradient","id","TEMP_GRADIENT_ID","startEditGradient","_gradientList$getById2","isDefault","newName","saveChanges","isEmpty","trim","update","newGradient","add","deleteGradient","remove","handleNameChange","value","trimStart","substring","GRADIENT_MAX_NAME_LENGTH","handleGradientAction","type","handleGradientSelect","_gradient$gradientSto","gradient","_jsxs","Grid","container","children","_jsx","item","xs","TextInputNext","customGradientName","label","onFocus","event","target","select","onKeyDown","evt","key","autoFocus","status","error","undefined","message","helperText","GradientSelect","onAction","readonly","Box","display","alignItems","height","paddingLeft","_Fragment","IconButton","onClick","tooltipProps","title","disabled","CheckSmallIcon","CloseSmallIcon","WriteIcon","DeleteFourIcon","GradientPicker","from","to","unit","noScale","isMoveInputVisible"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/toConsumableArray";import{useMemo as s,useCallback as t,Fragment as n}from"react";import{Text as e}from"../../componentsV2/Text/Text.js";import"../../componentsV2/Grid/Grid.js";import"../../componentsV2/Grid/Cell.js";import"@babel/runtime/helpers/defineProperty";import"classnames";import"../../componentsV2/Header/Header.scss.js";import{jsxs as i,jsx as r,Fragment as c}from"react/jsx-runtime";import"../../componentsV2/Button/Button.js";import{ButtonIcon as p}from"../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as m}from"../../componentsV2/Tooltip/Tooltip.js";import"../../componentsV2/Popover/Popover.js";import"../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../componentsV2/Radio/Radio.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/core";import"../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../componentsV2/Checkbox/Checkbox.js";import"../../componentsV2/TextInput/TextInput.js";import"../../componentsV2/TextInputNext/TextInputNext.js";import"../../componentsV2/TextArea/TextArea.js";import"../../componentsV2/Label/Label.js";import{TextEndTruncated as a}from"../../componentsV2/TextEndTruncated/TextEndTruncated.js";import"@babel/runtime/helpers/slicedToArray";import"lodash";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../componentsV2/TextLink/TextLink.js";import"../../componentsV2/Chip/Chip.js";import"../../componentsV2/ChipAlert/ChipAlert.js";import"../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../componentsV2/Avatar/Avatar.js";import"../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../componentsV2/Paper/Paper.js";import"../../componentsV2/ModalWindow/ModalWindow.js";import"uuid";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js";import"../../componentsV2/Modal/Modal.scss.js";import"../../componentsV2/Menu/Menu.js";import"../../componentsV2/utils.js";import{DeleteFourIcon as l,PlusIcon as d}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import"../../componentsV2/Hint/Hint.scss.js";import"../../componentsV2/Counter/Counter.js";import"../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../componentsV2/TemplatesControl/utils.js";import"../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../componentsV2/TemplatesControl/Store/utils.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../componentsV2/TemplatesControl/types.js";import"../UserMention/utils/index.js";import"../../utils/convert.js";import"../../constants/completion.js";import"moment";import"../../constants/alerts.js";import"../../utils/casing/validation.js";import"lodash/mean";import"../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"./configuration/constants.js";import"../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../utils/ga.js";import"../../utils/goalsConfig/goalsConfig.js";import"../../utils/lasParser.js";import"../../utils/main.js";import"../../utils/metrics/metricsConfig.js";import"../../utils/mobileDetect.js";import"../../utils/feed.js";import"../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../utils/dashboardReports.js";import"../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../utils/jsonaDataFormatter.js";import"../../utils/bha.js";import"jsona";import"../../clients/jsonApi/index.js";import"../../utils/shareRecentRequest.js";import"../../utils/charts/Styles.scss.js";import"../../utils/getSingleAsset.js";import"../../permissions/PermissionsContext.js";import"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"../../permissions/ProvidePermissions.js";import"../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../componentsV2/LoaderLinear/LoaderLinear.js";import"../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../componentsV2/Switch/Switch.js";import"../../componentsV2/Tabs/Tabs.js";import"../../componentsV2/EmptyState/EmptyState.scss.js";import"../../componentsV2/FileIcon/FileIcon.js";import"../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../componentsV2/Skeleton/Skeleton.scss.js";import"../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../componentsV2/Stepper/Step/Step.scss.js";import"../../componentsV2/Stepper/Stepper.scss.js";import"../../componentsV2/ButtonLive/ButtonLive.js";import"../../componentsV2/ButtonText/ButtonText.js";import"../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../componentsV2/Accordion/Accordion.scss.js";import"../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../componentsV2/BadgeComment/BadgeComment.js";import"../../componentsV2/AppContainer/AppContainer.js";import"../../componentsV2/AppContainer/AppContainer.constants.js";import"../../componentsV2/AppFooter/AppFooter.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppHeader/AppHeader.constants.js";import"../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"react-router-dom";import"../../componentsV2/AppHeader/AppAssets/utils.js";import"../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../PadModeSelect/PadModeSelect.js";import"../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../AppIcon/AppIcon.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"querystring";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../StatusBadge/constants.js";import"lodash/unset";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppPanel/AppPanelsContext.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../componentsV2/AppHeader/V3/constants.scss.js";import"../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../componentsV2/AppHeader/AppHeader.scss.js";import"../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../componentsV2/Autocomplete/Autocomplete.js";import{Select as j}from"../../componentsV2/Select/Select.js";import"../../componentsV2/AppPanel/AppPanel.js";import"../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../componentsV2/DatePicker/DatePicker.js";import"../../componentsV2/DragHandle/DragHandle.js";import"../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../componentsV2/Slider/constants.js";import"../../componentsV2/Slider/components/SliderThumb.js";import"../../componentsV2/Slider/Slider.scss.js";import"../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";import{GradientPreview as u}from"./GradientPreview/GradientPreview.js";import V from"./GradientSelect.scss.js";var A=function(o,s){return{id:o.id,title:o.name,prefix:r(u,{gradientStops:o.gradientStops}),group:s?"default":"custom"}},C=function(o){return o.group},I=function(u){var I=u.value,h=u.gradients,v=u.onChange,g=u.defaultGradients,S=u.onAction,P=u.readonly,D=!(null==h||!h.length),x=s((function(){return[].concat(o((null==h?void 0:h.map((function(o){return A(o,!1)})))||[]),o((null==g?void 0:g.map((function(o){return A(o,!0)})))||[]))}),[h,g]),f=s((function(){return x.find((function(o){return o.id===I}))}),[x,I]),T=t((function(o){o&&v(o.id)}),[v]),b=t((function(){S("add")}),[S]),k=t((function(o){var s=o.children,t=o.group,a=o.key,l=P?null:r(m,{title:"Create Custom Gradient",children:r(p,{size:"xs",onClick:b,testId:"add-gradient-btn",type:"tertiaryBg",children:r(d,{})})});return i(n,{children:[r(e,{size:12,color:"T6",className:V.group,testId:"gradient-group-header",children:i(c,"default"===t?{children:["Default Gradients ",!D&&l]}:{children:["My Gradients ",D&&l]})}),s]},a)}),[D,P,b]),H=t((function(o){var s=o.title,t=o.id,n=o.group;return i("div",{className:V.option,children:[r(a,{children:s}),"custom"===n&&r(m,{title:"Delete Gradient",children:r(p,{size:"xs",onClick:function(o){o.stopPropagation(),o.preventDefault(),S("delete",t)},children:r(l,{})})})]})}),[S]),F=t((function(o){o.stopPropagation(),o.preventDefault()}),[]);return r(j,{label:"Gradients",options:x,value:I||"",clearable:!1,onChange:T,testId:"gradient-select",className:V.root,prefix:null==f?void 0:f.prefix,groupBy:C,renderGroup:k,renderOption:P?void 0:H,noOptionsMessage:i("div",{className:V.noGradientsMessage,onMouseDown:F,children:["No Gradients",!P&&r(m,{title:"Create Custom Gradient",children:r(p,{size:"xs",onClick:b,testId:"add-gradient-btn",type:"tertiaryBg",children:r(d,{})})})]})})};export{I as GradientSelect};
|
|
1
|
+
import o from"@babel/runtime/helpers/toConsumableArray";import{useMemo as s,useCallback as t,Fragment as n}from"react";import{Text as e}from"../../componentsV2/Text/Text.js";import"../../componentsV2/Grid/Grid.js";import"../../componentsV2/Grid/Cell.js";import"@babel/runtime/helpers/defineProperty";import"classnames";import"../../componentsV2/Header/Header.scss.js";import{jsxs as i,jsx as r,Fragment as c}from"react/jsx-runtime";import"../../componentsV2/Button/Button.js";import{ButtonIcon as p}from"../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as m}from"../../componentsV2/Tooltip/Tooltip.js";import"../../componentsV2/Popover/Popover.js";import"../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../componentsV2/Radio/Radio.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/core";import"../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../componentsV2/Checkbox/Checkbox.js";import"../../componentsV2/TextInput/TextInput.js";import"../../componentsV2/TextInputNext/TextInputNext.js";import"../../componentsV2/TextArea/TextArea.js";import"../../componentsV2/Label/Label.js";import{TextEndTruncated as a}from"../../componentsV2/TextEndTruncated/TextEndTruncated.js";import"@babel/runtime/helpers/slicedToArray";import"lodash";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../componentsV2/TextLink/TextLink.js";import"../../componentsV2/Chip/Chip.js";import"../../componentsV2/ChipAlert/ChipAlert.js";import"../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../componentsV2/Avatar/Avatar.js";import"../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../componentsV2/Paper/Paper.js";import"../../componentsV2/ModalWindow/ModalWindow.js";import"uuid";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider.js";import"../../componentsV2/Modal/Modal.scss.js";import"../../componentsV2/Menu/Menu.js";import"../../componentsV2/utils.js";import{DeleteFourIcon as l,PlusIcon as d}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import"../../componentsV2/Hint/Hint.scss.js";import"../../componentsV2/Counter/Counter.js";import"../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../componentsV2/TemplatesControl/utils.js";import"../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../componentsV2/TemplatesControl/Store/utils.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../componentsV2/TemplatesControl/types.js";import"../UserMention/utils/index.js";import"../../utils/convert.js";import"../../constants/completion.js";import"moment";import"../../constants/alerts.js";import"../../utils/casing/validation.js";import"lodash/mean";import"../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"./configuration/constants.js";import"../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../utils/ga.js";import"../../utils/goalsConfig/goalsConfig.js";import"../../utils/lasParser.js";import"../../utils/main.js";import"../../utils/metrics/metricsConfig.js";import"../../utils/mobileDetect.js";import"../../utils/feed.js";import"../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../utils/dashboardReports.js";import"../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../utils/jsonaDataFormatter.js";import"../../utils/bha.js";import"jsona";import"../../clients/jsonApi/index.js";import"../../utils/shareRecentRequest.js";import"../../utils/charts/Styles.scss.js";import"../../utils/getSingleAsset.js";import"../../permissions/PermissionsContext.js";import"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"../../permissions/ProvidePermissions.js";import"../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../componentsV2/LoaderLinear/LoaderLinear.js";import"../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../componentsV2/Switch/Switch.js";import"../../componentsV2/Tabs/Tabs.js";import"../../componentsV2/EmptyState/EmptyState.scss.js";import"../../componentsV2/FileIcon/FileIcon.js";import"../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../componentsV2/Skeleton/Skeleton.scss.js";import"../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../componentsV2/Stepper/Step/Step.scss.js";import"../../componentsV2/Stepper/Stepper.scss.js";import"../../componentsV2/ButtonLive/ButtonLive.js";import"../../componentsV2/ButtonText/ButtonText.js";import"../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../componentsV2/Accordion/Accordion.scss.js";import"../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../componentsV2/BadgeComment/BadgeComment.js";import"../../componentsV2/AppContainer/AppContainer.js";import"../../componentsV2/AppContainer/AppContainer.constants.js";import"../../componentsV2/AppFooter/AppFooter.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppHeader/AppHeader.constants.js";import"../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"react-router-dom";import"../../componentsV2/AppHeader/AppAssets/utils.js";import"../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../PadModeSelect/PadModeSelect.js";import"../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../AppIcon/AppIcon.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"querystring";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../StatusBadge/constants.js";import"lodash/unset";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppPanel/AppPanelsContext.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../componentsV2/AppHeader/V3/constants.scss.js";import"../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../componentsV2/AppHeader/AppHeader.scss.js";import"../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../componentsV2/Autocomplete/Autocomplete.js";import{Select as j}from"../../componentsV2/Select/Select.js";import"../../componentsV2/AppPanel/AppPanel.js";import"../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../componentsV2/DatePicker/DatePicker.js";import"../../componentsV2/DragHandle/DragHandle.js";import"../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../componentsV2/Slider/constants.js";import"../../componentsV2/Slider/components/SliderThumb.js";import"../../componentsV2/Slider/Slider.scss.js";import"../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../componentsV2/ColorPicker/ColorPicker.constants.js";import"../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";import{GradientPreview as u}from"./GradientPreview/GradientPreview.js";import V from"./GradientSelect.scss.js";var A=function(o,s){return{id:o.id,title:o.name,prefix:r(u,{gradientStops:o.gradientStops}),group:s?"default":"custom"}},C=function(o){return o.group},I=function(u){var I=u.value,h=u.gradients,v=u.onChange,g=u.defaultGradients,S=u.onAction,P=u.readonly,D=!(null==h||!h.length),x=s((function(){return[].concat(o((null==h?void 0:h.map((function(o){return A(o,!1)})))||[]),o((null==g?void 0:g.map((function(o){return A(o,!0)})))||[]))}),[h,g]),f=s((function(){return x.find((function(o){return o.id===I}))}),[x,I]),T=t((function(o){o&&v(o.id)}),[v]),b=t((function(){S("add")}),[S]),k=t((function(o){var s=o.children,t=o.group,a=o.key,l=P?null:r(m,{title:"Create Custom Gradient",children:r(p,{size:"xs",onClick:b,testId:"add-gradient-btn",type:"tertiaryBg",children:r(d,{})})});return i(n,{children:[r(e,{size:12,color:"T6",className:V.group,testId:"gradient-group-header",children:i(c,"default"===t?{children:["Default Gradients ",!D&&l]}:{children:["My Gradients ",D&&l]})}),s]},a)}),[D,P,b]),H=t((function(o){var s=o.title,t=o.id,n=o.group;return i("div",{className:V.option,children:[r(a,{children:s}),"custom"===n&&r(m,{title:"Delete Gradient",children:r(p,{size:"xs",onClick:function(o){o.stopPropagation(),o.preventDefault(),S("delete",t)},children:r(l,{})})})]})}),[S]),F=t((function(o){o.stopPropagation(),o.preventDefault()}),[]);return r(j,{label:"Gradients",options:x,value:I||"",clearable:!1,onChange:T,testId:"gradient-select",className:V.root,prefix:null==f?void 0:f.prefix,groupBy:C,renderGroup:k,renderOption:P?void 0:H,noOptionsMessage:i("div",{className:V.noGradientsMessage,onMouseDown:F,children:["No Gradients",!P&&r(m,{title:"Create Custom Gradient",children:r(p,{size:"xs",onClick:b,testId:"add-gradient-btn",type:"tertiaryBg",children:r(d,{})})})]})})};export{I as GradientSelect};
|
|
2
2
|
//# sourceMappingURL=GradientSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GradientSelect.js","sources":["../../../src/components/GradientManager/GradientSelect.tsx"],"sourcesContent":["import { type FC, Fragment, MouseEventHandler, useCallback, useMemo } from 'react';\n\nimport {\n ButtonIcon,\n Select,\n SelectChangeHandler,\n SelectProps,\n Text,\n TextEndTruncated,\n Tooltip,\n} from '../../componentsV2';\n\nimport { GradientPreview } from './GradientPreview/GradientPreview';\n\nimport styles from './GradientSelect.scss';\n\nimport { DeleteFourIcon, PlusIcon } from '~/icons';\nimport { CustomGradient } from '~/types';\n\ninterface GradientSelectProps {\n gradients: CustomGradient[];\n value: string;\n onChange: (id: string) => void;\n defaultGradients: CustomGradient[];\n onAction: (type: 'delete' | 'add', data?: any) => void;\n readonly: boolean;\n}\n\nconst gradientToOption = (gradient: CustomGradient, isDefault: boolean) => ({\n id: gradient.id,\n title: gradient.name,\n prefix: <GradientPreview gradientStops={gradient.gradientStops} />,\n group: isDefault ? 'default' : 'custom',\n});\n\ntype Option = ReturnType<typeof gradientToOption>;\n\nconst groupBy = ({ group }: Option) => group;\n\nexport const GradientSelect: FC<GradientSelectProps> = ({\n value,\n gradients,\n onChange,\n defaultGradients,\n onAction,\n readonly,\n}) => {\n const hasCustomGradients = !!gradients?.length;\n\n const options = useMemo<Option[]>(\n () => [\n ...(gradients?.map(g => gradientToOption(g, false)) || []),\n ...(defaultGradients?.map(g => gradientToOption(g, true)) || []),\n ],\n [gradients, defaultGradients]\n );\n\n const currentOption = useMemo(() => options.find(({ id }) => id === value), [options, value]);\n\n const onSelectChange = useCallback<SelectChangeHandler<Option>>(\n option => {\n if (option) {\n onChange(option.id);\n }\n },\n [onChange]\n );\n\n const onAddClick = useCallback(() => {\n onAction('add');\n }, [onAction]);\n\n const renderGroup = useCallback<Required<SelectProps<Option>>['renderGroup']>(\n ({ children, group, key }) => {\n const addButton = readonly ? null : (\n <Tooltip title=\"Create Custom Gradient\">\n <ButtonIcon size=\"xs\" onClick={onAddClick} testId=\"add-gradient-btn\" type=\"tertiaryBg\">\n <PlusIcon />\n </ButtonIcon>\n </Tooltip>\n );\n\n return (\n <Fragment key={key}>\n <Text size={12} color=\"T6\" className={styles.group} testId=\"gradient-group-header\">\n {group === 'default' ? (\n <>Default Gradients {!hasCustomGradients && addButton}</>\n ) : (\n <>My Gradients {hasCustomGradients && addButton}</>\n )}\n </Text>\n {children}\n </Fragment>\n );\n },\n [hasCustomGradients, readonly, onAddClick]\n );\n\n const renderOption = useCallback<Required<SelectProps<Option>>['renderOption']>(\n ({ title, id, group }) => {\n return (\n <div className={styles.option}>\n <TextEndTruncated>{title}</TextEndTruncated>\n\n {group === 'custom' && (\n <Tooltip title=\"Delete Gradient\">\n <ButtonIcon\n size=\"xs\"\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n onAction('delete', id);\n }}\n >\n <DeleteFourIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n </div>\n );\n },\n [onAction]\n );\n\n const noGradientsMouseHandler = useCallback<MouseEventHandler>(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n return (\n <Select\n label=\"Gradients\"\n options={options}\n value={value || ''}\n clearable={false}\n onChange={onSelectChange}\n testId=\"gradient-select\"\n className={styles.root}\n prefix={currentOption?.prefix}\n groupBy={groupBy}\n renderGroup={renderGroup}\n renderOption={readonly ? undefined : renderOption}\n noOptionsMessage={\n <div className={styles.noGradientsMessage} onMouseDown={noGradientsMouseHandler}>\n No Gradients\n {!readonly && (\n <Tooltip title=\"Create Custom Gradient\">\n <ButtonIcon\n size=\"xs\"\n onClick={onAddClick}\n testId=\"add-gradient-btn\"\n type=\"tertiaryBg\"\n >\n <PlusIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n </div>\n }\n />\n );\n};\n"],"names":["gradientToOption","gradient","isDefault","id","title","name","prefix","_jsx","GradientPreview","gradientStops","group","groupBy","_ref","GradientSelect","_ref2","value","gradients","onChange","defaultGradients","onAction","readonly","hasCustomGradients","length","options","useMemo","concat","_toConsumableArray","map","g","currentOption","find","_ref3","onSelectChange","useCallback","option","onAddClick","renderGroup","_ref4","children","key","addButton","Tooltip","ButtonIcon","size","onClick","testId","type","PlusIcon","_jsxs","Fragment","Text","color","className","styles","_Fragment","renderOption","_ref5","TextEndTruncated","e","stopPropagation","preventDefault","DeleteFourIcon","noGradientsMouseHandler","Select","label","clearable","root","undefined","noOptionsMessage","noGradientsMessage","onMouseDown"],"mappings":"
|
|
1
|
+
{"version":3,"file":"GradientSelect.js","sources":["../../../src/components/GradientManager/GradientSelect.tsx"],"sourcesContent":["import { type FC, Fragment, MouseEventHandler, useCallback, useMemo } from 'react';\n\nimport {\n ButtonIcon,\n Select,\n SelectChangeHandler,\n SelectProps,\n Text,\n TextEndTruncated,\n Tooltip,\n} from '../../componentsV2';\n\nimport { GradientPreview } from './GradientPreview/GradientPreview';\n\nimport styles from './GradientSelect.scss';\n\nimport { DeleteFourIcon, PlusIcon } from '~/icons';\nimport { CustomGradient } from '~/types';\n\ninterface GradientSelectProps {\n gradients: CustomGradient[];\n value: string;\n onChange: (id: string) => void;\n defaultGradients: CustomGradient[];\n onAction: (type: 'delete' | 'add', data?: any) => void;\n readonly: boolean;\n}\n\nconst gradientToOption = (gradient: CustomGradient, isDefault: boolean) => ({\n id: gradient.id,\n title: gradient.name,\n prefix: <GradientPreview gradientStops={gradient.gradientStops} />,\n group: isDefault ? 'default' : 'custom',\n});\n\ntype Option = ReturnType<typeof gradientToOption>;\n\nconst groupBy = ({ group }: Option) => group;\n\nexport const GradientSelect: FC<GradientSelectProps> = ({\n value,\n gradients,\n onChange,\n defaultGradients,\n onAction,\n readonly,\n}) => {\n const hasCustomGradients = !!gradients?.length;\n\n const options = useMemo<Option[]>(\n () => [\n ...(gradients?.map(g => gradientToOption(g, false)) || []),\n ...(defaultGradients?.map(g => gradientToOption(g, true)) || []),\n ],\n [gradients, defaultGradients]\n );\n\n const currentOption = useMemo(() => options.find(({ id }) => id === value), [options, value]);\n\n const onSelectChange = useCallback<SelectChangeHandler<Option>>(\n option => {\n if (option) {\n onChange(option.id);\n }\n },\n [onChange]\n );\n\n const onAddClick = useCallback(() => {\n onAction('add');\n }, [onAction]);\n\n const renderGroup = useCallback<Required<SelectProps<Option>>['renderGroup']>(\n ({ children, group, key }) => {\n const addButton = readonly ? null : (\n <Tooltip title=\"Create Custom Gradient\">\n <ButtonIcon size=\"xs\" onClick={onAddClick} testId=\"add-gradient-btn\" type=\"tertiaryBg\">\n <PlusIcon />\n </ButtonIcon>\n </Tooltip>\n );\n\n return (\n <Fragment key={key}>\n <Text size={12} color=\"T6\" className={styles.group} testId=\"gradient-group-header\">\n {group === 'default' ? (\n <>Default Gradients {!hasCustomGradients && addButton}</>\n ) : (\n <>My Gradients {hasCustomGradients && addButton}</>\n )}\n </Text>\n {children}\n </Fragment>\n );\n },\n [hasCustomGradients, readonly, onAddClick]\n );\n\n const renderOption = useCallback<Required<SelectProps<Option>>['renderOption']>(\n ({ title, id, group }) => {\n return (\n <div className={styles.option}>\n <TextEndTruncated>{title}</TextEndTruncated>\n\n {group === 'custom' && (\n <Tooltip title=\"Delete Gradient\">\n <ButtonIcon\n size=\"xs\"\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n onAction('delete', id);\n }}\n >\n <DeleteFourIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n </div>\n );\n },\n [onAction]\n );\n\n const noGradientsMouseHandler = useCallback<MouseEventHandler>(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n return (\n <Select\n label=\"Gradients\"\n options={options}\n value={value || ''}\n clearable={false}\n onChange={onSelectChange}\n testId=\"gradient-select\"\n className={styles.root}\n prefix={currentOption?.prefix}\n groupBy={groupBy}\n renderGroup={renderGroup}\n renderOption={readonly ? undefined : renderOption}\n noOptionsMessage={\n <div className={styles.noGradientsMessage} onMouseDown={noGradientsMouseHandler}>\n No Gradients\n {!readonly && (\n <Tooltip title=\"Create Custom Gradient\">\n <ButtonIcon\n size=\"xs\"\n onClick={onAddClick}\n testId=\"add-gradient-btn\"\n type=\"tertiaryBg\"\n >\n <PlusIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n </div>\n }\n />\n );\n};\n"],"names":["gradientToOption","gradient","isDefault","id","title","name","prefix","_jsx","GradientPreview","gradientStops","group","groupBy","_ref","GradientSelect","_ref2","value","gradients","onChange","defaultGradients","onAction","readonly","hasCustomGradients","length","options","useMemo","concat","_toConsumableArray","map","g","currentOption","find","_ref3","onSelectChange","useCallback","option","onAddClick","renderGroup","_ref4","children","key","addButton","Tooltip","ButtonIcon","size","onClick","testId","type","PlusIcon","_jsxs","Fragment","Text","color","className","styles","_Fragment","renderOption","_ref5","TextEndTruncated","e","stopPropagation","preventDefault","DeleteFourIcon","noGradientsMouseHandler","Select","label","clearable","root","undefined","noOptionsMessage","noGradientsMessage","onMouseDown"],"mappings":"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"}
|