@corva/ui 3.77.0-19 → 3.77.0-20

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 (103) hide show
  1. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  2. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  3. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  4. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  5. package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  6. package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  7. package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  8. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
  9. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  10. package/cjs-bundle/components/AssetEditorV2/constants.js.map +1 -1
  11. package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js +2 -0
  12. package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  13. package/cjs-bundle/components/AssetEditorV2/effects/index.js +1 -1
  14. package/cjs-bundle/components/AssetEditorV2/effects/index.js.map +1 -1
  15. package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  16. package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  17. package/cjs-bundle/components/AssetEditorV2/index.js +1 -1
  18. package/cjs-bundle/components/AssetEditorV2/index.js.map +1 -1
  19. package/cjs-bundle/components/AssetEditorV2/utils/index.js +1 -1
  20. package/cjs-bundle/components/AssetEditorV2/utils/index.js.map +1 -1
  21. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  22. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  23. package/cjs-bundle/components/Search/Search.js.map +1 -1
  24. package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
  25. package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
  26. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts +2 -0
  27. package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts.map +1 -0
  28. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts +2 -0
  29. package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts.map +1 -0
  30. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts +17 -6
  31. package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts.map +1 -1
  32. package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  33. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts +30 -39
  34. package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts.map +1 -1
  35. package/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
  36. package/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
  37. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts +4 -41
  38. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts.map +1 -1
  39. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
  40. package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
  41. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts +22 -18
  42. package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts.map +1 -1
  43. package/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
  44. package/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
  45. package/components/AssetEditorV2/components/SelectItem.d.ts +10 -1
  46. package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
  47. package/components/AssetEditorV2/components/SelectItem.js +1 -1
  48. package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  49. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts +2 -0
  50. package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts.map +1 -0
  51. package/components/AssetEditorV2/components/__tests__/MultipleAssetsToggle.test.d.ts.map +1 -1
  52. package/components/AssetEditorV2/components/__tests__/SelectItem.test.d.ts.map +1 -1
  53. package/components/AssetEditorV2/components/index.d.ts.map +1 -1
  54. package/components/AssetEditorV2/constants.d.ts +2 -9
  55. package/components/AssetEditorV2/constants.d.ts.map +1 -1
  56. package/components/AssetEditorV2/constants.js.map +1 -1
  57. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts +2 -0
  58. package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts.map +1 -0
  59. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts +2 -0
  60. package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts.map +1 -0
  61. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts +2 -0
  62. package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts.map +1 -0
  63. package/components/AssetEditorV2/effects/assetResponse.d.ts +4 -0
  64. package/components/AssetEditorV2/effects/assetResponse.d.ts.map +1 -0
  65. package/components/AssetEditorV2/effects/assetResponse.js +2 -0
  66. package/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
  67. package/components/AssetEditorV2/effects/index.d.ts +34 -28
  68. package/components/AssetEditorV2/effects/index.d.ts.map +1 -1
  69. package/components/AssetEditorV2/effects/index.js +1 -1
  70. package/components/AssetEditorV2/effects/index.js.map +1 -1
  71. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts +21 -17
  72. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts.map +1 -1
  73. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
  74. package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
  75. package/components/AssetEditorV2/index.d.ts +36 -67
  76. package/components/AssetEditorV2/index.d.ts.map +1 -1
  77. package/components/AssetEditorV2/index.js +1 -1
  78. package/components/AssetEditorV2/index.js.map +1 -1
  79. package/components/AssetEditorV2/types.d.ts +82 -0
  80. package/components/AssetEditorV2/types.d.ts.map +1 -0
  81. package/components/AssetEditorV2/utils/__tests__/utils.test.d.ts.map +1 -1
  82. package/components/AssetEditorV2/utils/index.d.ts +23 -19
  83. package/components/AssetEditorV2/utils/index.d.ts.map +1 -1
  84. package/components/AssetEditorV2/utils/index.js +1 -1
  85. package/components/AssetEditorV2/utils/index.js.map +1 -1
  86. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
  87. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  88. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  89. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  90. package/components/Search/Search.d.ts +6 -3
  91. package/components/Search/Search.d.ts.map +1 -1
  92. package/components/Search/Search.js.map +1 -1
  93. package/components/index.d.ts +1 -0
  94. package/components/index.d.ts.map +1 -1
  95. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts +2 -0
  96. package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts.map +1 -0
  97. package/hocs/withAssetEditorLockHOC.d.ts +11 -1
  98. package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
  99. package/hocs/withAssetEditorLockHOC.js +1 -1
  100. package/hocs/withAssetEditorLockHOC.js.map +1 -1
  101. package/mcp-server/server.mjs +294 -64
  102. package/package.json +1 -1
  103. package/tsconfig.tsbuildinfo +1 -1
