@corva/ui 3.77.0-9 → 3.78.0-0

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 (189) 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/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts +2 -0
  54. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts.map +1 -0
  55. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts +2 -0
  56. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts.map +1 -0
  57. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts +17 -6
  58. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts.map +1 -1
  59. package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  60. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts +30 -39
  61. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts.map +1 -1
  62. package/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  63. package/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  64. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts +4 -41
  65. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts.map +1 -1
  66. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  67. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  68. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts +22 -18
  69. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts.map +1 -1
  70. package/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  71. package/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  72. package/components/AssetEditorV2/components/SelectItem.d.ts +10 -1
  73. package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
  74. package/components/AssetEditorV2/components/SelectItem.js +1 -1
  75. package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  76. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts +2 -0
  77. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts.map +1 -0
  78. package/components/AssetEditorV2/components/__tests__/MultipleAssetsToggle.test.d.ts.map +1 -1
  79. package/components/AssetEditorV2/components/__tests__/SelectItem.test.d.ts.map +1 -1
  80. package/components/AssetEditorV2/components/index.d.ts.map +1 -1
  81. package/components/AssetEditorV2/constants.d.ts +2 -9
  82. package/components/AssetEditorV2/constants.d.ts.map +1 -1
  83. package/components/AssetEditorV2/constants.js.map +1 -1
  84. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts +2 -0
  85. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts.map +1 -0
  86. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts +2 -0
  87. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts.map +1 -0
  88. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts +2 -0
  89. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts.map +1 -0
  90. package/components/AssetEditorV2/effects/assetResponse.d.ts +4 -0
  91. package/components/AssetEditorV2/effects/assetResponse.d.ts.map +1 -0
  92. package/components/AssetEditorV2/effects/assetResponse.js +2 -0
  93. package/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  94. package/components/AssetEditorV2/effects/index.d.ts +34 -28
  95. package/components/AssetEditorV2/effects/index.d.ts.map +1 -1
  96. package/components/AssetEditorV2/effects/index.js +1 -1
  97. package/components/AssetEditorV2/effects/index.js.map +1 -1
  98. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts +21 -17
  99. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts.map +1 -1
  100. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  101. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  102. package/components/AssetEditorV2/index.d.ts +36 -67
  103. package/components/AssetEditorV2/index.d.ts.map +1 -1
  104. package/components/AssetEditorV2/index.js +1 -1
  105. package/components/AssetEditorV2/index.js.map +1 -1
  106. package/components/AssetEditorV2/types.d.ts +82 -0
  107. package/components/AssetEditorV2/types.d.ts.map +1 -0
  108. package/components/AssetEditorV2/utils/__tests__/utils.test.d.ts.map +1 -1
  109. package/components/AssetEditorV2/utils/index.d.ts +23 -19
  110. package/components/AssetEditorV2/utils/index.d.ts.map +1 -1
  111. package/components/AssetEditorV2/utils/index.js +1 -1
  112. package/components/AssetEditorV2/utils/index.js.map +1 -1
  113. package/components/AttachmentLightbox/AttachmentDocument.d.ts.map +1 -1
  114. package/components/AttachmentLightbox/AttachmentDocument.js +1 -1
  115. package/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
  116. package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts +2 -0
  117. package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts.map +1 -0
  118. package/components/CommentComposer/useAttachmentUpload.d.ts.map +1 -1
  119. package/components/CommentComposer/useAttachmentUpload.js +1 -1
  120. package/components/CommentComposer/useAttachmentUpload.js.map +1 -1
  121. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
  122. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  123. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  124. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.d.ts.map +1 -1
  125. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
  126. package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
  127. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  128. package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts +2 -0
  129. package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
  130. package/components/OffsetWellPickerV4/effects/useCompanyMetricKey.d.ts.map +1 -1
  131. package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts +2 -0
  132. package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts.map +1 -0
  133. package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
  134. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts +2 -1
  135. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts.map +1 -1
  136. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
  137. package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
  138. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts +3 -1
  139. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts.map +1 -1
  140. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
  141. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
  142. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
  143. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts +2 -0
  144. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts.map +1 -0
  145. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.d.ts.map +1 -1
  146. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
  147. package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
  148. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts +0 -1
  149. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map +1 -1
  150. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
  151. package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
  152. package/components/OffsetWellPickerV5/constants.d.ts +26 -3
  153. package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
  154. package/components/OffsetWellPickerV5/constants.js +1 -1
  155. package/components/OffsetWellPickerV5/constants.js.map +1 -1
  156. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts +2 -0
  157. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts.map +1 -0
  158. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts +2 -0
  159. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
  160. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.d.ts.map +1 -1
  161. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
  162. package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
  163. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts +2 -1
  164. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts.map +1 -1
  165. package/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
  166. package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts +2 -0
  167. package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts.map +1 -0
  168. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts +4 -0
  169. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts.map +1 -1
  170. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
  171. package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
  172. package/components/Search/Search.d.ts +6 -3
  173. package/components/Search/Search.d.ts.map +1 -1
  174. package/components/Search/Search.js.map +1 -1
  175. package/components/index.d.ts +1 -0
  176. package/components/index.d.ts.map +1 -1
  177. package/config/mapbox/index.d.ts.map +1 -1
  178. package/config/mapbox/index.js +1 -1
  179. package/config/mapbox/index.js.map +1 -1
  180. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts +2 -0
  181. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts.map +1 -0
  182. package/hocs/withAssetEditorLockHOC.d.ts +11 -1
  183. package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
  184. package/hocs/withAssetEditorLockHOC.js +1 -1
  185. package/hocs/withAssetEditorLockHOC.js.map +1 -1
  186. package/mcp-server/server.mjs +312 -73
  187. package/mcp-server/setup.mjs +129 -44
  188. package/package.json +3 -2
  189. package/tsconfig.tsbuildinfo +1 -1
