@corva/ui 3.77.0-9 → 3.77.0-rc.1

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.
Files changed (195) hide show
  1. package/MCP_README.md +9 -6
  2. package/README.md +6 -0
  3. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  4. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  5. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  6. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  7. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  8. package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  9. package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  10. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
  11. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  12. package/cjs-bundle/components/AssetEditorV2/constants.js.map +1 -1
  13. package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js +2 -0
  14. package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  15. package/cjs-bundle/components/AssetEditorV2/effects/index.js +1 -1
  16. package/cjs-bundle/components/AssetEditorV2/effects/index.js.map +1 -1
  17. package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  18. package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  19. package/cjs-bundle/components/AssetEditorV2/index.js +1 -1
  20. package/cjs-bundle/components/AssetEditorV2/index.js.map +1 -1
  21. package/cjs-bundle/components/AssetEditorV2/utils/index.js +1 -1
  22. package/cjs-bundle/components/AssetEditorV2/utils/index.js.map +1 -1
  23. package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js +1 -1
  24. package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  25. package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js +1 -1
  26. package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  27. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  28. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  29. package/cjs-bundle/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
  30. package/cjs-bundle/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
  31. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  32. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
  33. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
  34. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
  35. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
  36. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
  37. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  38. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  39. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  40. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  41. package/cjs-bundle/components/OffsetWellPickerV5/constants.js +1 -1
  42. package/cjs-bundle/components/OffsetWellPickerV5/constants.js.map +1 -1
  43. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
  44. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
  45. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
  46. package/cjs-bundle/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
  47. package/cjs-bundle/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
  48. package/cjs-bundle/components/Search/Search.js.map +1 -1
  49. package/cjs-bundle/config/mapbox/index.js +1 -1
  50. package/cjs-bundle/config/mapbox/index.js.map +1 -1
  51. package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
  52. package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
  53. package/cjs-bundle/permissions/constants/index.js +1 -1
  54. package/cjs-bundle/permissions/constants/index.js.map +1 -1
  55. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts +2 -0
  56. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts.map +1 -0
  57. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts +2 -0
  58. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts.map +1 -0
  59. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts +17 -6
  60. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts.map +1 -1
  61. package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  62. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts +30 -39
  63. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts.map +1 -1
  64. package/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  65. package/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  66. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts +4 -41
  67. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts.map +1 -1
  68. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  69. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  70. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts +22 -18
  71. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts.map +1 -1
  72. package/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  73. package/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  74. package/components/AssetEditorV2/components/SelectItem.d.ts +10 -1
  75. package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
  76. package/components/AssetEditorV2/components/SelectItem.js +1 -1
  77. package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  78. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts +2 -0
  79. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts.map +1 -0
  80. package/components/AssetEditorV2/components/__tests__/MultipleAssetsToggle.test.d.ts.map +1 -1
  81. package/components/AssetEditorV2/components/__tests__/SelectItem.test.d.ts.map +1 -1
  82. package/components/AssetEditorV2/components/index.d.ts.map +1 -1
  83. package/components/AssetEditorV2/constants.d.ts +2 -9
  84. package/components/AssetEditorV2/constants.d.ts.map +1 -1
  85. package/components/AssetEditorV2/constants.js.map +1 -1
  86. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts +2 -0
  87. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts.map +1 -0
  88. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts +2 -0
  89. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts.map +1 -0
  90. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts +2 -0
  91. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts.map +1 -0
  92. package/components/AssetEditorV2/effects/assetResponse.d.ts +4 -0
  93. package/components/AssetEditorV2/effects/assetResponse.d.ts.map +1 -0
  94. package/components/AssetEditorV2/effects/assetResponse.js +2 -0
  95. package/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  96. package/components/AssetEditorV2/effects/index.d.ts +34 -28
  97. package/components/AssetEditorV2/effects/index.d.ts.map +1 -1
  98. package/components/AssetEditorV2/effects/index.js +1 -1
  99. package/components/AssetEditorV2/effects/index.js.map +1 -1
  100. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts +21 -17
  101. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts.map +1 -1
  102. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  103. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  104. package/components/AssetEditorV2/index.d.ts +36 -67
  105. package/components/AssetEditorV2/index.d.ts.map +1 -1
  106. package/components/AssetEditorV2/index.js +1 -1
  107. package/components/AssetEditorV2/index.js.map +1 -1
  108. package/components/AssetEditorV2/types.d.ts +82 -0
  109. package/components/AssetEditorV2/types.d.ts.map +1 -0
  110. package/components/AssetEditorV2/utils/__tests__/utils.test.d.ts.map +1 -1
  111. package/components/AssetEditorV2/utils/index.d.ts +23 -19
  112. package/components/AssetEditorV2/utils/index.d.ts.map +1 -1
  113. package/components/AssetEditorV2/utils/index.js +1 -1
  114. package/components/AssetEditorV2/utils/index.js.map +1 -1
  115. package/components/AttachmentLightbox/AttachmentDocument.d.ts.map +1 -1
  116. package/components/AttachmentLightbox/AttachmentDocument.js +1 -1
  117. package/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  118. package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts +2 -0
  119. package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts.map +1 -0
  120. package/components/CommentComposer/useAttachmentUpload.d.ts.map +1 -1
  121. package/components/CommentComposer/useAttachmentUpload.js +1 -1
  122. package/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  123. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
  124. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  125. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  126. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.d.ts.map +1 -1
  127. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
  128. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
  129. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  130. package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts +2 -0
  131. package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
  132. package/components/OffsetWellPickerV4/effects/useCompanyMetricKey.d.ts.map +1 -1
  133. package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts +2 -0
  134. package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts.map +1 -0
  135. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  136. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts +2 -1
  137. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts.map +1 -1
  138. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
  139. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
  140. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts +3 -1
  141. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts.map +1 -1
  142. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
  143. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
  144. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
  145. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts +2 -0
  146. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts.map +1 -0
  147. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.d.ts.map +1 -1
  148. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  149. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  150. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts +0 -1
  151. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map +1 -1
  152. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  153. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  154. package/components/OffsetWellPickerV5/constants.d.ts +26 -3
  155. package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
  156. package/components/OffsetWellPickerV5/constants.js +1 -1
  157. package/components/OffsetWellPickerV5/constants.js.map +1 -1
  158. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts +2 -0
  159. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts.map +1 -0
  160. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts +2 -0
  161. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
  162. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.d.ts.map +1 -1
  163. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
  164. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
  165. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts +2 -1
  166. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts.map +1 -1
  167. package/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
  168. package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts +2 -0
  169. package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts.map +1 -0
  170. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts +4 -0
  171. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts.map +1 -1
  172. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
  173. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
  174. package/components/Search/Search.d.ts +6 -3
  175. package/components/Search/Search.d.ts.map +1 -1
  176. package/components/Search/Search.js.map +1 -1
  177. package/components/index.d.ts +1 -0
  178. package/components/index.d.ts.map +1 -1
  179. package/config/mapbox/index.d.ts.map +1 -1
  180. package/config/mapbox/index.js +1 -1
  181. package/config/mapbox/index.js.map +1 -1
  182. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts +2 -0
  183. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts.map +1 -0
  184. package/hocs/withAssetEditorLockHOC.d.ts +11 -1
  185. package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
  186. package/hocs/withAssetEditorLockHOC.js +1 -1
  187. package/hocs/withAssetEditorLockHOC.js.map +1 -1
  188. package/mcp-server/server.mjs +312 -73
  189. package/mcp-server/setup.mjs +129 -44
  190. package/package.json +3 -2
  191. package/permissions/constants/index.d.ts +1 -0
  192. package/permissions/constants/index.d.ts.map +1 -1
  193. package/permissions/constants/index.js +1 -1
  194. package/permissions/constants/index.js.map +1 -1
  195. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useAdvancedWells.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.ts"],"sourcesContent":["import { useState, useEffect, useRef, useMemo } from 'react';\nimport { get, groupBy, isEqual } from 'lodash';\n\nimport { fetchMetricsData } from '../../api';\nimport type { FetchedOffsetWell } from '../../api/shared/types';\nimport { NonConvertableMetrics } from '../../constants';\nimport { usePickerPropsStore } from '../../stores/picker-props-store/usePickerPropsStore';\nimport { getSegmentConfig } from '../../segment-config';\nimport type { WellSection, OffsetWellsBySection } from '../useExternalOffsets';\n\nimport { transformWells } from './wellTransformations';\n\nexport type TransformedWell = FetchedOffsetWell & {\n distance?: number;\n wellSection?: string[];\n};\n\ntype MetricsCache = Record<number, Record<string, unknown>>;\n\nconst parseMetricValue = (value: number): number | null =>\n Number.isFinite(value) ? parseFloat(value.toFixed(2)) : null;\n\nexport const useAdvancedWells = (\n rawWells: FetchedOffsetWell[] | null,\n wellSections: WellSection[] | null,\n offsetWellsBySection: OffsetWellsBySection | null,\n subjectWellId: number | null,\n metricsKeys: string[],\n open: boolean | undefined\n): [TransformedWell[] | null, boolean, TransformedWell[] | null, Set<number>] => {\n const segment = usePickerPropsStore(state => state.segment);\n const { metricsCollection } = getSegmentConfig(segment);\n\n const [wells, setWells] = useState<TransformedWell[] | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [loadingWellIds, setLoadingWellIds] = useState<Set<number>>(new Set());\n const fetchedDataCache = useRef<MetricsCache>({});\n const previousMetricsKeys = useRef(metricsKeys);\n const previousCollection = useRef(metricsCollection);\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const transformedWells = useMemo((): TransformedWell[] | null => {\n if (!open || !rawWells) return null;\n\n return transformWells(rawWells, subjectWellId, wellSections, offsetWellsBySection);\n }, [rawWells, subjectWellId, wellSections, offsetWellsBySection, open]);\n\n useEffect(() => {\n if (!transformedWells || !open) {\n setIsLoading(false);\n setLoadingWellIds(new Set());\n return undefined;\n }\n\n // Immediately set wells with transformed data AND cached metrics\n // This preserves existing metric values while new wells load\n const wellsWithCachedMetrics = transformedWells.map(well => ({\n ...well,\n ...(fetchedDataCache.current[well.id] || {}),\n }));\n setWells(wellsWithCachedMetrics);\n setIsLoading(true);\n\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n const abortController = new AbortController();\n\n abortControllerRef.current = abortController;\n\n const fetchAndUpdateMetrics = async () => {\n try {\n let wellIdsToFetch: number[] = [];\n const metricsKeysChanged = !isEqual(previousMetricsKeys.current, metricsKeys);\n const collectionChanged = previousCollection.current !== metricsCollection;\n\n if (metricsKeysChanged || collectionChanged) {\n wellIdsToFetch = transformedWells.map(well => well.id);\n fetchedDataCache.current = {};\n previousMetricsKeys.current = metricsKeys;\n previousCollection.current = metricsCollection;\n } else {\n // Only fetch metrics for wells not in cache\n wellIdsToFetch = transformedWells\n .filter(well => !fetchedDataCache.current[well.id])\n .map(well => well.id);\n }\n\n // Track which wells are loading\n if (wellIdsToFetch.length > 0) {\n setLoadingWellIds(new Set(wellIdsToFetch));\n }\n\n if (wellIdsToFetch.length > 0 && metricsKeys.length > 0) {\n // Group wells to fetch by their company ID\n const wellsToFetchById = new Map(\n transformedWells\n .filter(well => wellIdsToFetch.includes(well.id))\n .map(well => [well.id, well] as const)\n );\n const wellsByCompany = groupBy(\n Array.from(wellsToFetchById.values()).filter(well => well.companyId),\n 'companyId'\n );\n\n // Fetch metrics for each company in parallel\n const metricsPromises = Object.entries(wellsByCompany).map(\n async ([compId, companyWells]) => {\n const companyWellIds = companyWells.map(w => w.id);\n\n return fetchMetricsData(\n Number(compId),\n companyWellIds,\n metricsKeys,\n abortController.signal,\n metricsCollection\n );\n }\n );\n\n const allRecords = await Promise.all(metricsPromises);\n\n if (abortController.signal.aborted) {\n return;\n }\n\n const records = allRecords.flat();\n const wellsMetrics: MetricsCache = {};\n const recordsPerAsset = groupBy(records, 'asset_id');\n\n wellIdsToFetch.forEach(wellId => {\n const wellMetrics = recordsPerAsset[wellId]?.reduce<Record<string, unknown>>(\n (acc, record) => {\n const value = get(record, 'data.value') as number;\n const key = get(record, 'data.key') as string;\n\n return {\n ...acc,\n [key]: NonConvertableMetrics.includes(key) ? value : parseMetricValue(value),\n };\n },\n {}\n );\n\n wellsMetrics[wellId] = wellMetrics || {};\n });\n\n fetchedDataCache.current = {\n ...fetchedDataCache.current,\n ...wellsMetrics,\n };\n }\n\n const result = transformedWells.map(well => ({\n ...well,\n ...(fetchedDataCache.current[well.id] || {}),\n }));\n\n setWells(prevWells => (isEqual(result, prevWells) ? prevWells : result));\n setIsLoading(false);\n setLoadingWellIds(new Set());\n } catch (error) {\n if (!abortController.signal.aborted) {\n console.error('Error fetching metrics data:', error);\n setWells(transformedWells);\n setIsLoading(false);\n setLoadingWellIds(new Set());\n }\n }\n };\n\n fetchAndUpdateMetrics();\n\n return () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n abortControllerRef.current = null;\n }\n };\n }, [transformedWells, metricsKeys, open, metricsCollection]);\n\n return [wells, isLoading, transformedWells, loadingWellIds];\n};\n"],"names":["parseMetricValue","value","Number","isFinite","parseFloat","toFixed","useAdvancedWells","rawWells","wellSections","offsetWellsBySection","subjectWellId","metricsKeys","open","segment","usePickerPropsStore","state","metricsCollection","getSegmentConfig","useState","_useState2","_slicedToArray","_useState","wells","setWells","_useState4","_useState3","isLoading","setIsLoading","_useState5","Set","_useState6","loadingWellIds","setLoadingWellIds","fetchedDataCache","useRef","previousMetricsKeys","previousCollection","abortControllerRef","transformedWells","useMemo","transformWells","useEffect","wellsWithCachedMetrics","map","well","_objectSpread","current","id","abort","abortController","AbortController","fetchAndUpdateMetrics","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","wellIdsToFetch","metricsKeysChanged","collectionChanged","wellsToFetchById","wellsByCompany","metricsPromises","allRecords","records","wellsMetrics","recordsPerAsset","result","wrap","_context2","prev","next","isEqual","filter","length","Map","includes","groupBy","Array","from","values","companyId","Object","entries","_ref3","_callee","_ref2","_ref4","compId","companyWells","companyWellIds","_context","w","abrupt","fetchMetricsData","signal","stop","_x","apply","this","arguments","Promise","all","sent","aborted","flat","forEach","wellId","_recordsPerAsset$well","wellMetrics","reduce","acc","record","get","key","NonConvertableMetrics","prevWells","t0","console","error"],"mappings":"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"}
1
+ {"version":3,"file":"useAdvancedWells.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.ts"],"sourcesContent":["import { useState, useEffect, useRef, useMemo } from 'react';\nimport { get, groupBy, isEqual } from 'lodash';\n\nimport { fetchMetricsData } from '../../api';\nimport type { FetchedOffsetWell } from '../../api/shared/types';\nimport { NonConvertableMetrics, WELL_ATTRIBUTE_METRICS } from '../../constants';\nimport { usePickerPropsStore } from '../../stores/picker-props-store/usePickerPropsStore';\nimport { getSegmentConfig } from '../../segment-config';\nimport type { WellSection, OffsetWellsBySection } from '../useExternalOffsets';\n\nimport { transformWells } from './wellTransformations';\n\nexport type TransformedWell = FetchedOffsetWell & {\n distance?: number;\n wellSection?: string[];\n};\n\ntype MetricsCache = Record<number, Record<string, unknown>>;\n\nconst parseMetricValue = (value: number): number | null =>\n Number.isFinite(value) ? parseFloat(value.toFixed(2)) : null;\n\nexport const useAdvancedWells = (\n rawWells: FetchedOffsetWell[] | null,\n wellSections: WellSection[] | null,\n offsetWellsBySection: OffsetWellsBySection | null,\n subjectWellId: number | null,\n metricsKeys: string[],\n open: boolean | undefined\n): [TransformedWell[] | null, boolean, TransformedWell[] | null, Set<number>] => {\n const segment = usePickerPropsStore(state => state.segment);\n const { metricsCollection } = getSegmentConfig(segment);\n\n const [wells, setWells] = useState<TransformedWell[] | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [loadingWellIds, setLoadingWellIds] = useState<Set<number>>(new Set());\n const fetchedDataCache = useRef<MetricsCache>({});\n\n // Only these keys exist in the metrics collection. Keyed by content, so toggling a\n // well-attribute metric neither refetches nor drops the cached metrics.\n const apiMetricsKeysSignature = metricsKeys\n .filter(key => !WELL_ATTRIBUTE_METRICS.includes(key))\n .join();\n const apiMetricsKeys = useMemo(\n () => (apiMetricsKeysSignature ? apiMetricsKeysSignature.split(',') : []),\n [apiMetricsKeysSignature]\n );\n\n const previousMetricsKeys = useRef(apiMetricsKeys);\n const previousCollection = useRef(metricsCollection);\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const transformedWells = useMemo((): TransformedWell[] | null => {\n if (!open || !rawWells) return null;\n\n return transformWells(rawWells, subjectWellId, wellSections, offsetWellsBySection);\n }, [rawWells, subjectWellId, wellSections, offsetWellsBySection, open]);\n\n useEffect(() => {\n if (!transformedWells || !open) {\n setIsLoading(false);\n setLoadingWellIds(new Set());\n return undefined;\n }\n\n // Immediately set wells with transformed data AND cached metrics\n // This preserves existing metric values while new wells load\n const wellsWithCachedMetrics = transformedWells.map(well => ({\n ...well,\n ...(fetchedDataCache.current[well.id] || {}),\n }));\n setWells(wellsWithCachedMetrics);\n setIsLoading(true);\n\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n\n const abortController = new AbortController();\n\n abortControllerRef.current = abortController;\n\n const fetchAndUpdateMetrics = async () => {\n try {\n let wellIdsToFetch: number[] = [];\n const metricsKeysChanged = !isEqual(previousMetricsKeys.current, apiMetricsKeys);\n const collectionChanged = previousCollection.current !== metricsCollection;\n\n if (metricsKeysChanged || collectionChanged) {\n wellIdsToFetch = transformedWells.map(well => well.id);\n fetchedDataCache.current = {};\n previousMetricsKeys.current = apiMetricsKeys;\n previousCollection.current = metricsCollection;\n } else {\n // Only fetch metrics for wells not in cache\n wellIdsToFetch = transformedWells\n .filter(well => !fetchedDataCache.current[well.id])\n .map(well => well.id);\n }\n\n // Track which wells are loading\n if (wellIdsToFetch.length > 0) {\n setLoadingWellIds(new Set(wellIdsToFetch));\n }\n\n if (wellIdsToFetch.length > 0 && apiMetricsKeys.length > 0) {\n // Group wells to fetch by their company ID\n const wellsToFetchById = new Map(\n transformedWells\n .filter(well => wellIdsToFetch.includes(well.id))\n .map(well => [well.id, well] as const)\n );\n const wellsByCompany = groupBy(\n Array.from(wellsToFetchById.values()).filter(well => well.companyId),\n 'companyId'\n );\n\n // Fetch metrics for each company in parallel\n const metricsPromises = Object.entries(wellsByCompany).map(\n async ([compId, companyWells]) => {\n const companyWellIds = companyWells.map(w => w.id);\n\n return fetchMetricsData(\n Number(compId),\n companyWellIds,\n apiMetricsKeys,\n abortController.signal,\n metricsCollection\n );\n }\n );\n\n const allRecords = await Promise.all(metricsPromises);\n\n if (abortController.signal.aborted) {\n return;\n }\n\n const records = allRecords.flat();\n const wellsMetrics: MetricsCache = {};\n const recordsPerAsset = groupBy(records, 'asset_id');\n\n wellIdsToFetch.forEach(wellId => {\n const wellMetrics = recordsPerAsset[wellId]?.reduce<Record<string, unknown>>(\n (acc, record) => {\n const value = get(record, 'data.value') as number;\n const key = get(record, 'data.key') as string;\n\n return {\n ...acc,\n [key]: NonConvertableMetrics.includes(key) ? value : parseMetricValue(value),\n };\n },\n {}\n );\n\n wellsMetrics[wellId] = wellMetrics || {};\n });\n\n fetchedDataCache.current = {\n ...fetchedDataCache.current,\n ...wellsMetrics,\n };\n }\n\n const result = transformedWells.map(well => ({\n ...well,\n ...(fetchedDataCache.current[well.id] || {}),\n }));\n\n setWells(prevWells => (isEqual(result, prevWells) ? prevWells : result));\n setIsLoading(false);\n setLoadingWellIds(new Set());\n } catch (error) {\n if (!abortController.signal.aborted) {\n console.error('Error fetching metrics data:', error);\n setWells(transformedWells);\n setIsLoading(false);\n setLoadingWellIds(new Set());\n }\n }\n };\n\n fetchAndUpdateMetrics();\n\n return () => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n abortControllerRef.current = null;\n }\n };\n }, [transformedWells, apiMetricsKeys, open, metricsCollection]);\n\n return [wells, isLoading, transformedWells, loadingWellIds];\n};\n"],"names":["parseMetricValue","value","Number","isFinite","parseFloat","toFixed","useAdvancedWells","rawWells","wellSections","offsetWellsBySection","subjectWellId","metricsKeys","open","segment","usePickerPropsStore","state","metricsCollection","getSegmentConfig","useState","_useState2","_slicedToArray","_useState","wells","setWells","_useState4","_useState3","isLoading","setIsLoading","_useState5","Set","_useState6","loadingWellIds","setLoadingWellIds","fetchedDataCache","useRef","apiMetricsKeysSignature","filter","key","WELL_ATTRIBUTE_METRICS","includes","join","apiMetricsKeys","useMemo","split","previousMetricsKeys","previousCollection","abortControllerRef","transformedWells","transformWells","useEffect","wellsWithCachedMetrics","map","well","_objectSpread","current","id","abort","abortController","AbortController","fetchAndUpdateMetrics","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","wellIdsToFetch","metricsKeysChanged","collectionChanged","wellsToFetchById","wellsByCompany","metricsPromises","allRecords","records","wellsMetrics","recordsPerAsset","result","wrap","_context2","prev","next","isEqual","length","Map","groupBy","Array","from","values","companyId","Object","entries","_ref3","_callee","_ref2","_ref4","compId","companyWells","companyWellIds","_context","w","abrupt","fetchMetricsData","signal","stop","_x","apply","this","arguments","Promise","all","sent","aborted","flat","forEach","wellId","_recordsPerAsset$well","wellMetrics","reduce","acc","record","get","NonConvertableMetrics","prevWells","t0","console","error"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { FetchedOffsetWell } from '../../api/shared/types';
2
+ import type { OBJECTIVE_PERIOD_LIST } from '../../constants';
2
3
  import type { Company } from '../company-safeguard/CompanySafeguardContext';
3
- export type PeriodType = 'all' | 'last12h' | 'last24h' | 'last7d' | 'lastMonth' | 'custom';
4
+ export type PeriodType = typeof OBJECTIVE_PERIOD_LIST[number]['value'];
4
5
  export type SelectionMode = 'radius' | 'lasso';
5
6
  export type FilterMutationSource = 'manual_ui' | 'system' | 'external_sync';
6
7
  /** Mirrors `PickerSegment` in OffsetWellPickerV5.types (kept here to avoid circular imports). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/stores/filter-store/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/stores/filter-store/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../../../src/components/OffsetWellPickerV5/stores/filter-store/types.ts"],"sourcesContent":["import type { FetchedOffsetWell } from '../../api/shared/types';\nimport type { Company } from '../company-safeguard/CompanySafeguardContext';\n\nexport type PeriodType = 'all' | 'last12h' | 'last24h' | 'last7d' | 'lastMonth' | 'custom';\n\nexport type SelectionMode = 'radius' | 'lasso';\nexport type FilterMutationSource = 'manual_ui' | 'system' | 'external_sync';\n\n/** Mirrors `PickerSegment` in OffsetWellPickerV5.types (kept here to avoid circular imports). */\nexport type PickerSegmentId = 'drilling' | 'intervention';\n\nexport type PolygonCoord = {\n latitude: number;\n longitude: number;\n};\n\nexport type FilterState = {\n status?: string[];\n companyId?: number[];\n rigName?: string[];\n programName?: string[];\n basin?: string[];\n county?: string[];\n area?: string[];\n formation?: string[];\n stringDesign?: string[];\n interventionAsset?: string[];\n padName?: string[];\n period?: PeriodType;\n sideTracks?: boolean;\n drillingWells?: boolean;\n interventionWells?: boolean;\n activeInterventionWells?: boolean;\n timeRangeFrom?: number;\n timeRangeTo?: number;\n selectionMode?: SelectionMode;\n polygonCoords?: PolygonCoord[];\n radius?: number;\n hasUserConfirmedAllCompaniesLoadAll?: boolean;\n showHiddenWells?: boolean;\n};\n\nexport const BASE_DEFAULT_FILTERS: FilterState = {\n showHiddenWells: false,\n};\n\n/**\n * Keys representing map selection state (not filter criteria).\n * These are preserved during filter resets and excluded from default-state comparisons.\n */\nexport const SELECTION_FILTER_KEYS = ['selectionMode', 'radius', 'polygonCoords'] as const;\n\nexport type FilterStoreDataSources = {\n wells: FetchedOffsetWell[] | null;\n companies: Company[];\n canViewCompanies: boolean;\n isAllWellsLoaded: boolean;\n isLoadAllWells: boolean;\n segment: PickerSegmentId;\n};\n\nexport type FilterStore = FilterStoreDataSources & {\n filters: FilterState;\n defaultFilters: FilterState;\n tempFilters: Partial<FilterState>;\n lastFilterMutationSource: FilterMutationSource;\n filterMutationSeq: number;\n setFilter: (\n key: keyof FilterState,\n value: FilterState[keyof FilterState],\n source?: FilterMutationSource\n ) => void;\n setFilters: (filters: FilterState, source?: FilterMutationSource) => void;\n clearFilters: (source?: FilterMutationSource) => void;\n resetFilters: (source?: FilterMutationSource) => void;\n resetFilterCriteria: (source?: FilterMutationSource) => void;\n hasActiveFilters: () => boolean;\n setTempFilter: (key: keyof FilterState, value: FilterState[keyof FilterState]) => void;\n clearTempFilter: (key: keyof FilterState) => void;\n clearAllTempFilters: () => void;\n commitTempFilter: (key: keyof FilterState) => void;\n setSelectionMode: (mode: SelectionMode) => void;\n setPolygonCoords: (coords: PolygonCoord[] | undefined) => void;\n setRadius: (radius: number) => void;\n pruneAllCascades: () => void;\n};\n\nexport type FilterStoreProps = {\n filters?: FilterState;\n defaultFilters?: FilterState;\n canViewCompanies?: boolean;\n};\n\nexport type SetWithMutation = (\n updates: Partial<Pick<FilterStore, 'filters' | 'tempFilters'>>,\n source: FilterMutationSource\n) => void;\n"],"names":["BASE_DEFAULT_FILTERS","showHiddenWells","SELECTION_FILTER_KEYS"],"mappings":"AA0CO,IAAMA,EAAoC,CAC/CC,iBAAiB,GAONC,EAAwB,CAAC,gBAAiB,SAAU"}
1
+ {"version":3,"file":"types.js","sources":["../../../../../src/components/OffsetWellPickerV5/stores/filter-store/types.ts"],"sourcesContent":["import type { FetchedOffsetWell } from '../../api/shared/types';\nimport type { OBJECTIVE_PERIOD_LIST } from '../../constants';\nimport type { Company } from '../company-safeguard/CompanySafeguardContext';\n\nexport type PeriodType = typeof OBJECTIVE_PERIOD_LIST[number]['value'];\n\nexport type SelectionMode = 'radius' | 'lasso';\nexport type FilterMutationSource = 'manual_ui' | 'system' | 'external_sync';\n\n/** Mirrors `PickerSegment` in OffsetWellPickerV5.types (kept here to avoid circular imports). */\nexport type PickerSegmentId = 'drilling' | 'intervention';\n\nexport type PolygonCoord = {\n latitude: number;\n longitude: number;\n};\n\nexport type FilterState = {\n status?: string[];\n companyId?: number[];\n rigName?: string[];\n programName?: string[];\n basin?: string[];\n county?: string[];\n area?: string[];\n formation?: string[];\n stringDesign?: string[];\n interventionAsset?: string[];\n padName?: string[];\n period?: PeriodType;\n sideTracks?: boolean;\n drillingWells?: boolean;\n interventionWells?: boolean;\n activeInterventionWells?: boolean;\n timeRangeFrom?: number;\n timeRangeTo?: number;\n selectionMode?: SelectionMode;\n polygonCoords?: PolygonCoord[];\n radius?: number;\n hasUserConfirmedAllCompaniesLoadAll?: boolean;\n showHiddenWells?: boolean;\n};\n\nexport const BASE_DEFAULT_FILTERS: FilterState = {\n showHiddenWells: false,\n};\n\n/**\n * Keys representing map selection state (not filter criteria).\n * These are preserved during filter resets and excluded from default-state comparisons.\n */\nexport const SELECTION_FILTER_KEYS = ['selectionMode', 'radius', 'polygonCoords'] as const;\n\nexport type FilterStoreDataSources = {\n wells: FetchedOffsetWell[] | null;\n companies: Company[];\n canViewCompanies: boolean;\n isAllWellsLoaded: boolean;\n isLoadAllWells: boolean;\n segment: PickerSegmentId;\n};\n\nexport type FilterStore = FilterStoreDataSources & {\n filters: FilterState;\n defaultFilters: FilterState;\n tempFilters: Partial<FilterState>;\n lastFilterMutationSource: FilterMutationSource;\n filterMutationSeq: number;\n setFilter: (\n key: keyof FilterState,\n value: FilterState[keyof FilterState],\n source?: FilterMutationSource\n ) => void;\n setFilters: (filters: FilterState, source?: FilterMutationSource) => void;\n clearFilters: (source?: FilterMutationSource) => void;\n resetFilters: (source?: FilterMutationSource) => void;\n resetFilterCriteria: (source?: FilterMutationSource) => void;\n hasActiveFilters: () => boolean;\n setTempFilter: (key: keyof FilterState, value: FilterState[keyof FilterState]) => void;\n clearTempFilter: (key: keyof FilterState) => void;\n clearAllTempFilters: () => void;\n commitTempFilter: (key: keyof FilterState) => void;\n setSelectionMode: (mode: SelectionMode) => void;\n setPolygonCoords: (coords: PolygonCoord[] | undefined) => void;\n setRadius: (radius: number) => void;\n pruneAllCascades: () => void;\n};\n\nexport type FilterStoreProps = {\n filters?: FilterState;\n defaultFilters?: FilterState;\n canViewCompanies?: boolean;\n};\n\nexport type SetWithMutation = (\n updates: Partial<Pick<FilterStore, 'filters' | 'tempFilters'>>,\n source: FilterMutationSource\n) => void;\n"],"names":["BASE_DEFAULT_FILTERS","showHiddenWells","SELECTION_FILTER_KEYS"],"mappings":"AA2CO,IAAMA,EAAoC,CAC/CC,iBAAiB,GAONC,EAAwB,CAAC,gBAAiB,SAAU"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getTimestampByPeriod.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTimestampByPeriod.test.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.ts"],"names":[],"mappings":""}
@@ -1,2 +1,6 @@
1
+ /**
2
+ * Resolves a period option to a `[start, end]` pair of unix seconds.
3
+ * Returns `[null, null]` for `'all'`, `undefined`, or any unknown value.
4
+ */
1
5
  export declare const getTimestampByPeriod: (period: string | undefined, customFrom: number | undefined, customTo: number | undefined) => [number | null, number | null];
2
6
  //# sourceMappingURL=getTimestampByPeriod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTimestampByPeriod.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/utils/getTimestampByPeriod.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,WACvB,MAAM,GAAG,SAAS,cACd,MAAM,GAAG,SAAS,YACpB,MAAM,GAAG,SAAS,KAC3B,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CA0B/B,CAAC"}
1
+ {"version":3,"file":"getTimestampByPeriod.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/utils/getTimestampByPeriod.ts"],"names":[],"mappings":"AA2BA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,WACvB,MAAM,GAAG,SAAS,cACd,MAAM,GAAG,SAAS,YACpB,MAAM,GAAG,SAAS,KAC3B,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAY/B,CAAC"}
@@ -1,2 +1,2 @@
1
- import u from"moment";import{OBJECTIVE_PERIOD_LIST as n}from"../constants.js";var l=function(l,t,r){var a,o=u().unix();return l===n[1].value?a=u().subtract(12,"hours").unix():l===n[2].value?a=u().subtract(24,"hours").unix():l===n[3].value?a=u().subtract(7,"days").unix():l===n[4].value?a=u().subtract(1,"month").unix():l===n[5].value?(a=null!=t?t:null,o=null!=r?r:null):(a=null,o=null),[a,o]};export{l as getTimestampByPeriod};
1
+ import t from"moment";var n={last12h:function(t){return t.clone().subtract(12,"hours")},last24h:function(t){return t.clone().subtract(24,"hours")},last7d:function(t){return t.clone().subtract(7,"days")},lastMonth:function(t){return t.clone().subtract(1,"month")},last6Months:function(t){return t.clone().subtract(6,"months")},yearToDate:function(t){return t.clone().startOf("year")},last1Year:function(t){return t.clone().subtract(1,"year")}},r=function(r,u,o){if("custom"===r)return[null!=u?u:null,null!=o?o:null];if(void 0!==r&&function(t){return Object.prototype.hasOwnProperty.call(n,t)}(r)){var e=t();return[n[r](e).unix(),e.unix()]}return[null,null]};export{r as getTimestampByPeriod};
2
2
  //# sourceMappingURL=getTimestampByPeriod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTimestampByPeriod.js","sources":["../../../../src/components/OffsetWellPickerV5/utils/getTimestampByPeriod.ts"],"sourcesContent":["import moment from 'moment';\n\nimport { OBJECTIVE_PERIOD_LIST } from '../constants';\n\nexport const getTimestampByPeriod = (\n period: string | undefined,\n customFrom: number | undefined,\n customTo: number | undefined\n): [number | null, number | null] => {\n let start: number | null;\n let end: number | null = moment().unix();\n\n if (period === OBJECTIVE_PERIOD_LIST[1].value) {\n // '12h'\n start = moment().subtract(12, 'hours').unix();\n } else if (period === OBJECTIVE_PERIOD_LIST[2].value) {\n // '24h'\n start = moment().subtract(24, 'hours').unix();\n } else if (period === OBJECTIVE_PERIOD_LIST[3].value) {\n // '7d'\n start = moment().subtract(7, 'days').unix();\n } else if (period === OBJECTIVE_PERIOD_LIST[4].value) {\n // '1month'\n start = moment().subtract(1, 'month').unix();\n } else if (period === OBJECTIVE_PERIOD_LIST[5].value) {\n // 'custom'\n start = customFrom ?? null;\n end = customTo ?? null;\n } else {\n start = null;\n end = null;\n }\n\n return [start, end];\n};\n"],"names":["getTimestampByPeriod","period","customFrom","customTo","start","end","moment","unix","OBJECTIVE_PERIOD_LIST","value","subtract"],"mappings":"8EAIO,IAAMA,EAAuB,SAClCC,EACAC,EACAC,GAEA,IAAIC,EACAC,EAAqBC,IAASC,OAuBlC,OArBIN,IAAWO,EAAsB,GAAGC,MAEtCL,EAAQE,IAASI,SAAS,GAAI,SAASH,OAC9BN,IAAWO,EAAsB,GAAGC,MAE7CL,EAAQE,IAASI,SAAS,GAAI,SAASH,OAC9BN,IAAWO,EAAsB,GAAGC,MAE7CL,EAAQE,IAASI,SAAS,EAAG,QAAQH,OAC5BN,IAAWO,EAAsB,GAAGC,MAE7CL,EAAQE,IAASI,SAAS,EAAG,SAASH,OAC7BN,IAAWO,EAAsB,GAAGC,OAE7CL,EAAQF,QAAAA,EAAc,KACtBG,EAAMF,QAAAA,EAAY,OAElBC,EAAQ,KACRC,EAAM,MAGD,CAACD,EAAOC,EACjB"}
1
+ {"version":3,"file":"getTimestampByPeriod.js","sources":["../../../../src/components/OffsetWellPickerV5/utils/getTimestampByPeriod.ts"],"sourcesContent":["import moment from 'moment';\nimport type { Moment } from 'moment';\n\nimport type { PeriodType } from '../stores/filter-store/types';\n\ntype RelativePeriod = Exclude<PeriodType, 'all' | 'custom'>;\n\n/**\n * Start-of-range resolvers for the rolling/relative period options.\n * All are computed from `now` in the effective moment timezone (the app may call\n * `moment.tz.setDefault`), so \"Year to Date\" means Jan 1 00:00 of that zone, not UTC.\n * Month/year subtraction uses moment's documented end-of-month clamping\n * (Aug 31 − 6 months → Feb 29 / Feb 28).\n */\nconst RELATIVE_PERIOD_START: Record<RelativePeriod, (now: Moment) => Moment> = {\n last12h: now => now.clone().subtract(12, 'hours'),\n last24h: now => now.clone().subtract(24, 'hours'),\n last7d: now => now.clone().subtract(7, 'days'),\n lastMonth: now => now.clone().subtract(1, 'month'),\n last6Months: now => now.clone().subtract(6, 'months'),\n yearToDate: now => now.clone().startOf('year'),\n last1Year: now => now.clone().subtract(1, 'year'),\n};\n\nconst isRelativePeriod = (period: string): period is RelativePeriod =>\n Object.prototype.hasOwnProperty.call(RELATIVE_PERIOD_START, period);\n\n/**\n * Resolves a period option to a `[start, end]` pair of unix seconds.\n * Returns `[null, null]` for `'all'`, `undefined`, or any unknown value.\n */\nexport const getTimestampByPeriod = (\n period: string | undefined,\n customFrom: number | undefined,\n customTo: number | undefined\n): [number | null, number | null] => {\n if (period === 'custom') {\n return [customFrom ?? null, customTo ?? null];\n }\n\n if (period !== undefined && isRelativePeriod(period)) {\n const now = moment();\n\n return [RELATIVE_PERIOD_START[period](now).unix(), now.unix()];\n }\n\n return [null, null];\n};\n"],"names":["RELATIVE_PERIOD_START","last12h","now","clone","subtract","last24h","last7d","lastMonth","last6Months","yearToDate","startOf","last1Year","getTimestampByPeriod","period","customFrom","customTo","undefined","Object","prototype","hasOwnProperty","call","isRelativePeriod","moment","unix"],"mappings":"sBAcA,IAAMA,EAAyE,CAC7EC,QAAS,SAAAC,GAAG,OAAIA,EAAIC,QAAQC,SAAS,GAAI,QAAQ,EACjDC,QAAS,SAAAH,GAAG,OAAIA,EAAIC,QAAQC,SAAS,GAAI,QAAQ,EACjDE,OAAQ,SAAAJ,GAAG,OAAIA,EAAIC,QAAQC,SAAS,EAAG,OAAO,EAC9CG,UAAW,SAAAL,GAAG,OAAIA,EAAIC,QAAQC,SAAS,EAAG,QAAQ,EAClDI,YAAa,SAAAN,GAAG,OAAIA,EAAIC,QAAQC,SAAS,EAAG,SAAS,EACrDK,WAAY,SAAAP,GAAG,OAAIA,EAAIC,QAAQO,QAAQ,OAAO,EAC9CC,UAAW,SAAAT,GAAG,OAAIA,EAAIC,QAAQC,SAAS,EAAG,OAAO,GAUtCQ,EAAuB,SAClCC,EACAC,EACAC,GAEA,GAAe,WAAXF,EACF,MAAO,CAACC,QAAAA,EAAc,KAAMC,QAAAA,EAAY,MAG1C,QAAeC,IAAXH,GAhBmB,SAACA,GAAc,OACtCI,OAAOC,UAAUC,eAAeC,KAAKpB,EAAuBa,EAAO,CAevCQ,CAAiBR,GAAS,CACpD,IAAMX,EAAMoB,IAEZ,MAAO,CAACtB,EAAsBa,GAAQX,GAAKqB,OAAQrB,EAAIqB,OACzD,CAEA,MAAO,CAAC,KAAM,KAChB"}
@@ -4,10 +4,11 @@ import { InputProps as MuiInputProps } from '@material-ui/core';
4
4
  import { Groups } from './components';
5
5
  type SearchProps = {
6
6
  onChange: (event: ChangeEvent<{}>, selected: any | any[] | null) => void;
7
- value?: object | object[];
7
+ value?: object | object[] | null;
8
8
  options?: {
9
9
  label?: string;
10
- id: string;
10
+ name?: string;
11
+ id: string | number;
11
12
  group?: string;
12
13
  }[];
13
14
  AutocompleteProps?: {
@@ -18,11 +19,12 @@ type SearchProps = {
18
19
  TextFieldProps?: {
19
20
  label?: string;
20
21
  endAdornment?: ReactNode;
22
+ value?: string;
21
23
  };
22
24
  selectedGroup?: {
23
25
  name?: string;
24
26
  id?: string;
25
- };
27
+ } | null;
26
28
  onGroupReset?: MouseEventHandler<HTMLSpanElement>;
27
29
  onClose?: () => void;
28
30
  disableClearable?: boolean;
@@ -40,6 +42,7 @@ type SearchProps = {
40
42
  }) => void;
41
43
  loading?: boolean;
42
44
  disabled?: boolean;
45
+ isNullable?: boolean;
43
46
  multiple?: boolean;
44
47
  optionSize?: 'large';
45
48
  popupIcon?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../src/components/Search/Search.tsx"],"sourcesContent":["import {\n ChangeEvent,\n cloneElement,\n ComponentType,\n KeyboardEvent,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { debounce, isEmpty, noop, omit } from 'lodash';\nimport { Autocomplete, AutocompleteProps, AutocompleteRenderGroupParams } from '@material-ui/lab';\nimport {\n Checkbox,\n Chip,\n CircularProgress,\n Fade,\n InputAdornment,\n MenuItem,\n Popper,\n TextField,\n InputProps as MuiInputProps,\n Tooltip,\n} from '@material-ui/core';\nimport { AccessTime as TimeIcon } from '@material-ui/icons';\n\nimport { Groups, ListboxComponent as Listbox, Paper, SelectAllListItem } from './components';\nimport { PaperContext } from './context';\nimport { useAutocompletOptions } from './effects';\nimport useStyles from './styles';\n\nimport { CloseSmallIcon, DownOneIcon } from '~/icons';\nimport { MiddleTruncatedText } from '~/components/MiddleTruncatedText';\nimport IconButton from '~/components/IconButton';\n\nconst PAGE_NAME = 'AutocompleteSearch';\n\nconst initialPopperProps = {};\n\nconst ARROW_LEFT_KEY_CODE = 'ArrowLeft';\n\ntype SearchProps = {\n onChange: (event: ChangeEvent<{}>, selected: any | any[] | null) => void;\n value?: object | object[];\n options?: { label?: string; id: string; group?: string }[];\n AutocompleteProps?: {\n getOptionDisabled?: (option: any) => boolean;\n forcePopupIcon?: boolean;\n };\n allChecked?: boolean;\n TextFieldProps?: {\n label?: string;\n endAdornment?: ReactNode;\n };\n selectedGroup?: {\n name?: string;\n id?: string;\n };\n onGroupReset?: MouseEventHandler<HTMLSpanElement>;\n onClose?: () => void;\n disableClearable?: boolean;\n\n /**\n * MUI Autocomplete triggers onInputChange when startAdornment is changed (via selectedGroup update).\n * If disableResetOnGroupChange is true, we won't store a new value in onInputChange when the 'reason' is \"reset\".\n * Additionally, handleSelectedGroupChange won't trigger handleInputReset if disableResetOnGroupChange is true.\n */\n disableResetOnGroupChange?: boolean;\n onInputChange?: (value: string) => void;\n getOptionLabel?: (option: any) => string;\n onGroupChange?: (group?: { name?: string; id?: string }) => void;\n loading?: boolean;\n disabled?: boolean;\n multiple?: boolean;\n optionSize?: 'large';\n popupIcon?: ReactNode;\n InputProps?: Partial<MuiInputProps>;\n ListboxProps?: object;\n classes?: Partial<\n {\n popper: string;\n listbox: string;\n popupIndicator: string;\n popupIndicatorOpen: string;\n groupChip: string;\n } & Record<string, string>\n >;\n onInputChangeCallback?: (newInputValue: string, reason: string) => void;\n placeholder?: string;\n RecentSearchesComponent?: ComponentType<any>;\n ListboxComponent?: any;\n recentSearchesMaxCount?: number;\n dataStorageKey?: string;\n dataStorage?: object;\n\n groups?: { id: string; name: string }[];\n GroupsComponent?: ComponentType<{\n onGroupClick: (id: string) => void;\n groups: { id: string; name: string }[];\n }>;\n onOpen?: (e?: any) => void;\n renderCustomOption?: (option: any, state: any) => ReactNode;\n onInputReset?: () => void;\n isHiddenAllOption?: boolean;\n isHiddenAllLabel?: boolean;\n paperFooter?: ReactNode;\n isOpenedFromParent?: boolean;\n popperProps?: Partial<{ style: object }>;\n onFocus?: () => void;\n inputProps?: object;\n noOptionsText?: string;\n isPrioritizedSelectedOptions?: boolean;\n /**\n * There is a check if it is multiple search then we should keep input value on autocomplete change\n * But now there is another case, when we should reset input value on autocomplete change\n * This new prop allows to have both options\n */\n shouldResetInputOnAutocompleteChange?: boolean;\n} & Omit<\n AutocompleteProps<any, false, false, false>,\n | 'value'\n | 'onChange'\n | 'options'\n | 'onClose'\n | 'disableClearable'\n | 'onInputChange'\n | 'getOptionLabel'\n | 'loading'\n | 'disabled'\n | 'multiple'\n | 'popupIcon'\n | 'ListboxProps'\n | 'classes'\n | 'placeholder'\n | 'ListboxComponent'\n | 'onOpen'\n | 'onFocus'\n | 'inp'\n | 'noOptionsText'\n | 'renderInput'\n | 'PopperComponent'\n | 'open'\n | 'forcePopupIcon'\n | 'fullWidth'\n | 'renderGroup'\n | 'disableCloseOnSelect'\n | 'renderOption'\n | 'groupBy'\n | 'PaperComponent'\n | 'inputValue'\n | 'getOptionDisabled'\n | 'loadingText'\n | 'InputProps'\n | 'isNullable'\n>;\n\nexport const Search = ({\n AutocompleteProps = {},\n value,\n disableClearable = false,\n onChange,\n onInputChange,\n loading = false,\n options = [],\n optionSize,\n placeholder = 'Search...',\n onGroupChange = () => {},\n disabled = false,\n disableResetOnGroupChange,\n multiple = false,\n groups = [],\n GroupsComponent,\n recentSearchesMaxCount = 3,\n dataStorageKey = 'Search:recentSearches',\n RecentSearchesComponent,\n dataStorage = sessionStorage,\n onInputReset,\n getOptionLabel = (option: any) => option.label || '',\n TextFieldProps = { endAdornment: null },\n ListboxProps,\n onInputChangeCallback = () => {},\n renderCustomOption,\n isHiddenAllOption = false,\n isHiddenAllLabel = false,\n onOpen = noop,\n selectedGroup,\n onGroupReset = () => {},\n onClose = () => {},\n popperProps = initialPopperProps,\n paperFooter,\n noOptionsText = 'No Options',\n ListboxComponent = Listbox,\n isPrioritizedSelectedOptions = false,\n\n isOpenedFromParent = undefined,\n onFocus,\n InputProps,\n classes = {},\n popupIcon = <DownOneIcon theme=\"filled\" fill=\"#BDBDBD\" size={16} />,\n shouldResetInputOnAutocompleteChange,\n ...props\n}: SearchProps) => {\n const [inputValue, setInputValue] = useState('');\n const [debouncedInputValue, setDebouncedInputValue] = useState('');\n const [isOpened, setIsOpened] = useState(false);\n const [isSelectedLabelExpanded, setIsSelectedLabelExpanded] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n const { autocompleteOptions, isGrouped, handleAutocompleOptionsUpdate } = useAutocompletOptions({\n options,\n value,\n groups,\n selectedGroup,\n isPrioritizedSelectedOptions,\n });\n\n const styles = useStyles();\n\n const {\n popper,\n listbox,\n popupIndicator,\n popupIndicatorOpen,\n groupChip: groupChipClassName,\n ...restClasses\n } = classes;\n const autocompleteClasses = {\n popper: classNames(styles.popper, popper),\n listbox: classNames(styles.listbox, listbox),\n popupIndicator: classNames(styles.popupIndicator, popupIndicator),\n popupIndicatorOpen: classNames(styles.popupIndicatorOpen, popupIndicatorOpen),\n ...restClasses,\n };\n\n const groupBy = ({ group }: any) => group;\n\n const handleInputChange = (_event: ChangeEvent<{}>, newInputValue: string, reason: string) => {\n if (disableResetOnGroupChange)\n setInputValue(prevValue => (reason === 'reset' ? prevValue : newInputValue));\n else setInputValue(newInputValue);\n\n onInputChangeCallback(newInputValue, reason);\n };\n\n const handleInputReset = () => {\n setInputValue('');\n onInputReset?.();\n };\n\n const handleDebouncedInputChange = (inputValue: string) => setDebouncedInputValue(inputValue);\n\n const onDebouncedInputChange = useCallback(debounce(handleDebouncedInputChange, 500), []);\n\n const handleSelectedGroupChange = (selectedGroupId: string) => {\n const selectedGroup = groups.find(({ id }) => id === selectedGroupId);\n if (!disableResetOnGroupChange) handleInputReset();\n onGroupChange(selectedGroup);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (inputValue.length) return;\n\n // NOTE: MUI try to focus tags for multiple Autocomplete\n // need to stop event to prevent crash, as we render custom content in TextField\n if (multiple && event.code === ARROW_LEFT_KEY_CODE) {\n event.stopPropagation();\n }\n };\n\n useEffect(() => {\n if (isOpened) {\n inputRef.current?.focus();\n inputRef.current?.setSelectionRange(inputValue.length, inputValue.length);\n }\n });\n\n const valueLength = multiple && Array.isArray(value) ? value.length : null;\n\n const allSelected = multiple && autocompleteOptions?.length === valueLength;\n const someSelected = multiple && !!valueLength && !allSelected;\n\n const onAllSelectClick = () => {\n handleInputReset();\n if (AutocompleteProps.getOptionDisabled && allSelected)\n return onChange(null as unknown as ChangeEvent<{}>, [options[options.length - 1]]);\n\n return onChange(\n null as unknown as ChangeEvent<{}>,\n allSelected || someSelected ? [] : autocompleteOptions\n );\n };\n\n useEffect(() => {\n onDebouncedInputChange(inputValue);\n\n if (!onInputChange) return;\n\n onInputChange(inputValue);\n }, [inputValue]);\n\n const handleAutocompleteChange = (event: ChangeEvent<{}>, selected: any | any[]) => {\n if (!multiple || shouldResetInputOnAutocompleteChange) {\n setInputValue('');\n }\n onChange(event, selected);\n };\n\n const handleSearchOpen = (e: ChangeEvent<{}>) => {\n handleAutocompleOptionsUpdate();\n setIsOpened(true);\n onOpen(e);\n };\n\n const handleSearchClose = (evt: ChangeEvent<{}>, reason: string) => {\n const focusEvt = evt as unknown as React.FocusEvent<HTMLElement>;\n const focusingDropdownElement =\n reason === 'blur' &&\n (!focusEvt.relatedTarget || paperRef.current?.contains(focusEvt.relatedTarget));\n\n if (!focusingDropdownElement) {\n onClose();\n setIsOpened(false);\n }\n };\n\n const handleSelectedOptionClick = () => {\n if (isOpenedFromParent ?? isOpened) {\n setIsOpened(false);\n\n onClose();\n } else {\n setIsOpened(true);\n\n onOpen();\n }\n };\n\n const renderGroup = ({ key, group, children }: AutocompleteRenderGroupParams) => {\n if (!group || (!isEmpty(selectedGroup) && multiple)) {\n return children;\n }\n\n return (\n <div className={styles.group} key={key}>\n <Tooltip\n title={group}\n placement=\"right\"\n TransitionComponent={Fade}\n TransitionProps={{ timeout: 500 }}\n enterDelay={500}\n >\n <Chip\n data-not-migrated-muichip\n className={classNames(styles.groupChip, groupChipClassName)}\n variant=\"outlined\"\n label={group}\n />\n </Tooltip>\n\n {children}\n </div>\n );\n };\n\n const getSelectedLabel = (value: any) => {\n if (allSelected && !isHiddenAllOption && !isHiddenAllLabel) return 'All';\n const label = value[0].label || value[0].name || '';\n\n return value?.length === 1 ? (\n <div>\n <MiddleTruncatedText>{label}</MiddleTruncatedText>\n </div>\n ) : (\n `${value?.length} Selected`\n );\n };\n\n const renderInput = (muiProps: any) => {\n // MUI Autocomplete invokes renderInput during its OWN render, so this state belongs to the\n // Autocomplete fiber. Hoisting it into Search re-targets the re-render and breaks the\n // ArrowUp/ArrowDown focus handoff between the input and the chips.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [isFocused, setIsFocused] = useState(false);\n const { InputProps: mUIInputProps, inputProps: mUIinputProps, ...restMuiProps } = muiProps;\n const defaultEndAdornment =\n mUIInputProps.endAdornment?.props?.children?.length > 1\n ? cloneElement(mUIInputProps.endAdornment, {\n // remove clear button, popupIcon is left\n children: mUIInputProps.endAdornment.props.children.slice(1),\n onMouseDown: e => e.stopPropagation(),\n onMouseUp: e => e.stopPropagation(),\n })\n : mUIInputProps.endAdornment;\n\n const isNeedExpandInput = valueLength === 1;\n\n const isInputLabelShrink =\n isFocused ||\n isOpened ||\n inputValue.length > 0 ||\n !isEmpty(value) ||\n !isEmpty(InputProps?.startAdornment);\n\n const onInputBlur = () => {\n setIsFocused(false);\n if (isNeedExpandInput) {\n setIsSelectedLabelExpanded(true);\n }\n };\n\n const {\n classes: { input: inputClasses = '', ...restInputClasses } = {},\n style,\n ...restInputProps\n } = InputProps || {};\n\n return (\n <TextField\n {...restMuiProps}\n {...omit(TextFieldProps, ['endAdornment'])}\n onBlur={onInputBlur}\n onFocus={() => {\n setIsFocused(true);\n }}\n onKeyDown={handleKeyDown}\n inputRef={inputRef}\n placeholder={placeholder}\n classes={{ root: styles.searchInput }}\n inputProps={{ style: { padding: 5 }, ...mUIinputProps, ...props.inputProps }}\n InputLabelProps={{\n shrink: isInputLabelShrink,\n }}\n InputProps={{\n classes: {\n input: classNames(\n isSelectedLabelExpanded\n ? styles.inputShrinked\n : isNeedExpandInput && styles.inputExpanded,\n inputClasses\n ),\n ...restInputClasses,\n },\n style: { paddingRight: 0, paddingBottom: 0, ...style },\n ...mUIInputProps,\n ...restInputProps,\n startAdornment: (\n <>\n {InputProps?.startAdornment}\n {selectedGroup && (\n <Chip\n key={selectedGroup.id}\n className={styles.selectedGroup}\n data-not-migrated-muichip\n variant=\"outlined\"\n label={\n <div className={styles.selectedGroupLabel}>\n {selectedGroup.name}\n <CloseSmallIcon\n size={16}\n id=\"removeGroupIcon\"\n className={styles.removeIcon}\n onClick={onGroupReset}\n />\n </div>\n }\n />\n )}\n {multiple && !isEmpty(value) && (\n <div\n onClick={handleSelectedOptionClick}\n id=\"selectedOptions\"\n className={classNames(\n styles.selectedLabel,\n isSelectedLabelExpanded && styles.selectedLabelExpanded\n )}\n >\n {getSelectedLabel(value)}\n </div>\n )}\n </>\n ),\n endAdornment: (\n <>\n <InputAdornment\n className={classNames(styles.endAdornment, {\n [styles.removeIconWithDropdown]: AutocompleteProps.forcePopupIcon,\n })}\n position=\"end\"\n >\n {TextFieldProps.endAdornment}\n {loading && <CircularProgress color=\"primary\" size={20} />}\n {isFocused && inputValue && !disableClearable && (\n <IconButton\n data-testid={`${PAGE_NAME}_clear_icon`}\n size=\"small\"\n className={styles.iconButton}\n onClick={() => {\n setInputValue('');\n if (onInputReset) {\n onInputReset();\n }\n }}\n tooltipProps={{ title: 'Clear' }}\n >\n <CloseSmallIcon size={20} className={styles.closeIcon} />\n </IconButton>\n )}\n </InputAdornment>\n {AutocompleteProps.forcePopupIcon && defaultEndAdornment}\n </>\n ),\n }}\n />\n );\n };\n\n const renderOption = (option: any, state: any) => {\n const { label = '', id } = option;\n if (!multiple)\n return (\n <MenuItem\n className={styles.menuItem}\n key={id}\n value={id}\n data-testid={`autocompleteOption_${label}MenuItem`}\n >\n <MiddleTruncatedText className={styles.optionLabelContainer}>{label}</MiddleTruncatedText>\n </MenuItem>\n );\n return (\n <div\n className={classNames(styles.option, optionSize)}\n key={id}\n data-testid={`autocompleteOption_${label}MenuItem`}\n >\n <Checkbox size=\"small\" disableRipple className={styles.checkbox} checked={state.selected} />\n <MiddleTruncatedText className={styles.optionLabelContainer}>{label}</MiddleTruncatedText>\n </div>\n );\n };\n\n const isEmptyOptions = isEmpty(autocompleteOptions);\n const paperContext = useMemo(\n () => ({\n onOutsideClick: handleSearchClose,\n isEmptyOptions,\n loading,\n AllSelectComponent: !isHiddenAllOption && multiple && !isEmptyOptions && (\n <SelectAllListItem\n className={styles.selectAllCheckbox}\n onClick={onAllSelectClick}\n someSelected={someSelected}\n allSelected={allSelected}\n />\n ),\n RecentSearchesComponent: RecentSearchesComponent && (\n <RecentSearchesComponent\n title=\"Recent Searches\"\n Icon={TimeIcon}\n dataStorage={dataStorage}\n dataStorageKey={dataStorageKey}\n maxCount={recentSearchesMaxCount}\n isHidden={!isEmpty(inputValue)}\n onInputChange={(value: any) => setInputValue(value)}\n inputValue={debouncedInputValue}\n />\n ),\n GroupsComponent: !selectedGroup && isGrouped && GroupsComponent && (\n <GroupsComponent onGroupClick={handleSelectedGroupChange} groups={groups} />\n ),\n }),\n [\n selectedGroup,\n loading,\n isGrouped,\n isEmptyOptions,\n inputValue,\n isHiddenAllOption,\n multiple,\n isEmptyOptions,\n debouncedInputValue,\n onClose,\n handleSearchClose,\n ]\n );\n\n const PaperComponent = useMemo(\n () =>\n ({ children, className, ...paperProps }: any) =>\n (\n <Paper {...paperProps} className={className} inputRef={inputRef} ref={paperRef}>\n {children}\n {paperFooter}\n </Paper>\n ),\n [paperFooter]\n );\n\n const PopperComponent = useMemo(\n () => (props: any) => {\n const { style, ...restPopperProps } = popperProps;\n return (\n <Popper\n {...props}\n style={{ ...props.style, ...style }}\n placement=\"bottom-start\"\n {...restPopperProps}\n />\n );\n },\n [popperProps]\n );\n\n const handleRootFocus = () => {\n setIsSelectedLabelExpanded(false);\n onFocus?.();\n };\n\n return (\n <PaperContext.Provider value={paperContext}>\n <Autocomplete\n {...omit(props, ['InputProps', 'isNullable', 'isOpenedFromParent'])}\n PopperComponent={PopperComponent}\n disableClearable={disableClearable}\n onOpen={handleSearchOpen}\n onClose={handleSearchClose}\n open={isOpenedFromParent ?? isOpened}\n onChange={handleAutocompleteChange}\n forcePopupIcon={AutocompleteProps.forcePopupIcon}\n fullWidth\n disabled={disabled}\n value={value}\n classes={autocompleteClasses}\n renderInput={renderInput}\n loading={loading}\n options={autocompleteOptions}\n renderGroup={renderGroup}\n disableCloseOnSelect={multiple}\n multiple={multiple}\n renderOption={renderCustomOption || renderOption}\n groupBy={isGrouped ? groupBy : undefined}\n PaperComponent={PaperComponent}\n ListboxComponent={ListboxComponent}\n inputValue={inputValue}\n getOptionLabel={getOptionLabel}\n getOptionDisabled={AutocompleteProps?.getOptionDisabled}\n onInputChange={handleInputChange}\n loadingText={<div className={styles.label}>Loading ...</div>}\n noOptionsText={<div className={styles.label}>{noOptionsText}</div>}\n ListboxProps={ListboxProps}\n onFocus={handleRootFocus}\n />\n </PaperContext.Provider>\n );\n};\n\nSearch.Groups = Groups;\n\nexport default Search;\n"],"names":["initialPopperProps","Search","_ref","_ref$AutocompleteProp","AutocompleteProps","value","_ref$disableClearable","disableClearable","onChange","onInputChange","_ref$loading","loading","_ref$options","options","optionSize","_ref$placeholder","placeholder","_ref$onGroupChange","onGroupChange","_ref$disabled","disabled","disableResetOnGroupChange","_ref$multiple","multiple","_ref$groups","groups","GroupsComponent","_ref$recentSearchesMa","recentSearchesMaxCount","_ref$dataStorageKey","dataStorageKey","RecentSearchesComponent","_ref$dataStorage","dataStorage","sessionStorage","onInputReset","_ref$getOptionLabel","getOptionLabel","option","label","_ref$TextFieldProps","TextFieldProps","endAdornment","ListboxProps","_ref$onInputChangeCal","onInputChangeCallback","renderCustomOption","_ref$isHiddenAllOptio","isHiddenAllOption","_ref$isHiddenAllLabel","isHiddenAllLabel","_ref$onOpen","onOpen","noop","selectedGroup","_ref$onGroupReset","onGroupReset","_ref$onClose","onClose","_ref$popperProps","popperProps","paperFooter","_ref$noOptionsText","noOptionsText","_ref$ListboxComponent","ListboxComponent","Listbox","_ref$isPrioritizedSel","isPrioritizedSelectedOptions","_ref$isOpenedFromPare","isOpenedFromParent","undefined","onFocus","InputProps","_ref$classes","classes","popupIcon","shouldResetInputOnAutocompleteChange","props","_objectWithoutProperties","_excluded","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","_useState4","_useState3","debouncedInputValue","setDebouncedInputValue","_useState6","_useState5","isOpened","setIsOpened","_useState8","_useState7","isSelectedLabelExpanded","setIsSelectedLabelExpanded","inputRef","useRef","paperRef","_useAutocompletOption","useAutocompletOptions","autocompleteOptions","isGrouped","handleAutocompleOptionsUpdate","styles","useStyles","popper","listbox","popupIndicator","popupIndicatorOpen","groupChipClassName","groupChip","restClasses","_excluded2","autocompleteClasses","_objectSpread","classNames","handleInputReset","onDebouncedInputChange","useCallback","debounce","handleSelectedGroupChange","selectedGroupId","find","_ref3","id","handleKeyDown","event","length","code","stopPropagation","useEffect","_inputRef$current","_inputRef$current2","current","focus","setSelectionRange","valueLength","Array","isArray","allSelected","someSelected","onAllSelectClick","getOptionDisabled","handleSearchClose","evt","reason","_paperRef$current","focusEvt","relatedTarget","contains","handleSelectedOptionClick","getSelectedLabel","name","_jsx","children","MiddleTruncatedText","concat","isEmptyOptions","isEmpty","paperContext","useMemo","onOutsideClick","AllSelectComponent","SelectAllListItem","className","selectAllCheckbox","onClick","title","Icon","TimeIcon","maxCount","isHidden","onGroupClick","PaperComponent","_ref6","paperProps","_excluded6","_jsxs","Paper","ref","PopperComponent","style","restPopperProps","_excluded7","Popper","placement","PaperContext","Provider","Autocomplete","omit","e","open","selected","forcePopupIcon","fullWidth","renderInput","muiProps","_mUIInputProps$endAdo","_mUIInputProps$endAdo2","_mUIInputProps$endAdo3","_useState10","_useState9","isFocused","setIsFocused","mUIInputProps","mUIinputProps","inputProps","restMuiProps","_excluded3","defaultEndAdornment","cloneElement","slice","onMouseDown","onMouseUp","isNeedExpandInput","isInputLabelShrink","startAdornment","_ref5$classes","_ref5","_ref5$classes$input","input","inputClasses","restInputClasses","_excluded4","restInputProps","_excluded5","TextField","onBlur","onKeyDown","root","searchInput","padding","InputLabelProps","shrink","inputShrinked","inputExpanded","paddingRight","paddingBottom","_Fragment","Chip","variant","selectedGroupLabel","CloseSmallIcon","size","removeIcon","selectedLabel","selectedLabelExpanded","InputAdornment","_defineProperty","removeIconWithDropdown","position","CircularProgress","color","IconButton","iconButton","tooltipProps","closeIcon","renderGroup","_ref4","key","group","Tooltip","TransitionComponent","Fade","TransitionProps","timeout","enterDelay","disableCloseOnSelect","renderOption","state","_option$label","Checkbox","disableRipple","checkbox","checked","optionLabelContainer","MenuItem","menuItem","groupBy","_ref2","_event","newInputValue","prevValue","loadingText","Groups"],"mappings":"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"}
1
+ {"version":3,"file":"Search.js","sources":["../../../src/components/Search/Search.tsx"],"sourcesContent":["import {\n ChangeEvent,\n cloneElement,\n ComponentType,\n KeyboardEvent,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport classNames from 'classnames';\nimport { debounce, isEmpty, noop, omit } from 'lodash';\nimport { Autocomplete, AutocompleteProps, AutocompleteRenderGroupParams } from '@material-ui/lab';\nimport {\n Checkbox,\n Chip,\n CircularProgress,\n Fade,\n InputAdornment,\n MenuItem,\n Popper,\n TextField,\n InputProps as MuiInputProps,\n Tooltip,\n} from '@material-ui/core';\nimport { AccessTime as TimeIcon } from '@material-ui/icons';\n\nimport { Groups, ListboxComponent as Listbox, Paper, SelectAllListItem } from './components';\nimport { PaperContext } from './context';\nimport { useAutocompletOptions } from './effects';\nimport useStyles from './styles';\n\nimport { CloseSmallIcon, DownOneIcon } from '~/icons';\nimport { MiddleTruncatedText } from '~/components/MiddleTruncatedText';\nimport IconButton from '~/components/IconButton';\n\nconst PAGE_NAME = 'AutocompleteSearch';\n\nconst initialPopperProps = {};\n\nconst ARROW_LEFT_KEY_CODE = 'ArrowLeft';\n\ntype SearchProps = {\n onChange: (event: ChangeEvent<{}>, selected: any | any[] | null) => void;\n value?: object | object[] | null;\n options?: { label?: string; name?: string; id: string | number; group?: string }[];\n AutocompleteProps?: {\n getOptionDisabled?: (option: any) => boolean;\n forcePopupIcon?: boolean;\n };\n allChecked?: boolean;\n TextFieldProps?: {\n label?: string;\n endAdornment?: ReactNode;\n value?: string;\n };\n selectedGroup?: {\n name?: string;\n id?: string;\n } | null;\n onGroupReset?: MouseEventHandler<HTMLSpanElement>;\n onClose?: () => void;\n disableClearable?: boolean;\n\n /**\n * MUI Autocomplete triggers onInputChange when startAdornment is changed (via selectedGroup update).\n * If disableResetOnGroupChange is true, we won't store a new value in onInputChange when the 'reason' is \"reset\".\n * Additionally, handleSelectedGroupChange won't trigger handleInputReset if disableResetOnGroupChange is true.\n */\n disableResetOnGroupChange?: boolean;\n onInputChange?: (value: string) => void;\n getOptionLabel?: (option: any) => string;\n onGroupChange?: (group?: { name?: string; id?: string }) => void;\n loading?: boolean;\n disabled?: boolean;\n isNullable?: boolean;\n multiple?: boolean;\n optionSize?: 'large';\n popupIcon?: ReactNode;\n InputProps?: Partial<MuiInputProps>;\n ListboxProps?: object;\n classes?: Partial<\n {\n popper: string;\n listbox: string;\n popupIndicator: string;\n popupIndicatorOpen: string;\n groupChip: string;\n } & Record<string, string>\n >;\n onInputChangeCallback?: (newInputValue: string, reason: string) => void;\n placeholder?: string;\n RecentSearchesComponent?: ComponentType<any>;\n ListboxComponent?: any;\n recentSearchesMaxCount?: number;\n dataStorageKey?: string;\n dataStorage?: object;\n\n groups?: { id: string; name: string }[];\n GroupsComponent?: ComponentType<{\n onGroupClick: (id: string) => void;\n groups: { id: string; name: string }[];\n }>;\n onOpen?: (e?: any) => void;\n renderCustomOption?: (option: any, state: any) => ReactNode;\n onInputReset?: () => void;\n isHiddenAllOption?: boolean;\n isHiddenAllLabel?: boolean;\n paperFooter?: ReactNode;\n isOpenedFromParent?: boolean;\n popperProps?: Partial<{ style: object }>;\n onFocus?: () => void;\n inputProps?: object;\n noOptionsText?: string;\n isPrioritizedSelectedOptions?: boolean;\n /**\n * There is a check if it is multiple search then we should keep input value on autocomplete change\n * But now there is another case, when we should reset input value on autocomplete change\n * This new prop allows to have both options\n */\n shouldResetInputOnAutocompleteChange?: boolean;\n} & Omit<\n AutocompleteProps<any, false, false, false>,\n | 'value'\n | 'onChange'\n | 'options'\n | 'onClose'\n | 'disableClearable'\n | 'onInputChange'\n | 'getOptionLabel'\n | 'loading'\n | 'disabled'\n | 'multiple'\n | 'popupIcon'\n | 'ListboxProps'\n | 'classes'\n | 'placeholder'\n | 'ListboxComponent'\n | 'onOpen'\n | 'onFocus'\n | 'inp'\n | 'noOptionsText'\n | 'renderInput'\n | 'PopperComponent'\n | 'open'\n | 'forcePopupIcon'\n | 'fullWidth'\n | 'renderGroup'\n | 'disableCloseOnSelect'\n | 'renderOption'\n | 'groupBy'\n | 'PaperComponent'\n | 'inputValue'\n | 'getOptionDisabled'\n | 'loadingText'\n | 'InputProps'\n | 'isNullable'\n>;\n\nexport const Search = ({\n AutocompleteProps = {},\n value,\n disableClearable = false,\n onChange,\n onInputChange,\n loading = false,\n options = [],\n optionSize,\n placeholder = 'Search...',\n onGroupChange = () => {},\n disabled = false,\n disableResetOnGroupChange,\n multiple = false,\n groups = [],\n GroupsComponent,\n recentSearchesMaxCount = 3,\n dataStorageKey = 'Search:recentSearches',\n RecentSearchesComponent,\n dataStorage = sessionStorage,\n onInputReset,\n getOptionLabel = (option: any) => option.label || '',\n TextFieldProps = { endAdornment: null },\n ListboxProps,\n onInputChangeCallback = () => {},\n renderCustomOption,\n isHiddenAllOption = false,\n isHiddenAllLabel = false,\n onOpen = noop,\n selectedGroup,\n onGroupReset = () => {},\n onClose = () => {},\n popperProps = initialPopperProps,\n paperFooter,\n noOptionsText = 'No Options',\n ListboxComponent = Listbox,\n isPrioritizedSelectedOptions = false,\n\n isOpenedFromParent = undefined,\n onFocus,\n InputProps,\n classes = {},\n popupIcon = <DownOneIcon theme=\"filled\" fill=\"#BDBDBD\" size={16} />,\n shouldResetInputOnAutocompleteChange,\n ...props\n}: SearchProps) => {\n const [inputValue, setInputValue] = useState('');\n const [debouncedInputValue, setDebouncedInputValue] = useState('');\n const [isOpened, setIsOpened] = useState(false);\n const [isSelectedLabelExpanded, setIsSelectedLabelExpanded] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n const paperRef = useRef<HTMLDivElement>(null);\n\n const { autocompleteOptions, isGrouped, handleAutocompleOptionsUpdate } = useAutocompletOptions({\n options,\n value,\n groups,\n selectedGroup,\n isPrioritizedSelectedOptions,\n });\n\n const styles = useStyles();\n\n const {\n popper,\n listbox,\n popupIndicator,\n popupIndicatorOpen,\n groupChip: groupChipClassName,\n ...restClasses\n } = classes;\n const autocompleteClasses = {\n popper: classNames(styles.popper, popper),\n listbox: classNames(styles.listbox, listbox),\n popupIndicator: classNames(styles.popupIndicator, popupIndicator),\n popupIndicatorOpen: classNames(styles.popupIndicatorOpen, popupIndicatorOpen),\n ...restClasses,\n };\n\n const groupBy = ({ group }: any) => group;\n\n const handleInputChange = (_event: ChangeEvent<{}>, newInputValue: string, reason: string) => {\n if (disableResetOnGroupChange)\n setInputValue(prevValue => (reason === 'reset' ? prevValue : newInputValue));\n else setInputValue(newInputValue);\n\n onInputChangeCallback(newInputValue, reason);\n };\n\n const handleInputReset = () => {\n setInputValue('');\n onInputReset?.();\n };\n\n const handleDebouncedInputChange = (inputValue: string) => setDebouncedInputValue(inputValue);\n\n const onDebouncedInputChange = useCallback(debounce(handleDebouncedInputChange, 500), []);\n\n const handleSelectedGroupChange = (selectedGroupId: string) => {\n const selectedGroup = groups.find(({ id }) => id === selectedGroupId);\n if (!disableResetOnGroupChange) handleInputReset();\n onGroupChange(selectedGroup);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (inputValue.length) return;\n\n // NOTE: MUI try to focus tags for multiple Autocomplete\n // need to stop event to prevent crash, as we render custom content in TextField\n if (multiple && event.code === ARROW_LEFT_KEY_CODE) {\n event.stopPropagation();\n }\n };\n\n useEffect(() => {\n if (isOpened) {\n inputRef.current?.focus();\n inputRef.current?.setSelectionRange(inputValue.length, inputValue.length);\n }\n });\n\n const valueLength = multiple && Array.isArray(value) ? value.length : null;\n\n const allSelected = multiple && autocompleteOptions?.length === valueLength;\n const someSelected = multiple && !!valueLength && !allSelected;\n\n const onAllSelectClick = () => {\n handleInputReset();\n if (AutocompleteProps.getOptionDisabled && allSelected)\n return onChange(null as unknown as ChangeEvent<{}>, [options[options.length - 1]]);\n\n return onChange(\n null as unknown as ChangeEvent<{}>,\n allSelected || someSelected ? [] : autocompleteOptions\n );\n };\n\n useEffect(() => {\n onDebouncedInputChange(inputValue);\n\n if (!onInputChange) return;\n\n onInputChange(inputValue);\n }, [inputValue]);\n\n const handleAutocompleteChange = (event: ChangeEvent<{}>, selected: any | any[]) => {\n if (!multiple || shouldResetInputOnAutocompleteChange) {\n setInputValue('');\n }\n onChange(event, selected);\n };\n\n const handleSearchOpen = (e: ChangeEvent<{}>) => {\n handleAutocompleOptionsUpdate();\n setIsOpened(true);\n onOpen(e);\n };\n\n const handleSearchClose = (evt: ChangeEvent<{}>, reason: string) => {\n const focusEvt = evt as unknown as React.FocusEvent<HTMLElement>;\n const focusingDropdownElement =\n reason === 'blur' &&\n (!focusEvt.relatedTarget || paperRef.current?.contains(focusEvt.relatedTarget));\n\n if (!focusingDropdownElement) {\n onClose();\n setIsOpened(false);\n }\n };\n\n const handleSelectedOptionClick = () => {\n if (isOpenedFromParent ?? isOpened) {\n setIsOpened(false);\n\n onClose();\n } else {\n setIsOpened(true);\n\n onOpen();\n }\n };\n\n const renderGroup = ({ key, group, children }: AutocompleteRenderGroupParams) => {\n if (!group || (!isEmpty(selectedGroup) && multiple)) {\n return children;\n }\n\n return (\n <div className={styles.group} key={key}>\n <Tooltip\n title={group}\n placement=\"right\"\n TransitionComponent={Fade}\n TransitionProps={{ timeout: 500 }}\n enterDelay={500}\n >\n <Chip\n data-not-migrated-muichip\n className={classNames(styles.groupChip, groupChipClassName)}\n variant=\"outlined\"\n label={group}\n />\n </Tooltip>\n\n {children}\n </div>\n );\n };\n\n const getSelectedLabel = (value: any) => {\n if (allSelected && !isHiddenAllOption && !isHiddenAllLabel) return 'All';\n const label = value[0].label || value[0].name || '';\n\n return value?.length === 1 ? (\n <div>\n <MiddleTruncatedText>{label}</MiddleTruncatedText>\n </div>\n ) : (\n `${value?.length} Selected`\n );\n };\n\n const renderInput = (muiProps: any) => {\n // MUI Autocomplete invokes renderInput during its OWN render, so this state belongs to the\n // Autocomplete fiber. Hoisting it into Search re-targets the re-render and breaks the\n // ArrowUp/ArrowDown focus handoff between the input and the chips.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const [isFocused, setIsFocused] = useState(false);\n const { InputProps: mUIInputProps, inputProps: mUIinputProps, ...restMuiProps } = muiProps;\n const defaultEndAdornment =\n mUIInputProps.endAdornment?.props?.children?.length > 1\n ? cloneElement(mUIInputProps.endAdornment, {\n // remove clear button, popupIcon is left\n children: mUIInputProps.endAdornment.props.children.slice(1),\n onMouseDown: e => e.stopPropagation(),\n onMouseUp: e => e.stopPropagation(),\n })\n : mUIInputProps.endAdornment;\n\n const isNeedExpandInput = valueLength === 1;\n\n const isInputLabelShrink =\n isFocused ||\n isOpened ||\n inputValue.length > 0 ||\n !isEmpty(value) ||\n !isEmpty(InputProps?.startAdornment);\n\n const onInputBlur = () => {\n setIsFocused(false);\n if (isNeedExpandInput) {\n setIsSelectedLabelExpanded(true);\n }\n };\n\n const {\n classes: { input: inputClasses = '', ...restInputClasses } = {},\n style,\n ...restInputProps\n } = InputProps || {};\n\n return (\n <TextField\n {...restMuiProps}\n {...omit(TextFieldProps, ['endAdornment'])}\n onBlur={onInputBlur}\n onFocus={() => {\n setIsFocused(true);\n }}\n onKeyDown={handleKeyDown}\n inputRef={inputRef}\n placeholder={placeholder}\n classes={{ root: styles.searchInput }}\n inputProps={{ style: { padding: 5 }, ...mUIinputProps, ...props.inputProps }}\n InputLabelProps={{\n shrink: isInputLabelShrink,\n }}\n InputProps={{\n classes: {\n input: classNames(\n isSelectedLabelExpanded\n ? styles.inputShrinked\n : isNeedExpandInput && styles.inputExpanded,\n inputClasses\n ),\n ...restInputClasses,\n },\n style: { paddingRight: 0, paddingBottom: 0, ...style },\n ...mUIInputProps,\n ...restInputProps,\n startAdornment: (\n <>\n {InputProps?.startAdornment}\n {selectedGroup && (\n <Chip\n key={selectedGroup.id}\n className={styles.selectedGroup}\n data-not-migrated-muichip\n variant=\"outlined\"\n label={\n <div className={styles.selectedGroupLabel}>\n {selectedGroup.name}\n <CloseSmallIcon\n size={16}\n id=\"removeGroupIcon\"\n className={styles.removeIcon}\n onClick={onGroupReset}\n />\n </div>\n }\n />\n )}\n {multiple && !isEmpty(value) && (\n <div\n onClick={handleSelectedOptionClick}\n id=\"selectedOptions\"\n className={classNames(\n styles.selectedLabel,\n isSelectedLabelExpanded && styles.selectedLabelExpanded\n )}\n >\n {getSelectedLabel(value)}\n </div>\n )}\n </>\n ),\n endAdornment: (\n <>\n <InputAdornment\n className={classNames(styles.endAdornment, {\n [styles.removeIconWithDropdown]: AutocompleteProps.forcePopupIcon,\n })}\n position=\"end\"\n >\n {TextFieldProps.endAdornment}\n {loading && <CircularProgress color=\"primary\" size={20} />}\n {isFocused && inputValue && !disableClearable && (\n <IconButton\n data-testid={`${PAGE_NAME}_clear_icon`}\n size=\"small\"\n className={styles.iconButton}\n onClick={() => {\n setInputValue('');\n if (onInputReset) {\n onInputReset();\n }\n }}\n tooltipProps={{ title: 'Clear' }}\n >\n <CloseSmallIcon size={20} className={styles.closeIcon} />\n </IconButton>\n )}\n </InputAdornment>\n {AutocompleteProps.forcePopupIcon && defaultEndAdornment}\n </>\n ),\n }}\n />\n );\n };\n\n const renderOption = (option: any, state: any) => {\n const { label = '', id } = option;\n if (!multiple)\n return (\n <MenuItem\n className={styles.menuItem}\n key={id}\n value={id}\n data-testid={`autocompleteOption_${label}MenuItem`}\n >\n <MiddleTruncatedText className={styles.optionLabelContainer}>{label}</MiddleTruncatedText>\n </MenuItem>\n );\n return (\n <div\n className={classNames(styles.option, optionSize)}\n key={id}\n data-testid={`autocompleteOption_${label}MenuItem`}\n >\n <Checkbox size=\"small\" disableRipple className={styles.checkbox} checked={state.selected} />\n <MiddleTruncatedText className={styles.optionLabelContainer}>{label}</MiddleTruncatedText>\n </div>\n );\n };\n\n const isEmptyOptions = isEmpty(autocompleteOptions);\n const paperContext = useMemo(\n () => ({\n onOutsideClick: handleSearchClose,\n isEmptyOptions,\n loading,\n AllSelectComponent: !isHiddenAllOption && multiple && !isEmptyOptions && (\n <SelectAllListItem\n className={styles.selectAllCheckbox}\n onClick={onAllSelectClick}\n someSelected={someSelected}\n allSelected={allSelected}\n />\n ),\n RecentSearchesComponent: RecentSearchesComponent && (\n <RecentSearchesComponent\n title=\"Recent Searches\"\n Icon={TimeIcon}\n dataStorage={dataStorage}\n dataStorageKey={dataStorageKey}\n maxCount={recentSearchesMaxCount}\n isHidden={!isEmpty(inputValue)}\n onInputChange={(value: any) => setInputValue(value)}\n inputValue={debouncedInputValue}\n />\n ),\n GroupsComponent: !selectedGroup && isGrouped && GroupsComponent && (\n <GroupsComponent onGroupClick={handleSelectedGroupChange} groups={groups} />\n ),\n }),\n [\n selectedGroup,\n loading,\n isGrouped,\n isEmptyOptions,\n inputValue,\n isHiddenAllOption,\n multiple,\n isEmptyOptions,\n debouncedInputValue,\n onClose,\n handleSearchClose,\n ]\n );\n\n const PaperComponent = useMemo(\n () =>\n ({ children, className, ...paperProps }: any) =>\n (\n <Paper {...paperProps} className={className} inputRef={inputRef} ref={paperRef}>\n {children}\n {paperFooter}\n </Paper>\n ),\n [paperFooter]\n );\n\n const PopperComponent = useMemo(\n () => (props: any) => {\n const { style, ...restPopperProps } = popperProps;\n return (\n <Popper\n {...props}\n style={{ ...props.style, ...style }}\n placement=\"bottom-start\"\n {...restPopperProps}\n />\n );\n },\n [popperProps]\n );\n\n const handleRootFocus = () => {\n setIsSelectedLabelExpanded(false);\n onFocus?.();\n };\n\n return (\n <PaperContext.Provider value={paperContext}>\n <Autocomplete\n {...omit(props, ['InputProps', 'isNullable', 'isOpenedFromParent'])}\n PopperComponent={PopperComponent}\n disableClearable={disableClearable}\n onOpen={handleSearchOpen}\n onClose={handleSearchClose}\n open={isOpenedFromParent ?? isOpened}\n onChange={handleAutocompleteChange}\n forcePopupIcon={AutocompleteProps.forcePopupIcon}\n fullWidth\n disabled={disabled}\n value={value}\n classes={autocompleteClasses}\n renderInput={renderInput}\n loading={loading}\n options={autocompleteOptions}\n renderGroup={renderGroup}\n disableCloseOnSelect={multiple}\n multiple={multiple}\n renderOption={renderCustomOption || renderOption}\n groupBy={isGrouped ? groupBy : undefined}\n PaperComponent={PaperComponent}\n ListboxComponent={ListboxComponent}\n inputValue={inputValue}\n getOptionLabel={getOptionLabel}\n getOptionDisabled={AutocompleteProps?.getOptionDisabled}\n onInputChange={handleInputChange}\n loadingText={<div className={styles.label}>Loading ...</div>}\n noOptionsText={<div className={styles.label}>{noOptionsText}</div>}\n ListboxProps={ListboxProps}\n onFocus={handleRootFocus}\n />\n </PaperContext.Provider>\n );\n};\n\nSearch.Groups = Groups;\n\nexport default Search;\n"],"names":["initialPopperProps","Search","_ref","_ref$AutocompleteProp","AutocompleteProps","value","_ref$disableClearable","disableClearable","onChange","onInputChange","_ref$loading","loading","_ref$options","options","optionSize","_ref$placeholder","placeholder","_ref$onGroupChange","onGroupChange","_ref$disabled","disabled","disableResetOnGroupChange","_ref$multiple","multiple","_ref$groups","groups","GroupsComponent","_ref$recentSearchesMa","recentSearchesMaxCount","_ref$dataStorageKey","dataStorageKey","RecentSearchesComponent","_ref$dataStorage","dataStorage","sessionStorage","onInputReset","_ref$getOptionLabel","getOptionLabel","option","label","_ref$TextFieldProps","TextFieldProps","endAdornment","ListboxProps","_ref$onInputChangeCal","onInputChangeCallback","renderCustomOption","_ref$isHiddenAllOptio","isHiddenAllOption","_ref$isHiddenAllLabel","isHiddenAllLabel","_ref$onOpen","onOpen","noop","selectedGroup","_ref$onGroupReset","onGroupReset","_ref$onClose","onClose","_ref$popperProps","popperProps","paperFooter","_ref$noOptionsText","noOptionsText","_ref$ListboxComponent","ListboxComponent","Listbox","_ref$isPrioritizedSel","isPrioritizedSelectedOptions","_ref$isOpenedFromPare","isOpenedFromParent","undefined","onFocus","InputProps","_ref$classes","classes","popupIcon","shouldResetInputOnAutocompleteChange","props","_objectWithoutProperties","_excluded","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","_useState4","_useState3","debouncedInputValue","setDebouncedInputValue","_useState6","_useState5","isOpened","setIsOpened","_useState8","_useState7","isSelectedLabelExpanded","setIsSelectedLabelExpanded","inputRef","useRef","paperRef","_useAutocompletOption","useAutocompletOptions","autocompleteOptions","isGrouped","handleAutocompleOptionsUpdate","styles","useStyles","popper","listbox","popupIndicator","popupIndicatorOpen","groupChipClassName","groupChip","restClasses","_excluded2","autocompleteClasses","_objectSpread","classNames","handleInputReset","onDebouncedInputChange","useCallback","debounce","handleSelectedGroupChange","selectedGroupId","find","_ref3","id","handleKeyDown","event","length","code","stopPropagation","useEffect","_inputRef$current","_inputRef$current2","current","focus","setSelectionRange","valueLength","Array","isArray","allSelected","someSelected","onAllSelectClick","getOptionDisabled","handleSearchClose","evt","reason","_paperRef$current","focusEvt","relatedTarget","contains","handleSelectedOptionClick","getSelectedLabel","name","_jsx","children","MiddleTruncatedText","concat","isEmptyOptions","isEmpty","paperContext","useMemo","onOutsideClick","AllSelectComponent","SelectAllListItem","className","selectAllCheckbox","onClick","title","Icon","TimeIcon","maxCount","isHidden","onGroupClick","PaperComponent","_ref6","paperProps","_excluded6","_jsxs","Paper","ref","PopperComponent","style","restPopperProps","_excluded7","Popper","placement","PaperContext","Provider","Autocomplete","omit","e","open","selected","forcePopupIcon","fullWidth","renderInput","muiProps","_mUIInputProps$endAdo","_mUIInputProps$endAdo2","_mUIInputProps$endAdo3","_useState10","_useState9","isFocused","setIsFocused","mUIInputProps","mUIinputProps","inputProps","restMuiProps","_excluded3","defaultEndAdornment","cloneElement","slice","onMouseDown","onMouseUp","isNeedExpandInput","isInputLabelShrink","startAdornment","_ref5$classes","_ref5","_ref5$classes$input","input","inputClasses","restInputClasses","_excluded4","restInputProps","_excluded5","TextField","onBlur","onKeyDown","root","searchInput","padding","InputLabelProps","shrink","inputShrinked","inputExpanded","paddingRight","paddingBottom","_Fragment","Chip","variant","selectedGroupLabel","CloseSmallIcon","size","removeIcon","selectedLabel","selectedLabelExpanded","InputAdornment","_defineProperty","removeIconWithDropdown","position","CircularProgress","color","IconButton","iconButton","tooltipProps","closeIcon","renderGroup","_ref4","key","group","Tooltip","TransitionComponent","Fade","TransitionProps","timeout","enterDelay","disableCloseOnSelect","renderOption","state","_option$label","Checkbox","disableRipple","checkbox","checked","optionLabelContainer","MenuItem","menuItem","groupBy","_ref2","_event","newInputValue","prevValue","loadingText","Groups"],"mappings":"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"}
@@ -139,6 +139,7 @@ export type { WellhubContext, WellhubFile } from './WellhubFilePicker';
139
139
  export { AttachmentPreview } from './AttachmentPreview';
140
140
  export { getIsStoredKey } from './AttachmentPreview/useStoredAttachment';
141
141
  export type { AttachmentPreviewItem } from './AttachmentPreview';
142
+ export type { AppSettingsAssetEditorV2Props, AssetEditorAppType, AssetEditorChange, AssetSettings, AssetSettingsChangeHandler, AssetSettingsPatch, } from './AssetEditorV2';
142
143
  export { CommentPin } from './CommentPin';
143
144
  export { FeedCard } from './FeedCard';
144
145
  export { FeedItemCard } from './FeedItemCard';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/mapbox/index.js"],"names":[],"mappings":"AACA,eAAO,MAAM,oBAAoB,+FAC6D,CAAC;AAI/F,eAAO,MAAM,iBAAiB,SAAkD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/mapbox/index.js"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,+FAC6D,CAAC;AAU/F,eAAO,MAAM,iBAAiB,SAC2C,CAAC"}
@@ -1,2 +1,2 @@
1
- var e="pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw",j="true"===process.env.REACT_APP_MAPBOX_ENABLED;export{j as IS_MAPBOX_ENABLED,e as MAP_BOX_ACCESS_TOKEN};
1
+ import o from"mapbox-gl";var p="pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw",e="true"===process.env.REACT_APP_MAPBOX_ENABLED&&o.supported();export{e as IS_MAPBOX_ENABLED,p as MAP_BOX_ACCESS_TOKEN};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/config/mapbox/index.js"],"sourcesContent":["// NOTE: Access token from Jim Wang\nexport const MAP_BOX_ACCESS_TOKEN =\n 'pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw';\n\n// Airgapped deployments cannot reach api.mapbox.com, so their maps must never mount.\n// The host app inlines this at its own build (corva-web-frontend maps VITE_ to REACT_APP_).\nexport const IS_MAPBOX_ENABLED = process.env.REACT_APP_MAPBOX_ENABLED === 'true';\n"],"names":["MAP_BOX_ACCESS_TOKEN","IS_MAPBOX_ENABLED","process","env","REACT_APP_MAPBOX_ENABLED"],"mappings":"AACO,IAAMA,EACX,6FAIWC,EAA6D,SAAzCC,QAAQC,IAAIC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/config/mapbox/index.js"],"sourcesContent":["import mapboxgl from 'mapbox-gl';\n\n// NOTE: Access token from Jim Wang\nexport const MAP_BOX_ACCESS_TOKEN =\n 'pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw';\n\n// Airgapped deployments cannot reach api.mapbox.com, so their maps must never mount.\n// The host app inlines this at its own build (corva-web-frontend maps VITE_ to REACT_APP_).\n// Mapbox needs a WebGL2 context; where there is none its Map constructor throws and\n// takes the whole host app down. The scheduled PDF report renderer is headless with\n// no GPU, so treat that the same way as an airgapped deployment and never mount.\n// mapboxgl.supported() is the library's own check, so it tracks whatever the pinned\n// version actually requires — 3.x needs WebGL2, a shader that compiles, workers and\n// canvas readback, none of which a plain getContext probe would catch.\nexport const IS_MAPBOX_ENABLED =\n process.env.REACT_APP_MAPBOX_ENABLED === 'true' && mapboxgl.supported();\n"],"names":["MAP_BOX_ACCESS_TOKEN","IS_MAPBOX_ENABLED","process","env","REACT_APP_MAPBOX_ENABLED","mapboxgl","supported"],"mappings":"yBAGO,IAAMA,EACX,6FAUWC,EAC8B,SAAzCC,QAAQC,IAAIC,0BAAuCC,EAASC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=withAssetEditorLockHOC.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withAssetEditorLockHOC.test.d.ts","sourceRoot":"","sources":["../../../src/hocs/__tests__/withAssetEditorLockHOC.test.tsx"],"names":[],"mappings":""}
@@ -1,3 +1,13 @@
1
- declare const withAssetEditorLockHOC: (WrappedComponent: any) => (props: any) => import("react").JSX.Element;
1
+ import { ComponentType, FC } from 'react';
2
+ import { AssetSettingsPatch } from '../components/AssetEditorV2';
3
+ type AssetEditorLockProps = {
4
+ onChangeEditorField: (field: 'assetId' | 'replacedAssetId' | 'replacedAssetTime', value: null) => void;
5
+ } | {
6
+ onChangeEditorField?: never;
7
+ onSettingsChange: (settings: AssetSettingsPatch) => void;
8
+ };
9
+ declare const withAssetEditorLockHOC: <Props extends {
10
+ disabled?: boolean;
11
+ }>(WrappedComponent: ComponentType<Props>) => FC<Props & AssetEditorLockProps>;
2
12
  export default withAssetEditorLockHOC;
3
13
  //# sourceMappingURL=withAssetEditorLockHOC.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withAssetEditorLockHOC.d.ts","sourceRoot":"","sources":["../../src/hocs/withAssetEditorLockHOC.js"],"names":[],"mappings":"AAgBA,QAAA,MAAM,sBAAsB,wEAwD3B,CAAC;eAEa,sBAAsB"}
1
+ {"version":3,"file":"withAssetEditorLockHOC.d.ts","sourceRoot":"","sources":["../../src/hocs/withAssetEditorLockHOC.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAI/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,KAAK,oBAAoB,GACrB;IACE,mBAAmB,EAAE,CACnB,KAAK,EAAE,SAAS,GAAG,iBAAiB,GAAG,mBAAmB,EAC1D,KAAK,EAAE,IAAI,KACR,IAAI,CAAC;CACX,GACD;IACE,mBAAmB,CAAC,EAAE,KAAK,CAAC;IAC5B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC1D,CAAC;AAcN,QAAA,MAAM,sBAAsB,GAAI,KAAK,SAAS;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,oBAChD,aAAa,CAAC,KAAK,CAAC,qCAwDvC,CAAC;eAEa,sBAAsB"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as r,useEffect as n}from"react";import{makeStyles as o,Tooltip as i,IconButton as a}from"@material-ui/core";import{LockOutlined as c,ReplayOutlined as l}from"@material-ui/icons";import{jsxs as s,jsx as u}from"react/jsx-runtime";function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?p(Object(n),!0).forEach((function(r){e(t,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var m=o((function(e){return{root:{display:"flex"},assetEditorWrapper:{width:"100%"},iconButtonWrapper:{height:36,marginTop:10,marginLeft:16},iconButton:{color:e.palette.primary.text6,width:36,height:36,"&:hover":{backgroundColor:e.palette.background.b7}}}})),f=function(e){return function(o){var p=m(),f=o.onChangeEditorField,b=o.onSettingsChange,h=r(!0),g=t(h,2),O=g[0],y=g[1],j=r(!0),v=t(j,2),w=v[0],P=v[1],k=function(){f("assetId",null),f("replacedAssetId",null),f("replacedAssetTime",null)},A=function(){b({rigId:null,wellId:null})};n((function(){w||P(!0)}),[w]);var B=O?c:l;return s("div",{className:p.root,children:[u(i,{title:O?"This app is using current dashboard asset.":"",placement:"bottom",children:u("div",{className:p.assetEditorWrapper,children:w&&u(e,d(d({},o),{},{disabled:O}))})}),u(i,{title:O?"Unlock Asset":"Return default",placement:"bottom",children:u("div",{className:p.iconButtonWrapper,children:u(a,{className:p.iconButton,"data-testid":"".concat(O?"UnlockAsset":"ReturnDefault","_IconButton"),onClick:function(){var e=!O;(y(e),e)&&((f?k:A)(),P(!1))},children:u(B,{})})})})]})}};export{f as default};
1
+ import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as r,useEffect as n}from"react";import{makeStyles as o,Tooltip as i,IconButton as a}from"@material-ui/core";import{LockOutlined as c,ReplayOutlined as l}from"@material-ui/icons";import{jsxs as s,jsx as p}from"react/jsx-runtime";function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?u(Object(n),!0).forEach((function(r){e(t,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var m=o((function(e){return{root:{display:"flex"},assetEditorWrapper:{width:"100%"},iconButtonWrapper:{height:36,marginTop:10,marginLeft:16},iconButton:{color:e.palette.primary.text6,width:36,height:36,"&:hover":{backgroundColor:e.palette.background.b7}}}})),f=function(e){return function(o){var u=m(),f=r(!0),h=t(f,2),b=h[0],g=h[1],O=r(!0),y=t(O,2),j=y[0],v=y[1];n((function(){j||v(!0)}),[j]);var w=b?c:l;return s("div",{className:u.root,children:[p(i,{title:b?"This app is using current dashboard asset.":"",placement:"bottom",children:p("div",{className:u.assetEditorWrapper,children:j&&p(e,d(d({},o),{},{disabled:b}))})}),p(i,{title:b?"Unlock Asset":"Return default",placement:"bottom",children:p("div",{className:u.iconButtonWrapper,children:p(a,{className:u.iconButton,"data-testid":"".concat(b?"UnlockAsset":"ReturnDefault","_IconButton"),onClick:function(){var e=!b;g(e),e&&(o.onChangeEditorField?(o.onChangeEditorField("assetId",null),o.onChangeEditorField("replacedAssetId",null),o.onChangeEditorField("replacedAssetTime",null)):o.onSettingsChange({rigId:null,wellId:null}),v(!1))},children:p(w,{})})})})]})}};export{f as default};
2
2
  //# sourceMappingURL=withAssetEditorLockHOC.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withAssetEditorLockHOC.js","sources":["../../src/hocs/withAssetEditorLockHOC.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { Tooltip, makeStyles, IconButton } from '@material-ui/core';\nimport { LockOutlined, ReplayOutlined } from '@material-ui/icons';\n\nconst useStyles = makeStyles(theme => ({\n root: { display: 'flex' },\n assetEditorWrapper: { width: '100%' },\n iconButtonWrapper: { height: 36, marginTop: 10, marginLeft: 16 },\n iconButton: {\n color: theme.palette.primary.text6,\n width: 36,\n height: 36,\n '&:hover': { backgroundColor: theme.palette.background.b7 },\n },\n}));\n\nconst withAssetEditorLockHOC = WrappedComponent => props => {\n const styles = useStyles();\n const { onChangeEditorField, onSettingsChange } = props;\n const [locked, setLocked] = useState(true);\n const [showAssetEditor, setShowAssetEditor] = useState(true);\n\n const resetPlatformApp = () => {\n onChangeEditorField('assetId', null);\n onChangeEditorField('replacedAssetId', null);\n onChangeEditorField('replacedAssetTime', null);\n };\n const resetDCApp = () => {\n onSettingsChange({ rigId: null, wellId: null });\n };\n\n const onToggleAssetEditorLock = () => {\n const nextValue = !locked;\n setLocked(nextValue);\n if (nextValue) {\n const resetApp = onChangeEditorField ? resetPlatformApp : resetDCApp;\n resetApp();\n setShowAssetEditor(false);\n }\n };\n\n useEffect(() => {\n // NOTE: Here we force AssetEditor remount to correctly reset its state\n if (!showAssetEditor) {\n setShowAssetEditor(true);\n }\n }, [showAssetEditor]);\n\n const Icon = locked ? LockOutlined : ReplayOutlined;\n return (\n <div className={styles.root}>\n <Tooltip\n title={locked ? 'This app is using current dashboard asset.' : ''}\n placement=\"bottom\"\n >\n <div className={styles.assetEditorWrapper}>\n {showAssetEditor && <WrappedComponent {...props} disabled={locked} />}\n </div>\n </Tooltip>\n <Tooltip title={locked ? 'Unlock Asset' : 'Return default'} placement=\"bottom\">\n <div className={styles.iconButtonWrapper}>\n <IconButton\n className={styles.iconButton}\n data-testid={`${locked ? 'UnlockAsset' : 'ReturnDefault'}_IconButton`}\n onClick={onToggleAssetEditorLock}\n >\n <Icon />\n </IconButton>\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default withAssetEditorLockHOC;\n"],"names":["useStyles","makeStyles","theme","root","display","assetEditorWrapper","width","iconButtonWrapper","height","marginTop","marginLeft","iconButton","color","palette","primary","text6","backgroundColor","background","b7","withAssetEditorLockHOC","WrappedComponent","props","styles","onChangeEditorField","onSettingsChange","useState","_useState2","_slicedToArray","_useState","locked","setLocked","_useState4","_useState3","showAssetEditor","setShowAssetEditor","resetPlatformApp","resetDCApp","rigId","wellId","useEffect","Icon","LockOutlined","ReplayOutlined","_jsxs","className","children","_jsx","Tooltip","title","placement","disabled","IconButton","concat","onClick","nextValue"],"mappings":"45BAIA,IAAMA,EAAYC,GAAW,SAAAC,GAAK,MAAK,CACrCC,KAAM,CAAEC,QAAS,QACjBC,mBAAoB,CAAEC,MAAO,QAC7BC,kBAAmB,CAAEC,OAAQ,GAAIC,UAAW,GAAIC,WAAY,IAC5DC,WAAY,CACVC,MAAOV,EAAMW,QAAQC,QAAQC,MAC7BT,MAAO,GACPE,OAAQ,GACR,UAAW,CAAEQ,gBAAiBd,EAAMW,QAAQI,WAAWC,KAE1D,IAEKC,EAAyB,SAAAC,GAAgB,OAAI,SAAAC,GACjD,IAAMC,EAAStB,IACPuB,EAA0CF,EAA1CE,oBAAqBC,EAAqBH,EAArBG,iBACDC,EAAAA,GAAS,GAAKC,EAAAC,EAAAC,EAAA,GAAnCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GACsBD,EAAAA,GAAS,GAAKM,EAAAJ,EAAAK,EAAA,GAArDC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAEpCI,EAAmB,WACvBZ,EAAoB,UAAW,MAC/BA,EAAoB,kBAAmB,MACvCA,EAAoB,oBAAqB,OAErCa,EAAa,WACjBZ,EAAiB,CAAEa,MAAO,KAAMC,OAAQ,QAa1CC,GAAU,WAEHN,GACHC,GAAmB,EAEvB,GAAG,CAACD,IAEJ,IAAMO,EAAOX,EAASY,EAAeC,EACrC,OACEC,EAAA,MAAA,CAAKC,UAAWtB,EAAOnB,KAAK0C,SAAA,CAC1BC,EAACC,EAAO,CACNC,MAAOnB,EAAS,6CAA+C,GAC/DoB,UAAU,SAAQJ,SAElBC,EAAA,MAAA,CAAKF,UAAWtB,EAAOjB,mBAAmBwC,SACvCZ,GAAmBa,EAAC1B,SAAqBC,GAAK,GAAA,CAAE6B,SAAUrB,SAG/DiB,EAACC,EAAO,CAACC,MAAOnB,EAAS,eAAiB,iBAAkBoB,UAAU,SAAQJ,SAC5EC,EAAA,MAAA,CAAKF,UAAWtB,EAAOf,kBAAkBsC,SACvCC,EAACK,EAAU,CACTP,UAAWtB,EAAOX,WAClB,cAAA,GAAAyC,OAAgBvB,EAAS,cAAgB,gBAA6B,eACtEwB,QAjCsB,WAC9B,IAAMC,GAAazB,GACnBC,EAAUwB,GACNA,MACe/B,EAAsBY,EAAmBC,KAE1DF,GAAmB,KA2BoBW,SAEjCC,EAACN,EAAI,aAMhB"}
1
+ {"version":3,"file":"withAssetEditorLockHOC.js","sources":["../../src/hocs/withAssetEditorLockHOC.tsx"],"sourcesContent":["import { ComponentType, FC, useState, useEffect } from 'react';\nimport { Tooltip, makeStyles, IconButton } from '@material-ui/core';\nimport { LockOutlined, ReplayOutlined } from '@material-ui/icons';\n\nimport { AssetSettingsPatch } from '../components/AssetEditorV2';\n\ntype AssetEditorLockProps =\n | {\n onChangeEditorField: (\n field: 'assetId' | 'replacedAssetId' | 'replacedAssetTime',\n value: null\n ) => void;\n }\n | {\n onChangeEditorField?: never;\n onSettingsChange: (settings: AssetSettingsPatch) => void;\n };\n\nconst useStyles = makeStyles(theme => ({\n root: { display: 'flex' },\n assetEditorWrapper: { width: '100%' },\n iconButtonWrapper: { height: 36, marginTop: 10, marginLeft: 16 },\n iconButton: {\n color: theme.palette.primary.text6,\n width: 36,\n height: 36,\n '&:hover': { backgroundColor: theme.palette.background.b7 },\n },\n}));\n\nconst withAssetEditorLockHOC = <Props extends { disabled?: boolean }>(\n WrappedComponent: ComponentType<Props>\n) => {\n const AssetEditorWithLock: FC<Props & AssetEditorLockProps> = props => {\n const styles = useStyles();\n const [locked, setLocked] = useState(true);\n const [showAssetEditor, setShowAssetEditor] = useState(true);\n\n const onToggleAssetEditorLock = () => {\n const nextValue = !locked;\n setLocked(nextValue);\n if (nextValue) {\n if (props.onChangeEditorField) {\n props.onChangeEditorField('assetId', null);\n props.onChangeEditorField('replacedAssetId', null);\n props.onChangeEditorField('replacedAssetTime', null);\n } else {\n props.onSettingsChange({ rigId: null, wellId: null });\n }\n setShowAssetEditor(false);\n }\n };\n\n useEffect(() => {\n // NOTE: Here we force AssetEditor remount to correctly reset its state\n if (!showAssetEditor) {\n setShowAssetEditor(true);\n }\n }, [showAssetEditor]);\n\n const Icon = locked ? LockOutlined : ReplayOutlined;\n return (\n <div className={styles.root}>\n <Tooltip\n title={locked ? 'This app is using current dashboard asset.' : ''}\n placement=\"bottom\"\n >\n <div className={styles.assetEditorWrapper}>\n {showAssetEditor && <WrappedComponent {...props} disabled={locked} />}\n </div>\n </Tooltip>\n <Tooltip title={locked ? 'Unlock Asset' : 'Return default'} placement=\"bottom\">\n <div className={styles.iconButtonWrapper}>\n <IconButton\n className={styles.iconButton}\n data-testid={`${locked ? 'UnlockAsset' : 'ReturnDefault'}_IconButton`}\n onClick={onToggleAssetEditorLock}\n >\n <Icon />\n </IconButton>\n </div>\n </Tooltip>\n </div>\n );\n };\n\n return AssetEditorWithLock;\n};\n\nexport default withAssetEditorLockHOC;\n"],"names":["useStyles","makeStyles","theme","root","display","assetEditorWrapper","width","iconButtonWrapper","height","marginTop","marginLeft","iconButton","color","palette","primary","text6","backgroundColor","background","b7","withAssetEditorLockHOC","WrappedComponent","props","styles","useState","_useState2","_slicedToArray","_useState","locked","setLocked","_useState4","_useState3","showAssetEditor","setShowAssetEditor","useEffect","Icon","LockOutlined","ReplayOutlined","_jsxs","className","children","_jsx","Tooltip","title","placement","disabled","IconButton","concat","onClick","nextValue","onChangeEditorField","onSettingsChange","rigId","wellId"],"mappings":"45BAkBA,IAAMA,EAAYC,GAAW,SAAAC,GAAK,MAAK,CACrCC,KAAM,CAAEC,QAAS,QACjBC,mBAAoB,CAAEC,MAAO,QAC7BC,kBAAmB,CAAEC,OAAQ,GAAIC,UAAW,GAAIC,WAAY,IAC5DC,WAAY,CACVC,MAAOV,EAAMW,QAAQC,QAAQC,MAC7BT,MAAO,GACPE,OAAQ,GACR,UAAW,CAAEQ,gBAAiBd,EAAMW,QAAQI,WAAWC,KAE1D,IAEKC,EAAyB,SAC7BC,GAuDA,OArD8D,SAAAC,GAC5D,IAAMC,EAAStB,IACauB,EAAAA,GAAS,GAAKC,EAAAC,EAAAC,EAAA,GAAnCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GACsBD,EAAAA,GAAS,GAAKM,EAAAJ,EAAAK,EAAA,GAArDC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAiB1CI,GAAU,WAEHF,GACHC,GAAmB,EAEvB,GAAG,CAACD,IAEJ,IAAMG,EAAOP,EAASQ,EAAeC,EACrC,OACEC,EAAA,MAAA,CAAKC,UAAWhB,EAAOnB,KAAKoC,SAAA,CAC1BC,EAACC,EAAO,CACNC,MAAOf,EAAS,6CAA+C,GAC/DgB,UAAU,SAAQJ,SAElBC,EAAA,MAAA,CAAKF,UAAWhB,EAAOjB,mBAAmBkC,SACvCR,GAAmBS,EAACpB,SAAqBC,GAAK,GAAA,CAAEuB,SAAUjB,SAG/Da,EAACC,EAAO,CAACC,MAAOf,EAAS,eAAiB,iBAAkBgB,UAAU,SAAQJ,SAC5EC,EAAA,MAAA,CAAKF,UAAWhB,EAAOf,kBAAkBgC,SACvCC,EAACK,EAAU,CACTP,UAAWhB,EAAOX,WAClB,cAAA,GAAAmC,OAAgBnB,EAAS,cAAgB,gBAA6B,eACtEoB,QAtCsB,WAC9B,IAAMC,GAAarB,EACnBC,EAAUoB,GACNA,IACE3B,EAAM4B,qBACR5B,EAAM4B,oBAAoB,UAAW,MACrC5B,EAAM4B,oBAAoB,kBAAmB,MAC7C5B,EAAM4B,oBAAoB,oBAAqB,OAE/C5B,EAAM6B,iBAAiB,CAAEC,MAAO,KAAMC,OAAQ,OAEhDpB,GAAmB,KA2BoBO,SAEjCC,EAACN,EAAI,aASnB"}