@@ -1,23 +1,27 @@
1
- export declare const mapAssetIdPath: (assetType: any) => string[];
2
- export declare const getPadFracFleetId: (fracFleets?: any[]) => any;
3
- export declare const getRequestOptions: (assetType: any, assetFields?: any[]) => {
1
+ import { AssetId, AssetOption } from '../types';
2
+ type FormatAssetParams = {
3
+ asset: unknown;
4
+ group?: string | null;
5
+ activeWellId?: AssetId | null;
6
+ isRequiredAssetId?: boolean;
7
+ isPrimaryAsset?: boolean;
8
+ isDrillingPlatformApp?: boolean;
9
+ };
10
+ type GetPrimaryAssetFieldsParams = {
11
+ primaryAssetType?: string | null;
12
+ assetFields: string[];
13
+ isDrillingPlatformApp?: boolean;
14
+ };
15
+ export declare const mapAssetIdPath: (assetType: string) => string[];
16
+ export declare const getRequestOptions: (assetType: string, assetFields?: string[]) => {
4
17
  sort: string;
5
18
  order: string;
6
- fields: any[];
19
+ fields: string[];
7
20
  };
8
- export declare const formatAsset: ({ asset, group, activeWellId, isRequiredAssetId, isPrimaryAsset, isDrillingPlatformApp, }: {
9
- activeWellId?: null | undefined;
10
- asset: any;
11
- group?: null | undefined;
12
- isDrillingPlatformApp: any;
13
- isPrimaryAsset: any;
14
- isRequiredAssetId: any;
15
- }) => {
16
- id: number;
17
- type: any;
18
- name: any;
19
- } | null;
20
- export declare const sortAsset: (curr: any) => -1 | 1;
21
- export declare const getPrimaryAssetFields: (primaryAssetType: any, assetFields: any, isDrillingPlatformApp: any) => any[];
22
- export declare const getSearchPlaceholder: (assetType: any, isSecondaryAssetPresent?: boolean) => string;
21
+ export declare const formatAsset: ({ asset, group, activeWellId, isRequiredAssetId, isPrimaryAsset, isDrillingPlatformApp, }: FormatAssetParams) => AssetOption | null;
22
+ export declare const isAssetOption: (asset: AssetOption | null) => asset is AssetOption;
23
+ export declare const sortAsset: (asset: AssetOption) => number;
24
+ export declare const getPrimaryAssetFields: ({ primaryAssetType, assetFields, isDrillingPlatformApp, }: GetPrimaryAssetFieldsParams) => string[];
25
+ export declare const getSearchPlaceholder: (assetType?: string | null, isSecondaryAssetPresent?: boolean) => string;
26
+ export {};
23
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/AssetEditorV2/utils/index.js"],"names":[],"mappings":"AAWA,eAAO,MAAM,cAAc,8BAU1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,6BAU7B,CAAC;AAEF,eAAO,MAAM,iBAAiB;IAC5B,IAAI;IACJ,KAAK;IACL,MAAM;CACN,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;QA+CvB,CAAC;AAEF,eAAO,MAAM,SAAS,uBAAmD,CAAC;AAE1E,eAAO,MAAM,qBAAqB,gFAYjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,+DAKhC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/AssetEditorV2/utils/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIhD,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAoBF,eAAO,MAAM,cAAc,cAAe,MAAM,KAAG,MAAM,EAUxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,cAAe,MAAM,gBAAe,MAAM,EAAE;IACxE,IAAI;IACJ,KAAK;IACL,MAAM;CACN,CAAC;AAEH,eAAO,MAAM,WAAW,8FAOrB,iBAAiB,KAAG,WAAW,GAAG,IA8CpC,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,WAAW,GAAG,IAAI,KAAG,KAAK,IAAI,WAA6B,CAAC;AAEjG,eAAO,MAAM,SAAS,UAAW,WAAW,KAAG,MAAmD,CAAC;AAEnG,eAAO,MAAM,qBAAqB,8DAI/B,2BAA2B,KAAG,MAAM,EAatC,CAAC;AAEF,eAAO,MAAM,oBAAoB,eACnB,MAAM,GAAG,IAAI,wCAExB,MAMF,CAAC"}
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/toConsumableArray";import"lodash";import{DEFAULT_ASSET_TYPE as n,ACTIVE_STATUS as e,ASSET_TYPE_SEARCH_PLACEHOLDERS as s,ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY as a}from"../constants.js";import"../../../constants/goals.js";import"../../../constants/segment.js";import"../../../constants/alerts.js";import"../../../constants/apps.js";import"../../../constants/drillstring.js";import"../../../constants/completion.js";import"../../../constants/appPackages.js";import"../../../constants/notifications.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import{ASSET_TYPES as i}from"../../../constants/assetTypes.js";import"../../../constants/corvaCompanyId.js";import"../../GradientManager/configuration/constants.js";var r=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{sort:"name",order:"asc",fields:["".concat(n,".name"),"".concat(n,".status")].concat(t(e))}},o=function(t){var s=t.asset,a=t.group,r=void 0===a?null:a,o=t.activeWellId,l=void 0===o?null:o,c=t.isRequiredAssetId,p=t.isPrimaryAsset,u=t.isDrillingPlatformApp;if(!s)return null;var d,m,v,y={id:+s.assetId||+s.id,type:s.type,name:s.name};(c&&(y.id=+s.id,y.assetId=+s.assetId),r&&(y.group=r),s.type===i.rig.type)&&(y.activeWellId=Number(null===(d=s.activeWell)||void 0===d?void 0:d.id)||null,u&&(y.activeWellId=Number(null===(m=s.activeWell)||void 0===m?void 0:m.assetId)||null));"interventionUnit"===s.type&&(y.activeWellId=Number(null===(v=s.activeWell)||void 0===v?void 0:v.id)||null);return s.type!==i.well.type&&s.type!==n||(y.status=Number(s.id)===l?e:null),s.type===i.pad.type&&(y.parentFracFleetId=s.parentFracFleetId,y.status=s.active&&s.current?e:null,p&&!s.parentFracFleetId&&(y.status=null)),y},l=function(t){return t.status===e?-1:1},c=function(n,e,s){var a=t(e);return n!==i.rig.type&&n!==i.intervention_unit.type||a.push("".concat(n,".active_well")),s?[].concat(t(a),["rig.active_child"]):a},p=function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=n?s:a;return e[t]||"Search..."};export{o as formatAsset,c as getPrimaryAssetFields,r as getRequestOptions,p as getSearchPlaceholder,l as sortAsset};
1
+ import t from"@babel/runtime/helpers/toConsumableArray";import n from"@babel/runtime/helpers/typeof";import{ASSET_TYPE_SEARCH_PLACEHOLDERS as r,ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY as e,DEFAULT_ASSET_TYPE as s,ACTIVE_STATUS as i}from"../constants.js";import"../../../constants/goals.js";import"../../../constants/segment.js";import"../../../constants/alerts.js";import"../../../constants/apps.js";import"../../../constants/drillstring.js";import"../../../constants/completion.js";import"../../../constants/appPackages.js";import"../../../constants/notifications.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import{ASSET_TYPES as a}from"../../../constants/assetTypes.js";import"../../../constants/corvaCompanyId.js";import"lodash";import"../../GradientManager/configuration/constants.js";var o=function(t){return"object"===n(t)&&null!==t&&!Array.isArray(t)},l=function(t){return"string"==typeof t?t:void 0},u=function(t,n){var r=t.activeWell;return o(r)?r[n]:void 0},c=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{sort:"name",order:"asc",fields:["".concat(n,".name"),"".concat(n,".status")].concat(t(r))}},p=function(t){var n=t.asset,r=t.group,e=void 0===r?null:r,c=t.activeWellId,p=void 0===c?null:c,m=t.isRequiredAssetId,d=t.isPrimaryAsset,f=t.isDrillingPlatformApp;if(!o(n))return null;var v=l(n.type),y={id:Number(n.assetId)||Number(n.id),type:v,name:l(n.name)};return m&&(y.id=Number(n.id),y.assetId=Number(n.assetId)),e&&(y.group=e),v===a.rig.type&&(y.activeWellId=Number(u(n,"id"))||null,f&&(y.activeWellId=Number(u(n,"assetId"))||null)),"interventionUnit"===v&&(y.activeWellId=Number(u(n,"id"))||null),v!==a.well.type&&v!==s||(y.status=Number(n.id)===p?i:null),v===a.pad.type&&(y.parentFracFleetId=function(t){if("number"==typeof t||"string"==typeof t||null===t)return t}(n.parentFracFleetId),y.status=n.active&&n.current?i:null,d&&!n.parentFracFleetId&&(y.status=null)),y},m=function(t){return Boolean(t)},d=function(t){return t.status===i?-1:1},f=function(n){var r=n.primaryAssetType,e=n.assetFields,s=n.isDrillingPlatformApp,i=t(e);return r!==a.rig.type&&r!==a.intervention_unit.type||i.push("".concat(r,".active_well")),s?[].concat(t(i),["rig.active_child"]):i},v=function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=n?r:e;return t&&s[t]||"Search..."};export{p as formatAsset,f as getPrimaryAssetFields,c as getRequestOptions,v as getSearchPlaceholder,m as isAssetOption,d as sortAsset};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/AssetEditorV2/utils/index.js"],"sourcesContent":["import { isEmpty } from 'lodash';\n\nimport {\n ACTIVE_STATUS,\n ASSET_TYPE_SEARCH_PLACEHOLDERS,\n ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY,\n DEFAULT_ASSET_TYPE,\n} from '../constants';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const mapAssetIdPath = assetType => {\n switch (assetType) {\n case 'rig':\n case 'well':\n return ['attributes', 'asset_id'];\n case 'frac_fleet':\n case 'pad':\n default:\n return ['id'];\n }\n};\n\nexport const getPadFracFleetId = (fracFleets = []) => {\n const currentFracFleet = fracFleets.find(fracFleet => fracFleet === fracFleet.current)?.id;\n const lastCurrentFracFleet = fracFleets.reduce((a, b) => {\n return new Date(a.lastCurrentAt) > new Date(b.lastCurrentAt) ? a : b;\n }, {});\n\n if (!isEmpty(currentFracFleet)) {\n return currentFracFleet.fracFleet?.id;\n }\n return lastCurrentFracFleet.fracFleet?.id;\n};\n\nexport const getRequestOptions = (assetType, assetFields = []) => ({\n sort: 'name',\n order: 'asc',\n fields: [`${assetType}.name`, `${assetType}.status`, ...assetFields],\n});\n\nexport const formatAsset = ({\n asset,\n group = null,\n activeWellId = null,\n isRequiredAssetId,\n isPrimaryAsset,\n isDrillingPlatformApp,\n}) => {\n if (!asset) return null;\n\n const formattedAsset = {\n id: +asset.assetId || +asset.id,\n type: asset.type,\n name: asset.name,\n };\n\n if (isRequiredAssetId) {\n formattedAsset.id = +asset.id;\n formattedAsset.assetId = +asset.assetId;\n }\n\n if (group) {\n formattedAsset.group = group;\n }\n if (asset.type === ASSET_TYPES.rig.type) {\n formattedAsset.activeWellId = Number(asset.activeWell?.id) || null;\n if (isDrillingPlatformApp) {\n formattedAsset.activeWellId = Number(asset.activeWell?.assetId) || null;\n }\n }\n // NOTE: we use deserializer which transform keys and values to camelCase\n if (asset.type === 'interventionUnit') {\n formattedAsset.activeWellId = Number(asset.activeWell?.id) || null;\n }\n if (asset.type === ASSET_TYPES.well.type || asset.type === DEFAULT_ASSET_TYPE) {\n formattedAsset.status = Number(asset.id) === activeWellId ? ACTIVE_STATUS : null;\n }\n if (asset.type === ASSET_TYPES.pad.type) {\n formattedAsset.parentFracFleetId = asset.parentFracFleetId;\n\n formattedAsset.status = asset.active && asset.current ? ACTIVE_STATUS : null;\n\n if (isPrimaryAsset && !asset.parentFracFleetId) {\n formattedAsset.status = null;\n }\n }\n return formattedAsset;\n};\n\nexport const sortAsset = curr => (curr.status === ACTIVE_STATUS ? -1 : 1);\n\nexport const getPrimaryAssetFields = (primaryAssetType, assetFields, isDrillingPlatformApp) => {\n const customAssetFields = [...assetFields];\n if (\n primaryAssetType === ASSET_TYPES.rig.type ||\n primaryAssetType === ASSET_TYPES.intervention_unit.type\n ) {\n customAssetFields.push(`${primaryAssetType}.active_well`);\n }\n\n if (isDrillingPlatformApp) return [...customAssetFields, 'rig.active_child'];\n\n return customAssetFields;\n};\n\nexport const getSearchPlaceholder = (assetType, isSecondaryAssetPresent = true) => {\n const assetPlacehoders = isSecondaryAssetPresent\n ? ASSET_TYPE_SEARCH_PLACEHOLDERS\n : ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY;\n return assetPlacehoders[assetType] || 'Search...';\n};\n"],"names":["getRequestOptions","assetType","assetFields","sort","order","fields","formatAsset","_ref","asset","_ref$group","group","_ref$activeWellId","activeWellId","isRequiredAssetId","isPrimaryAsset","isDrillingPlatformApp","_asset$activeWell","_asset$activeWell2","_asset$activeWell3","formattedAsset","id","assetId","type","name","ASSET_TYPES","rig","Number","activeWell","well","DEFAULT_ASSET_TYPE","status","ACTIVE_STATUS","pad","parentFracFleetId","active","current","sortAsset","curr","getPrimaryAssetFields","primaryAssetType","customAssetFields","intervention_unit","push","getSearchPlaceholder","isSecondaryAssetPresent","assetPlacehoders","ASSET_TYPE_SEARCH_PLACEHOLDERS","ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY"],"mappings":"6wBAmCaA,EAAoB,SAACC,GAAS,IAAEC,yDAAc,GAAE,MAAM,CACjEC,KAAM,OACNC,MAAO,MACPC,OAAYJ,CAAAA,GAAAA,OAAAA,EAAqBA,SAAAA,GAAAA,OAAAA,uBAAuBC,IACzD,EAEYI,EAAc,SAOrBC,GAAA,IANJC,IAAAA,MAAKC,EAAAF,EACLG,MAAAA,aAAQ,KAAID,EAAAE,EAAAJ,EACZK,aAAAA,aAAe,KAAID,EACnBE,IAAAA,kBACAC,IAAAA,eACAC,IAAAA,sBAEA,IAAKP,EAAO,OAAO,KAEnB,IAcyCQ,EAEZC,EAKUC,EArBjCC,EAAiB,CACrBC,IAAKZ,EAAMa,UAAYb,EAAMY,GAC7BE,KAAMd,EAAMc,KACZC,KAAMf,EAAMe,OAGVV,IACFM,EAAeC,IAAMZ,EAAMY,GAC3BD,EAAeE,SAAWb,EAAMa,SAG9BX,IACFS,EAAeT,MAAQA,GAErBF,EAAMc,OAASE,EAAYC,IAAIH,QACjCH,EAAeP,aAAec,OAAO,QAAAlB,EAAAA,EAAMmB,kBAAN,IAAAX,OAAA,EAAAA,EAAkBI,KAAO,KAC1DL,IACFI,EAAeP,aAAec,OAAO,QAAAlB,EAAAA,EAAMmB,kBAAN,IAAAV,OAAA,EAAAA,EAAkBI,UAAY,OAIpD,qBAAfb,EAAMc,OACRH,EAAeP,aAAec,OAAO,QAAAlB,EAAAA,EAAMmB,kBAAN,IAAAT,OAAA,EAAAA,EAAkBE,KAAO,MAchE,OAZIZ,EAAMc,OAASE,EAAYI,KAAKN,MAAQd,EAAMc,OAASO,IACzDV,EAAeW,OAASJ,OAAOlB,EAAMY,MAAQR,EAAemB,EAAgB,MAE1EvB,EAAMc,OAASE,EAAYQ,IAAIV,OACjCH,EAAec,kBAAoBzB,EAAMyB,kBAEzCd,EAAeW,OAAStB,EAAM0B,QAAU1B,EAAM2B,QAAUJ,EAAgB,KAEpEjB,IAAmBN,EAAMyB,oBAC3Bd,EAAeW,OAAS,OAGrBX,CACT,EAEaiB,EAAY,SAAAC,GAAI,OAAKA,EAAKP,SAAWC,GAAiB,EAAI,CAAC,EAE3DO,EAAwB,SAACC,EAAkBrC,EAAaa,GACnE,IAAMyB,EAAwBtC,EAAAA,GAQ9B,OANEqC,IAAqBf,EAAYC,IAAIH,MACrCiB,IAAqBf,EAAYiB,kBAAkBnB,MAEnDkB,EAAkBE,KAAQH,GAAAA,OAAAA,EAA+B,iBAGvDxB,EAAkCyB,GAAAA,OAAAA,EAAAA,IAAmB,qBAElDA,CACT,EAEaG,EAAuB,SAAC1C,GAA8C,IAAnC2C,6DACxCC,EAAmBD,EACrBE,EACAC,EACJ,OAAOF,EAAiB5C,IAAc,WACxC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/AssetEditorV2/utils/index.ts"],"sourcesContent":["import {\n ACTIVE_STATUS,\n ASSET_TYPE_SEARCH_PLACEHOLDERS,\n ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY,\n DEFAULT_ASSET_TYPE,\n} from '../constants';\nimport { AssetId, AssetOption } from '../types';\n\nimport { ASSET_TYPES } from '~/constants';\n\ntype FormatAssetParams = {\n asset: unknown;\n group?: string | null;\n activeWellId?: AssetId | null;\n isRequiredAssetId?: boolean;\n isPrimaryAsset?: boolean;\n isDrillingPlatformApp?: boolean;\n};\n\ntype GetPrimaryAssetFieldsParams = {\n primaryAssetType?: string | null;\n assetFields: string[];\n isDrillingPlatformApp?: boolean;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst getString = (value: unknown): string | undefined =>\n typeof value === 'string' ? value : undefined;\n\nconst getAssetId = (value: unknown): AssetId | null | undefined => {\n if (typeof value === 'number' || typeof value === 'string' || value === null) return value;\n\n return undefined;\n};\n\nconst getActiveWellValue = (asset: Record<string, unknown>, key: string): unknown => {\n const activeWell = asset.activeWell;\n\n return isRecord(activeWell) ? activeWell[key] : undefined;\n};\n\nexport const mapAssetIdPath = (assetType: string): string[] => {\n switch (assetType) {\n case 'rig':\n case 'well':\n return ['attributes', 'asset_id'];\n case 'frac_fleet':\n case 'pad':\n default:\n return ['id'];\n }\n};\n\nexport const getRequestOptions = (assetType: string, assetFields: string[] = []) => ({\n sort: 'name',\n order: 'asc',\n fields: [`${assetType}.name`, `${assetType}.status`, ...assetFields],\n});\n\nexport const formatAsset = ({\n asset,\n group = null,\n activeWellId = null,\n isRequiredAssetId,\n isPrimaryAsset,\n isDrillingPlatformApp,\n}: FormatAssetParams): AssetOption | null => {\n if (!isRecord(asset)) return null;\n\n const type = getString(asset.type);\n const formattedAsset: AssetOption = {\n id: Number(asset.assetId) || Number(asset.id),\n type,\n name: getString(asset.name),\n };\n\n if (isRequiredAssetId) {\n formattedAsset.id = Number(asset.id);\n formattedAsset.assetId = Number(asset.assetId);\n }\n\n if (group) {\n formattedAsset.group = group;\n }\n\n if (type === ASSET_TYPES.rig.type) {\n formattedAsset.activeWellId = Number(getActiveWellValue(asset, 'id')) || null;\n\n if (isDrillingPlatformApp) {\n formattedAsset.activeWellId = Number(getActiveWellValue(asset, 'assetId')) || null;\n }\n }\n\n // The deserializer transforms keys and values to camelCase.\n if (type === 'interventionUnit') {\n formattedAsset.activeWellId = Number(getActiveWellValue(asset, 'id')) || null;\n }\n\n if (type === ASSET_TYPES.well.type || type === DEFAULT_ASSET_TYPE) {\n formattedAsset.status = Number(asset.id) === activeWellId ? ACTIVE_STATUS : null;\n }\n\n if (type === ASSET_TYPES.pad.type) {\n formattedAsset.parentFracFleetId = getAssetId(asset.parentFracFleetId);\n formattedAsset.status = asset.active && asset.current ? ACTIVE_STATUS : null;\n\n if (isPrimaryAsset && !asset.parentFracFleetId) {\n formattedAsset.status = null;\n }\n }\n\n return formattedAsset;\n};\n\nexport const isAssetOption = (asset: AssetOption | null): asset is AssetOption => Boolean(asset);\n\nexport const sortAsset = (asset: AssetOption): number => (asset.status === ACTIVE_STATUS ? -1 : 1);\n\nexport const getPrimaryAssetFields = ({\n primaryAssetType,\n assetFields,\n isDrillingPlatformApp,\n}: GetPrimaryAssetFieldsParams): string[] => {\n const customAssetFields = [...assetFields];\n\n if (\n primaryAssetType === ASSET_TYPES.rig.type ||\n primaryAssetType === ASSET_TYPES.intervention_unit.type\n ) {\n customAssetFields.push(`${primaryAssetType}.active_well`);\n }\n\n if (isDrillingPlatformApp) return [...customAssetFields, 'rig.active_child'];\n\n return customAssetFields;\n};\n\nexport const getSearchPlaceholder = (\n assetType?: string | null,\n isSecondaryAssetPresent = true\n): string => {\n const assetPlaceholders = isSecondaryAssetPresent\n ? ASSET_TYPE_SEARCH_PLACEHOLDERS\n : ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY;\n\n return (assetType && assetPlaceholders[assetType]) || 'Search...';\n};\n"],"names":["isRecord","value","_typeof","Array","isArray","getString","undefined","getActiveWellValue","asset","key","activeWell","getRequestOptions","assetType","assetFields","sort","order","fields","formatAsset","_ref","_ref$group","group","_ref$activeWellId","activeWellId","isRequiredAssetId","isPrimaryAsset","isDrillingPlatformApp","type","formattedAsset","id","Number","assetId","name","ASSET_TYPES","rig","well","DEFAULT_ASSET_TYPE","status","ACTIVE_STATUS","pad","parentFracFleetId","getAssetId","active","current","isAssetOption","Boolean","sortAsset","getPrimaryAssetFields","_ref2","primaryAssetType","customAssetFields","intervention_unit","push","getSearchPlaceholder","isSecondaryAssetPresent","assetPlaceholders","ASSET_TYPE_SEARCH_PLACEHOLDERS","ASSET_TYPE_SEARCH_PLACEHOLDERS_NO_SECONDARY"],"mappings":"szBAyBA,IAAMA,EAAW,SAACC,GAAc,MACb,WAAjBC,EAAOD,IAAgC,OAAVA,IAAmBE,MAAMC,QAAQH,EAAM,EAEhEI,EAAY,SAACJ,GAAc,MACd,iBAAVA,EAAqBA,OAAQK,CAAS,EAQzCC,EAAqB,SAACC,EAAgCC,GAC1D,IAAMC,EAAaF,EAAME,WAEzB,OAAOV,EAASU,GAAcA,EAAWD,QAAOH,CAClD,EAcaK,EAAoB,SAACC,GAAiB,IAAEC,yDAAwB,GAAE,MAAM,CACnFC,KAAM,OACNC,MAAO,MACPC,OAAYJ,CAAAA,GAAAA,OAAAA,EAAqBA,SAAAA,GAAAA,OAAAA,uBAAuBC,IACzD,EAEYI,EAAc,SAOkBC,GAAA,IAN3CV,IAAAA,MAAKW,EAAAD,EACLE,MAAAA,aAAQ,KAAID,EAAAE,EAAAH,EACZI,aAAAA,aAAe,KAAID,EACnBE,IAAAA,kBACAC,IAAAA,eACAC,IAAAA,sBAEA,IAAKzB,EAASQ,GAAQ,OAAO,KAE7B,IAAMkB,EAAOrB,EAAUG,EAAMkB,MACvBC,EAA8B,CAClCC,GAAIC,OAAOrB,EAAMsB,UAAYD,OAAOrB,EAAMoB,IAC1CF,KAAAA,EACAK,KAAM1B,EAAUG,EAAMuB,OAsCxB,OAnCIR,IACFI,EAAeC,GAAKC,OAAOrB,EAAMoB,IACjCD,EAAeG,QAAUD,OAAOrB,EAAMsB,UAGpCV,IACFO,EAAeP,MAAQA,GAGrBM,IAASM,EAAYC,IAAIP,OAC3BC,EAAeL,aAAeO,OAAOtB,EAAmBC,EAAO,QAAU,KAErEiB,IACFE,EAAeL,aAAeO,OAAOtB,EAAmBC,EAAO,aAAe,OAKrE,qBAATkB,IACFC,EAAeL,aAAeO,OAAOtB,EAAmBC,EAAO,QAAU,MAGvEkB,IAASM,EAAYE,KAAKR,MAAQA,IAASS,IAC7CR,EAAeS,OAASP,OAAOrB,EAAMoB,MAAQN,EAAee,EAAgB,MAG1EX,IAASM,EAAYM,IAAIZ,OAC3BC,EAAeY,kBA1EA,SAACtC,GAClB,GAAqB,iBAAVA,GAAuC,iBAAVA,GAAgC,OAAVA,EAAgB,OAAOA,CAGvF,CAsEuCuC,CAAWhC,EAAM+B,mBACpDZ,EAAeS,OAAS5B,EAAMiC,QAAUjC,EAAMkC,QAAUL,EAAgB,KAEpEb,IAAmBhB,EAAM+B,oBAC3BZ,EAAeS,OAAS,OAIrBT,CACT,EAEagB,EAAgB,SAACnC,GAAyB,OAA2BoC,QAAQpC,EAAM,EAEnFqC,EAAY,SAACrC,GAAkB,OAAcA,EAAM4B,SAAWC,GAAiB,EAAI,CAAC,EAEpFS,EAAwB,SAIQC,GAAA,IAH3CC,IAAAA,iBACAnC,IAAAA,YACAY,IAAAA,sBAEMwB,EAAwBpC,EAAAA,GAS9B,OANEmC,IAAqBhB,EAAYC,IAAIP,MACrCsB,IAAqBhB,EAAYkB,kBAAkBxB,MAEnDuB,EAAkBE,KAAQH,GAAAA,OAAAA,EAA+B,iBAGvDvB,EAAkCwB,GAAAA,OAAAA,EAAAA,IAAmB,qBAElDA,CACT,EAEaG,EAAuB,SAClCxC,GAEW,IADXyC,6DAEMC,EAAoBD,EACtBE,EACAC,EAEJ,OAAQ5C,GAAa0C,EAAkB1C,IAAe,WACxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppSettingsDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAO1D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IACvE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,oBAAoB,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAgDF,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAuSjD,CAAC;eAEa,iBAAiB"}
1
+ {"version":3,"file":"AppSettingsDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAO1D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IACvE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,oBAAoB,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAkBF,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAuSjD,CAAC;eAEa,iBAAiB"}
@@ -1,2 +1,2 @@
1
- import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{useState as i,useRef as n,useEffect as t}from"react";import{cloneDeep as e,debounce as c,noop as r,mapValues as m,keyBy as p}from"lodash";import{FormControl as a,InputLabel as l,Select as u,MenuItem as d}from"@material-ui/core";import{ArrowForward as j}from"@material-ui/icons";import g from"../../../../EmptyState/EmptyState.js";import{getIsSustainabilityApp as f}from"../../utils.js";import I from"./components/RemoveAppButton.js";import{SettingsAccordion as v}from"./components/SettingsAccordion.js";import{useStyles as h}from"./styles.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/pickers";import"@date-io/moment";import"moment";import"../../../../../config/theme/index.js";import{jsxs as C,jsx as y,Fragment as b}from"react/jsx-runtime";import A from"../../../../../hocs/withAssetEditorLockHOC.js";import S from"../../../../ErrorBoundary/ErrorBoundary.js";import O from"../../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js";import k from"../../../../Button/components/Button/index.js";import"moment-timezone";import"classnames";import"../../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js";import"../../../../Button/components/LiveButton/styles.js";import"@icon-park/react/es/all";import"../../../../../icons/IconParkProvider.js";import"../../../../../icons/customIcons/icons/AddMessage.js";import"../../../../../icons/customIcons/icons/DragOne.js";import"../../../../../icons/customIcons/icons/Attention.js";import"../../../../../icons/customIcons/icons/Collapse.js";import"../../../../../icons/customIcons/icons/Dashboard.js";import"../../../../../icons/customIcons/icons/Expand.js";import"../../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../../icons/customIcons/icons/Search.js";import"../../../../../icons/customIcons/icons/SearchOne.js";import"../../../../../icons/customIcons/icons/Wellhub.js";import"../../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../../icons/customIcons/icons/Checkbox.js";import"../../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../../icons/customIcons/icons/Radio.js";import"../../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../../icons/customIcons/icons/InfoRounded.js";import"../../../../../icons/customIcons/icons/FlameFilled.js";import"../../../../../icons/customIcons/icons/MoreApp.js";import"../../../../../icons/customIcons/icons/Pad.js";import"../../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../../icons/customIcons/icons/FracFleet.js";import"../../../../../icons/customIcons/icons/Global.js";import"../../../../../icons/customIcons/icons/Program.js";import"../../../../../icons/customIcons/icons/Rig.js";import"../../../../../icons/customIcons/icons/Well.js";import"../../../../../icons/customIcons/icons/Gap.js";import"../../../../../icons/customIcons/icons/Pin.js";import"../../../../../icons/customIcons/icons/PinOne.js";import"../../../../../icons/customIcons/icons/PinOneCrossed.js";import"../../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../../icons/customIcons/icons/Archive.js";import"../../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../../icons/customIcons/icons/Unarchive.js";import"../../../../../icons/customIcons/icons/Archived.js";import"../../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../../icons/customIcons/icons/Lasso.js";import"../../../../../icons/customIcons/icons/Radius.js";import"../../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../../icons/customIcons/icons/Company.js";import"../../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../../icons/customIcons/icons/Connect.js";import"../../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../../icons/customIcons/icons/Feed.js";import"../../../../../icons/customIcons/icons/Prompt.js";import"../../../../../icons/customIcons/icons/Companies.js";import"../../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../../icons/customIcons/icons/Key.js";import"../../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../../icons/customIcons/icons/MappingManual.js";import"../../../../../icons/customIcons/icons/Mapping.js";import"../../../../../icons/customIcons/icons/Metrics.js";import"../../../../../icons/customIcons/icons/Drops.js";import"../../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../../icons/customIcons/icons/Template.js";import"../../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../../icons/customIcons/icons/NPT.js";import"../../../../../icons/customIcons/icons/GuidedFrac.js";import P from"../../../../Modal/Modal.js";import{DEV_CENTER_CLI_APP_ID as D}from"../../../../../constants/devcenter.js";import"../../../../../constants/goals.js";import{SEGMENTS as E,SEGMENT_TO_ASSET_TYPE as N}from"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import{ASSET_TYPES as x}from"../../../../../constants/assetTypes.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import w from"../../../../AssetEditorV2/index.js";import F from"../../../../AppVersionsSelect/AppVersionsSelect.js";import R from"../../../../DisabledSettingsMessage/DisabledSettingsMessage.js";import B from"../../../../ConfirmationDialog.js";import"../../../../UserMention/utils/index.js";import"../../../../../utils/convert.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import{getAppSegment as M}from"../../../../../utils/devcenter.js";import"../../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../../utils/ga.js";import"../../../../../utils/goalsConfig/goalsConfig.js";import"../../../../../utils/lasParser.js";import"../../../../../utils/main.js";import"../../../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as T}from"../../../../../utils/mobileDetect.js";import"../../../../../utils/feed.js";import"../../../../../utils/reports.js";import{showSuccessNotification as V}from"../../../../../utils/notificationToasts.js";import"@babel/runtime/helpers/typeof";import"../../../../../utils/dashboardReports.js";import"../../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../../utils/jsonaDataFormatter.js";import"../../../../../utils/bha.js";import"jsona";import"../../../../../clients/jsonApi/index.js";import"../../../../../utils/charts/Styles.scss.js";import"../../../../../utils/getSingleAsset.js";import{AppIcon as L}from"../../../../AppIcon/AppIcon.js";import U from"../../../../../permissions/usePermissions.js";import{PERMISSIONS as G}from"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"../../../../../permissions/PermissionsContext.js";import{HideInNativeApp as H}from"../../../../../componentsV2/HideInNativeApp/index.js";import{isReact18Host as _}from"../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants.js";function q(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,n)}return i}function z(s){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?q(Object(n),!0).forEach((function(i){o(s,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(n,o))}))}return s}var W="DC_appSettings",K=function(){return null},Z=A(w),J=w,Q=R,X=N,Y=function(){return null},$=function(A){var N,w,R,q,$,oo,so=A.AppSettingsComponent,io=void 0===so?Y:so,no=A.app,to=A.appData,eo=A.appName,co=A.currentUser,ro=A.disableAppAssetSelection,mo=void 0!==ro&&ro,po=A.isMultiRig,ao=A.isSettingsDialogHidden,lo=void 0!==ao&&ao,uo=A.layoutEnvironment,jo=A.onAppRemove,go=A.onCloneDashboard,fo=void 0===go?r:go,Io=A.onSettingsChange,vo=A.openIntercom,ho=A.rigId,Co=A.toggleAppSettingsDialog,yo=M(no),bo=i("string"==typeof yo?yo:E.DRILLING),Ao=s(bo,2),So=Ao[0],Oo=Ao[1],ko=i(!1),Po=s(ko,2),Do=Po[0],Eo=Po[1],No=i(!0),xo=s(No,2),wo=xo[0],Fo=xo[1],Ro=i(""),Bo=s(Ro,2),Mo=Bo[0],To=Bo[1],Vo=i((function(){var o,s,i=e(null!==(o=no.settings)&&void 0!==o?o:{}),n="string"==typeof i.package?i.package:void 0,t="string"==typeof(null===(s=no.package)||void 0===s?void 0:s.version)?no.package.version:void 0;return z(z({},i),{},{package:n||t})})),Lo=s(Vo,2),Uo=Lo[0],Go=Lo[1],Ho=n(ho),_o=n(null),qo=n(null),zo=U([G.getCanReadAppPackages(no.app.id)]),Wo=s(zo,1)[0],Ko=Wo.active,Zo=Wo.loading,Jo=Array.isArray(no.segment)?no.segment.filter((function(o){return"string"==typeof o})):[],Qo=Jo.length>1,Xo=So===E.COMPLETION,Yo=X[So],$o="asset"===(null==uo?void 0:uo.type),os=no.id===D,ss=f(null==no||null===(N=no.app)||void 0===N?void 0:N.id),is=!(mo||T||po||$o&&Xo),ns=!T&&!lo&&!!jo,ts=Zo||Ko||Boolean(null===(w=_o.current)||void 0===w?void 0:w.clientHeight),es=Boolean(null===(R=qo.current)||void 0===R?void 0:R.clientHeight),cs=ts&&es,rs=$o?Z:J,ms="string"==typeof no.app.app_key?no.app.app_key:null,ps="string"==typeof Uo.package?Uo.package:void 0,as=h({isCompletionApp:Xo,isSustainabilityApp:ss,isAccordionRequired:cs,isRemoveButtonVisible:ns}),ls=function(s,i){return Go((function(n){return z(z({},n),{},o({},s,i))}))},us=function(o){return Go((function(s){return z(z({},s),o)}))};t((function(){wo||Fo(!0)}),[wo]),t((function(){c(Eo,200)(!0)}),[]);var ds=C("div",{className:as.modalTitleContainer,children:[y(L,{className:as.appIcon,segment:[So],iconUrl:null==no||null===(q=no.app)||void 0===q||null===($=q.icon)||void 0===$?void 0:$.url,height:48,width:48}),C("div",{children:[y("div",{children:"".concat(eo," Settings")}),y(H,{children:C("div",{"data-testid":"".concat(W,"_appstoreLink"),className:as.appStoreButton,onClick:function(){var o,s;return window.open((s=null==no||null===(o=no.app)||void 0===o?void 0:o.id,"/app-store/app/".concat(s)),"_top")},children:["Open in Appstore ",y(j,{className:as.arrowIcon})]})})]})]}),js=C("div",{className:as.modalActions,children:[ns&&y(I,{appName:eo,onAppRemove:jo}),C("div",{children:[y(k,{"data-testid":"".concat(W,"_cancel"),variation:"secondary",onClick:Co,children:"Cancel"}),lo&&y(k,{variation:"primary",onClick:function(){return fo()},children:"Copy Dashboard"}),!lo&&y(k,{"data-testid":"".concat(W,"_save"),className:as.saveButton,variation:"primary",onClick:function(){if(Uo.package||os){if(is&&!$o){var o,s,i,n,t=null==Yo||null===(o=Yo.primaryAsset)||void 0===o||null===(s=o.assetType)||void 0===s?void 0:s.id,e=null==Yo||null===(i=Yo.primaryAsset)||void 0===i||null===(n=i.assetType)||void 0===n?void 0:n.label;if(t&&!Uo[t])return void To("Please select ".concat(e))}Io(Uo),V("Successfully saved"),Co()}else To("Please select app version")},children:"Save"})]})]});return y(P,{actions:js,closeIconClassName:as.closeIcon,contentContainerClassName:as.modalContainer,modalTitleClassName:as.modalTitle,onClose:Co,open:!0,title:ds,children:C(S,{ErrorView:O,openIntercom:vo,children:[y(B,{open:!!Mo,isShowCancel:!1,title:"Validation failed",text:Mo,handleOk:function(){return To("")},classes:{confirmation:as.confirmationText}}),lo&&y(Q,{}),!lo&&Do&&!es&&!ts&&y(g,{image:g.IMAGES.UnderConstruction,title:"No app settings"}),!lo&&C(b,{children:[C(v,{defaultExpanded:!0,className:as.assetAccordion,accordionDetailsRef:_o,isAccordionRequired:cs,summary:"Asset",children:[Qo&&C(a,{className:as.segmentSelector,children:[y(l,{children:"Segment"}),y(u,{value:So,onChange:function(o){var s=String(o.target.value);Ho.current=null,Fo(!1),Oo(s),Go(z(z({package:Uo.package,segment:s},m(p(x,"id"),(function(){return null}))),{},{assets:null}))},children:Jo.map((function(o){return y(d,{className:as.segmentMenuItem,value:o,children:o},o)}))})]}),is&&wo&&y(rs,{appKey:os?null:ms,appType:Yo,defaultValue:Ho.current,secondaryDefaultValue:+(null==to||null===(oo=to.well)||void 0===oo?void 0:oo.id),isHiddenTitle:!0,isNullable:$o,label:"Asset",onSettingsChange:us,settings:Uo}),y(F,{className:as.appVersionSelect,appId:no.app.id,value:ps,onChange:function(o,s,i){return i&&_()?us({package:o,react18AutoSwitchDisabled:!0}):ls("package",o)}})]}),y(S,{ErrorView:K,openIntercom:vo,children:y(v,{accordionDetailsRef:qo,className:as.accordion,defaultExpanded:!0,isAccordionRequired:cs,summary:"App Settings",children:io&&y(io,{app:no,appData:to,settings:Uo,onSettingChange:ls,onSettingsChange:us,layoutEnvironment:uo,currentUser:co})})})]})]})})};export{W as PAGE_NAME,$ as default};
1
+ import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{useState as i,useRef as n,useEffect as t}from"react";import{cloneDeep as e,debounce as c,noop as r,mapValues as m,keyBy as p}from"lodash";import{FormControl as a,InputLabel as l,Select as u,MenuItem as d}from"@material-ui/core";import{ArrowForward as j}from"@material-ui/icons";import g from"../../../../EmptyState/EmptyState.js";import{getIsSustainabilityApp as f}from"../../utils.js";import I from"./components/RemoveAppButton.js";import{SettingsAccordion as v}from"./components/SettingsAccordion.js";import{useStyles as h}from"./styles.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/pickers";import"@date-io/moment";import"moment";import"../../../../../config/theme/index.js";import{jsxs as C,jsx as y,Fragment as b}from"react/jsx-runtime";import A from"../../../../../hocs/withAssetEditorLockHOC.js";import S from"../../../../ErrorBoundary/ErrorBoundary.js";import O from"../../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js";import k from"../../../../Button/components/Button/index.js";import"moment-timezone";import"classnames";import"../../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js";import"../../../../Button/components/LiveButton/styles.js";import"@icon-park/react/es/all";import"../../../../../icons/IconParkProvider.js";import"../../../../../icons/customIcons/icons/AddMessage.js";import"../../../../../icons/customIcons/icons/DragOne.js";import"../../../../../icons/customIcons/icons/Attention.js";import"../../../../../icons/customIcons/icons/Collapse.js";import"../../../../../icons/customIcons/icons/Dashboard.js";import"../../../../../icons/customIcons/icons/Expand.js";import"../../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../../icons/customIcons/icons/Search.js";import"../../../../../icons/customIcons/icons/SearchOne.js";import"../../../../../icons/customIcons/icons/Wellhub.js";import"../../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../../icons/customIcons/icons/Checkbox.js";import"../../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../../icons/customIcons/icons/Radio.js";import"../../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../../icons/customIcons/icons/InfoRounded.js";import"../../../../../icons/customIcons/icons/FlameFilled.js";import"../../../../../icons/customIcons/icons/MoreApp.js";import"../../../../../icons/customIcons/icons/Pad.js";import"../../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../../icons/customIcons/icons/FracFleet.js";import"../../../../../icons/customIcons/icons/Global.js";import"../../../../../icons/customIcons/icons/Program.js";import"../../../../../icons/customIcons/icons/Rig.js";import"../../../../../icons/customIcons/icons/Well.js";import"../../../../../icons/customIcons/icons/Gap.js";import"../../../../../icons/customIcons/icons/Pin.js";import"../../../../../icons/customIcons/icons/PinOne.js";import"../../../../../icons/customIcons/icons/PinOneCrossed.js";import"../../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../../icons/customIcons/icons/Archive.js";import"../../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../../icons/customIcons/icons/Unarchive.js";import"../../../../../icons/customIcons/icons/Archived.js";import"../../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../../icons/customIcons/icons/Lasso.js";import"../../../../../icons/customIcons/icons/Radius.js";import"../../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../../icons/customIcons/icons/Company.js";import"../../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../../icons/customIcons/icons/Connect.js";import"../../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../../icons/customIcons/icons/Feed.js";import"../../../../../icons/customIcons/icons/Prompt.js";import"../../../../../icons/customIcons/icons/Companies.js";import"../../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../../icons/customIcons/icons/Key.js";import"../../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../../icons/customIcons/icons/MappingManual.js";import"../../../../../icons/customIcons/icons/Mapping.js";import"../../../../../icons/customIcons/icons/Metrics.js";import"../../../../../icons/customIcons/icons/Drops.js";import"../../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../../icons/customIcons/icons/Template.js";import"../../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../../icons/customIcons/icons/NPT.js";import"../../../../../icons/customIcons/icons/GuidedFrac.js";import P from"../../../../Modal/Modal.js";import{DEV_CENTER_CLI_APP_ID as D}from"../../../../../constants/devcenter.js";import"../../../../../constants/goals.js";import{SEGMENTS as E,SEGMENT_TO_ASSET_TYPE as N}from"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import{ASSET_TYPES as x}from"../../../../../constants/assetTypes.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import w from"../../../../AssetEditorV2/index.js";import F from"../../../../AppVersionsSelect/AppVersionsSelect.js";import R from"../../../../DisabledSettingsMessage/DisabledSettingsMessage.js";import B from"../../../../ConfirmationDialog.js";import"../../../../UserMention/utils/index.js";import"../../../../../utils/convert.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import{getAppSegment as M}from"../../../../../utils/devcenter.js";import"../../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../../utils/ga.js";import"../../../../../utils/goalsConfig/goalsConfig.js";import"../../../../../utils/lasParser.js";import"../../../../../utils/main.js";import"../../../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as T}from"../../../../../utils/mobileDetect.js";import"../../../../../utils/feed.js";import"../../../../../utils/reports.js";import{showSuccessNotification as V}from"../../../../../utils/notificationToasts.js";import"@babel/runtime/helpers/typeof";import"../../../../../utils/dashboardReports.js";import"../../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../../utils/jsonaDataFormatter.js";import"../../../../../utils/bha.js";import"jsona";import"../../../../../clients/jsonApi/index.js";import"../../../../../utils/charts/Styles.scss.js";import"../../../../../utils/getSingleAsset.js";import{AppIcon as L}from"../../../../AppIcon/AppIcon.js";import U from"../../../../../permissions/usePermissions.js";import{PERMISSIONS as G}from"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"../../../../../permissions/PermissionsContext.js";import{HideInNativeApp as H}from"../../../../../componentsV2/HideInNativeApp/index.js";import{isReact18Host as _}from"../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants.js";function q(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,n)}return i}function z(s){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?q(Object(n),!0).forEach((function(i){o(s,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(n,o))}))}return s}var W="DC_appSettings",K=function(){return null},Z=A(w),J=R,Q=N,X=function(){return null},Y=function(A){var N,R,q,Y,$,oo,so=A.AppSettingsComponent,io=void 0===so?X:so,no=A.app,to=A.appData,eo=A.appName,co=A.currentUser,ro=A.disableAppAssetSelection,mo=void 0!==ro&&ro,po=A.isMultiRig,ao=A.isSettingsDialogHidden,lo=void 0!==ao&&ao,uo=A.layoutEnvironment,jo=A.onAppRemove,go=A.onCloneDashboard,fo=void 0===go?r:go,Io=A.onSettingsChange,vo=A.openIntercom,ho=A.rigId,Co=A.toggleAppSettingsDialog,yo=M(no),bo=i("string"==typeof yo?yo:E.DRILLING),Ao=s(bo,2),So=Ao[0],Oo=Ao[1],ko=i(!1),Po=s(ko,2),Do=Po[0],Eo=Po[1],No=i(!0),xo=s(No,2),wo=xo[0],Fo=xo[1],Ro=i(""),Bo=s(Ro,2),Mo=Bo[0],To=Bo[1],Vo=i((function(){var o,s,i=e(null!==(o=no.settings)&&void 0!==o?o:{}),n="string"==typeof i.package?i.package:void 0,t="string"==typeof(null===(s=no.package)||void 0===s?void 0:s.version)?no.package.version:void 0;return z(z({},i),{},{package:n||t})})),Lo=s(Vo,2),Uo=Lo[0],Go=Lo[1],Ho=n(ho),_o=n(null),qo=n(null),zo=U([G.getCanReadAppPackages(no.app.id)]),Wo=s(zo,1)[0],Ko=Wo.active,Zo=Wo.loading,Jo=Array.isArray(no.segment)?no.segment.filter((function(o){return"string"==typeof o})):[],Qo=Jo.length>1,Xo=So===E.COMPLETION,Yo=Q[So],$o="asset"===(null==uo?void 0:uo.type),os=no.id===D,ss=f(null==no||null===(N=no.app)||void 0===N?void 0:N.id),is=!(mo||T||po||$o&&Xo),ns=!T&&!lo&&!!jo,ts=Zo||Ko||Boolean(null===(R=_o.current)||void 0===R?void 0:R.clientHeight),es=Boolean(null===(q=qo.current)||void 0===q?void 0:q.clientHeight),cs=ts&&es,rs=$o?Z:w,ms="string"==typeof no.app.app_key?no.app.app_key:null,ps="string"==typeof Uo.package?Uo.package:void 0,as=h({isCompletionApp:Xo,isSustainabilityApp:ss,isAccordionRequired:cs,isRemoveButtonVisible:ns}),ls=function(s,i){return Go((function(n){return z(z({},n),{},o({},s,i))}))},us=function(o){return Go((function(s){return z(z({},s),o)}))};t((function(){wo||Fo(!0)}),[wo]),t((function(){c(Eo,200)(!0)}),[]);var ds=C("div",{className:as.modalTitleContainer,children:[y(L,{className:as.appIcon,segment:[So],iconUrl:null==no||null===(Y=no.app)||void 0===Y||null===($=Y.icon)||void 0===$?void 0:$.url,height:48,width:48}),C("div",{children:[y("div",{children:"".concat(eo," Settings")}),y(H,{children:C("div",{"data-testid":"".concat(W,"_appstoreLink"),className:as.appStoreButton,onClick:function(){var o,s;return window.open((s=null==no||null===(o=no.app)||void 0===o?void 0:o.id,"/app-store/app/".concat(s)),"_top")},children:["Open in Appstore ",y(j,{className:as.arrowIcon})]})})]})]}),js=C("div",{className:as.modalActions,children:[ns&&y(I,{appName:eo,onAppRemove:jo}),C("div",{children:[y(k,{"data-testid":"".concat(W,"_cancel"),variation:"secondary",onClick:Co,children:"Cancel"}),lo&&y(k,{variation:"primary",onClick:function(){return fo()},children:"Copy Dashboard"}),!lo&&y(k,{"data-testid":"".concat(W,"_save"),className:as.saveButton,variation:"primary",onClick:function(){if(Uo.package||os){if(is&&!$o){var o,s,i,n,t=null==Yo||null===(o=Yo.primaryAsset)||void 0===o||null===(s=o.assetType)||void 0===s?void 0:s.id,e=null==Yo||null===(i=Yo.primaryAsset)||void 0===i||null===(n=i.assetType)||void 0===n?void 0:n.label;if(t&&!Uo[t])return void To("Please select ".concat(e))}Io(Uo),V("Successfully saved"),Co()}else To("Please select app version")},children:"Save"})]})]});return y(P,{actions:js,closeIconClassName:as.closeIcon,contentContainerClassName:as.modalContainer,modalTitleClassName:as.modalTitle,onClose:Co,open:!0,title:ds,children:C(S,{ErrorView:O,openIntercom:vo,children:[y(B,{open:!!Mo,isShowCancel:!1,title:"Validation failed",text:Mo,handleOk:function(){return To("")},classes:{confirmation:as.confirmationText}}),lo&&y(J,{}),!lo&&Do&&!es&&!ts&&y(g,{image:g.IMAGES.UnderConstruction,title:"No app settings"}),!lo&&C(b,{children:[C(v,{defaultExpanded:!0,className:as.assetAccordion,accordionDetailsRef:_o,isAccordionRequired:cs,summary:"Asset",children:[Qo&&C(a,{className:as.segmentSelector,children:[y(l,{children:"Segment"}),y(u,{value:So,onChange:function(o){var s=String(o.target.value);Ho.current=null,Fo(!1),Oo(s),Go(z(z({package:Uo.package,segment:s},m(p(x,"id"),(function(){return null}))),{},{assets:null}))},children:Jo.map((function(o){return y(d,{className:as.segmentMenuItem,value:o,children:o},o)}))})]}),is&&wo&&Yo&&y(rs,{appKey:os?null:ms,appType:Yo,defaultValue:Ho.current,secondaryDefaultValue:+(null==to||null===(oo=to.well)||void 0===oo?void 0:oo.id),isHiddenTitle:!0,isNullable:$o,label:"Asset",onSettingsChange:us,settings:Uo}),y(F,{className:as.appVersionSelect,appId:no.app.id,value:ps,onChange:function(o,s,i){return i&&_()?us({package:o,react18AutoSwitchDisabled:!0}):ls("package",o)}})]}),y(S,{ErrorView:K,openIntercom:vo,children:y(v,{accordionDetailsRef:qo,className:as.accordion,defaultExpanded:!0,isAccordionRequired:cs,summary:"App Settings",children:io&&y(io,{app:no,appData:to,settings:Uo,onSettingChange:ls,onSettingsChange:us,layoutEnvironment:uo,currentUser:co})})})]})]})})};export{W as PAGE_NAME,Y as default};
2
2
  //# sourceMappingURL=AppSettingsDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppSettingsDialog.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ComponentType, FC, ReactNode } from 'react';\nimport { cloneDeep, debounce, keyBy, mapValues, noop } from 'lodash';\nimport { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport type { SelectProps } from '@material-ui/core/Select';\nimport { ArrowForward as ArrowIcon } from '@material-ui/icons';\n\nimport EmptyState from '../../../../EmptyState';\nimport type {\n AppDataEntry,\n DevCenterAppResource,\n DevCenterCurrentUser,\n LayoutEnvironment,\n} from '../../types';\nimport { getIsSustainabilityApp } from '../../utils';\n\nimport { RemoveAppButton, SettingsAccordion } from './components';\nimport { useStyles } from './styles';\n\nimport { withAssetEditorLockHOC } from '~/hocs';\nimport ErrorBoundary, { DevCenterAppErrorView } from '~/components/ErrorBoundary';\nimport Button from '~/components/Button';\nimport Modal from '~/components/Modal';\nimport { ASSET_TYPES, DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport AssetEditor from '~/components/AssetEditorV2';\nimport AppVersionsSelect from '~/components/AppVersionsSelect';\nimport { DisabledSettingsMessage } from '~/components/DisabledSettingsMessage';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { SEGMENT_TO_ASSET_TYPE, SEGMENTS } from '~/constants/segment';\nimport { showSuccessNotification } from '~/utils';\nimport AppIcon from '~/components/AppIcon';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\nimport { HideInNativeApp } from '~/componentsV2/HideInNativeApp';\n// [REACT-18-MIGRATION-TAG] PLT-3099\nimport { isReact18Host } from '~/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants';\n\nexport const PAGE_NAME = 'DC_appSettings';\n\nconst getAppPageUrl = (appId: number | string | undefined): string => `/app-store/app/${appId}`;\n\nconst AppSettingsErrorView = () => null;\n\nexport type AppSettings = {\n package?: string | null;\n padId?: number | string | null;\n segment?: string;\n} & Record<string, unknown>;\n\nexport type AppSettingsComponentProps = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentUser: DevCenterCurrentUser;\n layoutEnvironment?: LayoutEnvironment | null;\n onSettingChange: (name: string, value: unknown) => void;\n onSettingsChange: (settings: AppSettings) => void;\n settings: AppSettings;\n};\n\nexport type AppSettingsDialogProps = {\n AppSettingsComponent?: ComponentType<AppSettingsComponentProps> | null;\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n currentUser: DevCenterCurrentUser;\n disableAppAssetSelection?: boolean;\n isMultiRig: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: LayoutEnvironment | null;\n onAppRemove?: () => void;\n onCloneDashboard?: () => void;\n onSettingsChange: (settings: AppSettings) => void;\n openIntercom?: () => void;\n rigId?: number | string | null;\n toggleAppSettingsDialog: () => void;\n};\n\ntype AssetEditorAppType = {\n primaryAsset?: {\n assetType?: {\n id?: string;\n label?: string;\n };\n };\n};\n\ntype AssetEditorProps = {\n appKey: string | null;\n appType: AssetEditorAppType | undefined;\n defaultValue: number | string | null | undefined;\n secondaryDefaultValue: number;\n isHiddenTitle: boolean;\n isNullable: boolean;\n label: string;\n onSettingsChange: (settings: AppSettings) => void;\n settings: AppSettings;\n};\n\n/*\n * AS-KEEP — JavaScript boundary.\n *\n * `AssetEditorV2` and `DisabledSettingsMessage` are still `.js`. TypeScript infers their props\n * from `propTypes` alone and never reads `defaultProps`, so every defaulted prop comes back\n * required and the inferred type has no overlap with the subset this dialog supplies. Nothing\n * lower on the ladder reaches it: there is no value to narrow, no predicate to write, and\n * widening the contract would mean hand-writing a `.d.ts` for a module that is itself queued for\n * migration. The assertions stay here, at the boundary, and describe exactly what this dialog\n * passes — `AssetEditorProps` below is the real contract, checked at every call site.\n *\n * Delete both once `AssetEditorV2/index.js` and `DisabledSettingsMessage.js` are TypeScript.\n */\nconst AssetEditorWithLock = withAssetEditorLockHOC(AssetEditor) as ComponentType<AssetEditorProps>;\n// TS cannot convert this one directly: with `defaultProps` ignored, the inferred type keeps\n// props this dialog never passes, so neither side overlaps. `unknown` is the only route.\nconst TypedAssetEditor = AssetEditor as unknown as ComponentType<AssetEditorProps>;\nconst OptionalDisabledSettingsMessage = DisabledSettingsMessage as ComponentType<{\n onCloneDashboard?: () => void;\n}>;\n\nconst ASSET_EDITOR_TYPES_BY_SEGMENT: Record<string, AssetEditorAppType> = SEGMENT_TO_ASSET_TYPE;\n\nconst DEFAULT_APP_SETTINGS_COMPONENT: ComponentType<AppSettingsComponentProps> = () => null;\n\nconst AppSettingsDialog: FC<AppSettingsDialogProps> = ({\n AppSettingsComponent = DEFAULT_APP_SETTINGS_COMPONENT,\n app,\n appData,\n appName,\n currentUser,\n disableAppAssetSelection = false,\n isMultiRig,\n isSettingsDialogHidden = false,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard = noop,\n onSettingsChange,\n openIntercom,\n rigId,\n toggleAppSettingsDialog,\n}) => {\n const initialSegment = getAppSegment(app);\n\n const [appSegmentSetting, setAppSegmentSetting] = useState<string>(\n typeof initialSegment === 'string' ? initialSegment : SEGMENTS.DRILLING\n );\n const [isMounted, setIsMounted] = useState(false);\n const [isAssetSelectorRendered, setIsAssetSelectorRendered] = useState(true);\n const [validationError, setValidationError] = useState('');\n const [appSettings, setAppSettings] = useState<AppSettings>(() => {\n const settings: AppSettings = cloneDeep(app.settings ?? {});\n const settingsPackage = typeof settings.package === 'string' ? settings.package : undefined;\n const packageVersion =\n typeof app.package?.version === 'string' ? app.package.version : undefined;\n\n return {\n ...settings,\n package: settingsPackage || packageVersion,\n };\n });\n\n // NOTE: Keep in ref to have a way to reset default value\n // of asset selector when changing app segment\n const defaultRigId = useRef<number | string | null | undefined>(rigId);\n const platformAppSettingsRef = useRef<HTMLDivElement | null>(null);\n const customAppSettingsRef = useRef<HTMLDivElement | null>(null);\n\n const [{ active: canReadAppPackages, loading: isPermissionsLoading }] = usePermissions([\n PERMISSIONS.getCanReadAppPackages(app.app.id),\n ]);\n\n const appSegments = Array.isArray(app.segment)\n ? app.segment.filter((segment): segment is string => typeof segment === 'string')\n : [];\n const hasSegmentSelector = appSegments.length > 1;\n const isCompletionSegment = appSegmentSetting === SEGMENTS.COMPLETION;\n const assetEditorAppType = ASSET_EDITOR_TYPES_BY_SEGMENT[appSegmentSetting];\n const isAssetPage = layoutEnvironment?.type === 'asset';\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n const isSustainabilityApp = getIsSustainabilityApp(app?.app?.id);\n\n const isAssetSelectorVisible =\n !disableAppAssetSelection &&\n !isInsideNewMobileApp &&\n !isMultiRig &&\n !(isAssetPage && isCompletionSegment);\n const isRemoveButtonVisible = !isInsideNewMobileApp && !isSettingsDialogHidden && !!onAppRemove;\n\n const hasPlatformAppSettings =\n isPermissionsLoading ||\n canReadAppPackages ||\n Boolean(platformAppSettingsRef.current?.clientHeight);\n const hasCustomAppSettings = Boolean(customAppSettingsRef.current?.clientHeight);\n const isAccordionRequired = hasPlatformAppSettings && hasCustomAppSettings;\n\n const AssetEditorComponent = isAssetPage ? AssetEditorWithLock : TypedAssetEditor;\n const appKey = typeof app.app.app_key === 'string' ? app.app.app_key : null;\n const selectedPackage = typeof appSettings.package === 'string' ? appSettings.package : undefined;\n\n const styles = useStyles({\n isCompletionApp: isCompletionSegment,\n isSustainabilityApp,\n isAccordionRequired,\n isRemoveButtonVisible,\n });\n\n const handleChangeAppSegment: SelectProps['onChange'] = event => {\n const nextSegment = String(event.target.value);\n\n defaultRigId.current = null;\n setIsAssetSelectorRendered(false);\n\n setAppSegmentSetting(nextSegment);\n setAppSettings({\n package: appSettings.package,\n segment: nextSegment,\n // NOTE: we need to reset asset ids when segment is changed\n ...mapValues(keyBy(ASSET_TYPES, 'id'), () => null),\n assets: null,\n });\n };\n\n const handleAppSettingChange = (name: string, value: unknown) =>\n setAppSettings(prevSettings => ({\n ...prevSettings,\n [name]: value,\n }));\n\n const handleAppSettingsChange = (newSettings: AppSettings) =>\n setAppSettings(prevSettings => ({ ...prevSettings, ...newSettings }));\n\n const handleSave = () => {\n if (!appSettings.package && !isCLIApp) {\n setValidationError('Please select app version');\n return;\n }\n\n if (isAssetSelectorVisible && !isAssetPage) {\n const appTypeKey = assetEditorAppType?.primaryAsset?.assetType?.id;\n const appTypeLabel = assetEditorAppType?.primaryAsset?.assetType?.label;\n\n if (appTypeKey && !appSettings[appTypeKey]) {\n setValidationError(`Please select ${appTypeLabel}`);\n return;\n }\n }\n\n onSettingsChange(appSettings);\n showSuccessNotification('Successfully saved');\n toggleAppSettingsDialog();\n };\n\n const handleAppVersionChange = (value: string, _appPackage: unknown, isUserChange: boolean) =>\n // [REACT-18-MIGRATION-TAG] PLT-3099: a genuine user pick on a React-18 host opts the app out\n // of the auto-switch; the auto-preselect must not (isUserChange).\n isUserChange && isReact18Host()\n ? handleAppSettingsChange({ package: value, react18AutoSwitchDisabled: true })\n : handleAppSettingChange('package', value);\n\n useEffect(() => {\n if (!isAssetSelectorRendered) setIsAssetSelectorRendered(true);\n }, [isAssetSelectorRendered]);\n\n useEffect(() => {\n const debouncedSetIsMounted = debounce(setIsMounted, 200);\n debouncedSetIsMounted(true);\n }, []);\n\n const modalTitle: ReactNode = (\n <div className={styles.modalTitleContainer}>\n <AppIcon\n className={styles.appIcon}\n segment={[appSegmentSetting]}\n iconUrl={app?.app?.icon?.url}\n height={48}\n width={48}\n />\n <div>\n <div>{`${appName} Settings`}</div>\n <HideInNativeApp>\n <div\n data-testid={`${PAGE_NAME}_appstoreLink`}\n className={styles.appStoreButton}\n onClick={() => window.open(getAppPageUrl(app?.app?.id), '_top')}\n >\n Open in Appstore <ArrowIcon className={styles.arrowIcon} />\n </div>\n </HideInNativeApp>\n </div>\n </div>\n );\n\n const modalActions = (\n <div className={styles.modalActions}>\n {isRemoveButtonVisible && <RemoveAppButton appName={appName} onAppRemove={onAppRemove} />}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n variation=\"secondary\"\n onClick={toggleAppSettingsDialog}\n >\n Cancel\n </Button>\n {isSettingsDialogHidden && (\n <Button variation=\"primary\" onClick={() => onCloneDashboard()}>\n Copy Dashboard\n </Button>\n )}\n {!isSettingsDialogHidden && (\n <Button\n data-testid={`${PAGE_NAME}_save`}\n className={styles.saveButton}\n variation=\"primary\"\n onClick={handleSave}\n >\n Save\n </Button>\n )}\n </div>\n </div>\n );\n\n return (\n <Modal\n actions={modalActions}\n closeIconClassName={styles.closeIcon}\n contentContainerClassName={styles.modalContainer}\n modalTitleClassName={styles.modalTitle}\n onClose={toggleAppSettingsDialog}\n open\n title={modalTitle}\n >\n <ErrorBoundary ErrorView={DevCenterAppErrorView} openIntercom={openIntercom}>\n <ConfirmationDialog\n open={!!validationError}\n isShowCancel={false}\n title=\"Validation failed\"\n text={validationError}\n handleOk={() => setValidationError('')}\n classes={{ confirmation: styles.confirmationText }}\n />\n {isSettingsDialogHidden && <OptionalDisabledSettingsMessage />}\n {!isSettingsDialogHidden &&\n isMounted &&\n !hasCustomAppSettings &&\n !hasPlatformAppSettings && (\n <EmptyState image={EmptyState.IMAGES.UnderConstruction} title=\"No app settings\" />\n )}\n {!isSettingsDialogHidden && (\n <>\n <SettingsAccordion\n defaultExpanded\n className={styles.assetAccordion}\n accordionDetailsRef={platformAppSettingsRef}\n isAccordionRequired={isAccordionRequired}\n summary=\"Asset\"\n >\n {hasSegmentSelector && (\n <FormControl className={styles.segmentSelector}>\n <InputLabel>Segment</InputLabel>\n <Select value={appSegmentSetting} onChange={handleChangeAppSegment}>\n {appSegments.map(segmentItem => (\n <MenuItem\n className={styles.segmentMenuItem}\n key={segmentItem}\n value={segmentItem}\n >\n {segmentItem}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )}\n {isAssetSelectorVisible && isAssetSelectorRendered && (\n <AssetEditorComponent\n appKey={isCLIApp ? null : appKey}\n appType={assetEditorAppType}\n defaultValue={defaultRigId.current}\n secondaryDefaultValue={+appData?.well?.id}\n isHiddenTitle\n isNullable={isAssetPage}\n label=\"Asset\"\n onSettingsChange={handleAppSettingsChange}\n settings={appSettings}\n />\n )}\n <AppVersionsSelect\n className={styles.appVersionSelect}\n appId={app.app.id}\n value={selectedPackage}\n onChange={handleAppVersionChange}\n />\n </SettingsAccordion>\n <ErrorBoundary ErrorView={AppSettingsErrorView} openIntercom={openIntercom}>\n <SettingsAccordion\n accordionDetailsRef={customAppSettingsRef}\n className={styles.accordion}\n defaultExpanded\n isAccordionRequired={isAccordionRequired}\n summary=\"App Settings\"\n >\n {AppSettingsComponent && (\n <AppSettingsComponent\n app={app}\n appData={appData}\n settings={appSettings}\n onSettingChange={handleAppSettingChange}\n onSettingsChange={handleAppSettingsChange}\n layoutEnvironment={layoutEnvironment}\n currentUser={currentUser}\n />\n )}\n </SettingsAccordion>\n </ErrorBoundary>\n </>\n )}\n </ErrorBoundary>\n </Modal>\n );\n};\n\nexport default AppSettingsDialog;\n"],"names":["PAGE_NAME","AppSettingsErrorView","AssetEditorWithLock","withAssetEditorLockHOC","AssetEditor","TypedAssetEditor","OptionalDisabledSettingsMessage","DisabledSettingsMessage","ASSET_EDITOR_TYPES_BY_SEGMENT","SEGMENT_TO_ASSET_TYPE","DEFAULT_APP_SETTINGS_COMPONENT","AppSettingsDialog","_ref","_app$app","_platformAppSettingsR","_customAppSettingsRef","_app$app2","_app$app2$icon","_appData$well","_ref$AppSettingsCompo","AppSettingsComponent","app","appData","appName","currentUser","_ref$disableAppAssetS","disableAppAssetSelection","isMultiRig","_ref$isSettingsDialog","isSettingsDialogHidden","layoutEnvironment","onAppRemove","_ref$onCloneDashboard","onCloneDashboard","noop","onSettingsChange","openIntercom","rigId","toggleAppSettingsDialog","initialSegment","getAppSegment","_useState","useState","SEGMENTS","DRILLING","_useState2","_slicedToArray","appSegmentSetting","setAppSegmentSetting","_useState4","_useState3","isMounted","setIsMounted","_useState6","_useState5","isAssetSelectorRendered","setIsAssetSelectorRendered","_useState8","_useState7","validationError","setValidationError","_app$settings","_app$package","settings","cloneDeep","settingsPackage","package","undefined","packageVersion","version","_objectSpread","_useState10","_useState9","appSettings","setAppSettings","defaultRigId","useRef","platformAppSettingsRef","customAppSettingsRef","_usePermissions","usePermissions","PERMISSIONS","getCanReadAppPackages","id","_usePermissions2$","canReadAppPackages","active","isPermissionsLoading","loading","appSegments","Array","isArray","segment","filter","hasSegmentSelector","length","isCompletionSegment","COMPLETION","assetEditorAppType","isAssetPage","type","isCLIApp","DEV_CENTER_CLI_APP_ID","isSustainabilityApp","getIsSustainabilityApp","isAssetSelectorVisible","isInsideNewMobileApp","isRemoveButtonVisible","hasPlatformAppSettings","Boolean","current","clientHeight","hasCustomAppSettings","isAccordionRequired","AssetEditorComponent","appKey","app_key","selectedPackage","styles","useStyles","isCompletionApp","handleAppSettingChange","name","value","prevSettings","_defineProperty","handleAppSettingsChange","newSettings","useEffect","debounce","debouncedSetIsMounted","modalTitle","_jsxs","className","modalTitleContainer","children","_jsx","AppIcon","appIcon","iconUrl","icon","url","height","width","concat","HideInNativeApp","appStoreButton","onClick","_app$app3","appId","window","open","ArrowIcon","arrowIcon","modalActions","RemoveAppButton","Button","variation","saveButton","_assetEditorAppType$p","_assetEditorAppType$p2","_assetEditorAppType$p3","_assetEditorAppType$p4","appTypeKey","primaryAsset","assetType","appTypeLabel","label","showSuccessNotification","Modal","actions","closeIconClassName","closeIcon","contentContainerClassName","modalContainer","modalTitleClassName","onClose","title","ErrorBoundary","ErrorView","DevCenterAppErrorView","ConfirmationDialog","isShowCancel","text","handleOk","classes","confirmation","confirmationText","EmptyState","image","IMAGES","UnderConstruction","_Fragment","SettingsAccordion","defaultExpanded","assetAccordion","accordionDetailsRef","summary","FormControl","segmentSelector","InputLabel","Select","onChange","event","nextSegment","String","target","mapValues","keyBy","ASSET_TYPES","assets","map","segmentItem","MenuItem","segmentMenuItem","appType","defaultValue","secondaryDefaultValue","well","isHiddenTitle","isNullable","AppVersionsSelect","appVersionSelect","_appPackage","isUserChange","isReact18Host","react18AutoSwitchDisabled","accordion","onSettingChange"],"mappings":"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"}