package/MCP_README.md CHANGED
@@ -215,12 +215,15 @@ This creates `.mcp.json` (Claude Code), `.cursor/mcp.json` (Cursor), and `.codex
215
215
  Restart your IDE or reload MCP servers afterward.
216
216
 
217
217
  > If any of these files already exist, the setup command **extends** them — your existing MCP server entries are
218
- > preserved, and only the `corva-ui` entry (`corva_ui` in the Codex TOML) is added or updated. "Updated" means replaced
219
- > with the stock entry: anything you added to it by hand, such as an `env` block with
220
- > `CORVA_UI_MCP_TELEMETRY_DISABLED`, is dropped and has to be re-added. The files are re-serialized on write, so
221
- > comments and hand formatting in the TOML do not survive either. A file that fails to parse is overwritten from
222
- > scratch (the command warns when it does that). On native Windows the generated entry uses plain `npx`; if your client
223
- > cannot spawn it, apply the `cmd /c` form from the Native Windows note under [Local Setup](#local-setup-recommended).
218
+ > preserved, and the `corva-ui` entry (`corva_ui` in the Codex TOML) is added only when it is missing. An entry that
219
+ > already exists is kept exactly as it is, so anything you added by hand, such as an `env` block with
220
+ > `CORVA_UI_MCP_TELEMETRY_DISABLED`, a `startup_timeout_sec`, or the Windows `cmd /c` form, survives a re-run after an
221
+ > upgrade; the command prints `(kept)` for that file. Pass `--force` to replace the entry with the stock one. A write
222
+ > re-serializes the whole file, so when the command adds or replaces an entry in the Codex TOML, comments and hand
223
+ > formatting are lost (the command says so in its output). A file that fails to parse is never written: the command
224
+ > prints the parse error and the path, and exits with a non-zero code. On native Windows the generated entry uses plain
225
+ > `npx`; if your client cannot spawn it, apply the `cmd /c` form from the Native Windows note under
226
+ > [Local Setup](#local-setup-recommended).
224
227
 
225
228
  > **Monorepo:** Run the setup command from the monorepo root, not from individual
226
229
  > `apps/*` directories. See [Monorepo Setup](#monorepo-setup) for details.
package/README.md CHANGED
@@ -9,6 +9,12 @@ develop: [![Publish](https://github.com/corva-ai/corva-ui/actions/workflows/publ
9
9
 
10
10
  This repo contains components/utils which are shared for Corva UI apps.
11
11
 
12
+ ### React Router dependency
13
+
14
+ `react-router-dom` is a required peer dependency. Add `react-router-dom@^5.3.4` to the consuming app's dependencies
15
+ so the app and `@corva/ui` share the same router instance and context. Router v6 and later are not supported;
16
+ the library uses the v5 `withRouter` API.
17
+
12
18
  ### When you need some library changes
13
19
 
14
20
  Currently, `@corva/ui` library is owned by the Dev Center team, but is developed by every Corva FE developer. So, if you
@@ -1 +1 @@
1
- {"version":3,"file":"MultipleAssetsToggle.js","sources":["../../../../../src/components/AssetEditorV2/components/MultipleAssetsToggle.js"],"sourcesContent":["import classNames from 'classnames';\nimport { makeStyles, Tooltip } from '@material-ui/core';\nimport { InfoOutlined as InfoIcon } from '@material-ui/icons';\n\nimport { Switch } from '~/componentsV2/Switch';\n\nconst useStyles = makeStyles(({ palette, spacing }) => ({\n root: { marginBottom: spacing(0.75), width: 'fit-content' },\n title: { display: 'flex', alignItems: 'center' },\n infoIcon: {\n marginLeft: 4,\n color: palette.primary.text6,\n\n '&:hover': {\n color: palette.primary.contrastText,\n },\n },\n}));\n\nconst MultipleAssetsToggle = ({ isChecked, title = 'Multiple Assets', className, ...props }) => {\n const styles = useStyles();\n\n return (\n <Switch\n className={classNames(styles.root, className)}\n size=\"small\"\n onLabel={\n <span className={styles.title}>\n {title}\n <Tooltip\n title=\"A separate app will be placed on the dashboard for each asset chosen\"\n placement=\"bottom-start\"\n >\n <InfoIcon fontSize=\"small\" className={styles.infoIcon} />\n </Tooltip>\n </span>\n }\n checked={isChecked}\n {...props}\n />\n );\n};\n\nexport default MultipleAssetsToggle;\n"],"names":["useStyles","makeStyles","_ref","palette","root","marginBottom","spacing","width","title","display","alignItems","infoIcon","marginLeft","color","primary","text6","contrastText","_ref2","isChecked","_ref2$title","className","props","_objectWithoutProperties","_excluded","styles","_jsx","Switch","_objectSpread","classNames","size","onLabel","_jsxs","jsxs","children","jsx","Tooltip","placement","InfoIcon","fontSize","checked"],"mappings":"6oBAMA,IAAMA,EAAYC,EAAAA,YAAW,SAAAC,GAAA,IAAGC,IAAAA,QAAgB,MAAQ,CACtDC,KAAM,CAAEC,cAAcC,IADiBA,SACT,KAAOC,MAAO,eAC5CC,MAAO,CAAEC,QAAS,OAAQC,WAAY,UACtCC,SAAU,CACRC,WAAY,EACZC,MAAOV,EAAQW,QAAQC,MAEvB,UAAW,CACTF,MAAOV,EAAQW,QAAQE,eAG5B,mBAE4B,SAAmEC,GAAA,IAAhEC,IAAAA,UAASC,EAAAF,EAAET,MAAAA,aAAQ,kBAAiBW,EAAEC,IAAAA,UAAcC,EAAKC,EAAA,QAAAL,EAAAM,GACjFC,EAASxB,IAEf,OACEyB,MAACC,EAAMA,8WAAAC,CAAA,CACLP,UAAWQ,EAAU,QAACJ,EAAOpB,KAAMgB,GACnCS,KAAK,QACLC,QACEC,EAAAC,KAAA,OAAA,CAAMZ,UAAWI,EAAOhB,MAAMyB,SAC3BzB,CAAAA,EACDiB,EAAAS,IAACC,UAAO,CACN3B,MAAM,uEACN4B,UAAU,eAAcH,SAExBR,MAACY,eAAQ,CAACC,SAAS,QAAQlB,UAAWI,EAAOb,gBAInD4B,QAASrB,GACLG,GAGV"}
1
+ {"version":3,"file":"MultipleAssetsToggle.js","sources":["../../../../../src/components/AssetEditorV2/components/MultipleAssetsToggle.tsx"],"sourcesContent":["import { FC, ReactNode } from 'react';\nimport classNames from 'classnames';\nimport { makeStyles, Tooltip } from '@material-ui/core';\nimport { InfoOutlined as InfoIcon } from '@material-ui/icons';\n\nimport { Switch, SwitchProps } from '../../../componentsV2/Switch';\n\nconst useStyles = makeStyles(({ palette, spacing }) => ({\n root: { marginBottom: spacing(0.75), width: 'fit-content' },\n title: { display: 'flex', alignItems: 'center' },\n infoIcon: {\n marginLeft: 4,\n color: palette.primary.text6,\n\n '&:hover': {\n color: palette.primary.contrastText,\n },\n },\n}));\n\ntype MultipleAssetsToggleProps = {\n onLabel?: SwitchProps['onLabel'];\n offLabel?: SwitchProps['offLabel'];\n checked?: SwitchProps['checked'];\n disabled?: SwitchProps['disabled'];\n onChange?: SwitchProps['onChange'];\n size?: SwitchProps['size'];\n disableOffState?: SwitchProps['disableOffState'];\n inputRef?: SwitchProps['inputRef'];\n className?: SwitchProps['className'];\n testId?: SwitchProps['testId'];\n isChecked?: boolean;\n title?: ReactNode;\n};\n\nconst MultipleAssetsToggle: FC<MultipleAssetsToggleProps> = ({\n isChecked,\n title = 'Multiple Assets',\n className,\n ...props\n}) => {\n const styles = useStyles();\n\n return (\n <Switch\n className={classNames(styles.root, className)}\n size=\"small\"\n onLabel={\n <span className={styles.title}>\n {title}\n <Tooltip\n title=\"A separate app will be placed on the dashboard for each asset chosen\"\n placement=\"bottom-start\"\n >\n <InfoIcon fontSize=\"small\" className={styles.infoIcon} />\n </Tooltip>\n </span>\n }\n checked={isChecked}\n {...props}\n />\n );\n};\n\nexport default MultipleAssetsToggle;\n"],"names":["useStyles","makeStyles","_ref","palette","root","marginBottom","spacing","width","title","display","alignItems","infoIcon","marginLeft","color","primary","text6","contrastText","_ref2","isChecked","_ref2$title","className","props","_objectWithoutProperties","_excluded","styles","_jsx","Switch","_objectSpread","classNames","size","onLabel","_jsxs","jsxs","children","jsx","Tooltip","placement","InfoIcon","fontSize","checked"],"mappings":"6oBAOA,IAAMA,EAAYC,EAAAA,YAAW,SAAAC,GAAA,IAAGC,IAAAA,QAAgB,MAAQ,CACtDC,KAAM,CAAEC,cAAcC,IADiBA,SACT,KAAOC,MAAO,eAC5CC,MAAO,CAAEC,QAAS,OAAQC,WAAY,UACtCC,SAAU,CACRC,WAAY,EACZC,MAAOV,EAAQW,QAAQC,MAEvB,UAAW,CACTF,MAAOV,EAAQW,QAAQE,eAG5B,mBAiB2D,SAKtDC,GAAA,IAJJC,IAAAA,UAASC,EAAAF,EACTT,MAAAA,aAAQ,kBAAiBW,EACzBC,IAAAA,UACGC,EAAKC,EAAA,QAAAL,EAAAM,GAEFC,EAASxB,IAEf,OACEyB,MAACC,EAAMA,8WAAAC,CAAA,CACLP,UAAWQ,EAAU,QAACJ,EAAOpB,KAAMgB,GACnCS,KAAK,QACLC,QACEC,EAAAC,KAAA,OAAA,CAAMZ,UAAWI,EAAOhB,MAAMyB,SAC3BzB,CAAAA,EACDiB,EAAAS,IAACC,UAAO,CACN3B,MAAM,uEACN4B,UAAU,eAAcH,SAExBR,MAACY,eAAQ,CAACC,SAAS,QAAQlB,UAAWI,EAAOb,gBAInD4B,QAASrB,GACLG,GAGV"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@babel/runtime/helpers/slicedToArray"),t=require("prop-types"),r=require("react"),a=require("lodash"),s=require("@material-ui/core"),o=require("../../Search/Search.js");require("../../Search/components/Listbox.js"),require("../../Search/components/Paper.js"),require("../../Search/components/RecentSearches.js");var n=require("../../Search/components/InputAdornmentLeft.js"),i=require("../../Search/components/Groups.js");require("../../Search/components/SelectAllListItem.js");var u=require("../effects/index.js"),l=require("../constants.js"),p=require("../utils/index.js"),d=require("./SelectItem.js"),c=require("react/jsx-runtime");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=h(e),g=h(t),f=s.makeStyles({paper:{boxShadow:"0px 3px 10px 0px #00000066"},listbox:{maxHeight:210,"& .MuiAutocomplete-option":{padding:"0px 0px 0px 16px"}},option:{padding:"6px 0","&:hover":{backgroundColor:"initial"}},groupChip:{height:32,padding:0},activeChip:{fontWeight:500,backgroundColor:"#75DB29",color:"#212121",fontSize:10,cursor:"pointer",height:12,textTransform:"uppercase",marginRight:12,letterSpacing:1}}),b=function(e){var t=e["data-testid"],h=void 0===t?"PrimaryAssetEditorAutocomplete":t,g=e.appKey,b=e.assetFields,S=void 0===b?x:b,v=e.assetType,q=e.company,j=e.currentOption,y=e.currentValue,I=e.defaultValue,T=e.disableClearable,G=e.disabled,R=e.groups,P=e.isNullable,O=e.isRequiredAssetId,V=e.isSecondaryAssetPresent,N=void 0===V||V,k=e.label,F=e.multiple,L=e.onActiveAssetIdChange,_=void 0===L?C:L,E=e.onChange,D=e.onGroupChange,H=e.onGroupReset,K=e.onInputReset,M=void 0===K?A:K,U=e.placeholder,w=void 0===U?null:U,z=e.selectedGroup,B=e.setCurrentOption,W=r.useState(""),J=m.default(W,2),Q=J[0],X=J[1],Y=p.getSearchPlaceholder(v,N),Z=f(),$=u.usePrimaryAssetSelectData({appKey:g,assetType:v,company:q,groups:R,isRequiredAssetId:O,assetFields:S,selectedGroup:z,currentValue:y,setCurrentOption:B,onActiveAssetIdChange:_}),ee=$.assets,te=$.loading,re=r.useCallback(a.debounce((function(e){X(e)}),200),[]);return c.jsx(o.Search,{classes:{paper:Z.paper,listbox:Z.listbox,groupChip:Z.groupChip},defaultValue:I,disableClearable:T,disabled:G,isNullable:P,loading:te,onGroupChange:D,onGroupReset:H,placeholder:w||Y,selectedGroup:z,onChange:function(e,t){E(t)},"data-testid":h,multiple:F,onInputChange:re,onInputReset:function(){M(),B(null)},TextFieldProps:{label:k,value:Q,endAdornment:(null==j?void 0:j.status)===l.ACTIVE_STATUS&&c.jsx(s.Chip,{"data-not-migrated-muichip":!0,className:Z.activeChip,label:"Active"})},isHiddenAllOption:!0,value:j,options:ee,renderCustomOption:function(e,t){var r=e.status,a=e.name,s=e.id,o=t.selected;return c.jsx(d,{className:Z.option,assetName:a,multiple:F,selected:o,value:s,status:r&&l.ACTIVE_STATUS,"data-testid":"".concat(h,"_option_").concat(a,"MenuItem")},s)},getOptionLabel:function(e){return e.name||""},GroupsComponent:i,groups:R,InputProps:{startAdornment:c.jsx(n,{})}})};b.propTypes={assetFields:g.default.array,isSecondaryAssetPresent:g.default.bool,"data-testid":g.default.string,onInputReset:g.default.func,onActiveAssetIdChange:g.default.func,placeholder:g.default.string};var x=[],A=function(){},C=function(){};module.exports=b;
1
+ "use strict";var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/typeof"),r=require("react"),n=require("lodash"),o=require("@material-ui/core"),i=require("../../Search/Search.js");require("../../Search/components/Listbox.js"),require("../../Search/components/Paper.js"),require("../../Search/components/RecentSearches.js");var a=require("../../Search/components/InputAdornmentLeft.js"),s=require("../../Search/components/Groups.js");require("../../Search/components/SelectAllListItem.js");var u=require("../effects/index.js"),l=require("../constants.js"),p=require("../utils/index.js"),d=require("./SelectItem.js"),c=require("react/jsx-runtime");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=h(e),f=h(t),g=o.makeStyles({paper:{boxShadow:"0px 3px 10px 0px #00000066"},listbox:{maxHeight:210,"& .MuiAutocomplete-option":{padding:"0px 0px 0px 16px"}},option:{padding:"6px 0","&:hover":{backgroundColor:"initial"}},groupChip:{height:32,padding:0},activeChip:{fontWeight:500,backgroundColor:"#75DB29",color:"#212121",fontSize:10,cursor:"pointer",height:12,textTransform:"uppercase",marginRight:12,letterSpacing:1}}),A=[],S=n.noop,b=n.noop,v=function(e){return!!e&&"object"===f.default(e)&&"id"in e&&"number"==typeof e.id};module.exports=function(e){var t=e["data-testid"],h=void 0===t?"PrimaryAssetEditorAutocomplete":t,f=e.appKey,x=e.assetFields,C=void 0===x?A:x,q=e.assetType,j=e.company,y=e.currentOption,T=e.currentValue,I=e.defaultValue,G=e.disableClearable,P=e.disabled,R=e.groups,E=e.isNullable,V=e.isRequiredAssetId,_=e.isSecondaryAssetPresent,N=void 0===_||_,O=e.label,L=e.multiple,F=e.onActiveAssetIdChange,U=void 0===F?b:F,k=e.onChange,D=e.onGroupChange,H=e.onGroupReset,K=e.onInputReset,M=void 0===K?S:K,w=e.placeholder,z=void 0===w?null:w,B=e.selectedGroup,W=e.setCurrentOption,Y=r.useState(""),J=m.default(Y,2),Q=J[0],X=J[1],Z=p.getSearchPlaceholder(q,N),$=q||l.DEFAULT_ASSET_TYPE,ee=g(),te=u.usePrimaryAssetSelectData({appKey:f,assetType:$,company:j,groups:R,isRequiredAssetId:V,assetFields:C,selectedGroup:B,currentValue:T,setCurrentOption:W,onActiveAssetIdChange:U}),re=te.assets,ne=te.loading,oe=r.useState((function(){return n.debounce((function(e){X(e)}),200)})),ie=m.default(oe,1)[0],ae=!Array.isArray(y)&&(null==y?void 0:y.status)===l.ACTIVE_STATUS;return c.jsx(i.Search,{classes:{paper:ee.paper,listbox:ee.listbox,groupChip:ee.groupChip},defaultValue:I,disableClearable:G,disabled:P,isNullable:E,loading:ne,onGroupChange:function(e){var t,r=null!==(t=null==R?void 0:R.find((function(t){return t.id===(null==e?void 0:e.id)})))&&void 0!==t?t:null;null==D||D(r)},onGroupReset:H,placeholder:z||Z,selectedGroup:B,onChange:function(e,t){k(function(e){return e?Array.isArray(e)?e.filter(v):v(e)?e:null:null}(t))},"data-testid":h,multiple:L,onInputChange:ie,onInputReset:function(){M(),W(null)},TextFieldProps:{label:O,value:Q,endAdornment:ae&&c.jsx(o.Chip,{"data-not-migrated-muichip":!0,className:ee.activeChip,label:"Active"})},isHiddenAllOption:!0,value:y,options:re,renderCustomOption:function(e,t){if(!v(e))return null;var r=e.status,n=e.name,o=void 0===n?"":n,i=e.id;return c.jsx(d,{className:ee.option,assetName:o,multiple:L,selected:t.selected,value:i,status:r===l.ACTIVE_STATUS?l.ACTIVE_STATUS:null,"data-testid":"".concat(h,"_option_").concat(o,"MenuItem")},i)},getOptionLabel:function(e){return v(e)&&e.name||""},GroupsComponent:s,groups:R,InputProps:{startAdornment:c.jsx(a,{className:"",children:null})}})};
2
2
  //# sourceMappingURL=PrimaryAssetSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryAssetSelect.js","sources":["../../../../../src/components/AssetEditorV2/components/PrimaryAssetSelect.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useCallback, useState } from 'react';\nimport { debounce } from 'lodash';\nimport { Chip, makeStyles } from '@material-ui/core';\n\nimport Search from '../../Search/Search';\nimport { Groups, InputAdornmentLeft } from '../../Search/components';\nimport { usePrimaryAssetSelectData } from '../effects';\nimport { ACTIVE_STATUS } from '../constants';\nimport { getSearchPlaceholder } from '../utils';\n\nimport SelectItem from './SelectItem';\n\nconst useStyles = makeStyles({\n paper: {\n boxShadow: '0px 3px 10px 0px #00000066',\n },\n listbox: {\n maxHeight: 210,\n '& .MuiAutocomplete-option': {\n padding: '0px 0px 0px 16px',\n },\n },\n option: {\n padding: '6px 0',\n '&:hover': {\n backgroundColor: 'initial',\n },\n },\n groupChip: {\n height: 32,\n padding: 0,\n },\n activeChip: {\n fontWeight: 500,\n backgroundColor: '#75DB29',\n color: '#212121',\n fontSize: 10,\n cursor: 'pointer',\n height: 12,\n textTransform: 'uppercase',\n marginRight: 12,\n letterSpacing: 1,\n },\n});\n\nconst PrimaryAssetSelect = ({\n 'data-testid': PAGE_NAME = 'PrimaryAssetEditorAutocomplete',\n appKey,\n assetFields = DEFAULT_PRIMARY_ASSET_SELECT_ASSET_FIELDS,\n assetType,\n company,\n currentOption,\n currentValue,\n defaultValue,\n disableClearable,\n disabled,\n groups,\n isNullable,\n isRequiredAssetId,\n isSecondaryAssetPresent = true,\n label,\n multiple,\n onActiveAssetIdChange = DEFAULT_PRIMARY_ASSET_SELECT_ON_ACTIVE_ASSET_ID_CHANGE,\n onChange,\n onGroupChange,\n onGroupReset,\n onInputReset = DEFAULT_PRIMARY_ASSET_SELECT_ON_INPUT_RESET,\n placeholder = null,\n selectedGroup,\n setCurrentOption,\n}) => {\n const [searchValue, setSearchValue] = useState('');\n\n const searchPlaceholder = getSearchPlaceholder(assetType, isSecondaryAssetPresent);\n const styles = useStyles();\n\n const { assets, loading: isLoading } = usePrimaryAssetSelectData({\n appKey,\n assetType,\n company,\n groups,\n isRequiredAssetId,\n assetFields,\n selectedGroup,\n currentValue,\n setCurrentOption,\n onActiveAssetIdChange,\n });\n\n const onInputChange = useCallback(\n debounce(value => {\n setSearchValue(value);\n }, 200),\n []\n );\n\n const renderOption = ({ status, name, id }, { selected }) => {\n return (\n <SelectItem\n className={styles.option}\n assetName={name}\n key={id}\n multiple={multiple}\n selected={selected}\n value={id}\n status={status && ACTIVE_STATUS}\n data-testid={`${PAGE_NAME}_option_${name}MenuItem`}\n />\n );\n };\n\n return (\n <Search\n classes={{\n paper: styles.paper,\n listbox: styles.listbox,\n groupChip: styles.groupChip,\n }}\n defaultValue={defaultValue}\n disableClearable={disableClearable}\n disabled={disabled}\n isNullable={isNullable}\n loading={isLoading}\n onGroupChange={onGroupChange}\n onGroupReset={onGroupReset}\n placeholder={placeholder || searchPlaceholder}\n selectedGroup={selectedGroup}\n onChange={(event, selected) => {\n onChange(selected);\n }}\n data-testid={PAGE_NAME}\n multiple={multiple}\n onInputChange={onInputChange}\n onInputReset={() => {\n onInputReset();\n setCurrentOption(null);\n }}\n TextFieldProps={{\n label,\n value: searchValue,\n endAdornment: currentOption?.status === ACTIVE_STATUS && (\n <Chip data-not-migrated-muichip className={styles.activeChip} label=\"Active\" />\n ),\n }}\n isHiddenAllOption\n value={currentOption}\n options={assets}\n renderCustomOption={renderOption}\n getOptionLabel={option => option.name || ''}\n GroupsComponent={Groups}\n groups={groups}\n InputProps={{\n startAdornment: <InputAdornmentLeft />,\n }}\n />\n );\n};\n\nPrimaryAssetSelect.propTypes = {\n assetFields: PropTypes.array,\n isSecondaryAssetPresent: PropTypes.bool,\n 'data-testid': PropTypes.string,\n onInputReset: PropTypes.func,\n onActiveAssetIdChange: PropTypes.func,\n placeholder: PropTypes.string,\n};\n\nconst DEFAULT_PRIMARY_ASSET_SELECT_ASSET_FIELDS = [];\nconst DEFAULT_PRIMARY_ASSET_SELECT_ON_INPUT_RESET = () => {};\nconst DEFAULT_PRIMARY_ASSET_SELECT_ON_ACTIVE_ASSET_ID_CHANGE = () => {};\n\nexport default PrimaryAssetSelect;\n"],"names":["useStyles","makeStyles","paper","boxShadow","listbox","maxHeight","padding","option","backgroundColor","groupChip","height","activeChip","fontWeight","color","fontSize","cursor","textTransform","marginRight","letterSpacing","PrimaryAssetSelect","_ref","_ref$dataTestid","PAGE_NAME","appKey","_ref$assetFields","assetFields","DEFAULT_PRIMARY_ASSET_SELECT_ASSET_FIELDS","assetType","company","currentOption","currentValue","defaultValue","disableClearable","disabled","groups","isNullable","isRequiredAssetId","_ref$isSecondaryAsset","isSecondaryAssetPresent","label","multiple","_ref$onActiveAssetIdC","onActiveAssetIdChange","DEFAULT_PRIMARY_ASSET_SELECT_ON_ACTIVE_ASSET_ID_CHANGE","onChange","onGroupChange","onGroupReset","_ref$onInputReset","onInputReset","DEFAULT_PRIMARY_ASSET_SELECT_ON_INPUT_RESET","_ref$placeholder","placeholder","selectedGroup","setCurrentOption","useState","_useState2","_slicedToArray","_useState","searchValue","setSearchValue","searchPlaceholder","getSearchPlaceholder","styles","_usePrimaryAssetSelec","usePrimaryAssetSelectData","assets","isLoading","loading","onInputChange","useCallback","debounce","value","_jsx","Search","classes","event","selected","TextFieldProps","endAdornment","status","ACTIVE_STATUS","Chip","className","isHiddenAllOption","options","renderCustomOption","_ref2","_ref3","name","id","SelectItem","assetName","getOptionLabel","GroupsComponent","Groups","InputProps","startAdornment","InputAdornmentLeft","propTypes","PropTypes","array","bool","string","func"],"mappings":"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"}
1
+ {"version":3,"file":"PrimaryAssetSelect.js","sources":["../../../../../src/components/AssetEditorV2/components/PrimaryAssetSelect.tsx"],"sourcesContent":["import { FC, useState } from 'react';\nimport { debounce, noop } from 'lodash';\nimport { Chip, makeStyles } from '@material-ui/core';\n\nimport Search from '../../Search/Search';\nimport { Groups, InputAdornmentLeft } from '../../Search/components';\nimport { usePrimaryAssetSelectData } from '../effects';\nimport { ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\nimport { AssetGroup, AssetId, AssetOption, AssetSelection, PrimaryAssetChange } from '../types';\nimport { getSearchPlaceholder } from '../utils';\n\nimport SelectItem from './SelectItem';\n\nexport type PrimaryAssetSelectProps = {\n 'data-testid'?: string;\n appKey?: string | null;\n assetFields?: string[];\n assetType?: string | null;\n company?: AssetId | null;\n currentOption?: AssetSelection;\n currentValue?: AssetId | null;\n defaultValue?: AssetId | null;\n disableClearable?: boolean;\n disabled?: boolean;\n groups?: AssetGroup[];\n isDrillingPlatformApp?: boolean;\n isNullable?: boolean;\n isRequiredAssetId?: boolean;\n isSecondaryAssetPresent?: boolean;\n label?: string;\n multiple?: boolean;\n onActiveAssetIdChange?: (id: number | null) => void;\n onChange: (selected: PrimaryAssetChange) => void;\n onGroupChange?: (group: AssetGroup | null) => void;\n onGroupReset?: () => void;\n onInputReset?: () => void;\n placeholder?: string | null;\n selectedGroup?: AssetGroup | null;\n setCurrentOption: (selection: AssetSelection) => void;\n};\n\nconst useStyles = makeStyles({\n paper: {\n boxShadow: '0px 3px 10px 0px #00000066',\n },\n listbox: {\n maxHeight: 210,\n '& .MuiAutocomplete-option': {\n padding: '0px 0px 0px 16px',\n },\n },\n option: {\n padding: '6px 0',\n '&:hover': {\n backgroundColor: 'initial',\n },\n },\n groupChip: {\n height: 32,\n padding: 0,\n },\n activeChip: {\n fontWeight: 500,\n backgroundColor: '#75DB29',\n color: '#212121',\n fontSize: 10,\n cursor: 'pointer',\n height: 12,\n textTransform: 'uppercase',\n marginRight: 12,\n letterSpacing: 1,\n },\n});\n\nconst DEFAULT_ASSET_FIELDS: string[] = [];\nconst DEFAULT_ON_INPUT_RESET = noop;\nconst DEFAULT_ON_ACTIVE_ASSET_ID_CHANGE = noop;\n\nconst isAssetOption = (option: unknown): option is AssetOption => {\n return !!option && typeof option === 'object' && 'id' in option && typeof option.id === 'number';\n};\n\nconst getSelectedAssets = (selected: unknown): PrimaryAssetChange => {\n if (!selected) return null;\n\n if (Array.isArray(selected)) return selected.filter(isAssetOption);\n\n return isAssetOption(selected) ? selected : null;\n};\n\nconst PrimaryAssetSelect: FC<PrimaryAssetSelectProps> = ({\n 'data-testid': pageName = 'PrimaryAssetEditorAutocomplete',\n appKey,\n assetFields = DEFAULT_ASSET_FIELDS,\n assetType,\n company,\n currentOption,\n currentValue,\n defaultValue,\n disableClearable,\n disabled,\n groups,\n isNullable,\n isRequiredAssetId,\n isSecondaryAssetPresent = true,\n label,\n multiple,\n onActiveAssetIdChange = DEFAULT_ON_ACTIVE_ASSET_ID_CHANGE,\n onChange,\n onGroupChange,\n onGroupReset,\n onInputReset = DEFAULT_ON_INPUT_RESET,\n placeholder = null,\n selectedGroup,\n setCurrentOption,\n}) => {\n const [searchValue, setSearchValue] = useState('');\n\n const searchPlaceholder = getSearchPlaceholder(assetType, isSecondaryAssetPresent);\n const resolvedAssetType = assetType || DEFAULT_ASSET_TYPE;\n const styles = useStyles();\n\n const { assets, loading: isLoading } = usePrimaryAssetSelectData({\n appKey,\n assetType: resolvedAssetType,\n company,\n groups,\n isRequiredAssetId,\n assetFields,\n selectedGroup,\n currentValue,\n setCurrentOption,\n onActiveAssetIdChange,\n });\n\n const [handleInputChange] = useState(() =>\n debounce((value: string) => {\n setSearchValue(value);\n }, 200)\n );\n\n const handleGroupChange = (group?: { id?: string }): void => {\n const nextGroup: AssetGroup | null = groups?.find(({ id }) => id === group?.id) ?? null;\n onGroupChange?.(nextGroup);\n };\n\n const renderOption = (option: unknown, state: { selected: boolean }) => {\n if (!isAssetOption(option)) return null;\n\n const { status, name = '', id } = option;\n\n return (\n <SelectItem\n className={styles.option}\n assetName={name}\n key={id}\n multiple={multiple}\n selected={state.selected}\n value={id}\n status={status === ACTIVE_STATUS ? ACTIVE_STATUS : null}\n data-testid={`${pageName}_option_${name}MenuItem`}\n />\n );\n };\n\n const getOptionLabel = (option: unknown): string => {\n return isAssetOption(option) ? option.name || '' : '';\n };\n\n const isCurrentOptionActive =\n !Array.isArray(currentOption) && currentOption?.status === ACTIVE_STATUS;\n\n return (\n <Search\n classes={{\n paper: styles.paper,\n listbox: styles.listbox,\n groupChip: styles.groupChip,\n }}\n defaultValue={defaultValue}\n disableClearable={disableClearable}\n disabled={disabled}\n isNullable={isNullable}\n loading={isLoading}\n onGroupChange={handleGroupChange}\n onGroupReset={onGroupReset}\n placeholder={placeholder || searchPlaceholder}\n selectedGroup={selectedGroup}\n onChange={(_event, selected: unknown) => {\n onChange(getSelectedAssets(selected));\n }}\n data-testid={pageName}\n multiple={multiple}\n onInputChange={handleInputChange}\n onInputReset={() => {\n onInputReset();\n setCurrentOption(null);\n }}\n TextFieldProps={{\n label,\n value: searchValue,\n endAdornment: isCurrentOptionActive && (\n <Chip data-not-migrated-muichip className={styles.activeChip} label=\"Active\" />\n ),\n }}\n isHiddenAllOption\n value={currentOption}\n options={assets}\n renderCustomOption={renderOption}\n getOptionLabel={getOptionLabel}\n GroupsComponent={Groups}\n groups={groups}\n InputProps={{\n startAdornment: <InputAdornmentLeft className=\"\">{null}</InputAdornmentLeft>,\n }}\n />\n );\n};\n\nexport default PrimaryAssetSelect;\n"],"names":["useStyles","makeStyles","paper","boxShadow","listbox","maxHeight","padding","option","backgroundColor","groupChip","height","activeChip","fontWeight","color","fontSize","cursor","textTransform","marginRight","letterSpacing","DEFAULT_ASSET_FIELDS","DEFAULT_ON_INPUT_RESET","noop","DEFAULT_ON_ACTIVE_ASSET_ID_CHANGE","isAssetOption","_typeof","id","_ref","_ref$dataTestid","pageName","appKey","_ref$assetFields","assetFields","assetType","company","currentOption","currentValue","defaultValue","disableClearable","disabled","groups","isNullable","isRequiredAssetId","_ref$isSecondaryAsset","isSecondaryAssetPresent","label","multiple","_ref$onActiveAssetIdC","onActiveAssetIdChange","onChange","onGroupChange","onGroupReset","_ref$onInputReset","onInputReset","_ref$placeholder","placeholder","selectedGroup","setCurrentOption","useState","_useState2","_slicedToArray","_useState","searchValue","setSearchValue","searchPlaceholder","getSearchPlaceholder","resolvedAssetType","DEFAULT_ASSET_TYPE","styles","_usePrimaryAssetSelec","usePrimaryAssetSelectData","assets","isLoading","loading","_useState3","debounce","value","handleInputChange","isCurrentOptionActive","Array","isArray","status","ACTIVE_STATUS","_jsx","Search","classes","group","_groups$find","nextGroup","find","_ref2","_event","selected","filter","getSelectedAssets","onInputChange","TextFieldProps","endAdornment","jsx","Chip","className","isHiddenAllOption","options","renderCustomOption","state","_option$name","name","SelectItem","assetName","getOptionLabel","GroupsComponent","Groups","InputProps","startAdornment","InputAdornmentLeft","children"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@babel/runtime/helpers/slicedToArray"),t=require("prop-types"),r=require("react"),n=require("lodash"),s=require("@material-ui/core"),a=require("../../Search/Search.js");require("../../Search/components/Listbox.js"),require("../../Search/components/Paper.js"),require("../../Search/components/RecentSearches.js");var o=require("../../Search/components/InputAdornmentLeft.js"),i=require("../../Search/components/Groups.js");require("../../Search/components/SelectAllListItem.js");var u=require("../effects/usePrimaryAssetSelectData.js"),l=require("../constants.js"),p=require("../utils/index.js"),c=require("./SelectItem.js"),d=require("../../AssetEditor/constants.js"),f=require("react/jsx-runtime");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=h(e),g=h(t),A=s.makeStyles({paper:{boxShadow:"0px 3px 10px 0px #00000066"},listbox:{maxHeight:210,"& .MuiAutocomplete-option":{padding:"0px 0px 0px 16px"}},option:{padding:"6px 0","&:hover":{backgroundColor:"initial"}},groupChip:{height:32,padding:0},activeChip:{fontWeight:500,backgroundColor:"#75DB29",color:"#212121",fontSize:10,cursor:"pointer",height:12,textTransform:"uppercase",marginRight:12,letterSpacing:1}}),S=function(e){var t=e.placeholder,h=void 0===t?null:t,g=e.label,S=e["data-testid"],x=void 0===S?"PrimaryAssetEditorAutocomplete":S,q=e.appKey,j=e.assetFields,y=void 0===j?b:j,I=e.assetType,P=e.company,T=e.currentOption,G=e.currentValue,R=e.defaultValue,E=e.disableClearable,O=e.disabled,V=e.groups,D=e.isDrillingPlatformApp,L=e.isNullable,N=e.isRequiredAssetId,_=e.isSecondaryAssetPresent,k=void 0===_||_,F=e.multiple,H=e.onActiveAssetIdChange,M=void 0===H?C:H,K=e.onChange,U=e.onGroupChange,w=e.onGroupReset,z=e.onInputReset,B=void 0===z?v:z,W=e.selectedGroup,J=e.setCurrentOption,Q=r.useState(""),X=m.default(Q,2),Y=X[0],Z=X[1],$=r.useState(1),ee=m.default($,2),te=ee[0],re=ee[1],ne=r.useState(!0),se=m.default(ne,2),ae=se[0],oe=se[1],ie=r.useState(!1),ue=m.default(ie,2),le=ue[0],pe=ue[1],ce=p.getSearchPlaceholder(I,k),de=A(),fe=u.usePrimaryAssetSelectData({isDrillingPlatformApp:D,searchValue:le&&Y?Y:"",scrollPage:te,appKey:q,assetType:I,company:P,groups:V,isRequiredAssetId:N,assetFields:y,selectedGroup:W,currentValue:G,setCurrentOption:J,onActiveAssetIdChange:M}),he=fe.assets,me=fe.loading;r.useEffect((function(){var e=he.length>=d.PER_PAGE*te;oe(e)}),[he,te]);var ge=r.useMemo((function(){return n.debounce((function(e,t){"input"===t?(re(1),Z(e),pe(!0)):"reset"!==t&&"clear"!==t||(pe(!1),Z(""))}),200)}),[]),Ae=r.useMemo((function(){return n.debounce((function(){return re((function(e){return e+1}))}),250)}),[]);return f.jsx(a.Search,{classes:{paper:de.paper,listbox:de.listbox,groupChip:de.groupChip},defaultValue:R,disableClearable:E||O,disabled:O,isNullable:L,loading:me,onGroupChange:U,placeholder:h||ce,selectedGroup:W,onGroupReset:w,onChange:function(e,t){K(t),pe(!1),Z("")},onClose:function(){pe(!1),Z("")},onOpen:function(){Y||pe(!1)},"data-testid":x,multiple:F,onInputChangeCallback:ge,onInputReset:function(){B(),J(null),pe(!1),Z("")},TextFieldProps:{label:g,value:Y,endAdornment:(null==T?void 0:T.status)===l.ACTIVE_STATUS&&f.jsx(s.Chip,{"data-not-migrated-muichip":!0,className:de.activeChip,label:"Active"})},ListboxProps:{onScroll:function(e){if(ae&&!me){var t=e.currentTarget;t.scrollTop+t.clientHeight>t.scrollHeight-800&&Ae()}}},isHiddenAllOption:!0,value:T,options:he,renderCustomOption:function(e,t){var r=e.status,n=e.name,s=e.id,a=t.selected;return f.jsx(c,{className:de.option,assetName:n,multiple:F,selected:a,value:s,status:r&&l.ACTIVE_STATUS,"data-testid":"".concat(x,"_option_").concat(n,"MenuItem")},s)},getOptionLabel:function(e){return e.name||""},GroupsComponent:i,groups:V,InputProps:{startAdornment:f.jsx(o,{})}})};S.propTypes={isSecondaryAssetPresent:g.default.bool,assetFields:g.default.array,"data-testid":g.default.string,onInputReset:g.default.func,onActiveAssetIdChange:g.default.func,placeholder:g.default.string};var b=[],v=function(){},C=function(){};module.exports=S;
1
+ "use strict";var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/typeof"),r=require("react"),n=require("lodash"),o=require("@material-ui/core"),i=require("../../Search/Search.js");require("../../Search/components/Listbox.js"),require("../../Search/components/Paper.js"),require("../../Search/components/RecentSearches.js");var a=require("../../Search/components/InputAdornmentLeft.js"),s=require("../../Search/components/Groups.js");require("../../Search/components/SelectAllListItem.js");var u=require("../effects/usePrimaryAssetSelectData.js"),l=require("../constants.js"),p=require("../utils/index.js"),c=require("./SelectItem.js"),d=require("../../AssetEditor/constants.js"),m=require("react/jsx-runtime");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=f(e),g=f(t),A=o.makeStyles({paper:{boxShadow:"0px 3px 10px 0px #00000066"},listbox:{maxHeight:210,"& .MuiAutocomplete-option":{padding:"0px 0px 0px 16px"}},option:{padding:"6px 0","&:hover":{backgroundColor:"initial"}},groupChip:{height:32,padding:0},activeChip:{fontWeight:500,backgroundColor:"#75DB29",color:"#212121",fontSize:10,cursor:"pointer",height:12,textTransform:"uppercase",marginRight:12,letterSpacing:1}}),S=[],b=n.noop,v=n.noop,C=function(e){return!!e&&"object"===g.default(e)&&"id"in e&&"number"==typeof e.id};module.exports=function(e){var t=e.placeholder,f=void 0===t?null:t,g=e.label,x=e["data-testid"],q=void 0===x?"PrimaryAssetEditorAutocomplete":x,j=e.appKey,y=e.assetFields,T=void 0===y?S:y,I=e.assetType,P=e.company,E=e.currentOption,G=e.currentValue,R=e.defaultValue,V=e.disableClearable,_=e.disabled,O=e.groups,D=e.isDrillingPlatformApp,L=e.isNullable,N=e.isRequiredAssetId,k=e.isSecondaryAssetPresent,F=void 0===k||k,H=e.multiple,M=e.onActiveAssetIdChange,U=void 0===M?v:M,K=e.onChange,w=e.onGroupChange,z=e.onGroupReset,B=e.onInputReset,W=void 0===B?b:B,Y=e.selectedGroup,J=e.setCurrentOption,Q=r.useState(""),X=h.default(Q,2),Z=X[0],$=X[1],ee=r.useState(1),te=h.default(ee,2),re=te[0],ne=te[1],oe=r.useState(!0),ie=h.default(oe,2),ae=ie[0],se=ie[1],ue=r.useState(!1),le=h.default(ue,2),pe=le[0],ce=le[1],de=p.getSearchPlaceholder(I,F),me=I||l.DEFAULT_ASSET_TYPE,fe=A(),he=u.usePrimaryAssetSelectData({isDrillingPlatformApp:D,searchValue:pe&&Z?Z:"",scrollPage:re,appKey:j,assetType:me,company:P,groups:O,isRequiredAssetId:N,assetFields:T,selectedGroup:Y,currentValue:G,setCurrentOption:J,onActiveAssetIdChange:U}),ge=he.assets,Ae=he.loading;r.useEffect((function(){var e=ge.length>=d.PER_PAGE*re;se(e)}),[ge,re]);var Se=r.useMemo((function(){return n.debounce((function(e,t){"input"===t?(ne(1),$(e),ce(!0)):"reset"!==t&&"clear"!==t||(ce(!1),$(""))}),200)}),[]),be=r.useMemo((function(){return n.debounce((function(){return ne((function(e){return e+1}))}),250)}),[]),ve=!Array.isArray(E)&&(null==E?void 0:E.status)===l.ACTIVE_STATUS;return m.jsx(i.Search,{classes:{paper:fe.paper,listbox:fe.listbox,groupChip:fe.groupChip},defaultValue:R,disableClearable:V||_,disabled:_,isNullable:L,loading:Ae,onGroupChange:function(e){var t,r=null!==(t=null==O?void 0:O.find((function(t){return t.id===(null==e?void 0:e.id)})))&&void 0!==t?t:null;null==w||w(r)},placeholder:f||de,selectedGroup:Y,onGroupReset:z,onChange:function(e,t){K(function(e){return e?Array.isArray(e)?e.filter(C):C(e)?e:null:null}(t)),ce(!1),$("")},onClose:function(){ce(!1),$("")},onOpen:function(){Z||ce(!1)},"data-testid":q,multiple:H,onInputChangeCallback:Se,onInputReset:function(){W(),J(null),ce(!1),$("")},TextFieldProps:{label:g,value:Z,endAdornment:ve&&m.jsx(o.Chip,{"data-not-migrated-muichip":!0,className:fe.activeChip,label:"Active"})},ListboxProps:{onScroll:function(e){if(ae&&!Ae){var t=e.currentTarget;t.scrollTop+t.clientHeight>t.scrollHeight-800&&be()}}},isHiddenAllOption:!0,value:E,options:ge,renderCustomOption:function(e,t){if(!C(e))return null;var r=e.status,n=e.name,o=void 0===n?"":n,i=e.id;return m.jsx(c,{className:fe.option,assetName:o,multiple:H,selected:t.selected,value:i,status:r===l.ACTIVE_STATUS?l.ACTIVE_STATUS:null,"data-testid":"".concat(q,"_option_").concat(o,"MenuItem")},i)},getOptionLabel:function(e){return C(e)&&e.name||""},GroupsComponent:s,groups:O,InputProps:{startAdornment:m.jsx(a,{className:"",children:null})}})};
2
2
  //# sourceMappingURL=PrimaryAssetSelectV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryAssetSelectV2.js","sources":["../../../../../src/components/AssetEditorV2/components/PrimaryAssetSelectV2.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useEffect, useMemo, useState } from 'react';\nimport { debounce } from 'lodash';\nimport { Chip, makeStyles } from '@material-ui/core';\n\nimport Search from '../../Search/Search';\nimport { Groups, InputAdornmentLeft } from '../../Search/components';\nimport { usePrimaryAssetSelectData } from '../effects/usePrimaryAssetSelectData';\nimport { ACTIVE_STATUS } from '../constants';\nimport { getSearchPlaceholder } from '../utils';\n\nimport SelectItem from './SelectItem';\n\nimport { PER_PAGE } from '~/components/AssetEditor/constants';\n\nconst useStyles = makeStyles({\n paper: {\n boxShadow: '0px 3px 10px 0px #00000066',\n },\n listbox: {\n maxHeight: 210,\n '& .MuiAutocomplete-option': {\n padding: '0px 0px 0px 16px',\n },\n },\n option: {\n padding: '6px 0',\n '&:hover': {\n backgroundColor: 'initial',\n },\n },\n groupChip: {\n height: 32,\n padding: 0,\n },\n activeChip: {\n fontWeight: 500,\n backgroundColor: '#75DB29',\n color: '#212121',\n fontSize: 10,\n cursor: 'pointer',\n height: 12,\n textTransform: 'uppercase',\n marginRight: 12,\n letterSpacing: 1,\n },\n});\n\nconst PrimaryAssetSelect = ({\n placeholder = null,\n label,\n 'data-testid': PAGE_NAME = 'PrimaryAssetEditorAutocomplete',\n appKey,\n assetFields = DEFAULT_PRIMARY_ASSET_SELECT_ASSET_FIELDS,\n assetType,\n company,\n currentOption,\n currentValue,\n defaultValue,\n disableClearable,\n disabled,\n groups,\n isDrillingPlatformApp,\n isNullable,\n isRequiredAssetId,\n isSecondaryAssetPresent = true,\n multiple,\n onActiveAssetIdChange = DEFAULT_PRIMARY_ASSET_SELECT_ON_ACTIVE_ASSET_ID_CHANGE,\n onChange,\n onGroupChange,\n onGroupReset,\n onInputReset = DEFAULT_PRIMARY_ASSET_SELECT_ON_INPUT_RESET,\n selectedGroup,\n setCurrentOption,\n}) => {\n const [searchValue, setSearchValue] = useState('');\n const [scrollPage, setScrollPage] = useState(1);\n const [hasMore, setHasMore] = useState(true);\n const [isSearchMode, setIsSearchMode] = useState(false);\n const searchPlaceholder = getSearchPlaceholder(assetType, isSecondaryAssetPresent);\n const styles = useStyles();\n\n const { assets, loading: isLoading } = usePrimaryAssetSelectData({\n isDrillingPlatformApp,\n searchValue: isSearchMode && searchValue ? searchValue : '',\n scrollPage,\n appKey,\n assetType,\n company,\n groups,\n isRequiredAssetId,\n assetFields,\n selectedGroup,\n currentValue,\n setCurrentOption,\n onActiveAssetIdChange,\n });\n\n useEffect(() => {\n const hasMoreAssets = assets.length >= PER_PAGE * scrollPage;\n setHasMore(hasMoreAssets);\n }, [assets, scrollPage]);\n\n const onInputChange = useMemo(\n () =>\n debounce((value, reason) => {\n if (reason === 'input') {\n setScrollPage(1);\n setSearchValue(value);\n setIsSearchMode(true);\n } else if (reason === 'reset' || reason === 'clear') {\n setIsSearchMode(false);\n setSearchValue('');\n }\n }, 200),\n []\n );\n\n const handleFetchNext = useMemo(\n () => debounce(() => setScrollPage(prevScrollPage => prevScrollPage + 1), 250),\n []\n );\n\n const onScrollListbox = event => {\n if (!hasMore || isLoading) return;\n const listboxNode = event.currentTarget;\n if (listboxNode.scrollTop + listboxNode.clientHeight > listboxNode.scrollHeight - 800) {\n handleFetchNext();\n }\n };\n\n const renderOption = ({ status, name, id }, { selected }) => {\n return (\n <SelectItem\n className={styles.option}\n assetName={name}\n key={id}\n multiple={multiple}\n selected={selected}\n value={id}\n status={status && ACTIVE_STATUS}\n data-testid={`${PAGE_NAME}_option_${name}MenuItem`}\n />\n );\n };\n\n return (\n <Search\n classes={{\n paper: styles.paper,\n listbox: styles.listbox,\n groupChip: styles.groupChip,\n }}\n defaultValue={defaultValue}\n disableClearable={disableClearable || disabled}\n disabled={disabled}\n isNullable={isNullable}\n loading={isLoading}\n onGroupChange={onGroupChange}\n placeholder={placeholder || searchPlaceholder}\n selectedGroup={selectedGroup}\n onGroupReset={onGroupReset}\n onChange={(event, selected) => {\n onChange(selected);\n // Reset search mode when item is selected\n setIsSearchMode(false);\n setSearchValue('');\n }}\n onClose={() => {\n // Reset search mode when select closes to prevent stale state\n setIsSearchMode(false);\n setSearchValue('');\n }}\n onOpen={() => {\n // If searchValue is empty when opening, ensure search mode is off\n // This handles the case where select was closed with stale state\n if (!searchValue) {\n setIsSearchMode(false);\n }\n }}\n data-testid={PAGE_NAME}\n multiple={multiple}\n onInputChangeCallback={onInputChange}\n onInputReset={() => {\n onInputReset();\n setCurrentOption(null);\n setIsSearchMode(false);\n setSearchValue('');\n }}\n TextFieldProps={{\n label,\n value: searchValue,\n endAdornment: currentOption?.status === ACTIVE_STATUS && (\n <Chip data-not-migrated-muichip className={styles.activeChip} label=\"Active\" />\n ),\n }}\n ListboxProps={{\n onScroll: onScrollListbox,\n }}\n isHiddenAllOption\n value={currentOption}\n options={assets}\n renderCustomOption={renderOption}\n getOptionLabel={option => option.name || ''}\n GroupsComponent={Groups}\n groups={groups}\n InputProps={{\n startAdornment: <InputAdornmentLeft />,\n }}\n />\n );\n};\n\nPrimaryAssetSelect.propTypes = {\n isSecondaryAssetPresent: PropTypes.bool,\n assetFields: PropTypes.array,\n 'data-testid': PropTypes.string,\n onInputReset: PropTypes.func,\n onActiveAssetIdChange: PropTypes.func,\n placeholder: PropTypes.string,\n};\n\nconst DEFAULT_PRIMARY_ASSET_SELECT_ASSET_FIELDS = [];\nconst DEFAULT_PRIMARY_ASSET_SELECT_ON_INPUT_RESET = () => {};\nconst DEFAULT_PRIMARY_ASSET_SELECT_ON_ACTIVE_ASSET_ID_CHANGE = () => {};\n\nexport default PrimaryAssetSelect;\n"],"names":["useStyles","makeStyles","paper","boxShadow","listbox","maxHeight","padding","option","backgroundColor","groupChip","height","activeChip","fontWeight","color","fontSize","cursor","textTransform","marginRight","letterSpacing","PrimaryAssetSelect","_ref","_ref$placeholder","placeholder","label","_ref$dataTestid","PAGE_NAME","appKey","_ref$assetFields","assetFields","DEFAULT_PRIMARY_ASSET_SELECT_ASSET_FIELDS","assetType","company","currentOption","currentValue","defaultValue","disableClearable","disabled","groups","isDrillingPlatformApp","isNullable","isRequiredAssetId","_ref$isSecondaryAsset","isSecondaryAssetPresent","multiple","_ref$onActiveAssetIdC","onActiveAssetIdChange","DEFAULT_PRIMARY_ASSET_SELECT_ON_ACTIVE_ASSET_ID_CHANGE","onChange","onGroupChange","onGroupReset","_ref$onInputReset","onInputReset","DEFAULT_PRIMARY_ASSET_SELECT_ON_INPUT_RESET","selectedGroup","setCurrentOption","useState","_useState2","_slicedToArray","_useState","searchValue","setSearchValue","_useState4","_useState3","scrollPage","setScrollPage","_useState6","_useState5","hasMore","setHasMore","_useState8","_useState7","isSearchMode","setIsSearchMode","searchPlaceholder","getSearchPlaceholder","styles","_usePrimaryAssetSelec","usePrimaryAssetSelectData","assets","isLoading","loading","useEffect","hasMoreAssets","length","PER_PAGE","onInputChange","useMemo","debounce","value","reason","handleFetchNext","prevScrollPage","_jsx","Search","classes","event","selected","onClose","onOpen","onInputChangeCallback","TextFieldProps","endAdornment","status","ACTIVE_STATUS","Chip","className","ListboxProps","onScroll","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","isHiddenAllOption","options","renderCustomOption","_ref2","_ref3","name","id","SelectItem","assetName","getOptionLabel","GroupsComponent","Groups","InputProps","startAdornment","InputAdornmentLeft","propTypes","PropTypes","bool","array","string","func"],"mappings":"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"}
1
+ {"version":3,"file":"PrimaryAssetSelectV2.js","sources":["../../../../../src/components/AssetEditorV2/components/PrimaryAssetSelectV2.tsx"],"sourcesContent":["import { FC, UIEvent, useEffect, useMemo, useState } from 'react';\nimport { debounce, noop } from 'lodash';\nimport { Chip, makeStyles } from '@material-ui/core';\n\nimport Search from '../../Search/Search';\nimport { Groups, InputAdornmentLeft } from '../../Search/components';\nimport { usePrimaryAssetSelectData } from '../effects/usePrimaryAssetSelectData';\nimport { ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\nimport { AssetGroup, AssetOption, PrimaryAssetChange } from '../types';\nimport { getSearchPlaceholder } from '../utils';\n\nimport SelectItem from './SelectItem';\nimport type { PrimaryAssetSelectProps } from './PrimaryAssetSelect';\n\nimport { PER_PAGE } from '~/components/AssetEditor/constants';\n\nconst useStyles = makeStyles({\n paper: {\n boxShadow: '0px 3px 10px 0px #00000066',\n },\n listbox: {\n maxHeight: 210,\n '& .MuiAutocomplete-option': {\n padding: '0px 0px 0px 16px',\n },\n },\n option: {\n padding: '6px 0',\n '&:hover': {\n backgroundColor: 'initial',\n },\n },\n groupChip: {\n height: 32,\n padding: 0,\n },\n activeChip: {\n fontWeight: 500,\n backgroundColor: '#75DB29',\n color: '#212121',\n fontSize: 10,\n cursor: 'pointer',\n height: 12,\n textTransform: 'uppercase',\n marginRight: 12,\n letterSpacing: 1,\n },\n});\n\nconst DEFAULT_ASSET_FIELDS: string[] = [];\nconst DEFAULT_ON_INPUT_RESET = noop;\nconst DEFAULT_ON_ACTIVE_ASSET_ID_CHANGE = noop;\n\nconst isAssetOption = (option: unknown): option is AssetOption => {\n return !!option && typeof option === 'object' && 'id' in option && typeof option.id === 'number';\n};\n\nconst getSelectedAssets = (selected: unknown): PrimaryAssetChange => {\n if (!selected) return null;\n\n if (Array.isArray(selected)) return selected.filter(isAssetOption);\n\n return isAssetOption(selected) ? selected : null;\n};\n\nconst PrimaryAssetSelectV2: FC<PrimaryAssetSelectProps> = ({\n placeholder = null,\n label,\n 'data-testid': pageName = 'PrimaryAssetEditorAutocomplete',\n appKey,\n assetFields = DEFAULT_ASSET_FIELDS,\n assetType,\n company,\n currentOption,\n currentValue,\n defaultValue,\n disableClearable,\n disabled,\n groups,\n isDrillingPlatformApp,\n isNullable,\n isRequiredAssetId,\n isSecondaryAssetPresent = true,\n multiple,\n onActiveAssetIdChange = DEFAULT_ON_ACTIVE_ASSET_ID_CHANGE,\n onChange,\n onGroupChange,\n onGroupReset,\n onInputReset = DEFAULT_ON_INPUT_RESET,\n selectedGroup,\n setCurrentOption,\n}) => {\n const [searchValue, setSearchValue] = useState('');\n const [scrollPage, setScrollPage] = useState(1);\n const [hasMore, setHasMore] = useState(true);\n const [isSearchMode, setIsSearchMode] = useState(false);\n const searchPlaceholder = getSearchPlaceholder(assetType, isSecondaryAssetPresent);\n const resolvedAssetType = assetType || DEFAULT_ASSET_TYPE;\n const styles = useStyles();\n\n const { assets, loading: isLoading } = usePrimaryAssetSelectData({\n isDrillingPlatformApp,\n searchValue: isSearchMode && searchValue ? searchValue : '',\n scrollPage,\n appKey,\n assetType: resolvedAssetType,\n company,\n groups,\n isRequiredAssetId,\n assetFields,\n selectedGroup,\n currentValue,\n setCurrentOption,\n onActiveAssetIdChange,\n });\n\n useEffect(() => {\n const hasMoreAssets = assets.length >= PER_PAGE * scrollPage;\n setHasMore(hasMoreAssets);\n }, [assets, scrollPage]);\n\n const handleInputChange = useMemo(\n () =>\n debounce((value: string, reason: string) => {\n if (reason === 'input') {\n setScrollPage(1);\n setSearchValue(value);\n setIsSearchMode(true);\n } else if (reason === 'reset' || reason === 'clear') {\n setIsSearchMode(false);\n setSearchValue('');\n }\n }, 200),\n []\n );\n\n const handleFetchNext = useMemo(\n () => debounce(() => setScrollPage(previousPage => previousPage + 1), 250),\n []\n );\n\n const handleScrollListbox = (event: UIEvent<HTMLUListElement>): void => {\n if (!hasMore || isLoading) return;\n\n const listboxNode = event.currentTarget;\n if (listboxNode.scrollTop + listboxNode.clientHeight > listboxNode.scrollHeight - 800) {\n handleFetchNext();\n }\n };\n\n const handleGroupChange = (group?: { id?: string }): void => {\n const nextGroup: AssetGroup | null = groups?.find(({ id }) => id === group?.id) ?? null;\n onGroupChange?.(nextGroup);\n };\n\n const renderOption = (option: unknown, state: { selected: boolean }) => {\n if (!isAssetOption(option)) return null;\n\n const { status, name = '', id } = option;\n\n return (\n <SelectItem\n className={styles.option}\n assetName={name}\n key={id}\n multiple={multiple}\n selected={state.selected}\n value={id}\n status={status === ACTIVE_STATUS ? ACTIVE_STATUS : null}\n data-testid={`${pageName}_option_${name}MenuItem`}\n />\n );\n };\n\n const getOptionLabel = (option: unknown): string => {\n return isAssetOption(option) ? option.name || '' : '';\n };\n\n const isCurrentOptionActive =\n !Array.isArray(currentOption) && currentOption?.status === ACTIVE_STATUS;\n\n return (\n <Search\n classes={{\n paper: styles.paper,\n listbox: styles.listbox,\n groupChip: styles.groupChip,\n }}\n defaultValue={defaultValue}\n disableClearable={disableClearable || disabled}\n disabled={disabled}\n isNullable={isNullable}\n loading={isLoading}\n onGroupChange={handleGroupChange}\n placeholder={placeholder || searchPlaceholder}\n selectedGroup={selectedGroup}\n onGroupReset={onGroupReset}\n onChange={(_event, selected: unknown) => {\n onChange(getSelectedAssets(selected));\n setIsSearchMode(false);\n setSearchValue('');\n }}\n onClose={() => {\n setIsSearchMode(false);\n setSearchValue('');\n }}\n onOpen={() => {\n if (!searchValue) setIsSearchMode(false);\n }}\n data-testid={pageName}\n multiple={multiple}\n onInputChangeCallback={handleInputChange}\n onInputReset={() => {\n onInputReset();\n setCurrentOption(null);\n setIsSearchMode(false);\n setSearchValue('');\n }}\n TextFieldProps={{\n label,\n value: searchValue,\n endAdornment: isCurrentOptionActive && (\n <Chip data-not-migrated-muichip className={styles.activeChip} label=\"Active\" />\n ),\n }}\n ListboxProps={{\n onScroll: handleScrollListbox,\n }}\n isHiddenAllOption\n value={currentOption}\n options={assets}\n renderCustomOption={renderOption}\n getOptionLabel={getOptionLabel}\n GroupsComponent={Groups}\n groups={groups}\n InputProps={{\n startAdornment: <InputAdornmentLeft className=\"\">{null}</InputAdornmentLeft>,\n }}\n />\n );\n};\n\nexport default PrimaryAssetSelectV2;\n"],"names":["useStyles","makeStyles","paper","boxShadow","listbox","maxHeight","padding","option","backgroundColor","groupChip","height","activeChip","fontWeight","color","fontSize","cursor","textTransform","marginRight","letterSpacing","DEFAULT_ASSET_FIELDS","DEFAULT_ON_INPUT_RESET","noop","DEFAULT_ON_ACTIVE_ASSET_ID_CHANGE","isAssetOption","_typeof","id","_ref","_ref$placeholder","placeholder","label","_ref$dataTestid","pageName","appKey","_ref$assetFields","assetFields","assetType","company","currentOption","currentValue","defaultValue","disableClearable","disabled","groups","isDrillingPlatformApp","isNullable","isRequiredAssetId","_ref$isSecondaryAsset","isSecondaryAssetPresent","multiple","_ref$onActiveAssetIdC","onActiveAssetIdChange","onChange","onGroupChange","onGroupReset","_ref$onInputReset","onInputReset","selectedGroup","setCurrentOption","useState","_useState2","_slicedToArray","_useState","searchValue","setSearchValue","_useState4","_useState3","scrollPage","setScrollPage","_useState6","_useState5","hasMore","setHasMore","_useState8","_useState7","isSearchMode","setIsSearchMode","searchPlaceholder","getSearchPlaceholder","resolvedAssetType","DEFAULT_ASSET_TYPE","styles","_usePrimaryAssetSelec","usePrimaryAssetSelectData","assets","isLoading","loading","useEffect","hasMoreAssets","length","PER_PAGE","handleInputChange","useMemo","debounce","value","reason","handleFetchNext","previousPage","isCurrentOptionActive","Array","isArray","status","ACTIVE_STATUS","_jsx","Search","classes","group","_groups$find","nextGroup","find","_ref2","_event","selected","filter","getSelectedAssets","onClose","onOpen","onInputChangeCallback","TextFieldProps","endAdornment","jsx","Chip","className","ListboxProps","onScroll","event","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","isHiddenAllOption","options","renderCustomOption","state","_option$name","name","SelectItem","assetName","getOptionLabel","GroupsComponent","Groups","InputProps","startAdornment","InputAdornmentLeft","children"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("prop-types"),s=require("lodash"),a=require("@material-ui/core"),r=require("../effects/index.js"),n=require("../constants.js"),i=require("./SelectItem.js");require("../../../constants/goals.js"),require("../../../constants/segment.js"),require("../../../constants/alerts.js"),require("../../../constants/apps.js"),require("../../../constants/drillstring.js"),require("../../../constants/completion.js"),require("../../../constants/appPackages.js"),require("../../../constants/notifications.js"),require("../../../constants/feed.js"),require("../../../constants/bha.js");var o=require("../../../constants/assetTypes.js");require("../../../constants/corvaCompanyId.js"),require("../../GradientManager/configuration/constants.js");var u=require("react/jsx-runtime");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=l(e),c=l(t),p="DC_SingleAssetEditor",f=[],m=a.makeStyles((function(e){return{container:{position:"relative"},select:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:0,paddingTop:0},formControl:{marginTop:16,width:"100%","& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled":{"&::before":{borderBottom:"1px solid #808080"}}},selectValue:function(t){return{cursor:"pointer",padding:0,color:t.disabled?e.palette.primary.text7:e.palette.primary.contrastText,"&:hover":{backgroundColor:"initial"}}},option:function(t){return{cursor:"pointer",padding:"0px 0px 0px 16px",color:t.disabled?e.palette.primary.text7:e.palette.primary.contrastText,"&:hover":{backgroundColor:"rgba(255, 255, 255, 0.16)"}}},activeAssets:{color:"#9E9E9E",padding:"8px 0 6px"},progress:{position:"absolute",right:20,bottom:4},noActiveAsset:{color:"#9E9E9E",padding:"8px 0 6px"}}})),A=function(e){var t=e.appKey,l=void 0===t?null:t,c=e.primaryAssetLabel,A=e.isRequiredAssetId,v=e.secondaryAssetLabel,T=e.company,g=e.currentValue,y=void 0===g?"":g,b=e.defaultValue,S=void 0===b?"":b,j=e.onChange,E=e.disabled,x=e.parentAssetId,I=e.assetType,_=e.parentAssetType,q=e.assetFields,C=void 0===q?f:q,h=e.activeWellId,N=e.isDrillingPlatformApp,V=e["data-testid"],D=void 0===V?"".concat(p,"_autoComplete"):V,P=r.useSecondaryAssetSelectData({appKey:l,assetId:y,assetType:N?n.DEFAULT_ASSET_TYPE:I,company:T,parentAssetId:x,parentAssetType:_,isRequiredAssetId:A,assetFields:C,activeWellId:h}),M=P.assets,F=P.loading,k=m({disabled:E}),L=y||S,R=M.some((function(e){return e.status===n.ACTIVE_STATUS}));_===o.ASSET_TYPES.intervention_unit.type&&(R=M.some((function(e){return Number(e.id)===Number(h)})));var K=s.capitalize(I),U=[{name:"Active ".concat(K),id:n.ACTIVE_ASSET_ID}].concat(d.default(M));return u.jsxs("div",{className:k.container,children:[u.jsxs(a.FormControl,{className:k.formControl,disabled:F,children:[u.jsx(a.InputLabel,{shrink:!!L,children:v}),u.jsx(a.Select,{"data-testid":D,classes:{select:k.select},value:L,disabled:E,onChange:function(e){var t=e.target,s=t.value===n.ACTIVE_ASSET_ID?{id:n.ACTIVE_ASSET_ID}:null==M?void 0:M.find((function(e){return e.id===t.value}));j(s)},fullWidth:!0,renderValue:function(e){if(e===n.ACTIVE_ASSETS_ID)return u.jsx("span",{className:k.activeAssets,children:"Active ".concat(K,"s")});if(e===n.ACTIVE_ASSET_ID&&!R)return u.jsx("span",{className:k.noActiveAsset,children:"".concat(c," has No Active ").concat(v)});if(e===n.ACTIVE_ASSET_ID&&R){var t=_===o.ASSET_TYPES.intervention_unit.type?M.find((function(e){return Number(e.id)===Number(h)})):M.find((function(e){return e.status===n.ACTIVE_STATUS}));return u.jsx(i,{className:k.selectValue,assetName:t.name,status:t.status})}var s=M.find((function(t){return t.id===e}));return u.jsx(i,{className:k.selectValue,assetName:null==s?void 0:s.name,status:null==s?void 0:s.status})},children:U.map((function(e){var t=e.id,s=e.name,a=e.status,r=s||"";return u.jsx(i,{className:k.option,assetName:r,"data-testid":"".concat(p,"_option_").concat(r,"MenuItem"),value:t,status:a},t)}))})]}),F&&u.jsx(a.CircularProgress,{"data-testid":"".concat(p,"_CircularProgress"),size:20,className:k.progress})]})};A.propTypes={appType:c.default.shape({constants:c.default.shape({})}),currentValue:c.default.oneOfType([c.default.number,c.default.string]),defaultValue:c.default.any,onChange:c.default.func.isRequired,parentAssetId:c.default.number,parentAssetType:c.default.string,assetType:c.default.string.isRequired,"data-testid":c.default.string,appKey:c.default.string,assetFields:c.default.array},exports.PAGE_NAME=p,exports.default=A;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("lodash"),s=require("@material-ui/core"),r=require("../effects/index.js"),a=require("../constants.js"),n=require("./SelectItem.js");require("../../../constants/goals.js"),require("../../../constants/segment.js"),require("../../../constants/alerts.js"),require("../../../constants/apps.js"),require("../../../constants/drillstring.js"),require("../../../constants/completion.js"),require("../../../constants/appPackages.js"),require("../../../constants/notifications.js"),require("../../../constants/feed.js"),require("../../../constants/bha.js");var i=require("../../../constants/assetTypes.js");require("../../../constants/corvaCompanyId.js"),require("../../GradientManager/configuration/constants.js");var o=require("react/jsx-runtime");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=u(e),c="DC_SingleAssetEditor",d=[],p=s.makeStyles((function(e){return{container:{position:"relative"},select:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:0,paddingTop:0},formControl:{marginTop:16,width:"100%","& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled":{"&::before":{borderBottom:"1px solid #808080"}}},selectValue:function(t){return{cursor:"pointer",padding:0,color:t.disabled?e.palette.primary.text7:e.palette.primary.contrastText,"&:hover":{backgroundColor:"initial"}}},option:function(t){return{cursor:"pointer",padding:"0px 0px 0px 16px",color:t.disabled?e.palette.primary.text7:e.palette.primary.contrastText,"&:hover":{backgroundColor:"rgba(255, 255, 255, 0.16)"}}},activeAssets:{color:"#9E9E9E",padding:"8px 0 6px"},progress:{position:"absolute",right:20,bottom:4},noActiveAsset:{color:"#9E9E9E",padding:"8px 0 6px"}}})),m=function(e){return"number"==typeof e||"string"==typeof e};exports.PAGE_NAME=c,exports.default=function(e){var u=e.appKey,f=void 0===u?null:u,A=e.primaryAssetLabel,v=e.isRequiredAssetId,T=e.secondaryAssetLabel,E=e.company,S=e.currentValue,b=void 0===S?"":S,j=e.defaultValue,_=void 0===j?"":j,g=e.onChange,x=e.disabled,I=e.parentAssetId,y=e.assetType,q=e.parentAssetType,C=e.assetFields,N=void 0===C?d:C,h=e.activeWellId,V=e.isDrillingPlatformApp,D=e["data-testid"],P=void 0===D?"".concat(c,"_autoComplete"):D,M=V?a.DEFAULT_ASSET_TYPE:y||a.DEFAULT_ASSET_TYPE,F=r.useSecondaryAssetSelectData({appKey:f,assetId:b,assetType:M,company:E,parentAssetId:I,parentAssetType:q,isRequiredAssetId:v,assetFields:N,activeWellId:h}),k=F.assets,L=F.loading,U=p({disabled:x}),Y=b||_,W=k.some((function(e){return e.status===a.ACTIVE_STATUS}));q===i.ASSET_TYPES.intervention_unit.type&&(W=k.some((function(e){return Number(e.id)===Number(h)})));var w=t.capitalize(y||""),z=[{name:"Active ".concat(w),id:a.ACTIVE_ASSET_ID,status:null}].concat(l.default(k));return o.jsxs("div",{className:U.container,children:[o.jsxs(s.FormControl,{className:U.formControl,disabled:L,children:[o.jsx(s.InputLabel,{shrink:!!Y,children:T}),o.jsx(s.Select,{"data-testid":P,classes:{select:U.select},value:Y,disabled:x,onChange:function(e){var t=e.target;if(m(t.value)){var s=t.value===a.ACTIVE_ASSET_ID?{id:a.ACTIVE_ASSET_ID}:k.find((function(e){return e.id===Number(t.value)}));s&&g(s)}},fullWidth:!0,renderValue:function(e){if(!m(e))return null;if(e===a.ACTIVE_ASSETS_ID)return o.jsx("span",{className:U.activeAssets,children:"Active ".concat(w,"s")});if(e===a.ACTIVE_ASSET_ID&&!W)return o.jsx("span",{className:U.noActiveAsset,children:"".concat(A," has No Active ").concat(T)});if(e===a.ACTIVE_ASSET_ID&&W){var t=q===i.ASSET_TYPES.intervention_unit.type?k.find((function(e){return Number(e.id)===Number(h)})):k.find((function(e){return e.status===a.ACTIVE_STATUS}));return o.jsx(n,{className:U.selectValue,assetName:null==t?void 0:t.name,status:null==t?void 0:t.status})}var s=k.find((function(t){return t.id===Number(e)}));return o.jsx(n,{className:U.selectValue,assetName:null==s?void 0:s.name,status:null==s?void 0:s.status})},children:z.map((function(e){var t=e.id,s=e.name,r=e.status,a=s||"";return o.jsx(n,{className:U.option,assetName:a,"data-testid":"".concat(c,"_option_").concat(a,"MenuItem"),value:t,status:r},t)}))})]}),L&&o.jsx(s.CircularProgress,{"data-testid":"".concat(c,"_CircularProgress"),size:20,className:U.progress})]})};
2
2
  //# sourceMappingURL=SecondaryAssetSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecondaryAssetSelect.js","sources":["../../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { capitalize } from 'lodash';\nimport { CircularProgress, Select, FormControl, InputLabel, makeStyles } from '@material-ui/core';\n\nimport { useSecondaryAssetSelectData } from '../effects';\nimport { ACTIVE_ASSETS_ID, ACTIVE_ASSET_ID, ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\n\nimport SelectItem from './SelectItem';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const PAGE_NAME = 'DC_SingleAssetEditor';\nconst DEFAULT_ASSET_FIELDS = [];\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'relative',\n },\n select: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 0,\n paddingTop: 0,\n },\n formControl: {\n marginTop: 16,\n width: '100%',\n '& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled': {\n '&::before': {\n borderBottom: `1px solid #808080`,\n },\n },\n },\n selectValue: ({ disabled }) => ({\n cursor: 'pointer',\n padding: 0,\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'initial',\n },\n }),\n option: ({ disabled }) => ({\n cursor: 'pointer',\n padding: '0px 0px 0px 16px',\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.16)',\n },\n }),\n activeAssets: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n progress: {\n position: 'absolute',\n right: 20,\n bottom: 4,\n },\n noActiveAsset: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n}));\n\nconst SecondaryAssetSelect = props => {\n const {\n appKey = null,\n primaryAssetLabel,\n isRequiredAssetId,\n secondaryAssetLabel,\n company,\n currentValue = '',\n defaultValue = '',\n onChange,\n disabled,\n parentAssetId,\n assetType,\n parentAssetType,\n assetFields = DEFAULT_ASSET_FIELDS,\n activeWellId,\n isDrillingPlatformApp,\n 'data-testid': dataTestId = `${PAGE_NAME}_autoComplete`,\n } = props;\n\n const { assets, loading } = useSecondaryAssetSelectData({\n appKey,\n assetId: currentValue,\n assetType: isDrillingPlatformApp ? DEFAULT_ASSET_TYPE : assetType,\n company,\n parentAssetId,\n parentAssetType,\n isRequiredAssetId,\n assetFields,\n activeWellId,\n });\n const styles = useStyles({ disabled });\n\n const value = currentValue || defaultValue;\n let hasActiveAsset = assets.some(asset => asset.status === ACTIVE_STATUS);\n if (parentAssetType === ASSET_TYPES.intervention_unit.type) {\n hasActiveAsset = assets.some(asset => Number(asset.id) === Number(activeWellId));\n }\n const capitalizedAssetType = capitalize(assetType);\n\n const options = [{ name: `Active ${capitalizedAssetType}`, id: ACTIVE_ASSET_ID }, ...assets];\n\n const handleSelectChange = ({ target }) => {\n const nextValue =\n target.value === ACTIVE_ASSET_ID\n ? { id: ACTIVE_ASSET_ID }\n : assets?.find(asset => asset.id === target.value);\n onChange(nextValue);\n };\n\n const renderSelectValue = assetId => {\n if (assetId === ACTIVE_ASSETS_ID) {\n return <span className={styles.activeAssets}>{`Active ${capitalizedAssetType}s`}</span>;\n }\n if (assetId === ACTIVE_ASSET_ID && !hasActiveAsset) {\n return (\n <span className={styles.noActiveAsset}>\n {`${primaryAssetLabel} has No Active ${secondaryAssetLabel}`}\n </span>\n );\n }\n if (assetId === ACTIVE_ASSET_ID && hasActiveAsset) {\n const activeAsset =\n parentAssetType === ASSET_TYPES.intervention_unit.type\n ? assets.find(asset => Number(asset.id) === Number(activeWellId))\n : assets.find(asset => asset.status === ACTIVE_STATUS);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={activeAsset.name}\n status={activeAsset.status}\n />\n );\n }\n const selectedAsset = assets.find(asset => asset.id === assetId);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={selectedAsset?.name}\n status={selectedAsset?.status}\n />\n );\n };\n\n return (\n <div className={styles.container}>\n <FormControl className={styles.formControl} disabled={loading}>\n <InputLabel shrink={!!value}>{secondaryAssetLabel}</InputLabel>\n <Select\n data-testid={dataTestId}\n classes={{ select: styles.select }}\n value={value}\n disabled={disabled}\n onChange={handleSelectChange}\n fullWidth\n renderValue={renderSelectValue}\n >\n {options.map(({ id, name, status }) => {\n const assetName = name || '';\n return (\n <SelectItem\n className={styles.option}\n assetName={assetName}\n data-testid={`${PAGE_NAME}_option_${assetName}MenuItem`}\n key={id}\n value={id}\n status={status}\n />\n );\n })}\n </Select>\n </FormControl>\n {loading && (\n <CircularProgress\n data-testid={`${PAGE_NAME}_CircularProgress`}\n size={20}\n className={styles.progress}\n />\n )}\n </div>\n );\n};\n\nSecondaryAssetSelect.propTypes = {\n appType: PropTypes.shape({\n constants: PropTypes.shape({}),\n }),\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onChange: PropTypes.func.isRequired,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n assetType: PropTypes.string.isRequired,\n 'data-testid': PropTypes.string,\n appKey: PropTypes.string,\n assetFields: PropTypes.array,\n};\n\nexport default SecondaryAssetSelect;\n"],"names":["PAGE_NAME","DEFAULT_ASSET_FIELDS","useStyles","makeStyles","theme","container","position","select","display","alignItems","justifyContent","paddingBottom","paddingTop","formControl","marginTop","width","borderBottom","selectValue","_ref","cursor","padding","color","disabled","palette","primary","text7","contrastText","backgroundColor","option","_ref2","activeAssets","progress","right","bottom","noActiveAsset","SecondaryAssetSelect","props","appKey","_props$appKey","primaryAssetLabel","isRequiredAssetId","secondaryAssetLabel","company","_props$currentValue","currentValue","_props$defaultValue","defaultValue","onChange","parentAssetId","assetType","parentAssetType","_props$assetFields","assetFields","activeWellId","isDrillingPlatformApp","_props$dataTestid","dataTestId","_useSecondaryAssetSel","useSecondaryAssetSelectData","assetId","DEFAULT_ASSET_TYPE","assets","loading","styles","value","hasActiveAsset","some","asset","status","ACTIVE_STATUS","ASSET_TYPES","intervention_unit","type","Number","id","capitalizedAssetType","capitalize","options","name","concat","ACTIVE_ASSET_ID","_toConsumableArray","_jsxs","className","children","FormControl","_jsx","InputLabel","shrink","Select","classes","_ref3","target","nextValue","find","fullWidth","renderValue","ACTIVE_ASSETS_ID","activeAsset","SelectItem","assetName","selectedAsset","map","_ref4","jsx","CircularProgress","size","propTypes","appType","PropTypes","shape","constants","oneOfType","number","string","any","func","isRequired","array"],"mappings":"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"}
1
+ {"version":3,"file":"SecondaryAssetSelect.js","sources":["../../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.tsx"],"sourcesContent":["import { ChangeEvent, FC } from 'react';\nimport { capitalize } from 'lodash';\nimport { CircularProgress, FormControl, InputLabel, makeStyles, Select } from '@material-ui/core';\n\nimport { useSecondaryAssetSelectData } from '../effects';\nimport { ACTIVE_ASSETS_ID, ACTIVE_ASSET_ID, ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\nimport { AssetId, SecondaryAssetChange } from '../types';\n\nimport SelectItem from './SelectItem';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const PAGE_NAME = 'DC_SingleAssetEditor';\n\nconst DEFAULT_ASSET_FIELDS: string[] = [];\n\ntype StyleProps = {\n disabled?: boolean;\n};\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'relative',\n },\n select: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 0,\n paddingTop: 0,\n },\n formControl: {\n marginTop: 16,\n width: '100%',\n '& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled': {\n '&::before': {\n borderBottom: '1px solid #808080',\n },\n },\n },\n selectValue: ({ disabled }: StyleProps) => ({\n cursor: 'pointer',\n padding: 0,\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'initial',\n },\n }),\n option: ({ disabled }: StyleProps) => ({\n cursor: 'pointer',\n padding: '0px 0px 0px 16px',\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.16)',\n },\n }),\n activeAssets: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n progress: {\n position: 'absolute',\n right: 20,\n bottom: 4,\n },\n noActiveAsset: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n}));\n\ntype SecondaryAssetSelectProps = {\n 'data-testid'?: string;\n activeWellId?: number | null;\n appKey?: string | null;\n assetFields?: string[];\n assetType?: string | null;\n company?: AssetId | null;\n currentValue?: AssetId | null;\n defaultValue?: AssetId | null;\n disabled?: boolean;\n isDrillingPlatformApp?: boolean;\n isNullable?: boolean;\n isRequiredAssetId?: boolean;\n onChange: (asset: SecondaryAssetChange) => void;\n parentAssetId?: AssetId | null;\n parentAssetType?: string | null;\n primaryAssetLabel?: string | null;\n secondaryAssetLabel?: string | null;\n};\n\nconst isAssetId = (value: unknown): value is AssetId => {\n return typeof value === 'number' || typeof value === 'string';\n};\n\nconst SecondaryAssetSelect: FC<SecondaryAssetSelectProps> = ({\n appKey = null,\n primaryAssetLabel,\n isRequiredAssetId,\n secondaryAssetLabel,\n company,\n currentValue = '',\n defaultValue = '',\n onChange,\n disabled,\n parentAssetId,\n assetType,\n parentAssetType,\n assetFields = DEFAULT_ASSET_FIELDS,\n activeWellId,\n isDrillingPlatformApp,\n 'data-testid': dataTestId = `${PAGE_NAME}_autoComplete`,\n}) => {\n const resolvedAssetType = isDrillingPlatformApp\n ? DEFAULT_ASSET_TYPE\n : assetType || DEFAULT_ASSET_TYPE;\n const { assets, loading } = useSecondaryAssetSelectData({\n appKey,\n assetId: currentValue,\n assetType: resolvedAssetType,\n company,\n parentAssetId,\n parentAssetType,\n isRequiredAssetId,\n assetFields,\n activeWellId,\n });\n const styles = useStyles({ disabled });\n\n const value = currentValue || defaultValue;\n let hasActiveAsset = assets.some(asset => asset.status === ACTIVE_STATUS);\n if (parentAssetType === ASSET_TYPES.intervention_unit.type) {\n hasActiveAsset = assets.some(asset => Number(asset.id) === Number(activeWellId));\n }\n const capitalizedAssetType = capitalize(assetType || '');\n\n const options = [\n { name: `Active ${capitalizedAssetType}`, id: ACTIVE_ASSET_ID, status: null },\n ...assets,\n ];\n\n const handleSelectChange = ({ target }: ChangeEvent<{ value: unknown }>): void => {\n if (!isAssetId(target.value)) return;\n\n const nextValue =\n target.value === ACTIVE_ASSET_ID\n ? { id: ACTIVE_ASSET_ID }\n : assets.find(asset => asset.id === Number(target.value));\n\n if (nextValue) onChange(nextValue);\n };\n\n const renderSelectValue = (assetId: unknown) => {\n if (!isAssetId(assetId)) return null;\n\n if (assetId === ACTIVE_ASSETS_ID) {\n return <span className={styles.activeAssets}>{`Active ${capitalizedAssetType}s`}</span>;\n }\n\n if (assetId === ACTIVE_ASSET_ID && !hasActiveAsset) {\n return (\n <span className={styles.noActiveAsset}>\n {`${primaryAssetLabel} has No Active ${secondaryAssetLabel}`}\n </span>\n );\n }\n\n if (assetId === ACTIVE_ASSET_ID && hasActiveAsset) {\n const activeAsset =\n parentAssetType === ASSET_TYPES.intervention_unit.type\n ? assets.find(asset => Number(asset.id) === Number(activeWellId))\n : assets.find(asset => asset.status === ACTIVE_STATUS);\n\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={activeAsset?.name}\n status={activeAsset?.status}\n />\n );\n }\n\n const selectedAsset = assets.find(asset => asset.id === Number(assetId));\n\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={selectedAsset?.name}\n status={selectedAsset?.status}\n />\n );\n };\n\n return (\n <div className={styles.container}>\n <FormControl className={styles.formControl} disabled={loading}>\n <InputLabel shrink={!!value}>{secondaryAssetLabel}</InputLabel>\n <Select\n data-testid={dataTestId}\n classes={{ select: styles.select }}\n value={value}\n disabled={disabled}\n onChange={handleSelectChange}\n fullWidth\n renderValue={renderSelectValue}\n >\n {options.map(({ id, name, status }) => {\n const assetName = name || '';\n\n return (\n <SelectItem\n className={styles.option}\n assetName={assetName}\n data-testid={`${PAGE_NAME}_option_${assetName}MenuItem`}\n key={id}\n value={id}\n status={status}\n />\n );\n })}\n </Select>\n </FormControl>\n {loading && (\n <CircularProgress\n data-testid={`${PAGE_NAME}_CircularProgress`}\n size={20}\n className={styles.progress}\n />\n )}\n </div>\n );\n};\n\nexport default SecondaryAssetSelect;\n"],"names":["PAGE_NAME","DEFAULT_ASSET_FIELDS","useStyles","makeStyles","theme","container","position","select","display","alignItems","justifyContent","paddingBottom","paddingTop","formControl","marginTop","width","borderBottom","selectValue","_ref","cursor","padding","color","disabled","palette","primary","text7","contrastText","backgroundColor","option","_ref2","activeAssets","progress","right","bottom","noActiveAsset","isAssetId","value","_ref3","_ref3$appKey","appKey","primaryAssetLabel","isRequiredAssetId","secondaryAssetLabel","company","_ref3$currentValue","currentValue","_ref3$defaultValue","defaultValue","onChange","parentAssetId","assetType","parentAssetType","_ref3$assetFields","assetFields","activeWellId","isDrillingPlatformApp","_ref3$dataTestid","dataTestId","resolvedAssetType","DEFAULT_ASSET_TYPE","_useSecondaryAssetSel","useSecondaryAssetSelectData","assetId","assets","loading","styles","hasActiveAsset","some","asset","status","ACTIVE_STATUS","ASSET_TYPES","intervention_unit","type","Number","id","capitalizedAssetType","capitalize","options","name","concat","ACTIVE_ASSET_ID","_toConsumableArray","_jsxs","className","children","FormControl","_jsx","InputLabel","shrink","Select","classes","_ref4","target","nextValue","find","fullWidth","renderValue","ACTIVE_ASSETS_ID","activeAsset","SelectItem","assetName","selectedAsset","map","_ref5","jsx","CircularProgress","size"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/objectWithoutProperties"),i=require("react"),a=require("prop-types"),n=require("classnames"),s=require("@material-ui/core"),c=require("@material-ui/icons"),o=require("../constants.js"),l=require("../../MiddleTruncate/MiddleTruncate.js"),u=require("react/jsx-runtime");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=d(e),f=d(t),m=d(r),h=d(a),b=d(n),j=["data-testid","value","className","assetName","status","multiple","selected"];function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){p.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var g=s.makeStyles({menuItem:{display:"flex",justifyContent:"space-between",width:"100%",height:36,paddingBottom:0,paddingTop:0},option:{display:"flex",alignItems:"center",justifyContent:"space-between"},itemContent:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between"},activeChip:{fontWeight:500,backgroundColor:"#75DB29",color:"#212121",fontSize:10,cursor:"pointer",height:12,textTransform:"uppercase",marginRight:12,letterSpacing:1}}),v=i.forwardRef((function(e,t){var r=e["data-testid"],a=void 0===r?"MenuItem":r,n=e.value,d=e.className,p=e.assetName,h=e.status,y=e.multiple,v=e.selected,O=m.default(e,j),C=i.useState(null),w=f.default(C,2),T=w[0],q=w[1],k=!!T,P=g(),S=u.jsxs("div",{className:P.itemContent,children:[u.jsx(l,{onTruncate:function(e){q(e)},truncatedText:T,maxWidth:380,children:p}),h===o.ACTIVE_STATUS&&u.jsx(s.Chip,{"data-not-migrated-muichip":!0,className:P.activeChip,label:"Active"})]});return u.jsx(s.Tooltip,{title:k?p:"",children:y?u.jsxs("div",{className:b.default(P.option),children:[u.jsx(s.Checkbox,{disableRipple:!0,icon:u.jsx(c.CheckBoxOutlineBlank,{style:{fontSize:20}}),className:P.checkbox,checkedIcon:u.jsx(c.CheckBox,{style:{fontSize:20}}),checked:v}),S]}):u.jsx("div",x(x({"data-testid":a,value:n,className:b.default(P.menuItem,d)},O),{},{children:S}))})}));v.propTypes={"data-testid":h.default.string},module.exports=v;
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/objectWithoutProperties"),i=require("react"),a=require("classnames"),n=require("@material-ui/core"),s=require("@material-ui/icons"),c=require("../constants.js"),l=require("../../MiddleTruncate/MiddleTruncate.js"),o=require("react/jsx-runtime");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=u(e),p=u(t),f=u(r),m=u(a),h=["data-testid","value","className","assetName","status","multiple","selected"];function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,i)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){d.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=n.makeStyles({menuItem:{display:"flex",justifyContent:"space-between",width:"100%",height:36,paddingBottom:0,paddingTop:0},option:{display:"flex",alignItems:"center",justifyContent:"space-between"},itemContent:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between"},activeChip:{fontWeight:500,backgroundColor:"#75DB29",color:"#212121",fontSize:10,cursor:"pointer",height:12,textTransform:"uppercase",marginRight:12,letterSpacing:1}}),x=i.forwardRef((function(e,t){var r=e["data-testid"],a=void 0===r?"MenuItem":r,u=e.value,d=e.className,b=e.assetName,x=void 0===b?"":b,g=e.status,v=e.multiple,O=e.selected,C=f.default(e,h),w=i.useState(null),T=p.default(w,2),q=T[0],P=T[1],S=!!q,k=y(),N=o.jsxs("div",{className:k.itemContent,children:[o.jsx(l,{onTruncate:P,truncatedText:q,maxWidth:380,children:x}),g===c.ACTIVE_STATUS&&o.jsx(n.Chip,{"data-not-migrated-muichip":!0,className:k.activeChip,label:"Active"})]});return o.jsx(n.Tooltip,{title:S?x:"",children:v?o.jsxs("div",{className:m.default(k.option),ref:t,children:[o.jsx(n.Checkbox,{disableRipple:!0,icon:o.jsx(s.CheckBoxOutlineBlank,{style:{fontSize:20}}),checkedIcon:o.jsx(s.CheckBox,{style:{fontSize:20}}),checked:O}),N]}):o.jsx("div",j(j({"data-testid":a,className:m.default(k.menuItem,d),ref:t,value:u},C),{},{children:N}))})}));module.exports=x;
2
2
  //# sourceMappingURL=SelectItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.js","sources":["../../../../../src/components/AssetEditorV2/components/SelectItem.js"],"sourcesContent":["import { forwardRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { makeStyles, Chip, Tooltip, Checkbox } from '@material-ui/core';\nimport {\n CheckBox as CheckBoxIcon,\n CheckBoxOutlineBlank as CheckBoxOutlineBlankIcon,\n} from '@material-ui/icons';\n\nimport { ACTIVE_STATUS } from '../constants';\n\nimport MiddleTruncate from '~/components/MiddleTruncate';\n\nconst useStyles = makeStyles({\n menuItem: {\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n height: 36,\n paddingBottom: 0,\n paddingTop: 0,\n },\n option: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n itemContent: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n activeChip: {\n fontWeight: 500,\n backgroundColor: '#75DB29',\n color: '#212121',\n fontSize: 10,\n cursor: 'pointer',\n height: 12,\n textTransform: 'uppercase',\n marginRight: 12,\n letterSpacing: 1,\n },\n});\n\nconst SelectItem = forwardRef(\n (\n {\n 'data-testid': PAGE_NAME = 'MenuItem',\n value,\n className,\n assetName,\n status,\n multiple,\n selected,\n ...restProps\n },\n // eslint-disable-next-line no-unused-vars\n muiRef\n ) => {\n const [truncatedText, setTruncatedText] = useState(null);\n const isTruncated = !!truncatedText;\n const styles = useStyles();\n\n const handleTruncatedText = truncatedText => {\n setTruncatedText(truncatedText);\n };\n\n const itemContent = (\n <div className={styles.itemContent}>\n <MiddleTruncate\n onTruncate={handleTruncatedText}\n truncatedText={truncatedText}\n maxWidth={380}\n >\n {assetName}\n </MiddleTruncate>\n {status === ACTIVE_STATUS && (\n <Chip data-not-migrated-muichip className={styles.activeChip} label=\"Active\" />\n )}\n </div>\n );\n\n return (\n <Tooltip title={isTruncated ? assetName : ''}>\n {multiple ? (\n <div className={classNames(styles.option)}>\n <Checkbox\n disableRipple\n icon={<CheckBoxOutlineBlankIcon style={{ fontSize: 20 }} />}\n className={styles.checkbox}\n checkedIcon={<CheckBoxIcon style={{ fontSize: 20 }} />}\n checked={selected}\n />\n {itemContent}\n </div>\n ) : (\n <div\n data-testid={PAGE_NAME}\n value={value}\n className={classNames(styles.menuItem, className)}\n {...restProps}\n >\n {itemContent}\n </div>\n )}\n </Tooltip>\n );\n }\n);\n\nSelectItem.propTypes = {\n 'data-testid': PropTypes.string,\n};\n\nexport default SelectItem;\n"],"names":["useStyles","makeStyles","menuItem","display","justifyContent","width","height","paddingBottom","paddingTop","option","alignItems","itemContent","activeChip","fontWeight","backgroundColor","color","fontSize","cursor","textTransform","marginRight","letterSpacing","SelectItem","forwardRef","_ref","muiRef","_ref$dataTestid","PAGE_NAME","value","className","assetName","status","multiple","selected","restProps","_objectWithoutProperties","_excluded","useState","_useState2","_slicedToArray","_useState","truncatedText","setTruncatedText","isTruncated","styles","_jsxs","jsxs","children","_jsx","MiddleTruncate","onTruncate","maxWidth","ACTIVE_STATUS","Chip","label","Tooltip","title","classNames","Checkbox","disableRipple","icon","CheckBoxOutlineBlankIcon","style","checkbox","checkedIcon","CheckBoxIcon","checked","jsx","_objectSpread","propTypes","PropTypes","string"],"mappings":"2qCAaA,IAAMA,EAAYC,EAAAA,WAAW,CAC3BC,SAAU,CACRC,QAAS,OACTC,eAAgB,gBAChBC,MAAO,OACPC,OAAQ,GACRC,cAAe,EACfC,WAAY,GAEdC,OAAQ,CACNN,QAAS,OACTO,WAAY,SACZN,eAAgB,iBAElBO,YAAa,CACXN,MAAO,OACPF,QAAS,OACTO,WAAY,SACZN,eAAgB,iBAElBQ,WAAY,CACVC,WAAY,IACZC,gBAAiB,UACjBC,MAAO,UACPC,SAAU,GACVC,OAAQ,UACRX,OAAQ,GACRY,cAAe,YACfC,YAAa,GACbC,cAAe,KAIbC,EAAaC,EAAUA,YAC3B,SAAAC,EAYEC,GACG,IAAAC,EAAAF,EAXD,eAAeG,aAAY,WAAUD,EACrCE,IAAAA,MACAC,IAAAA,UACAC,IAAAA,UACAC,IAAAA,OACAC,IAAAA,SACAC,IAAAA,SACGC,EAASC,EAAA,QAAAX,EAAAY,GAK4BC,EAAAA,EAAQA,SAAC,MAAKC,EAAAC,EAAAA,QAAAC,EAAA,GAAjDC,EAAaH,EAAA,GAAEI,EAAgBJ,EAAA,GAChCK,IAAgBF,EAChBG,EAAS3C,IAMTW,EACJiC,EAAAC,KAAA,MAAA,CAAKjB,UAAWe,EAAOhC,YAAYmC,SAAA,CACjCC,MAACC,EAAc,CACbC,WAPsB,SAAAT,GAC1BC,EAAiBD,IAObA,cAAeA,EACfU,SAAU,IAAIJ,SAEbjB,IAEFC,IAAWqB,iBACVJ,EAAAA,IAACK,EAAAA,KAAI,CAAC,6BAAyB,EAACxB,UAAWe,EAAO/B,WAAYyC,MAAM,cAK1E,OACEN,EAAAA,IAACO,EAAAA,QAAO,CAACC,MAAOb,EAAcb,EAAY,GAAGiB,SAC1Cf,EACCa,EAAAC,KAAA,MAAA,CAAKjB,UAAW4B,EAAAA,QAAWb,EAAOlC,QAAQqC,SAAA,CACxCC,MAACU,WAAQ,CACPC,eAAa,EACbC,KAAMZ,MAACa,uBAAwB,CAACC,MAAO,CAAE7C,SAAU,MACnDY,UAAWe,EAAOmB,SAClBC,YAAahB,MAACiB,WAAY,CAACH,MAAO,CAAE7C,SAAU,MAC9CiD,QAASjC,IAEVrB,KAGHoC,EAAAmB,IAAA,MAAAC,EAAAA,EAAA,CACE,cAAazC,EACbC,MAAOA,EACPC,UAAW4B,EAAU,QAACb,EAAOzC,SAAU0B,IACnCK,GAAS,GAAA,CAAAa,SAEZnC,MAKX,IAGFU,EAAW+C,UAAY,CACrB,cAAeC,EAAS,QAACC"}
1
+ {"version":3,"file":"SelectItem.js","sources":["../../../../../src/components/AssetEditorV2/components/SelectItem.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, useState } from 'react';\nimport classNames from 'classnames';\nimport { makeStyles, Chip, Tooltip, Checkbox } from '@material-ui/core';\nimport {\n CheckBox as CheckBoxIcon,\n CheckBoxOutlineBlank as CheckBoxOutlineBlankIcon,\n} from '@material-ui/icons';\n\nimport { ACTIVE_STATUS } from '../constants';\nimport { AssetId } from '../types';\n\nimport MiddleTruncate from '~/components/MiddleTruncate';\n\nconst useStyles = makeStyles({\n menuItem: {\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n height: 36,\n paddingBottom: 0,\n paddingTop: 0,\n },\n option: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n itemContent: {\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n activeChip: {\n fontWeight: 500,\n backgroundColor: '#75DB29',\n color: '#212121',\n fontSize: 10,\n cursor: 'pointer',\n height: 12,\n textTransform: 'uppercase',\n marginRight: 12,\n letterSpacing: 1,\n },\n});\n\ntype Props = Omit<HTMLAttributes<HTMLDivElement>, 'children'> & {\n 'data-testid'?: string;\n assetName?: string;\n multiple?: boolean;\n selected?: boolean;\n status?: string | null;\n value?: AssetId;\n};\n\nconst SelectItem = forwardRef<HTMLDivElement, Props>(\n (\n {\n 'data-testid': pageName = 'MenuItem',\n value,\n className,\n assetName = '',\n status,\n multiple,\n selected,\n ...restProps\n },\n ref\n ) => {\n const [truncatedText, setTruncatedText] = useState<string | null>(null);\n const isTruncated = !!truncatedText;\n const styles = useStyles();\n\n const itemContent = (\n <div className={styles.itemContent}>\n <MiddleTruncate onTruncate={setTruncatedText} truncatedText={truncatedText} maxWidth={380}>\n {assetName}\n </MiddleTruncate>\n {status === ACTIVE_STATUS && (\n <Chip data-not-migrated-muichip className={styles.activeChip} label=\"Active\" />\n )}\n </div>\n );\n\n return (\n <Tooltip title={isTruncated ? assetName : ''}>\n {multiple ? (\n <div className={classNames(styles.option)} ref={ref}>\n <Checkbox\n disableRipple\n icon={<CheckBoxOutlineBlankIcon style={{ fontSize: 20 }} />}\n checkedIcon={<CheckBoxIcon style={{ fontSize: 20 }} />}\n checked={selected}\n />\n {itemContent}\n </div>\n ) : (\n <div\n data-testid={pageName}\n className={classNames(styles.menuItem, className)}\n ref={ref}\n {...{ value }}\n {...restProps}\n >\n {itemContent}\n </div>\n )}\n </Tooltip>\n );\n }\n);\n\nexport default SelectItem;\n"],"names":["useStyles","makeStyles","menuItem","display","justifyContent","width","height","paddingBottom","paddingTop","option","alignItems","itemContent","activeChip","fontWeight","backgroundColor","color","fontSize","cursor","textTransform","marginRight","letterSpacing","SelectItem","forwardRef","_ref","ref","_ref$dataTestid","pageName","value","className","_ref$assetName","assetName","status","multiple","selected","restProps","_objectWithoutProperties","_excluded","useState","_useState2","_slicedToArray","_useState","truncatedText","setTruncatedText","isTruncated","styles","_jsxs","jsxs","children","_jsx","MiddleTruncate","onTruncate","maxWidth","ACTIVE_STATUS","Chip","label","Tooltip","title","classNames","Checkbox","disableRipple","icon","CheckBoxOutlineBlankIcon","style","checkedIcon","CheckBoxIcon","checked","jsx","_objectSpread"],"mappings":"4oCAaA,IAAMA,EAAYC,EAAAA,WAAW,CAC3BC,SAAU,CACRC,QAAS,OACTC,eAAgB,gBAChBC,MAAO,OACPC,OAAQ,GACRC,cAAe,EACfC,WAAY,GAEdC,OAAQ,CACNN,QAAS,OACTO,WAAY,SACZN,eAAgB,iBAElBO,YAAa,CACXN,MAAO,OACPF,QAAS,OACTO,WAAY,SACZN,eAAgB,iBAElBQ,WAAY,CACVC,WAAY,IACZC,gBAAiB,UACjBC,MAAO,UACPC,SAAU,GACVC,OAAQ,UACRX,OAAQ,GACRY,cAAe,YACfC,YAAa,GACbC,cAAe,KAabC,EAAaC,EAAUA,YAC3B,SAAAC,EAWEC,GACG,IAAAC,EAAAF,EAVD,eAAeG,aAAW,WAAUD,EACpCE,IAAAA,MACAC,IAAAA,UAASC,EAAAN,EACTO,UAAAA,aAAY,GAAED,EACdE,IAAAA,OACAC,IAAAA,SACAC,IAAAA,SACGC,EAASC,EAAA,QAAAZ,EAAAa,GAI4BC,EAAAA,EAAQA,SAAgB,MAAKC,EAAAC,EAAAA,QAAAC,EAAA,GAAhEC,EAAaH,EAAA,GAAEI,EAAgBJ,EAAA,GAChCK,IAAgBF,EAChBG,EAAS5C,IAETW,EACJkC,EAAAC,KAAA,MAAA,CAAKlB,UAAWgB,EAAOjC,YAAYoC,SAAA,CACjCC,MAACC,EAAc,CAACC,WAAYR,EAAkBD,cAAeA,EAAeU,SAAU,IAAIJ,SACvFjB,IAEFC,IAAWqB,iBACVJ,EAAAA,IAACK,EAAAA,KAAI,CAAC,6BAAyB,EAACzB,UAAWgB,EAAOhC,WAAY0C,MAAM,cAK1E,OACEN,EAAAA,IAACO,EAAAA,QAAO,CAACC,MAAOb,EAAcb,EAAY,GAAGiB,SAC1Cf,EACCa,EAAAC,KAAA,MAAA,CAAKlB,UAAW6B,EAAAA,QAAWb,EAAOnC,QAASe,IAAKA,EAAIuB,SAAA,CAClDC,MAACU,WAAQ,CACPC,eAAa,EACbC,KAAMZ,MAACa,uBAAwB,CAACC,MAAO,CAAE9C,SAAU,MACnD+C,YAAaf,MAACgB,WAAY,CAACF,MAAO,CAAE9C,SAAU,MAC9CiD,QAAShC,IAEVtB,KAGHqC,EAAAkB,IAAA,MAAAC,EAAAA,EAAA,CACE,cAAazC,EACbE,UAAW6B,EAAU,QAACb,EAAO1C,SAAU0B,GACvCJ,IAAKA,EACCG,MAAAA,GACFO,GAAS,GAAA,CAAAa,SAEZpC,MAKX"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/components/AssetEditorV2/constants.js"],"sourcesContent":["import { ASSET_TYPES } from '~/constants';\n\nexport const PER_PAGE = 200;\n\n// The distance in pixels before the end of the items that will trigger a call to loadMore.\nexport const SCROLL_THRESHOLD = 400;\n\nexport const ACTIVE_STATUS = 'active';\n\nexport const ACTIVE_ASSET_ID = 'activeAsset';\n\nexport const ACTIVE_ASSETS_ID = 'activeAssets';\n\nexport const DEFAULT_ASSET_TYPE = 'asset';\n\nexport const ASSET_TYPE_SEARCH_PLACEHOLDERS = {\n [ASSET_TYPES.intervention_unit.type]: 'Search Intervention Unit...',\n [ASSET_TYPES.rig.type]: 'Search Rig...',\n [ASSET_TYPES.frac_fleet.type]: 'Search Pad / Frac Fleet...',\n};\n\nexport const ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY = {\n ...ASSET_TYPE_SEARCH_PLACEHOLDERS,\n [ASSET_TYPES.frac_fleet.type]: 'Search Frac Fleet...',\n};\n"],"names":["ASSET_TYPE_SEARCH_PLACEHOLDERS","_ASSET_TYPE_SEARCH_PL","_defineProperty","ASSET_TYPES","intervention_unit","type","rig","frac_fleet","ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY"],"mappings":"8zCAOO,IAQMA,GAA8BC,EAAA,GAAAC,EAAAA,QAAAD,EACxCE,cAAYC,kBAAkBC,KAAO,+BAA6BH,EAAA,QAAAD,EAClEE,cAAYG,IAAID,KAAO,iBACvBF,UAAAA,EAAAA,EAAWA,YAACI,WAAWF,KAAO,8BAChCJ,GAEYO,EACRR,EAAAA,EAAAA,CAAAA,EAAAA,GACFG,CAAAA,EAAAA,EAAAA,QAAAA,CAAAA,EAAAA,EAAWA,YAACI,WAAWF,KAAO,kDAZD,uCAFD,oCAFF,mIAMK"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/components/AssetEditorV2/constants.ts"],"sourcesContent":["import { ASSET_TYPES } from '~/constants';\n\nexport const PER_PAGE = 200;\n\n// The distance in pixels before the end of the items that will trigger a call to loadMore.\nexport const SCROLL_THRESHOLD = 400;\n\nexport const ACTIVE_STATUS = 'active';\n\nexport const ACTIVE_ASSET_ID = 'activeAsset';\n\nexport const ACTIVE_ASSETS_ID = 'activeAssets';\n\nexport const DEFAULT_ASSET_TYPE = 'asset';\n\nexport const ASSET_TYPE_SEARCH_PLACEHOLDERS: Record<string, string> = {\n [ASSET_TYPES.intervention_unit.type]: 'Search Intervention Unit...',\n [ASSET_TYPES.rig.type]: 'Search Rig...',\n [ASSET_TYPES.frac_fleet.type]: 'Search Pad / Frac Fleet...',\n};\n\nexport const ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY: Record<string, string> = {\n ...ASSET_TYPE_SEARCH_PLACEHOLDERS,\n [ASSET_TYPES.frac_fleet.type]: 'Search Frac Fleet...',\n};\n"],"names":["ASSET_TYPE_SEARCH_PLACEHOLDERS","_ASSET_TYPE_SEARCH_PL","_defineProperty","ASSET_TYPES","intervention_unit","type","rig","frac_fleet","ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY"],"mappings":"8zCAOO,IAQMA,GAAsDC,EAAA,GAAAC,EAAAA,QAAAD,EAChEE,cAAYC,kBAAkBC,KAAO,+BAA6BH,EAAA,QAAAD,EAClEE,cAAYG,IAAID,KAAO,iBACvBF,UAAAA,EAAAA,EAAWA,YAACI,WAAWF,KAAO,8BAChCJ,GAEYO,EACRR,EAAAA,EAAAA,CAAAA,EAAAA,GACFG,CAAAA,EAAAA,EAAAA,QAAAA,CAAAA,EAAAA,EAAWA,YAACI,WAAWF,KAAO,kDAZD,uCAFD,oCAFF,mIAMK"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("@babel/runtime/helpers/typeof"),e=require("../../../utils/jsonaDataFormatter.js");function t(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var n=t(r),i=function(r){return"object"===n.default(r)&&null!==r&&!Array.isArray(r)},u=function(r){return i(r)&&"string"==typeof r.type},a=function(r){if("string"==typeof r)return!0;if(!i(r))return!1;var e=!("data"in r)||function(r){return Array.isArray(r)?r.every(u):u(r)}(r.data),t=!("included"in r)||Array.isArray(r.included)&&r.included.every(u);return e&&t};exports.deserializeAssetResponse=function(r){if(!a(r))return[];var t=e.jsonaDataFormatter.deserialize(r);return Array.isArray(t)?t:[]},exports.getFirstIncludedId=function(r){if(!i(r)||!Array.isArray(r.included))return null;var e=r.included[0];return i(e)&&Number(e.id)||null},exports.getResponseData=function(r){return i(r)?r.data:void 0};
2
+ //# sourceMappingURL=assetResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetResponse.js","sources":["../../../../../src/components/AssetEditorV2/effects/assetResponse.ts"],"sourcesContent":["import { jsonaDataFormatter } from '~/utils/jsonaDataFormatter';\n\ntype JsonApiInput = Parameters<typeof jsonaDataFormatter.deserialize>[0];\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst isJsonApiResource = (value: unknown): boolean =>\n isRecord(value) && typeof value.type === 'string';\n\nconst isJsonApiData = (value: unknown): boolean =>\n Array.isArray(value) ? value.every(isJsonApiResource) : isJsonApiResource(value);\n\nconst isJsonApiInput = (value: unknown): value is JsonApiInput => {\n if (typeof value === 'string') return true;\n if (!isRecord(value)) return false;\n\n const hasValidData = !('data' in value) || isJsonApiData(value.data);\n const hasValidIncluded =\n !('included' in value) ||\n (Array.isArray(value.included) && value.included.every(isJsonApiResource));\n\n return hasValidData && hasValidIncluded;\n};\n\nexport const deserializeAssetResponse = (response: unknown): unknown[] => {\n if (!isJsonApiInput(response)) return [];\n\n const deserializedResponse: unknown = jsonaDataFormatter.deserialize(response);\n\n return Array.isArray(deserializedResponse) ? deserializedResponse : [];\n};\n\nexport const getResponseData = (response: unknown): unknown =>\n isRecord(response) ? response.data : undefined;\n\nexport const getFirstIncludedId = (response: unknown): number | null => {\n if (!isRecord(response) || !Array.isArray(response.included)) return null;\n\n const firstIncluded = response.included[0];\n if (!isRecord(firstIncluded)) return null;\n\n return Number(firstIncluded.id) || null;\n};\n"],"names":["isRecord","value","_typeof","Array","isArray","isJsonApiResource","type","isJsonApiInput","hasValidData","every","isJsonApiData","data","hasValidIncluded","included","response","deserializedResponse","jsonaDataFormatter","deserialize","firstIncluded","Number","id","undefined"],"mappings":"wPAIMA,EAAW,SAACC,GAAc,MACb,WAAjBC,EAAOD,QAAAA,IAAgC,OAAVA,IAAmBE,MAAMC,QAAQH,EAAM,EAEhEI,EAAoB,SAACJ,GAAc,OACvCD,EAASC,IAAgC,iBAAfA,EAAMK,IAAiB,EAK7CC,EAAiB,SAACN,GACtB,GAAqB,iBAAVA,EAAoB,OAAO,EACtC,IAAKD,EAASC,GAAQ,OAAO,EAE7B,IAAMO,IAAiB,SAAUP,IAPb,SAACA,GAAc,OACnCE,MAAMC,QAAQH,GAASA,EAAMQ,MAAMJ,GAAqBA,EAAkBJ,EAAM,CAMrCS,CAAcT,EAAMU,MACzDC,IACF,aAAcX,IACfE,MAAMC,QAAQH,EAAMY,WAAaZ,EAAMY,SAASJ,MAAMJ,GAEzD,OAAOG,GAAgBI,CACzB,mCAEwC,SAACE,GACvC,IAAKP,EAAeO,GAAW,MAAO,GAEtC,IAAMC,EAAgCC,EAAAA,mBAAmBC,YAAYH,GAErE,OAAOX,MAAMC,QAAQW,GAAwBA,EAAuB,EACtE,6BAKkC,SAACD,GACjC,IAAKd,EAASc,KAAcX,MAAMC,QAAQU,EAASD,UAAW,OAAO,KAErE,IAAMK,EAAgBJ,EAASD,SAAS,GACxC,OAAKb,EAASkB,IAEPC,OAAOD,EAAcE,KAFS,IAGvC,0BAV+B,SAACN,GAAiB,OAC/Cd,EAASc,GAAYA,EAASH,UAAOU,CAAS"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/asyncToGenerator"),s=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/regenerator"),a=require("react"),i=require("lodash"),u=require("../utils/index.js");require("uuid"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment");var o=require("../../../clients/jsonApi/index.js");require("../../../clients/subscriptions/constants.js"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../clients/api/apiCore.js"),require("../../../clients/constants.js"),require("../../../clients/sso/auth0.js"),require("../../../clients/sso/oauth2.js"),require("../../../clients/api/rateLimiter.js");var c=require("../../../utils/jsonaDataFormatter.js");require("../../../constants/goals.js"),require("../../../constants/segment.js"),require("../../../constants/alerts.js"),require("../../../constants/apps.js"),require("../../../constants/drillstring.js"),require("../../../constants/completion.js"),require("../../../constants/appPackages.js"),require("../../../constants/notifications.js"),require("../../../constants/feed.js"),require("../../../constants/bha.js");var l=require("../../../constants/assetTypes.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../constants/corvaCompanyId.js"),require("../../GradientManager/configuration/constants.js");var f=p(e),d=p(t),y=p(r),q=p(s),v=p(n);function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,s)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){d.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var b=function(e){return e===l.ASSET_TYPES.intervention_unit.type?"intervention_unit_id":e};var h=function(e,t){return e===l.ASSET_TYPES.pad.type?[].concat(f.default(t),["pad.active","pad.parent_frac_fleet_id","pad.current"]):e===l.ASSET_TYPES.intervention_unit.type?[].concat(f.default(t),["intervention_unit.active","intervention_unit.current"]):t};exports.usePrimaryAssetSelectData=function(e){var t,r=e.appKey,s=e.assetType,n=e.company,p=e.groups,d=e.isRequiredAssetId,j=e.parentAssetId,b=e.parentAssetType,g=e.searchText,A=e.assetFields,O=e.currentValue,S=e.setCurrentOption,P=e.onActiveAssetIdChange,_=a.useState([]),x=q.default(_,2),T=x[0],E=x[1],I=a.useState(!1),w=q.default(I,2),k=w[0],D=w[1],R=a.useRef(null),C=(t=y.default(v.default.mark((function e(t){var a,p,y,q,_,x,T;return v.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,a=(null==t?void 0:t.type)||s,p={per_page:1e4},b&&j&&(p[b]=j),n&&"all"!==n&&(p.company=n),g&&(p.search=g),r&&(p.app_key=r),R.current=n,y=o.mapAssetGetRequest(a)(m(m({},u.getRequestOptions(a,h(a,A))),p)),e.next=11,y;case 11:q=e.sent,_=c.jsonaDataFormatter.deserialize(q),x=_.map((function(e){return u.formatAsset({asset:e,group:null==t?void 0:t.name,isRequiredAssetId:d,isPrimaryAsset:!0})})).filter(Boolean).sort(u.sortAsset),R.current===n&&E((function(e){return[].concat(f.default(e),f.default(x))})),O&&a===s&&(T=x.find((function(e){return O===e.id||e.assetId&&O===e.assetId})),i.isEmpty(T)||S(T),a===l.ASSET_TYPES.rig.type&&P(null==T?void 0:T.activeWellId)),e.next=21;break;case 18:e.prev=18,e.t0=e.catch(0),console.error(e.t0);case 21:case"end":return e.stop()}}),e,null,[[0,18]])}))),function(e){return t.apply(this,arguments)});return a.useEffect((function(){n&&E([])}),[n]),a.useEffect((function(){var e,t=(e=y.default(v.default.mark((function e(){return v.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,D(!0),!p){e.next=7;break}return e.next=5,Promise.all(p.map((function(e){return C(e)})));case 5:e.next=9;break;case 7:return e.next=9,C();case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(0),console.error(e.t0);case 14:return e.prev=14,D(!1),e.finish(14);case 17:case"end":return e.stop()}}),e,null,[[0,11,14,17]])}))),function(){return e.apply(this,arguments)});t()}),[s,b,j,n,r,null==p?void 0:p.length]),{assets:k?[]:T,loading:k}},exports.useSecondaryAssetSelectData=function(e){var t=e.appKey,r=e.assetType,s=e.assetId,n=e.company,i=e.parentAssetType,l=e.parentAssetId,p=e.queryParams,f=e.assetFields,j=e.activeWellId,h=e.isRequiredAssetId,g=a.useState([]),A=q.default(g,2),O=A[0],S=A[1],P=a.useState(!0),_=q.default(P,2),x=_[0],T=_[1];return a.useEffect((function(){function e(){return(e=y.default(v.default.mark((function e(){var s,a;return v.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.mapAssetGetRequest(r)(m(m(m({},u.getRequestOptions(r,f)),{},d.default({per_page:1e4,company:"all"!==n?n:null},b(i),l),t&&{app_key:t}),p));case 2:s=e.sent,a=c.jsonaDataFormatter.deserialize(s),S(a.map((function(e){return u.formatAsset({asset:e,activeWellId:j,isRequiredAssetId:h})})).sort(u.sortAsset)),T(!1);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}T(!0),function(){e.apply(this,arguments)}()}),[r,s,i,l,t,j,n]),{assets:O,loading:x}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/asyncToGenerator"),s=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/regenerator"),a=require("react"),i=require("../constants.js"),u=require("../utils/index.js");require("uuid"),require("lodash"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment");var o=require("../../../clients/jsonApi/index.js");require("../../../clients/subscriptions/constants.js"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../clients/api/apiCore.js"),require("../../../clients/constants.js"),require("../../../clients/sso/auth0.js"),require("../../../clients/sso/oauth2.js"),require("../../../clients/api/rateLimiter.js"),require("../../../constants/goals.js"),require("../../../constants/segment.js"),require("../../../constants/alerts.js"),require("../../../constants/apps.js"),require("../../../constants/drillstring.js"),require("../../../constants/completion.js"),require("../../../constants/appPackages.js"),require("../../../constants/notifications.js"),require("../../../constants/feed.js"),require("../../../constants/bha.js");var c=require("../../../constants/assetTypes.js");require("../../../constants/corvaCompanyId.js"),require("../../GradientManager/configuration/constants.js");var l=require("./assetResponse.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=p(e),d=p(t),v=p(r),q=p(s),y=p(n);function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,s)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){d.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var m=function(e){return e?e===c.ASSET_TYPES.intervention_unit.type?"intervention_unit_id":e:null},A=function(e,t){return e===c.ASSET_TYPES.pad.type?[].concat(f.default(t),["pad.active","pad.parent_frac_fleet_id","pad.current"]):e===c.ASSET_TYPES.intervention_unit.type?[].concat(f.default(t),["intervention_unit.active","intervention_unit.current"]):t};exports.usePrimaryAssetSelectData=function(e){var t=e.appKey,r=e.assetType,s=e.company,n=e.groups,p=e.isRequiredAssetId,d=e.parentAssetId,j=e.parentAssetType,m=e.searchText,h=e.assetFields,g=void 0===h?[]:h,S=e.currentValue,O=e.setCurrentOption,_=e.onActiveAssetIdChange,T=a.useState([]),P=q.default(T,2),E=P[0],x=P[1],I=a.useState(!1),w=q.default(I,2),R=w[0],k=w[1],D=a.useRef(null),Y=r||i.DEFAULT_ASSET_TYPE,C=function(){var e=v.default(y.default.mark((function e(r){var n,a,i,v,q;return y.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=(null==r?void 0:r.type)||Y,a={per_page:1e4},j&&d&&(a[j]=d),s&&"all"!==s&&(a.company=s),m&&(a.search=m),t&&(a.app_key=t),D.current=s,e.next=10,o.mapAssetGetRequest(n)(b(b({},u.getRequestOptions(n,A(n,g))),a));case 10:i=e.sent,v=l.deserializeAssetResponse(i).map((function(e){return u.formatAsset({asset:e,group:null==r?void 0:r.name,isRequiredAssetId:p,isPrimaryAsset:!0})})).filter(u.isAssetOption).sort(u.sortAsset),D.current===s&&x((function(e){return[].concat(f.default(e),f.default(v))})),S&&n===Y&&((q=v.find((function(e){return Number(S)===e.id||e.assetId&&Number(S)===e.assetId})))&&O(q),n===c.ASSET_TYPES.rig.type&&_((null==q?void 0:q.activeWellId)||null)),e.next=19;break;case 16:e.prev=16,e.t0=e.catch(0),console.error(e.t0);case 19:case"end":return e.stop()}}),e,null,[[0,16]])})));return function(t){return e.apply(this,arguments)}}();return a.useEffect((function(){s&&x([])}),[s]),a.useEffect((function(){var e=function(){var e=v.default(y.default.mark((function e(){return y.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,k(!0),!n){e.next=7;break}return e.next=5,Promise.all(n.map((function(e){return C(e)})));case 5:e.next=9;break;case 7:return e.next=9,C();case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(0),console.error(e.t0);case 14:return e.prev=14,k(!1),e.finish(14);case 17:case"end":return e.stop()}}),e,null,[[0,11,14,17]])})));return function(){return e.apply(this,arguments)}}();e()}),[r,j,d,s,t,null==n?void 0:n.length]),{assets:R?[]:E,loading:R}},exports.useSecondaryAssetSelectData=function(e){var t=e.appKey,r=e.assetType,s=e.assetId,n=e.company,c=e.parentAssetType,p=e.parentAssetId,f=e.queryParams,j=void 0===f?{}:f,A=e.assetFields,h=void 0===A?[]:A,g=e.activeWellId,S=e.isRequiredAssetId,O=a.useState([]),_=q.default(O,2),T=_[0],P=_[1],E=a.useState(!0),x=q.default(E,2),I=x[0],w=x[1],R=r||i.DEFAULT_ASSET_TYPE;return a.useEffect((function(){w(!0);var e=function(){var e=v.default(y.default.mark((function e(){var r,s,a;return y.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m(c),e.next=3,o.mapAssetGetRequest(R)(b(b(b(b({},u.getRequestOptions(R,h)),{},{per_page:1e4,company:"all"!==n?n:null},r&&d.default({},r,p)),t&&{app_key:t}),j));case 3:s=e.sent,a=l.deserializeAssetResponse(s).map((function(e){return u.formatAsset({asset:e,activeWellId:g,isRequiredAssetId:S})})).filter(u.isAssetOption).sort(u.sortAsset),P(a),w(!1);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}),[r,s,c,p,t,g,n]),{assets:T,loading:I}};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/AssetEditorV2/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { isEmpty } from 'lodash';\n\nimport { formatAsset, getRequestOptions, sortAsset } from '../utils';\n\nimport { jsonApi } from '~/clients';\nimport { jsonaDataFormatter } from '~/utils/jsonaDataFormatter';\nimport { ASSET_TYPES } from '~/constants';\n\nconst getParentAssetKey = assetType => {\n if (assetType === ASSET_TYPES.intervention_unit.type) {\n return 'intervention_unit_id';\n }\n return assetType;\n};\n\nexport function useSecondaryAssetSelectData({\n appKey,\n assetType,\n assetId,\n company,\n parentAssetType,\n parentAssetId,\n queryParams,\n assetFields,\n activeWellId,\n isRequiredAssetId,\n}) {\n const [assets, setAssets] = useState([]);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n setLoading(true);\n async function loadAssets() {\n const response = await jsonApi.mapAssetGetRequest(assetType)({\n ...getRequestOptions(assetType, assetFields),\n per_page: 10000,\n company: company !== 'all' ? company : null,\n [getParentAssetKey(parentAssetType)]: parentAssetId,\n ...(appKey && { app_key: appKey }),\n ...queryParams,\n });\n\n const deserializedResponse = jsonaDataFormatter.deserialize(response);\n\n setAssets(\n deserializedResponse\n .map(asset => formatAsset({ asset, activeWellId, isRequiredAssetId }))\n .sort(sortAsset)\n );\n setLoading(false);\n }\n loadAssets();\n }, [assetType, assetId, parentAssetType, parentAssetId, appKey, activeWellId, company]);\n\n return { assets, loading };\n}\n\nconst getAssetFields = (assetType, assetFields) => {\n if (assetType === ASSET_TYPES.pad.type) {\n return [...assetFields, 'pad.active', 'pad.parent_frac_fleet_id', 'pad.current'];\n } else if (assetType === ASSET_TYPES.intervention_unit.type) {\n return [...assetFields, 'intervention_unit.active', 'intervention_unit.current'];\n }\n\n return assetFields;\n};\n\nexport function usePrimaryAssetSelectData({\n appKey,\n assetType,\n company,\n groups,\n isRequiredAssetId,\n parentAssetId,\n parentAssetType,\n searchText,\n assetFields,\n currentValue,\n setCurrentOption,\n onActiveAssetIdChange,\n}) {\n const [assets, setAssets] = useState([]);\n const [loading, setLoading] = useState(false);\n const prevCompany = useRef(null);\n\n const loadAssets = async group => {\n try {\n const currentAssetType = group?.type || assetType;\n const requestParams = { per_page: 10000 };\n if (parentAssetType && parentAssetId) requestParams[parentAssetType] = parentAssetId;\n if (company && company !== 'all') requestParams.company = company;\n if (searchText) requestParams.search = searchText;\n if (appKey) requestParams.app_key = appKey;\n\n prevCompany.current = company;\n\n const requestPromise = jsonApi.mapAssetGetRequest(currentAssetType)({\n ...getRequestOptions(currentAssetType, getAssetFields(currentAssetType, assetFields)),\n ...requestParams,\n });\n\n const response = await requestPromise;\n const deserializedResponse = jsonaDataFormatter.deserialize(response);\n\n const responseAssets = deserializedResponse\n .map(asset =>\n formatAsset({ asset, group: group?.name, isRequiredAssetId, isPrimaryAsset: true })\n )\n .filter(Boolean)\n .sort(sortAsset);\n\n if (prevCompany.current === company) {\n setAssets(prevState => [...prevState, ...responseAssets]);\n }\n if (currentValue && currentAssetType === assetType) {\n const currentAsset = responseAssets.find(\n asset => currentValue === asset.id || (asset.assetId && currentValue === asset.assetId)\n );\n if (!isEmpty(currentAsset)) {\n setCurrentOption(currentAsset);\n }\n\n if (currentAssetType === ASSET_TYPES.rig.type) {\n onActiveAssetIdChange(currentAsset?.activeWellId);\n }\n }\n } catch (e) {\n console.error(e);\n }\n };\n\n useEffect(() => {\n if (company) {\n setAssets([]);\n }\n }, [company]);\n\n useEffect(() => {\n const loadEverything = async () => {\n try {\n setLoading(true);\n\n if (groups) {\n await Promise.all(groups.map(group => loadAssets(group)));\n } else {\n await loadAssets();\n }\n } catch (e) {\n console.error(e);\n } finally {\n setLoading(false);\n }\n };\n\n loadEverything();\n }, [assetType, parentAssetType, parentAssetId, company, appKey, groups?.length]);\n\n return { assets: loading ? [] : assets, loading };\n}\n"],"names":["getParentAssetKey","assetType","ASSET_TYPES","intervention_unit","type","getAssetFields","assetFields","pad","concat","_toConsumableArray","_ref2","_ref3","appKey","company","groups","isRequiredAssetId","parentAssetId","parentAssetType","searchText","currentValue","setCurrentOption","onActiveAssetIdChange","useState","_useState6","_slicedToArray","_useState5","assets","setAssets","_useState8","_useState7","loading","setLoading","prevCompany","useRef","loadAssets","_asyncToGenerator","_regeneratorRuntime","mark","group","currentAssetType","requestParams","requestPromise","response","deserializedResponse","responseAssets","currentAsset","wrap","_context2","prev","next","per_page","search","app_key","current","jsonApi","mapAssetGetRequest","getRequestOptions","sent","jsonaDataFormatter","deserialize","map","asset","formatAsset","name","isPrimaryAsset","filter","Boolean","sort","sortAsset","prevState","find","id","assetId","isEmpty","rig","activeWellId","t0","console","error","stop","_callee2","_x","apply","this","arguments","useEffect","_ref4","loadEverything","_callee3","_context3","Promise","all","finish","length","_ref","queryParams","_useState2","_useState","_useState4","_useState3","_loadAssets","_callee","_context","_defineProperty"],"mappings":"8sEASA,IAAMA,EAAoB,SAAAC,GACxB,OAAIA,IAAcC,EAAAA,YAAYC,kBAAkBC,KACvC,uBAEFH,CACT,EA4CA,IAAMI,EAAiB,SAACJ,EAAWK,GACjC,OAAIL,IAAcC,EAAAA,YAAYK,IAAIH,KAChC,GAAAI,OAAAC,EAAAA,QAAWH,GAAa,CAAA,aAAc,2BAA4B,gBACzDL,IAAcC,cAAYC,kBAAkBC,KACrD,GAAAI,OAAAC,UAAWH,GAAW,CAAE,2BAA4B,8BAG/CA,CACT,oCAEO,SAaJI,GAAA,IAKeC,EAjBhBC,IAAAA,OACAX,IAAAA,UACAY,IAAAA,QACAC,IAAAA,OACAC,IAAAA,kBACAC,IAAAA,cACAC,IAAAA,gBACAC,IAAAA,WACAZ,IAAAA,YACAa,IAAAA,aACAC,IAAAA,iBACAC,IAAAA,sBAE4BC,EAAAA,EAAQA,SAAC,IAAGC,EAAAC,EAAAA,QAAAC,EAAA,GAAjCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GACMD,EAAAA,EAAQA,UAAC,GAAMM,EAAAJ,EAAAA,QAAAK,EAAA,GAAtCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,SAAO,MAErBC,GAAUvB,EAAAwB,EAAAA,QAAAC,EAAAA,QAAAC,MAAG,WAAMC,GAAK,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAT,UAAAU,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAcxB,OAdwBF,EAAAC,KAAA,EAEpBT,GAAmBD,eAAAA,EAAOlC,OAAQH,EAClCuC,EAAgB,CAAEU,SAAU,KAC9BjC,GAAmBD,IAAewB,EAAcvB,GAAmBD,GACnEH,GAAuB,QAAZA,IAAmB2B,EAAc3B,QAAUA,GACtDK,IAAYsB,EAAcW,OAASjC,GACnCN,IAAQ4B,EAAcY,QAAUxC,GAEpCoB,EAAYqB,QAAUxC,EAEhB4B,EAAiBa,EAA0BC,mBAAChB,EAA3Be,QAClBE,EAAAA,kBAAkBjB,EAAkBlC,EAAekC,EAAkBjC,KACrEkC,IACHO,EAAAE,KAAA,GAEqBR,EAAc,KAAA,GAA/BC,EAAQK,EAAAU,KACRd,EAAuBe,EAAkBA,mBAACC,YAAYjB,GAEtDE,EAAiBD,EACpBiB,KAAI,SAAAC,GAAK,OACRC,cAAY,CAAED,MAAAA,EAAOvB,MAAOA,aAAAA,EAAAA,EAAOyB,KAAMhD,kBAAAA,EAAmBiD,gBAAgB,GAC7E,IACAC,OAAOC,SACPC,KAAKC,EAASA,WAEbpC,EAAYqB,UAAYxC,GAC1Bc,GAAU,SAAA0C,GAAS,MAAQA,GAAAA,OAAAA,EAAAA,QAAAA,aAAczB,GAAc,IAErDzB,GAAgBoB,IAAqBtC,IACjC4C,EAAeD,EAAe0B,MAClC,SAAAT,GAAK,OAAI1C,IAAiB0C,EAAMU,IAAOV,EAAMW,SAAWrD,IAAiB0C,EAAMW,WAE5EC,EAAAA,QAAQ5B,IACXzB,EAAiByB,GAGfN,IAAqBrC,EAAAA,YAAYwE,IAAItE,MACvCiB,EAAsBwB,eAAAA,EAAc8B,eAEvC5B,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAA6B,GAAA7B,EAAA,MAAA,GAED8B,QAAQC,MAAQ/B,EAAA6B,IAAC,KAAA,GAAA,IAAA,MAAA,OAAA7B,EAAAgC,OAAA,GAAAC,EAAA,KAAA,CAAA,CAAA,EAAA,KAEpB,KAAA,SA5CeC,GAAA,OAAAtE,EAAAuE,MAAAC,KAAAC,UAAA,GAwEhB,OA1BAC,EAAAA,WAAU,WACJxE,GACFc,EAAU,GAEd,GAAG,CAACd,IAEJwE,EAAAA,WAAU,WACR,IAAuBC,EAAjBC,GAAiBD,EAAAnD,EAAA,QAAAC,EAAA,QAAAC,MAAA,SAAAmD,IAAA,OAAApD,UAAAU,MAAA,SAAA2C,GAAA,OAAA,OAAAA,EAAAzC,KAAAyC,EAAAxC,MAAA,KAAA,EAEF,GAFEwC,EAAAzC,KAAA,EAEnBjB,GAAW,IAEPjB,EAAM,CAAA2E,EAAAxC,KAAA,EAAA,KAAA,CAAA,OAAAwC,EAAAxC,KAAA,EACFyC,QAAQC,IAAI7E,EAAO8C,KAAI,SAAAtB,GAAK,OAAIJ,EAAWI,EAAM,KAAE,KAAA,EAAAmD,EAAAxC,KAAA,EAAA,MAAA,KAAA,EAAA,OAAAwC,EAAAxC,KAAA,EAEnDf,IAAY,KAAA,EAAAuD,EAAAxC,KAAA,GAAA,MAAA,KAAA,GAAAwC,EAAAzC,KAAA,GAAAyC,EAAAb,GAAAa,EAAA,MAAA,GAGpBZ,QAAQC,MAAQW,EAAAb,IAAC,KAAA,GAEC,OAFDa,EAAAzC,KAAA,GAEjBjB,GAAW,GAAO0D,EAAAG,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAH,EAAAV,OAAA,GAAAS,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAErB,KAAA,WAdmB,OAAAF,EAAAJ,MAAAC,KAAAC,UAAA,GAgBpBG,MACC,CAACtF,EAAWgB,EAAiBD,EAAeH,EAASD,EAAQE,aAAM,EAANA,EAAQ+E,SAEjE,CAAEnE,OAAQI,EAAU,GAAKJ,EAAQI,QAAAA,EAC1C,sCA/IO,SAWJgE,GAAA,IAVDlF,IAAAA,OACAX,IAAAA,UACAuE,IAAAA,QACA3D,IAAAA,QACAI,IAAAA,gBACAD,IAAAA,cACA+E,IAAAA,YACAzF,IAAAA,YACAqE,IAAAA,aACA5D,IAAAA,kBAE4BO,EAAAA,EAAQA,SAAC,IAAG0E,EAAAxE,EAAAA,QAAAyE,EAAA,GAAjCvE,EAAMsE,EAAA,GAAErE,EAASqE,EAAA,GACM1E,EAAAA,EAAQA,UAAC,GAAK4E,EAAA1E,EAAAA,QAAA2E,EAAA,GAArCrE,EAAOoE,EAAA,GAAEnE,EAAUmE,EAAA,GA0B1B,OAxBAb,EAAAA,WAAU,WAEiB,SAAAe,IAkBxB,OAlBwBA,EAAzBjE,EAAAA,QAAAC,EAAAA,QAAAC,MAAA,SAAAgE,IAAA,IAAA3D,EAAAC,EAAA,OAAAP,UAAAU,MAAA,SAAAwD,GAAA,OAAA,OAAAA,EAAAtD,KAAAsD,EAAArD,MAAA,KAAA,EAAA,OAAAqD,EAAArD,KAAA,EACyBK,EAA0BC,mBAACtD,EAA3BqD,CAClBE,EAAAA,EAAAA,EAAAA,GAAAA,EAAAA,kBAAkBvD,EAAWK,IAAY,CAAA,EAAAiG,EAAAA,QAAA,CAC5CrD,SAAU,IACVrC,QAAqB,QAAZA,EAAoBA,EAAU,MACtCb,EAAkBiB,GAAmBD,GAClCJ,GAAU,CAAEwC,QAASxC,IACtBmF,IACH,KAAA,EAPIrD,EAAQ4D,EAAA7C,KASRd,EAAuBe,EAAkBA,mBAACC,YAAYjB,GAE5Df,EACEgB,EACGiB,KAAI,SAAAC,GAAK,OAAIC,cAAY,CAAED,MAAAA,EAAOc,aAAAA,EAAc5D,kBAAAA,GAAoB,IACpEoD,KAAKC,EAASA,YAEnBrC,GAAW,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAuE,EAAAvB,OAAA,GAAAsB,EACnB,MAAAnB,MAAAC,KAAAC,UAAA,CAnBDrD,GAAW,GAAM,WACQqE,EAAAlB,MAAAC,KAAAC,UAAA,CAmBzBlD,EACF,GAAG,CAACjC,EAAWuE,EAASvD,EAAiBD,EAAeJ,EAAQ+D,EAAc9D,IAEvE,CAAEa,OAAAA,EAAQI,QAAAA,EACnB"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/AssetEditorV2/effects/index.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { AssetGroup, AssetId, AssetOption, AssetSelection } from '../types';\nimport { DEFAULT_ASSET_TYPE } from '../constants';\nimport { formatAsset, getRequestOptions, isAssetOption, sortAsset } from '../utils';\n\nimport { jsonApi } from '~/clients';\nimport { ASSET_TYPES } from '~/constants';\n\nimport { deserializeAssetResponse } from './assetResponse';\n\ntype QueryParams = Record<string, unknown>;\n\ntype UseSecondaryAssetSelectDataParams = {\n appKey?: string | null;\n assetType?: string | null;\n assetId?: AssetId | null;\n company?: AssetId | null;\n parentAssetType?: string | null;\n parentAssetId?: AssetId | null;\n queryParams?: QueryParams;\n assetFields?: string[];\n activeWellId?: AssetId | null;\n isRequiredAssetId?: boolean;\n};\n\ntype UsePrimaryAssetSelectDataParams = {\n appKey?: string | null;\n assetType?: string | null;\n company?: AssetId | null;\n groups?: AssetGroup[];\n isRequiredAssetId?: boolean;\n parentAssetId?: AssetId | null;\n parentAssetType?: string | null;\n searchText?: string;\n assetFields?: string[];\n currentValue?: AssetId | null;\n selectedGroup?: AssetGroup | null;\n setCurrentOption: (selection: AssetSelection) => void;\n onActiveAssetIdChange: (id: number | null) => void;\n};\n\nconst getParentAssetKey = (assetType?: string | null): string | null => {\n if (!assetType) return null;\n\n if (assetType === ASSET_TYPES.intervention_unit.type) {\n return 'intervention_unit_id';\n }\n\n return assetType;\n};\n\nexport const useSecondaryAssetSelectData = ({\n appKey,\n assetType,\n assetId,\n company,\n parentAssetType,\n parentAssetId,\n queryParams = {},\n assetFields = [],\n activeWellId,\n isRequiredAssetId,\n}: UseSecondaryAssetSelectDataParams): { assets: AssetOption[]; loading: boolean } => {\n const [assets, setAssets] = useState<AssetOption[]>([]);\n const [loading, setLoading] = useState(true);\n const requestAssetType = assetType || DEFAULT_ASSET_TYPE;\n\n useEffect(() => {\n setLoading(true);\n\n const loadAssets = async () => {\n const parentAssetKey = getParentAssetKey(parentAssetType);\n const response: unknown = await jsonApi.mapAssetGetRequest(requestAssetType)({\n ...getRequestOptions(requestAssetType, assetFields),\n per_page: 10000,\n company: company !== 'all' ? company : null,\n ...(parentAssetKey && { [parentAssetKey]: parentAssetId }),\n ...(appKey && { app_key: appKey }),\n ...queryParams,\n });\n\n const nextAssets = deserializeAssetResponse(response)\n .map(asset => formatAsset({ asset, activeWellId, isRequiredAssetId }))\n .filter(isAssetOption)\n .sort(sortAsset);\n\n setAssets(nextAssets);\n setLoading(false);\n };\n\n loadAssets();\n }, [assetType, assetId, parentAssetType, parentAssetId, appKey, activeWellId, company]);\n\n return { assets, loading };\n};\n\nconst getAssetFields = (assetType: string, assetFields: string[]): string[] => {\n if (assetType === ASSET_TYPES.pad.type) {\n return [...assetFields, 'pad.active', 'pad.parent_frac_fleet_id', 'pad.current'];\n }\n\n if (assetType === ASSET_TYPES.intervention_unit.type) {\n return [...assetFields, 'intervention_unit.active', 'intervention_unit.current'];\n }\n\n return assetFields;\n};\n\nexport const usePrimaryAssetSelectData = ({\n appKey,\n assetType,\n company,\n groups,\n isRequiredAssetId,\n parentAssetId,\n parentAssetType,\n searchText,\n assetFields = [],\n currentValue,\n setCurrentOption,\n onActiveAssetIdChange,\n}: UsePrimaryAssetSelectDataParams): { assets: AssetOption[]; loading: boolean } => {\n const [assets, setAssets] = useState<AssetOption[]>([]);\n const [loading, setLoading] = useState(false);\n const prevCompany = useRef<AssetId | null | undefined>(null);\n const requestAssetType = assetType || DEFAULT_ASSET_TYPE;\n\n const loadAssets = async (group?: AssetGroup) => {\n try {\n const currentAssetType = group?.type || requestAssetType;\n const requestParams: QueryParams = { per_page: 10000 };\n\n if (parentAssetType && parentAssetId) requestParams[parentAssetType] = parentAssetId;\n if (company && company !== 'all') requestParams.company = company;\n if (searchText) requestParams.search = searchText;\n if (appKey) requestParams.app_key = appKey;\n\n prevCompany.current = company;\n\n const response: unknown = await jsonApi.mapAssetGetRequest(currentAssetType)({\n ...getRequestOptions(currentAssetType, getAssetFields(currentAssetType, assetFields)),\n ...requestParams,\n });\n\n const responseAssets = deserializeAssetResponse(response)\n .map(asset =>\n formatAsset({\n asset,\n group: group?.name,\n isRequiredAssetId,\n isPrimaryAsset: true,\n })\n )\n .filter(isAssetOption)\n .sort(sortAsset);\n\n if (prevCompany.current === company) {\n setAssets(prevState => [...prevState, ...responseAssets]);\n }\n\n if (currentValue && currentAssetType === requestAssetType) {\n const currentAsset = responseAssets.find(\n asset =>\n Number(currentValue) === asset.id ||\n (asset.assetId && Number(currentValue) === asset.assetId)\n );\n\n if (currentAsset) {\n setCurrentOption(currentAsset);\n }\n\n if (currentAssetType === ASSET_TYPES.rig.type) {\n onActiveAssetIdChange(currentAsset?.activeWellId || null);\n }\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n useEffect(() => {\n if (company) {\n setAssets([]);\n }\n }, [company]);\n\n useEffect(() => {\n const loadEverything = async () => {\n try {\n setLoading(true);\n\n if (groups) {\n await Promise.all(groups.map(group => loadAssets(group)));\n } else {\n await loadAssets();\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n }\n };\n\n loadEverything();\n }, [assetType, parentAssetType, parentAssetId, company, appKey, groups?.length]);\n\n return { assets: loading ? [] : assets, loading };\n};\n"],"names":["getParentAssetKey","assetType","ASSET_TYPES","intervention_unit","type","getAssetFields","assetFields","pad","concat","_toConsumableArray","_ref4","appKey","company","groups","isRequiredAssetId","parentAssetId","parentAssetType","searchText","_ref4$assetFields","currentValue","setCurrentOption","onActiveAssetIdChange","useState","_useState6","_slicedToArray","_useState5","assets","setAssets","_useState8","_useState7","loading","setLoading","prevCompany","useRef","requestAssetType","DEFAULT_ASSET_TYPE","loadAssets","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","group","currentAssetType","requestParams","response","responseAssets","currentAsset","wrap","_context2","prev","next","per_page","search","app_key","current","jsonApi","_objectSpread","getRequestOptions","sent","deserializeAssetResponse","map","asset","formatAsset","name","isPrimaryAsset","filter","isAssetOption","sort","sortAsset","prevState","find","Number","id","assetId","rig","activeWellId","t0","console","error","stop","_callee2","_x","apply","this","arguments","useEffect","loadEverything","_ref6","_callee3","_context3","Promise","all","finish","length","_ref","_ref$queryParams","queryParams","_ref$assetFields","_useState2","_useState","_useState4","_useState3","_ref2","_callee","parentAssetKey","nextAssets","_context","mapAssetGetRequest"],"mappings":"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"}