1
+ {"version":3,"file":"AppSettingsDialog.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ComponentType, FC, ReactNode } from 'react';\nimport { cloneDeep, debounce, keyBy, mapValues, noop } from 'lodash';\nimport { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport type { SelectProps } from '@material-ui/core/Select';\nimport { ArrowForward as ArrowIcon } from '@material-ui/icons';\n\nimport EmptyState from '../../../../EmptyState';\nimport type {\n AppDataEntry,\n DevCenterAppResource,\n DevCenterCurrentUser,\n LayoutEnvironment,\n} from '../../types';\nimport { getIsSustainabilityApp } from '../../utils';\n\nimport { RemoveAppButton, SettingsAccordion } from './components';\nimport { useStyles } from './styles';\n\nimport { withAssetEditorLockHOC } from '~/hocs';\nimport ErrorBoundary, { DevCenterAppErrorView } from '~/components/ErrorBoundary';\nimport Button from '~/components/Button';\nimport Modal from '~/components/Modal';\nimport { ASSET_TYPES, DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport AssetEditor, { AssetEditorAppType } from '~/components/AssetEditorV2';\nimport AppVersionsSelect from '~/components/AppVersionsSelect';\nimport { DisabledSettingsMessage } from '~/components/DisabledSettingsMessage';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { SEGMENT_TO_ASSET_TYPE, SEGMENTS } from '~/constants/segment';\nimport { showSuccessNotification } from '~/utils';\nimport AppIcon from '~/components/AppIcon';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\nimport { HideInNativeApp } from '~/componentsV2/HideInNativeApp';\n// [REACT-18-MIGRATION-TAG] PLT-3099\nimport { isReact18Host } from '~/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants';\n\nexport const PAGE_NAME = 'DC_appSettings';\n\nconst getAppPageUrl = (appId: number | string | undefined): string => `/app-store/app/${appId}`;\n\nconst AppSettingsErrorView = () => null;\n\nexport type AppSettings = {\n package?: string | null;\n padId?: number | string | null;\n segment?: string;\n} & Record<string, unknown>;\n\nexport type AppSettingsComponentProps = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentUser: DevCenterCurrentUser;\n layoutEnvironment?: LayoutEnvironment | null;\n onSettingChange: (name: string, value: unknown) => void;\n onSettingsChange: (settings: AppSettings) => void;\n settings: AppSettings;\n};\n\nexport type AppSettingsDialogProps = {\n AppSettingsComponent?: ComponentType<AppSettingsComponentProps> | null;\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n currentUser: DevCenterCurrentUser;\n disableAppAssetSelection?: boolean;\n isMultiRig: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: LayoutEnvironment | null;\n onAppRemove?: () => void;\n onCloneDashboard?: () => void;\n onSettingsChange: (settings: AppSettings) => void;\n openIntercom?: () => void;\n rigId?: number | string | null;\n toggleAppSettingsDialog: () => void;\n};\n\nconst AssetEditorWithLock = withAssetEditorLockHOC(AssetEditor);\n\n/*\n * AS-KEEP — DisabledSettingsMessage is still JavaScript and declares a required\n * onCloneDashboard callback, although its rendering supports an omitted callback.\n * Remove this assertion when that component is migrated to TypeScript.\n */\nconst OptionalDisabledSettingsMessage = DisabledSettingsMessage as ComponentType<{\n onCloneDashboard?: () => void;\n}>;\n\nconst ASSET_EDITOR_TYPES_BY_SEGMENT: Partial<Record<string, AssetEditorAppType>> =\n SEGMENT_TO_ASSET_TYPE;\n\nconst DEFAULT_APP_SETTINGS_COMPONENT: ComponentType<AppSettingsComponentProps> = () => null;\n\nconst AppSettingsDialog: FC<AppSettingsDialogProps> = ({\n AppSettingsComponent = DEFAULT_APP_SETTINGS_COMPONENT,\n app,\n appData,\n appName,\n currentUser,\n disableAppAssetSelection = false,\n isMultiRig,\n isSettingsDialogHidden = false,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard = noop,\n onSettingsChange,\n openIntercom,\n rigId,\n toggleAppSettingsDialog,\n}) => {\n const initialSegment = getAppSegment(app);\n\n const [appSegmentSetting, setAppSegmentSetting] = useState<string>(\n typeof initialSegment === 'string' ? initialSegment : SEGMENTS.DRILLING\n );\n const [isMounted, setIsMounted] = useState(false);\n const [isAssetSelectorRendered, setIsAssetSelectorRendered] = useState(true);\n const [validationError, setValidationError] = useState('');\n const [appSettings, setAppSettings] = useState<AppSettings>(() => {\n const settings: AppSettings = cloneDeep(app.settings ?? {});\n const settingsPackage = typeof settings.package === 'string' ? settings.package : undefined;\n const packageVersion =\n typeof app.package?.version === 'string' ? app.package.version : undefined;\n\n return {\n ...settings,\n package: settingsPackage || packageVersion,\n };\n });\n\n // NOTE: Keep in ref to have a way to reset default value\n // of asset selector when changing app segment\n const defaultRigId = useRef<number | string | null | undefined>(rigId);\n const platformAppSettingsRef = useRef<HTMLDivElement | null>(null);\n const customAppSettingsRef = useRef<HTMLDivElement | null>(null);\n\n const [{ active: canReadAppPackages, loading: isPermissionsLoading }] = usePermissions([\n PERMISSIONS.getCanReadAppPackages(app.app.id),\n ]);\n\n const appSegments = Array.isArray(app.segment)\n ? app.segment.filter((segment): segment is string => typeof segment === 'string')\n : [];\n const hasSegmentSelector = appSegments.length > 1;\n const isCompletionSegment = appSegmentSetting === SEGMENTS.COMPLETION;\n const assetEditorAppType = ASSET_EDITOR_TYPES_BY_SEGMENT[appSegmentSetting];\n const isAssetPage = layoutEnvironment?.type === 'asset';\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n const isSustainabilityApp = getIsSustainabilityApp(app?.app?.id);\n\n const isAssetSelectorVisible =\n !disableAppAssetSelection &&\n !isInsideNewMobileApp &&\n !isMultiRig &&\n !(isAssetPage && isCompletionSegment);\n const isRemoveButtonVisible = !isInsideNewMobileApp && !isSettingsDialogHidden && !!onAppRemove;\n\n const hasPlatformAppSettings =\n isPermissionsLoading ||\n canReadAppPackages ||\n Boolean(platformAppSettingsRef.current?.clientHeight);\n const hasCustomAppSettings = Boolean(customAppSettingsRef.current?.clientHeight);\n const isAccordionRequired = hasPlatformAppSettings && hasCustomAppSettings;\n\n const AssetEditorComponent = isAssetPage ? AssetEditorWithLock : AssetEditor;\n const appKey = typeof app.app.app_key === 'string' ? app.app.app_key : null;\n const selectedPackage = typeof appSettings.package === 'string' ? appSettings.package : undefined;\n\n const styles = useStyles({\n isCompletionApp: isCompletionSegment,\n isSustainabilityApp,\n isAccordionRequired,\n isRemoveButtonVisible,\n });\n\n const handleChangeAppSegment: SelectProps['onChange'] = event => {\n const nextSegment = String(event.target.value);\n\n defaultRigId.current = null;\n setIsAssetSelectorRendered(false);\n\n setAppSegmentSetting(nextSegment);\n setAppSettings({\n package: appSettings.package,\n segment: nextSegment,\n // NOTE: we need to reset asset ids when segment is changed\n ...mapValues(keyBy(ASSET_TYPES, 'id'), () => null),\n assets: null,\n });\n };\n\n const handleAppSettingChange = (name: string, value: unknown) =>\n setAppSettings(prevSettings => ({\n ...prevSettings,\n [name]: value,\n }));\n\n const handleAppSettingsChange = (newSettings: AppSettings) =>\n setAppSettings(prevSettings => ({ ...prevSettings, ...newSettings }));\n\n const handleSave = () => {\n if (!appSettings.package && !isCLIApp) {\n setValidationError('Please select app version');\n return;\n }\n\n if (isAssetSelectorVisible && !isAssetPage) {\n const appTypeKey = assetEditorAppType?.primaryAsset?.assetType?.id;\n const appTypeLabel = assetEditorAppType?.primaryAsset?.assetType?.label;\n\n if (appTypeKey && !appSettings[appTypeKey]) {\n setValidationError(`Please select ${appTypeLabel}`);\n return;\n }\n }\n\n onSettingsChange(appSettings);\n showSuccessNotification('Successfully saved');\n toggleAppSettingsDialog();\n };\n\n const handleAppVersionChange = (value: string, _appPackage: unknown, isUserChange: boolean) =>\n // [REACT-18-MIGRATION-TAG] PLT-3099: a genuine user pick on a React-18 host opts the app out\n // of the auto-switch; the auto-preselect must not (isUserChange).\n isUserChange && isReact18Host()\n ? handleAppSettingsChange({ package: value, react18AutoSwitchDisabled: true })\n : handleAppSettingChange('package', value);\n\n useEffect(() => {\n if (!isAssetSelectorRendered) setIsAssetSelectorRendered(true);\n }, [isAssetSelectorRendered]);\n\n useEffect(() => {\n const debouncedSetIsMounted = debounce(setIsMounted, 200);\n debouncedSetIsMounted(true);\n }, []);\n\n const modalTitle: ReactNode = (\n <div className={styles.modalTitleContainer}>\n <AppIcon\n className={styles.appIcon}\n segment={[appSegmentSetting]}\n iconUrl={app?.app?.icon?.url}\n height={48}\n width={48}\n />\n <div>\n <div>{`${appName} Settings`}</div>\n <HideInNativeApp>\n <div\n data-testid={`${PAGE_NAME}_appstoreLink`}\n className={styles.appStoreButton}\n onClick={() => window.open(getAppPageUrl(app?.app?.id), '_top')}\n >\n Open in Appstore <ArrowIcon className={styles.arrowIcon} />\n </div>\n </HideInNativeApp>\n </div>\n </div>\n );\n\n const modalActions = (\n <div className={styles.modalActions}>\n {isRemoveButtonVisible && <RemoveAppButton appName={appName} onAppRemove={onAppRemove} />}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n variation=\"secondary\"\n onClick={toggleAppSettingsDialog}\n >\n Cancel\n </Button>\n {isSettingsDialogHidden && (\n <Button variation=\"primary\" onClick={() => onCloneDashboard()}>\n Copy Dashboard\n </Button>\n )}\n {!isSettingsDialogHidden && (\n <Button\n data-testid={`${PAGE_NAME}_save`}\n className={styles.saveButton}\n variation=\"primary\"\n onClick={handleSave}\n >\n Save\n </Button>\n )}\n </div>\n </div>\n );\n\n return (\n <Modal\n actions={modalActions}\n closeIconClassName={styles.closeIcon}\n contentContainerClassName={styles.modalContainer}\n modalTitleClassName={styles.modalTitle}\n onClose={toggleAppSettingsDialog}\n open\n title={modalTitle}\n >\n <ErrorBoundary ErrorView={DevCenterAppErrorView} openIntercom={openIntercom}>\n <ConfirmationDialog\n open={!!validationError}\n isShowCancel={false}\n title=\"Validation failed\"\n text={validationError}\n handleOk={() => setValidationError('')}\n classes={{ confirmation: styles.confirmationText }}\n />\n {isSettingsDialogHidden && <OptionalDisabledSettingsMessage />}\n {!isSettingsDialogHidden &&\n isMounted &&\n !hasCustomAppSettings &&\n !hasPlatformAppSettings && (\n <EmptyState image={EmptyState.IMAGES.UnderConstruction} title=\"No app settings\" />\n )}\n {!isSettingsDialogHidden && (\n <>\n <SettingsAccordion\n defaultExpanded\n className={styles.assetAccordion}\n accordionDetailsRef={platformAppSettingsRef}\n isAccordionRequired={isAccordionRequired}\n summary=\"Asset\"\n >\n {hasSegmentSelector && (\n <FormControl className={styles.segmentSelector}>\n <InputLabel>Segment</InputLabel>\n <Select value={appSegmentSetting} onChange={handleChangeAppSegment}>\n {appSegments.map(segmentItem => (\n <MenuItem\n className={styles.segmentMenuItem}\n key={segmentItem}\n value={segmentItem}\n >\n {segmentItem}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )}\n {isAssetSelectorVisible && isAssetSelectorRendered && assetEditorAppType && (\n <AssetEditorComponent\n appKey={isCLIApp ? null : appKey}\n appType={assetEditorAppType}\n defaultValue={defaultRigId.current}\n secondaryDefaultValue={+appData?.well?.id}\n isHiddenTitle\n isNullable={isAssetPage}\n label=\"Asset\"\n onSettingsChange={handleAppSettingsChange}\n settings={appSettings}\n />\n )}\n <AppVersionsSelect\n className={styles.appVersionSelect}\n appId={app.app.id}\n value={selectedPackage}\n onChange={handleAppVersionChange}\n />\n </SettingsAccordion>\n <ErrorBoundary ErrorView={AppSettingsErrorView} openIntercom={openIntercom}>\n <SettingsAccordion\n accordionDetailsRef={customAppSettingsRef}\n className={styles.accordion}\n defaultExpanded\n isAccordionRequired={isAccordionRequired}\n summary=\"App Settings\"\n >\n {AppSettingsComponent && (\n <AppSettingsComponent\n app={app}\n appData={appData}\n settings={appSettings}\n onSettingChange={handleAppSettingChange}\n onSettingsChange={handleAppSettingsChange}\n layoutEnvironment={layoutEnvironment}\n currentUser={currentUser}\n />\n )}\n </SettingsAccordion>\n </ErrorBoundary>\n </>\n )}\n </ErrorBoundary>\n </Modal>\n );\n};\n\nexport default AppSettingsDialog;\n"],"names":["PAGE_NAME","AppSettingsErrorView","AssetEditorWithLock","withAssetEditorLockHOC","AssetEditor","OptionalDisabledSettingsMessage","DisabledSettingsMessage","ASSET_EDITOR_TYPES_BY_SEGMENT","SEGMENT_TO_ASSET_TYPE","DEFAULT_APP_SETTINGS_COMPONENT","AppSettingsDialog","_ref","_app$app","_platformAppSettingsR","_customAppSettingsRef","_app$app2","_app$app2$icon","_appData$well","_ref$AppSettingsCompo","AppSettingsComponent","app","appData","appName","currentUser","_ref$disableAppAssetS","disableAppAssetSelection","isMultiRig","_ref$isSettingsDialog","isSettingsDialogHidden","layoutEnvironment","onAppRemove","_ref$onCloneDashboard","onCloneDashboard","noop","onSettingsChange","openIntercom","rigId","toggleAppSettingsDialog","initialSegment","getAppSegment","_useState","useState","SEGMENTS","DRILLING","_useState2","_slicedToArray","appSegmentSetting","setAppSegmentSetting","_useState4","_useState3","isMounted","setIsMounted","_useState6","_useState5","isAssetSelectorRendered","setIsAssetSelectorRendered","_useState8","_useState7","validationError","setValidationError","_app$settings","_app$package","settings","cloneDeep","settingsPackage","package","undefined","packageVersion","version","_objectSpread","_useState10","_useState9","appSettings","setAppSettings","defaultRigId","useRef","platformAppSettingsRef","customAppSettingsRef","_usePermissions","usePermissions","PERMISSIONS","getCanReadAppPackages","id","_usePermissions2$","canReadAppPackages","active","isPermissionsLoading","loading","appSegments","Array","isArray","segment","filter","hasSegmentSelector","length","isCompletionSegment","COMPLETION","assetEditorAppType","isAssetPage","type","isCLIApp","DEV_CENTER_CLI_APP_ID","isSustainabilityApp","getIsSustainabilityApp","isAssetSelectorVisible","isInsideNewMobileApp","isRemoveButtonVisible","hasPlatformAppSettings","Boolean","current","clientHeight","hasCustomAppSettings","isAccordionRequired","AssetEditorComponent","appKey","app_key","selectedPackage","styles","useStyles","isCompletionApp","handleAppSettingChange","name","value","prevSettings","_defineProperty","handleAppSettingsChange","newSettings","useEffect","debounce","debouncedSetIsMounted","modalTitle","_jsxs","className","modalTitleContainer","children","_jsx","AppIcon","appIcon","iconUrl","icon","url","height","width","concat","HideInNativeApp","appStoreButton","onClick","_app$app3","appId","window","open","ArrowIcon","arrowIcon","modalActions","RemoveAppButton","Button","variation","saveButton","_assetEditorAppType$p","_assetEditorAppType$p2","_assetEditorAppType$p3","_assetEditorAppType$p4","appTypeKey","primaryAsset","assetType","appTypeLabel","label","showSuccessNotification","Modal","actions","closeIconClassName","closeIcon","contentContainerClassName","modalContainer","modalTitleClassName","onClose","title","ErrorBoundary","ErrorView","DevCenterAppErrorView","ConfirmationDialog","isShowCancel","text","handleOk","classes","confirmation","confirmationText","EmptyState","image","IMAGES","UnderConstruction","_Fragment","SettingsAccordion","defaultExpanded","assetAccordion","accordionDetailsRef","summary","FormControl","segmentSelector","InputLabel","Select","onChange","event","nextSegment","String","target","mapValues","keyBy","ASSET_TYPES","assets","map","segmentItem","MenuItem","segmentMenuItem","appType","defaultValue","secondaryDefaultValue","well","isHiddenTitle","isNullable","AppVersionsSelect","appVersionSelect","_appPackage","isUserChange","isReact18Host","react18AutoSwitchDisabled","accordion","onSettingChange"],"mappings":"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"}
@@ -106,10 +106,10 @@ export declare const BHA_COMPONENT_TYPES: ({
106
106
  })[];
107
107
  })[];
108
108
  export declare const BHA_GENERAL_FIELD_TYPES: ({
109
+ unit?: undefined;
109
110
  name: string;
110
111
  label: string;
111
112
  cond?: undefined;
112
- unit?: undefined;
113
113
  col_size?: undefined;
114
114
  family?: undefined;
115
115
  } | {
@@ -134,8 +134,8 @@ export declare const BHA_GENERAL_FIELD_TYPES: ({
134
134
  col_size: number;
135
135
  family?: undefined;
136
136
  } | {
137
- cond?: undefined;
138
137
  unit?: undefined;
138
+ cond?: undefined;
139
139
  name: string;
140
140
  label: string;
141
141
  col_size: number;
@@ -4,10 +4,11 @@ import { InputProps as MuiInputProps } from '@material-ui/core';
4
4
  import { Groups } from './components';
5
5
  type SearchProps = {
6
6
  onChange: (event: ChangeEvent<{}>, selected: any | any[] | null) => void;
7
- value?: object | object[];
7
+ value?: object | object[] | null;
8
8
  options?: {
9
9
  label?: string;
10
- id: string;
10
+ name?: string;
11
+ id: string | number;
11
12
  group?: string;
12
13
  }[];
13
14
  AutocompleteProps?: {
@@ -18,11 +19,12 @@ type SearchProps = {
18
19
  TextFieldProps?: {
19
20
  label?: string;
20
21
  endAdornment?: ReactNode;
22
+ value?: string;
21
23
  };
22
24
  selectedGroup?: {
23
25
  name?: string;
24
26
  id?: string;
25
- };
27
+ } | null;
26
28
  onGroupReset?: MouseEventHandler<HTMLSpanElement>;
27
29
  onClose?: () => void;
28
30
  disableClearable?: boolean;
@@ -40,6 +42,7 @@ type SearchProps = {
40
42
  }) => void;
41
43
  loading?: boolean;
42
44
  disabled?: boolean;
45
+ isNullable?: boolean;
43
46
  multiple?: boolean;
44
47
  optionSize?: 'large';
45
48
  popupIcon?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":"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"}