@corva/ui 3.37.0-0 → 3.37.0-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js +2 -0
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js.map +1 -0
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.module.css.js +2 -0
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.module.css.js.map +1 -0
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map +1 -1
- package/cjs-bundle/permissions/constants/index.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.d.ts +12 -0
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.d.ts.map +1 -0
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js +2 -0
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js.map +1 -0
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.module.css.js +2 -0
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.module.css.js.map +1 -0
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.d.ts +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map +1 -1
- package/package.json +1 -2
- package/permissions/constants/index.d.ts +1 -0
- package/permissions/constants/index.d.ts.map +1 -1
- package/permissions/constants/index.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js +0 -2
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js.map +0 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.d.ts +0 -3
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.d.ts.map +0 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js +0 -2
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js.map +0 -1
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/objectWithoutProperties"),t=require("react"),o=require("classnames"),i=require("react-router"),a=require("lodash"),s=require("prop-types"),u=require("./
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/objectWithoutProperties"),t=require("react"),o=require("classnames"),i=require("react-router"),a=require("lodash"),s=require("prop-types"),u=require("./IsolatedPage.js"),p=require("./constants.js"),l=require("./DevCenterIsolatedApp.module.css.js"),d=require("../AppContext.js"),c=require("../../../permissions/PermissionsContext.js");require("../../../permissions/constants/index.js"),require("../../../permissions/withPermissionsHOC.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../clients/jsonApi/index.js"),require("../../../permissions/ProvidePermissions.js");var f=require("../../../utils/index.js");require("../AppHeader/AppHeader.js"),require("../AppSideBar/AppSideBar.js"),require("../AppsDataProvider/AppsDataProvider.js");var v=require("../DevCenterAppContainer/DevCenterAppContainer.js");require("../NavigationBar/NavigationBar.js"),require("../SideBar/SideBar.js"),require("../AppSettingsPopover/AppSettingsPopover.js"),require("../AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../DevCenterRouterContext/DevCenterRouterContext.js"),require("../DevCenterRouterContext/UniversalLink/UniversalLink.js");var C=require("react/jsx-runtime");require("./DevCenterIsolatedAppPage.js");var b=require("../../../utils/mobileDetect.js"),m=require("../../../utils/devcenter.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var j=A(e),g=A(n),I=A(r),q=A(o),h=A(s),M=["isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn"];function x(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function y(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?x(Object(r),!0).forEach((function(n){j.default(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}function P(e){var n,r,o,i,a,s=e.isIsolationFeatureEnabled,A=e.onAppFullscreenTransparentMode,j=e.onIsMaximizedChange,h=e.onInnerContainerMouseEnter,x=e.onInnerContainerMouseLeave,P=e.onAppContainerClick,E=e.setInnerContainerRefFn,R=I.default(e,M),w=t.useMemo((function(){return m.createDevCenterRouter(R.router)}),[null===(n=R.router)||void 0===n?void 0:n.location]),D=m.isCorvaApp(null==R||null===(r=R.app)||void 0===r?void 0:r.app)&&!m.isIsolationEnabledInPackageManifest(null==R||null===(o=R.app)||void 0===o?void 0:o.package)||!s,O=D?v:u.IsolatedPage,S=t.useRef(),T=t.useRef(),F=t.useRef(),L=t.useRef(!1),_=m.isAppMaximized(null===(i=R.router)||void 0===i||null===(a=i.location)||void 0===a?void 0:a.query,R.app.id),k=t.useRef(_);k.current=_;var z=t.useState(f.getUserUnits()),U=g.default(z,2),B=U[0],N=U[1];t.useEffect((function(){var e=f.subscribeForUserUnitsUpdates((function(e){return N(e)}));return function(){return e()}}),[]);var W=t.useContext(d),H=c.default();function G(){A({appId:R.app.id,isModeEnabled:!1}),document.body.classList.remove("dc-isolated-app__body-overflow",l.compensateScroll)}var V=t.useCallback((function(e){var n,r,t,o,i,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(s&&!D&&(!k.current||L.current)&&L.current!==e){var d,c=e?"add":"remove";if(null===(n=T.current)||void 0===n||n.classList[c](l.containerMaximizedTransparent),a||"remove"===c)null===(d=T.current)||void 0===d||d.classList[c](l.containerMaximizedTransparentModal);S.current=null===(r=T.current)||void 0===r||null===(t=r.querySelector("[".concat(u.APP_IFRAME_ATTRIBUTE,"]")))||void 0===t||null===(o=t.contentWindow)||void 0===o?void 0:o.document;var f=null===(i=S.current)||void 0===i?void 0:i.getElementById(p.ISOLATED_PAGE_APP_CONTAINER_ID);if(f){if(e){var v=F.current.getBoundingClientRect(),C=v.top,b=v.left,m=v.width,j=v.height;f.setAttribute("style","\n top: ".concat(C,"px;\n left: ").concat(b,"px;\n width: ").concat(m,"px;\n height: ").concat(j,"px;\n position: absolute;\n ")),A({appId:R.app.id,isModeEnabled:!0});var g=window.innerWidth!==document.body.clientWidth;document.body.classList.add("dc-isolated-app__body-overflow",g&&l.compensateScroll)}else f.setAttribute("style",""),G();L.current=e}}}),[s,D,k]);t.useEffect((function(){return G}),[]),t.useEffect((function(){_&&L.current&&V(!1)}),[_]);var J=t.useCallback((function(e){T.current=e,E(e)}),[]);return C.jsx("div",{className:q.default("dc-isolated-app",l.fixedSizeContainer),ref:F,children:C.jsx("div",{ref:J,onMouseEnter:h,onMouseLeave:x,"data-testid":"".concat("DevCenter_AppContainer","_").concat(R.app.app.name),className:q.default(l.container,b.isInsideNewMobileApp&&l.newMobileAppContainer,_&&l.containerMaximized),children:C.jsx(O,y(y({},R),{},{appContextValue:W,devCenterRouter:w,globalNotificationToastsAPI:window[Symbol.for("notificationToasts")],globalMixpanelEventTracker:window[Symbol.for("logToMixpanel")],onAppContainerClick:P,onIsMaximizedChange:j,permissionsContextValue:H,setIsFullscreenModalMode:V,userUnits:B}))})})}P.propTypes={app:h.default.shape({id:h.default.number,app:h.default.shape({name:h.default.string})}).isRequired,currentUser:h.default.shape({}).isRequired,isIsolationFeatureEnabled:h.default.bool,onAppContainerClick:h.default.func,onAppFullscreenTransparentMode:h.default.func,onAppRemove:h.default.func,onInnerContainerMouseEnter:h.default.func,onInnerContainerMouseLeave:h.default.func,onIsMaximizedChange:h.default.func,onSettingChange:h.default.func,onSettingsChange:h.default.func,setInnerContainerRefFn:h.default.func,updateCurrentDashboardAppLastAnnotation:h.default.func},P.defaultProps={isIsolationFeatureEnabled:!1,onAppContainerClick:a.noop,onAppFullscreenTransparentMode:a.noop,onAppRemove:a.noop,onInnerContainerMouseEnter:a.noop,onInnerContainerMouseLeave:a.noop,onIsMaximizedChange:a.noop,onSettingChange:a.noop,onSettingsChange:a.noop,setInnerContainerRefFn:a.noop,updateCurrentDashboardAppLastAnnotation:a.noop};var E=i.withRouter(P);exports.DevCenterIsolatedApp=E;
|
|
2
2
|
//# sourceMappingURL=DevCenterIsolatedApp.js.map
|
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router';\nimport { noop } from 'lodash';\nimport PropTypes from 'prop-types';\n\nimport { APP_IFRAME_ATTRIBUTE, DevCenterAppZoidComponent } from './DevCenterAppZoidComponent';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\n\nimport styles from './DevCenterIsolatedApp.module.css';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled,\n onAppFullscreenTransparentMode,\n onIsMaximizedChange,\n onInnerContainerMouseEnter,\n onInnerContainerMouseLeave,\n onAppContainerClick,\n setInnerContainerRefFn,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.router),\n [props.router?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : DevCenterAppZoidComponent;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const modalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(props.router?.location?.query, props.app.id);\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n isAppMaximized ||\n modalModeRef.current === nextIsFullscreenModalModeValue\n ) {\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparentModal);\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n\n // We need to directly set inner iFrame container sizes together with DC platform styles\n // as passing this as props and using some effect inside of an iframe\n // results in a slight delay, which looks like a quick layout jump\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n isolatedPageAppContainer.setAttribute('style', '');\n handleAppFullscreenTransparentModeExit();\n }\n modalModeRef.current = nextIsFullscreenModalModeValue;\n }\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n {...props}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onIsMaximizedChange={onIsMaximizedChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n};\n\nDevCenterIsolatedAppComponent.defaultProps = {\n isIsolationFeatureEnabled: false,\n onAppContainerClick: noop,\n onAppFullscreenTransparentMode: noop,\n onAppRemove: noop,\n onInnerContainerMouseEnter: noop,\n onInnerContainerMouseLeave: noop,\n onIsMaximizedChange: noop,\n onSettingChange: noop,\n onSettingsChange: noop,\n setInnerContainerRefFn: noop,\n updateCurrentDashboardAppLastAnnotation: noop,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DevCenterIsolatedAppComponent","_ref","_props$router","_props$app","_props$app2","_props$router2","_props$router2$locati","isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","createDevCenterRouter","router","location","isNonIsolatedApp","isCorvaApp","app","package","DCAppComponent","DevCenterAppContainer","DevCenterAppZoidComponent","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","modalModeRef","isAppMaximized","query","id","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setContainerRefs","useCallback","node","current","_jsx","className","classNames","fixedSizeContainer","ref","children","jsx","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","window","Symbol","for","globalMixpanelEventTracker","setIsFullscreenModalMode","nextIsFullscreenModalModeValue","_containerRef$current","_containerRef$current3","_containerRef$current4","_containerRef$current5","_appIframeDocument$cu","isModal","_containerRef$current2","classesEditMethod","containerMaximizedTransparent","containerMaximizedTransparentModal","querySelector","concat","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","setAttribute","isBodyScrollVisible","innerWidth","clientWidth","add","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","defaultProps","noop","DevCenterIsolatedApp","withRouter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router';\nimport { noop } from 'lodash';\nimport PropTypes from 'prop-types';\n\nimport { IsolatedPage, APP_IFRAME_ATTRIBUTE } from './IsolatedPage';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\n\nimport styles from './DevCenterIsolatedApp.module.css';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled,\n onAppFullscreenTransparentMode,\n onIsMaximizedChange,\n onInnerContainerMouseEnter,\n onInnerContainerMouseLeave,\n onAppContainerClick,\n setInnerContainerRefFn,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.router),\n [props.router?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : IsolatedPage;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const modalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(props.router?.location?.query, props.app.id);\n\n // save to ref to not re-create setIsFullscreenModalMode callback on change and reduce the amoount of DC apps re-renders\n const isAppMaximizedRef = useRef(isAppMaximized);\n isAppMaximizedRef.current = isAppMaximized;\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n const setIsFullscreenModalMode = useCallback(\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n (isAppMaximizedRef.current && !modalModeRef.current) ||\n modalModeRef.current === nextIsFullscreenModalModeValue\n ) {\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](\n styles.containerMaximizedTransparentModal\n );\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n\n // We need to directly set inner iFrame container sizes together with DC platform styles\n // as passing this as props and using some effect inside of an iframe\n // results in a slight delay, which looks like a quick layout jump\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n isolatedPageAppContainer.setAttribute('style', '');\n handleAppFullscreenTransparentModeExit();\n }\n modalModeRef.current = nextIsFullscreenModalModeValue;\n },\n [isIsolationFeatureEnabled, isNonIsolatedApp, isAppMaximizedRef]\n );\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n useEffect(() => {\n if (isAppMaximized && modalModeRef.current) {\n setIsFullscreenModalMode(false);\n }\n }, [isAppMaximized]);\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n {...props}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onIsMaximizedChange={onIsMaximizedChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n};\n\nDevCenterIsolatedAppComponent.defaultProps = {\n isIsolationFeatureEnabled: false,\n onAppContainerClick: noop,\n onAppFullscreenTransparentMode: noop,\n onAppRemove: noop,\n onInnerContainerMouseEnter: noop,\n onInnerContainerMouseLeave: noop,\n onIsMaximizedChange: noop,\n onSettingChange: noop,\n onSettingsChange: noop,\n setInnerContainerRefFn: noop,\n updateCurrentDashboardAppLastAnnotation: noop,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DevCenterIsolatedAppComponent","_ref","_props$router","_props$app","_props$app2","_props$router2","_props$router2$locati","isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","createDevCenterRouter","router","location","isNonIsolatedApp","isCorvaApp","app","package","DCAppComponent","DevCenterAppContainer","IsolatedPage","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","modalModeRef","isAppMaximized","query","id","isAppMaximizedRef","current","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setIsFullscreenModalMode","useCallback","nextIsFullscreenModalModeValue","_containerRef$current","_containerRef$current3","_containerRef$current4","_containerRef$current5","_appIframeDocument$cu","isModal","_containerRef$current2","classesEditMethod","containerMaximizedTransparent","containerMaximizedTransparentModal","querySelector","concat","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","setAttribute","isBodyScrollVisible","window","innerWidth","clientWidth","add","setContainerRefs","node","_jsx","className","classNames","fixedSizeContainer","ref","children","jsx","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","Symbol","for","globalMixpanelEventTracker","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","defaultProps","noop","DevCenterIsolatedApp","withRouter"],"mappings":"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"}
|
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/objectWithoutProperties"),o=require("react"),r=require("prop-types"),n=require("@material-ui/core"),i=require("classnames"),t=require("moment-timezone"),c=require("./effects/useXProps.js"),u=require("./constants.js"),l=require("./utils/replaceUndefinedValuesWithNull.js"),a=require("./utils/dashboardCapturing.js"),p=require("../DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),d=require("../DevCenterAppContainer/DevCenterAppContainer.js"),m=require("react/jsx-runtime");require("@icon-park/react/es/all");var j=require("../../../icons/IconParkProvider.js");require("../../../icons/customIcons/icons/AddMessage.js"),require("../../../icons/customIcons/icons/Attention.js"),require("../../../icons/customIcons/icons/Collapse.js"),require("../../../icons/customIcons/icons/Dashboard.js"),require("../../../icons/customIcons/icons/Expand.js"),require("../../../icons/customIcons/icons/FolderClosed.js"),require("../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../icons/customIcons/icons/FolderOpened.js"),require("../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../icons/customIcons/icons/Search.js"),require("../../../icons/customIcons/icons/Wellhub.js"),require("../../../icons/customIcons/icons/MultiRuler.js"),require("../../../icons/customIcons/icons/Checkbox.js"),require("../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../icons/customIcons/icons/Radio.js"),require("../../../icons/customIcons/icons/RadioChecked.js"),require("../../../icons/customIcons/icons/SimulFrac.js"),require("../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../icons/customIcons/icons/CautionFilled.js"),require("../../../icons/customIcons/icons/MoreApp.js"),require("../../../icons/customIcons/icons/Pad.js"),require("../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../icons/customIcons/icons/FracFleet.js"),require("../../../icons/customIcons/icons/Global.js"),require("../../../icons/customIcons/icons/Program.js"),require("../../../icons/customIcons/icons/Rig.js"),require("../../../icons/customIcons/icons/Well.js"),require("../../../icons/customIcons/icons/Gap.js"),require("../../../icons/customIcons/icons/Pin.js"),require("../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../icons/customIcons/icons/Archive.js"),require("../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../icons/customIcons/icons/Unarchive.js"),require("../../../icons/customIcons/icons/Archived.js"),require("../../../icons/customIcons/icons/InterventionUnit.js");var q=require("../../../hocs/withMUIProvidersHOC.js");require("../../../hocs/withAssetEditorLockHOC.js");var I=require("../AppContext.js"),f=require("../../../constants/theme.js"),C=require("../../../CLI/hocs/constants.js"),g=require("../../../utils/themeVariables.js"),b=require("../../../CLI/hocs/utils.js"),h=require("../../../permissions/PermissionsContext.js"),v=require("../../../utils/index.js");function P(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../styles/iconPark.global.css.js"),require("../../../styles/index.global.css.js"),require("../../../styles/reactVirtualized.global.css.js"),require("../../../styles/emojiMart.global.css.js"),require("../../../styles/mapbox.global.css.js"),require("../../../styles/lightbox.global.css.js"),require("../../../styles/generatedThemesVariables.global.css.js"),require("../../../styles/customScrollbars.global.css.js")
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/objectWithoutProperties"),o=require("react"),r=require("prop-types"),n=require("@material-ui/core"),i=require("classnames"),t=require("moment-timezone"),c=require("./effects/useXProps.js"),u=require("./constants.js"),l=require("./utils/replaceUndefinedValuesWithNull.js"),a=require("./utils/dashboardCapturing.js"),p=require("../DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),d=require("../DevCenterAppContainer/DevCenterAppContainer.js"),m=require("react/jsx-runtime");require("@icon-park/react/es/all");var j=require("../../../icons/IconParkProvider.js");require("../../../icons/customIcons/icons/AddMessage.js"),require("../../../icons/customIcons/icons/Attention.js"),require("../../../icons/customIcons/icons/Collapse.js"),require("../../../icons/customIcons/icons/Dashboard.js"),require("../../../icons/customIcons/icons/Expand.js"),require("../../../icons/customIcons/icons/FolderClosed.js"),require("../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../icons/customIcons/icons/FolderOpened.js"),require("../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../icons/customIcons/icons/Search.js"),require("../../../icons/customIcons/icons/Wellhub.js"),require("../../../icons/customIcons/icons/MultiRuler.js"),require("../../../icons/customIcons/icons/Checkbox.js"),require("../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../icons/customIcons/icons/Radio.js"),require("../../../icons/customIcons/icons/RadioChecked.js"),require("../../../icons/customIcons/icons/SimulFrac.js"),require("../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../icons/customIcons/icons/CautionFilled.js"),require("../../../icons/customIcons/icons/MoreApp.js"),require("../../../icons/customIcons/icons/Pad.js"),require("../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../icons/customIcons/icons/FracFleet.js"),require("../../../icons/customIcons/icons/Global.js"),require("../../../icons/customIcons/icons/Program.js"),require("../../../icons/customIcons/icons/Rig.js"),require("../../../icons/customIcons/icons/Well.js"),require("../../../icons/customIcons/icons/Gap.js"),require("../../../icons/customIcons/icons/Pin.js"),require("../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../icons/customIcons/icons/Archive.js"),require("../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../icons/customIcons/icons/Unarchive.js"),require("../../../icons/customIcons/icons/Archived.js"),require("../../../icons/customIcons/icons/InterventionUnit.js");var q=require("../../../hocs/withMUIProvidersHOC.js");require("../../../hocs/withAssetEditorLockHOC.js");var I=require("../AppContext.js"),f=require("../../../constants/theme.js"),C=require("../../../CLI/hocs/constants.js"),g=require("../../../utils/themeVariables.js"),b=require("../../../CLI/hocs/utils.js"),h=require("../../../permissions/PermissionsContext.js"),v=require("../../../utils/index.js");function P(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../styles/iconPark.global.css.js"),require("../../../styles/index.global.css.js"),require("../../../styles/reactVirtualized.global.css.js"),require("../../../styles/emojiMart.global.css.js"),require("../../../styles/mapbox.global.css.js"),require("../../../styles/lightbox.global.css.js"),require("../../../styles/generatedThemesVariables.global.css.js"),require("../../../styles/customScrollbars.global.css.js");var A=P(e),E=P(s),O=P(r),y=P(i),x=P(t),S=["appContextValue","globalMixpanelEventTracker","globalNotificationToastsAPI","onSettingChange","onSettingsChange","permissionsContextValue","timezone","userUnits"];function D(e,s){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);s&&(r=r.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.push.apply(o,r)}return o}function L(e){for(var s=1;s<arguments.length;s++){var o=null!=arguments[s]?arguments[s]:{};s%2?D(Object(o),!0).forEach((function(s){A.default(e,s,o[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):D(Object(o)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(o,s))}))}return e}var T=q(d),w=n.makeStyles((function(){return{"@global":{body:{backgroundColor:"transparent",overflow:"hidden"}}}}));function k(e){var s,r,n,i,t=e.CLIAppComponent,d=e.CLIAppSettings,q=e.containerReportClassName;w();var P=c.useXProps(),A=P.appContextValue,O=P.globalMixpanelEventTracker,D=P.globalNotificationToastsAPI,k=P.onSettingChange,M=P.onSettingsChange,F=P.permissionsContextValue,R=P.timezone,U=P.userUnits,V=E.default(P,S),N=V.location.pathname.startsWith("/reports/")||b.isPDFReportView,H=null==V||null===(s=V.app)||void 0===s?void 0:s.id,_=localStorage.getItem(C.LOCAL_STORAGE_APP_THEME_KEY)||(null===(r=V.currentUser)||void 0===r||null===(n=r.settings)||void 0===n||null===(i=n.uiSettings)||void 0===i?void 0:i.theme)||f.THEMES.DARK,G=!N&&_!==f.THEMES.LIGHT;o.useEffect((function(){g.setThemeVariables(G)}),[G]),o.useEffect((function(){window[Symbol.for("notificationToasts")]=D,window[Symbol.for("logToMixpanel")]=O}),[D,O]);var W=o.useRef(!0);return(W.current||N)&&(W.current=!1,v.updateUserUnits({userUnits:U})),o.useEffect((function(){return R&&x.default.tz.setDefault(R),function(){return x.default.tz.setDefault(null)}}),[R]),o.useEffect((function(){var e=a.getDashboardCapturingHandler(H);return window.addEventListener("message",e),function(){return window.removeEventListener("message",e)}}),[H]),m.jsx(h.PermissionsContext.Provider,{value:F,children:m.jsx(I.Provider,{value:A,children:m.jsx(p.IsInsideIsolatedDcAppProvider,{value:!0,children:m.jsx(j.IconParkProvider,{children:m.jsx("div",{id:u.ISOLATED_PAGE_APP_CONTAINER_ID,className:y.default(N&&q),children:m.jsx(T,L(L({},V),{},{theme:G?f.THEMES.DARK:f.THEMES.LIGHT,onSettingsChange:function(e){return M(l.replaceUndefinedValuesWithNull(e))},onSettingChange:function(e,s){return k(e,l.replaceUndefinedValuesWithNull(s))},CLIAppComponent:t,CLIAppSettings:d}))})})})})})}k.propTypes={CLIAppComponent:O.default.func,CLIAppSettings:O.default.func,containerReportClassName:O.default.string},k.defaultProps={CLIAppComponent:null,CLIAppSettings:null,containerReportClassName:null},exports.DevCenterIsolatedAppPage=k;
|
|
2
2
|
//# sourceMappingURL=DevCenterIsolatedAppPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedAppPage.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport moment from 'moment-timezone';\n\nimport { useXProps } from './effects/useXProps';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { replaceUndefinedValuesWithNull } from './utils/replaceUndefinedValuesWithNull';\nimport { getDashboardCapturingHandler } from './utils/dashboardCapturing';\n\nimport { IsInsideIsolatedDcAppProvider } from '~/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider';\nimport DevCenterAppContainer from '~/components/DevCenter/DevCenterAppContainer';\nimport { IconParkProvider } from '~/icons';\nimport { withMUIProvidersHOC } from '~/hocs';\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { THEMES } from '~/constants/theme';\nimport { LOCAL_STORAGE_APP_THEME_KEY } from '~/CLI/hocs/constants';\nimport { setThemeVariables } from '~/utils/themeVariables';\nimport { isPDFReportView } from '~/CLI/hocs/utils';\nimport { PermissionsContext } from '~/permissions/PermissionsContext';\nimport { updateUserUnits } from '~/utils';\nimport '~/styles/globalStyles';\n\
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedAppPage.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport moment from 'moment-timezone';\n\nimport { useXProps } from './effects/useXProps';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { replaceUndefinedValuesWithNull } from './utils/replaceUndefinedValuesWithNull';\nimport { getDashboardCapturingHandler } from './utils/dashboardCapturing';\n\nimport { IsInsideIsolatedDcAppProvider } from '~/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider';\nimport DevCenterAppContainer from '~/components/DevCenter/DevCenterAppContainer';\nimport { IconParkProvider } from '~/icons';\nimport { withMUIProvidersHOC } from '~/hocs';\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { THEMES } from '~/constants/theme';\nimport { LOCAL_STORAGE_APP_THEME_KEY } from '~/CLI/hocs/constants';\nimport { setThemeVariables } from '~/utils/themeVariables';\nimport { isPDFReportView } from '~/CLI/hocs/utils';\nimport { PermissionsContext } from '~/permissions/PermissionsContext';\nimport { updateUserUnits } from '~/utils';\nimport '~/styles/globalStyles';\n\nconst DevCenterAppContainerWithMUI = withMUIProvidersHOC(DevCenterAppContainer);\n\n/**\n * It's important to keep these global styles in js, to apply only\n * when the component is actually used, if moved to CSS - they'll be\n * applied to whatever somehow imports the code\n */\nconst useStyles = makeStyles(() => ({\n '@global': {\n body: {\n backgroundColor: 'transparent',\n overflow: 'hidden',\n },\n },\n}));\n\n/**\n * Root component that is rendered inside of app's iframe.\n * Receives CLIAppComponent, CLIAppSettings when used\n * in local development\n */\nexport function DevCenterIsolatedAppPage({\n CLIAppComponent,\n CLIAppSettings,\n containerReportClassName,\n}) {\n useStyles();\n\n const {\n appContextValue,\n globalMixpanelEventTracker,\n globalNotificationToastsAPI,\n onSettingChange,\n onSettingsChange,\n permissionsContextValue,\n timezone,\n userUnits,\n ...xProps\n } = useXProps();\n const isReportsPage = xProps.location.pathname.startsWith('/reports/') || isPDFReportView;\n const appId = xProps?.app?.id;\n\n // Force light theme for PDF reports view\n const selectedTheme =\n localStorage.getItem(LOCAL_STORAGE_APP_THEME_KEY) ||\n xProps.currentUser?.settings?.uiSettings?.theme ||\n THEMES.DARK;\n const isDarkTheme = !isReportsPage && selectedTheme !== THEMES.LIGHT;\n\n useEffect(() => {\n setThemeVariables(isDarkTheme);\n }, [isDarkTheme]);\n\n useEffect(() => {\n window[Symbol.for('notificationToasts')] = globalNotificationToastsAPI;\n window[Symbol.for('logToMixpanel')] = globalMixpanelEventTracker;\n }, [globalNotificationToastsAPI, globalMixpanelEventTracker]);\n\n const isFirstRenderRef = useRef(true);\n if (isFirstRenderRef.current || isReportsPage) {\n isFirstRenderRef.current = false;\n updateUserUnits({ userUnits });\n }\n\n useEffect(() => {\n if (timezone) moment.tz.setDefault(timezone);\n return () => moment.tz.setDefault(null);\n }, [timezone]);\n\n useEffect(() => {\n const dashboardCapturingHandler = getDashboardCapturingHandler(appId);\n window.addEventListener('message', dashboardCapturingHandler);\n return () => window.removeEventListener('message', dashboardCapturingHandler);\n }, [appId]);\n\n return (\n <PermissionsContext.Provider value={permissionsContextValue}>\n <AppContext.Provider value={appContextValue}>\n <IsInsideIsolatedDcAppProvider value>\n <IconParkProvider>\n <div\n id={ISOLATED_PAGE_APP_CONTAINER_ID}\n className={classNames(isReportsPage && containerReportClassName)}\n >\n <DevCenterAppContainerWithMUI\n {...xProps}\n theme={isDarkTheme ? THEMES.DARK : THEMES.LIGHT}\n // zoid serializes passed arguments using JSON.stringify.\n // All undefined values are removed as they are not valid JSON values\n // so we replace undefined values with null to not drop them\n // Any future cb function that passes arbitrary objects as args\n // also should be wrapped in this mapper\n onSettingsChange={nextSettings =>\n onSettingsChange(replaceUndefinedValuesWithNull(nextSettings))\n }\n onSettingChange={(key, value) =>\n onSettingChange(key, replaceUndefinedValuesWithNull(value))\n }\n CLIAppComponent={CLIAppComponent}\n CLIAppSettings={CLIAppSettings}\n />\n </div>\n </IconParkProvider>\n </IsInsideIsolatedDcAppProvider>\n </AppContext.Provider>\n </PermissionsContext.Provider>\n );\n}\n\nDevCenterIsolatedAppPage.propTypes = {\n CLIAppComponent: PropTypes.func,\n CLIAppSettings: PropTypes.func,\n containerReportClassName: PropTypes.string,\n};\n\nDevCenterIsolatedAppPage.defaultProps = {\n CLIAppComponent: null,\n CLIAppSettings: null,\n containerReportClassName: null,\n};\n"],"names":["DevCenterAppContainerWithMUI","withMUIProvidersHOC","DevCenterAppContainer","useStyles","makeStyles","body","backgroundColor","overflow","DevCenterIsolatedAppPage","_ref","_xProps$app","_xProps$currentUser","_xProps$currentUser$s","_xProps$currentUser$s2","CLIAppComponent","CLIAppSettings","containerReportClassName","_useXProps","useXProps","appContextValue","globalMixpanelEventTracker","globalNotificationToastsAPI","onSettingChange","onSettingsChange","permissionsContextValue","timezone","userUnits","xProps","_objectWithoutProperties","_excluded","isReportsPage","location","pathname","startsWith","isPDFReportView","appId","app","id","selectedTheme","localStorage","getItem","LOCAL_STORAGE_APP_THEME_KEY","currentUser","settings","uiSettings","theme","THEMES","DARK","isDarkTheme","LIGHT","useEffect","setThemeVariables","window","Symbol","for","isFirstRenderRef","useRef","current","updateUserUnits","moment","tz","setDefault","dashboardCapturingHandler","getDashboardCapturingHandler","addEventListener","removeEventListener","_jsx","jsx","PermissionsContext","Provider","value","children","AppContext","IsInsideIsolatedDcAppProvider","IconParkProvider","ISOLATED_PAGE_APP_CONTAINER_ID","className","classNames","_objectSpread","nextSettings","replaceUndefinedValuesWithNull","key","propTypes","PropTypes","func","string","defaultProps"],"mappings":"mmJAwBA,IAAMA,EAA+BC,EAAoBC,GAOnDC,EAAYC,EAAUA,YAAC,WAAA,MAAO,CAClC,UAAW,CACTC,KAAM,CACJC,gBAAiB,cACjBC,SAAU,WAGf,IAOM,SAASC,EAIbC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAHDC,IAAAA,gBACAC,IAAAA,eACAC,IAAAA,yBAEAb,IAEA,IAAAc,EAUIC,EAAAA,YATFC,IAAAA,gBACAC,IAAAA,2BACAC,IAAAA,4BACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,wBACAC,IAAAA,SACAC,IAAAA,UACGC,EAAMC,EAAA,QAAAX,EAAAY,GAELC,EAAgBH,EAAOI,SAASC,SAASC,WAAW,cAAgBC,kBACpEC,EAAQR,SAAA,QAAAA,EAAAA,EAAQS,WAAR,IAAA1B,OAAAiB,EAAAjB,EAAa2B,GAGrBC,EACJC,aAAaC,QAAQC,EAA2BA,uCAChDd,EAAAA,EAAOe,0BAAP,UAAA/B,EAAoBgC,gBAApB,IAAA/B,GAAwC,QAAxCC,EAAAD,EAA8BgC,kBAAU,IAAA/B,SAAxCA,EAA0CgC,QAC1CC,EAAMA,OAACC,KACHC,GAAelB,GAAiBQ,IAAkBQ,EAAAA,OAAOG,MAE/DC,EAAAA,WAAU,WACRC,EAAiBA,kBAACH,EACpB,GAAG,CAACA,IAEJE,EAAAA,WAAU,WACRE,OAAOC,OAAOC,IAAI,uBAAyBjC,EAC3C+B,OAAOC,OAAOC,IAAI,kBAAoBlC,CACxC,GAAG,CAACC,EAA6BD,IAEjC,IAAMmC,EAAmBC,UAAO,GAiBhC,OAhBID,EAAiBE,SAAW3B,KAC9ByB,EAAiBE,SAAU,EAC3BC,kBAAgB,CAAEhC,UAAAA,KAGpBwB,EAAAA,WAAU,WAER,OADIzB,GAAUkC,EAAM,QAACC,GAAGC,WAAWpC,GAC5B,WAAA,OAAMkC,UAAOC,GAAGC,WAAW,KAAK,CACzC,GAAG,CAACpC,IAEJyB,EAAAA,WAAU,WACR,IAAMY,EAA4BC,+BAA6B5B,GAE/D,OADAiB,OAAOY,iBAAiB,UAAWF,GAC5B,WAAA,OAAMV,OAAOa,oBAAoB,UAAWH,EAA0B,CAC/E,GAAG,CAAC3B,IAGF+B,EAAAC,IAACC,EAAkBA,mBAACC,SAAQ,CAACC,MAAO9C,EAAwB+C,SAC1DL,EAAAA,IAACM,EAAWH,SAAQ,CAACC,MAAOnD,EAAgBoD,SAC1CL,MAACO,gCAA6B,CAACH,OAAK,EAAAC,SAClCL,MAACQ,mBAAgB,CAAAH,SACfL,EAAAC,IAAA,MAAA,CACE9B,GAAIsC,EAA+BA,+BACnCC,UAAWC,EAAAA,QAAW/C,GAAiBd,GAA0BuD,SAEjEL,EAAAA,IAAClE,EAA4B8E,EAAAA,EAAA,GACvBnD,GAAM,GAAA,CACVkB,MAAOG,EAAcF,EAAAA,OAAOC,KAAOD,EAAMA,OAACG,MAM1C1B,iBAAkB,SAAAwD,GAAY,OAC5BxD,EAAiByD,EAAAA,+BAA+BD,GACjD,EACDzD,gBAAiB,SAAC2D,EAAKX,GAAK,OAC1BhD,EAAgB2D,EAAKD,iCAA+BV,GACrD,EACDxD,gBAAiBA,EACjBC,eAAgBA,cAQhC,CAEAP,EAAyB0E,UAAY,CACnCpE,gBAAiBqE,EAAS,QAACC,KAC3BrE,eAAgBoE,EAAS,QAACC,KAC1BpE,yBAA0BmE,EAAS,QAACE,QAGtC7E,EAAyB8E,aAAe,CACtCxE,gBAAiB,KACjBC,eAAgB,KAChBC,yBAA0B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r=require('./../../../ext-esm/tslib/tslib.es6.js'),t=require("react/jsx-runtime"),o=require("react"),a=require("lodash"),s=require("../../LoadingIndicator/LoadingIndicator.js"),n=require("./IsolatedPage.module.css.js"),c=((e={})["data-corva-app-iframe"]=!0,e["data-testid"]="isolatedAppContainer",e);exports.APP_IFRAME_ATTRIBUTE="data-corva-app-iframe",exports.IsolatedPage=function(e){var i=r.__rest(e,[]),u=o.useRef(null),l=o.useRef(null),d=o.useState(!0),p=d[0],f=d[1],v=o.useCallback((function(){f(!1)}),[]);return o.useEffect((function(){var e;try{!function(e,t){if(e){var o=!e.xprops,s=l.current||{},n=!a.isEqual(s,t);if((o||n)&&(e.xprops=r.__assign({},t),l.current=t),(o||n)&&e.xpropsOnProps)try{e.xpropsOnProps(t)}catch(e){console.debug("[IsolatedPage] xpropsOnProps was not set yet:",e)}}}(null===(e=u.current)||void 0===e?void 0:e.contentWindow,i)}catch(e){console.error("[IsolatedPage] Error accessing iframe contentWindow:",e)}})),o.useEffect((function(){return function(){var e;try{var r=null===(e=u.current)||void 0===e?void 0:e.contentWindow;r&&r.xprops&&delete r.xprops}catch(e){console.error("[IsolatedPage] Error cleaning up xprops:",e)}l.current=null;var t=u.current;if(t)try{t.src="about:blank"}catch(e){console.error("[IsolatedPage] Error setting iframe src to about:blank:",e)}u.current=null}}),[]),t.jsxs("div",{className:n.container,children:[p&&t.jsx(s,{}),t.jsx("iframe",r.__assign({ref:u,src:"/DevCenterIsolatedAppPage.html",onLoad:v,className:n.iframe},c))]})};
|
|
2
|
+
//# sourceMappingURL=IsolatedPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,oFAAoF,uCAA0C;"}
|
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.module.css.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";require('./../../../ext-esm/style-inject/dist/style-inject.es.js')(".IsolatedPage-module_container__Z87-b{height:100%;position:relative;width:100%}.IsolatedPage-module_iframe__KUa6S{background-color:transparent;border:none;height:100%;width:100%}"),module.exports={container:"IsolatedPage-module_container__Z87-b",iframe:"IsolatedPage-module_iframe__KUa6S"};
|
|
2
|
+
//# sourceMappingURL=IsolatedPage.module.css.js.map
|
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.module.css.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,qBAAqB,yDAA4D;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("react");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),c=n(r);function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}exports.useXProps=function(){var e=t.useState(window.xprops),r=c.default(e,2),n=r[0],i=r[1];return t.useEffect((function(){window.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("react");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),c=n(r);function u(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}exports.useXProps=function(){var e=t.useState(window.xprops),r=c.default(e,2),n=r[0],i=r[1];return t.useEffect((function(){window.xpropsOnProps=function(e){i(function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?u(Object(t),!0).forEach((function(r){o.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}({},e))}}),[]),n};
|
|
2
2
|
//# sourceMappingURL=useXProps.js.map
|
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useXProps.js","sources":["../../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nexport function useXProps() {\n const [xprops, setXProps] = useState(window.xprops);\n\n useEffect(() => {\n window.
|
|
1
|
+
{"version":3,"file":"useXProps.js","sources":["../../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nexport function useXProps() {\n const [xprops, setXProps] = useState(window.xprops);\n\n useEffect(() => {\n window.xpropsOnProps = props => {\n setXProps({ ...props });\n };\n }, []);\n\n return xprops;\n}\n"],"names":["_useState","useState","window","xprops","_useState2","_slicedToArray","setXProps","useEffect","xpropsOnProps","props","_objectSpread"],"mappings":"0gBAEO,WACL,IAAAA,EAA4BC,EAAAA,SAASC,OAAOC,QAAOC,EAAAC,EAAAA,QAAAL,EAAA,GAA5CG,EAAMC,EAAA,GAAEE,EAASF,EAAA,GAQxB,OANAG,EAAAA,WAAU,WACRL,OAAOM,cAAgB,SAAAC,GACrBH,yWAASI,CAAA,GAAMD,IAElB,GAAE,IAEIN,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i=require('./../../ext-esm/tslib/tslib.es6.js'),e=require("../utils.js"),s=require("./abilities.js"),r=require("./settingsApps.js"),t=require("./appsPermissions.js"),a=i.__assign(i.__assign({canViewArchive:e.stringifyPermission({resource_class:"archive_well_btn",ability:s.ABILITIES.view}),companySelectorView:e.stringifyPermission({resource_class:"company_selector",ability:s.ABILITIES.view}),userCreate:e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.create}),getUserUpdate:function(i){return e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.update,resource_id:i})},canViewCorvaAppVersion:e.stringifyPermission({resource_class:"corva_app_version",ability:s.ABILITIES.view}),documentationEdit:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.edit}),documentationCreate:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.create}),documentationDestroy:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.destroy}),canUpdateWellQC:e.stringifyPermission({resource_class:"well_qc",ability:s.ABILITIES.update}),canUpdateDataQualitySettings:e.stringifyPermission({resource_class:"corva.settings_dataQuality",ability:s.ABILITIES.view}),getFeedItemDestroy:function(i){return e.stringifyPermission({resource_class:"Activity",ability:s.ABILITIES.destroy,resource_id:i})},getCommentDestroy:function(i){return e.stringifyPermission({resource_class:"Comment",ability:s.ABILITIES.destroy,resource_id:i})},getAlertUpdate:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.update,resource_id:i})},getAlertDestroy:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.destroy,resource_id:i})},streamVisibilityEdit:e.stringifyPermission({resource_class:"stream",ability:s.ABILITIES.edit}),userImpersonate:e.stringifyPermission({resource_class:"user",ability:s.ABILITIES.impersonate}),getDashboardUpdate:function(i){return e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.update,resource_id:i})},canCreateDashboard:e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.create}),canCopyUsers:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.copy_users}),canViewDocumentsInfo:e.stringifyPermission({resource_class:"documents_info",ability:s.ABILITIES.view}),canViewCostsInfo:e.stringifyPermission({resource_class:"costs_info",ability:s.ABILITIES.view}),canViewBillingCost:e.stringifyPermission({resource_class:"billing_visualization_cost",ability:s.ABILITIES.view}),canReadBillingInfo:e.stringifyPermission({resource_class:"Usage",ability:s.ABILITIES.read}),canUpdateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.update}),canReadTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.read}),canCreateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.create}),canDestroyTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.destroy}),canUpdatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.update}),canReadPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.read}),canCreatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.create}),canDestroyPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.destroy}),canViewPurchasesPage:e.stringifyPermission({resource_class:"company_purchase",ability:s.ABILITIES.access}),canReadPermissions:e.stringifyPermission({resource_class:"Permission",ability:s.ABILITIES.read}),canViewUserPermissions:e.stringifyPermission({resource_class:"mng_permissions_user_btn",ability:s.ABILITIES.view}),canViewGroupPermissions:e.stringifyPermission({resource_class:"mng_permissions_group_btn",ability:s.ABILITIES.view}),canShareGroup:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.share}),getAppStreamUpdate:function(i){return e.stringifyPermission({resource_class:"AppStream",ability:s.ABILITIES.update,resource_id:i})},canViewAlertValidationFilters:e.stringifyPermission({resource_class:"alert_validation_filters",ability:s.ABILITIES.view}),canViewAlertSubscriptionFilters:e.stringifyPermission({resource_class:"alert_subscription_filters",ability:s.ABILITIES.view}),getCanDestroyAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.destroy,resource_id:i})},getCanUpdateAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.update,resource_id:i})},canCreateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.create}),canUpdateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.edit}),canViewAlertCompanyField:e.stringifyPermission({resource_class:"alert_company_field",ability:s.ABILITIES.view}),canViewDashboardSharingCompany:e.stringifyPermission({resource_class:"dashboard_sharing_company",ability:s.ABILITIES.view}),canViewDashboardSharingSharedWith:e.stringifyPermission({resource_class:"dashboard_sharing_shared_with",ability:s.ABILITIES.view}),canViewConfigPage:e.stringifyPermission({resource_class:"config_page",ability:s.ABILITIES.access}),canAccessRequestApp:e.stringifyPermission({resource_class:"request_app",ability:s.ABILITIES.access}),canAccessUserSettingsWidgets:e.stringifyPermission({resource_class:"user_settings_widgets",ability:s.ABILITIES.access}),canViewDevCenter:e.stringifyPermission({resource_class:"dev_center",ability:s.ABILITIES.access}),getCanReadAppPackages:function(i){return e.stringifyPermission({resource_class:"App",ability:"read_packages",resource_id:i})},canViewAppPackageSelector:e.stringifyPermission({resource_class:"app_package_selector",ability:s.ABILITIES.view}),canAccessProvisioning:e.stringifyPermission({resource_class:"provisioning",ability:s.ABILITIES.access}),getCanUpdateAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.update,resource_id:i})},getCanUpdateParentAssetAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:"update_parent_asset",resource_id:i})},getCanCopyActivities:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.copy_activities,resource_id:i})},canRerunWell:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.rerun,resource_id:i})},rigCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Rig"}),wellCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Well"}),programCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Program"}),padCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Pad"}),padUpdate:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad"}),canManagePadWells:e.stringifyPermission({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:e.stringifyPermission({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"FracFleet"}),drilloutUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"InterventionUnit"}),canQCDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:e.stringifyPermission({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:e.stringifyPermission({ability:s.ABILITIES.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"stream_x_api"}),canViewMLFlow:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"MLFlow"}),canCreateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Program",resource_id:i})},getCanUpdatePad:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad",resource_id:i})},getCanUpdateRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Rig",resource_id:i})},getCanUpdateWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Well",resource_id:i})},getCanUpdateFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"FracFleet",resource_id:i})},getCanUpdateDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"DrilloutUnit",resource_id:i})},getCanUpdateInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"InterventionUnit",resource_id:i})},getCanDestroyProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Program",resource_id:i})},getCanDestroyPad:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Pad",resource_id:i})},getCanDestroyRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Rig",resource_id:i})},getCanDestroyWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Well",resource_id:i})},getCanDestroyFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"FracFleet",resource_id:i})},getCanDestroyDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"DrilloutUnit",resource_id:i})},getCanDestroyInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"InterventionUnit",resource_id:i})},canViewHomeScreen:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"home_screen"})},r),t);exports.ABILITIES=s.ABILITIES,exports.PERMISSIONS=a;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i=require('./../../ext-esm/tslib/tslib.es6.js'),e=require("../utils.js"),s=require("./abilities.js"),r=require("./settingsApps.js"),t=require("./appsPermissions.js"),a=i.__assign(i.__assign({canViewArchive:e.stringifyPermission({resource_class:"archive_well_btn",ability:s.ABILITIES.view}),companySelectorView:e.stringifyPermission({resource_class:"company_selector",ability:s.ABILITIES.view}),userCreate:e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.create}),getUserUpdate:function(i){return e.stringifyPermission({resource_class:"User",ability:s.ABILITIES.update,resource_id:i})},canViewCorvaAppVersion:e.stringifyPermission({resource_class:"corva_app_version",ability:s.ABILITIES.view}),documentationEdit:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.edit}),documentationCreate:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.create}),documentationDestroy:e.stringifyPermission({resource_class:"Document",ability:s.ABILITIES.destroy}),canUpdateWellQC:e.stringifyPermission({resource_class:"well_qc",ability:s.ABILITIES.update}),canUpdateDataQualitySettings:e.stringifyPermission({resource_class:"corva.settings_dataQuality",ability:s.ABILITIES.view}),getFeedItemDestroy:function(i){return e.stringifyPermission({resource_class:"Activity",ability:s.ABILITIES.destroy,resource_id:i})},getCommentDestroy:function(i){return e.stringifyPermission({resource_class:"Comment",ability:s.ABILITIES.destroy,resource_id:i})},getAlertUpdate:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.update,resource_id:i})},getAlertDestroy:function(i){return e.stringifyPermission({resource_class:"Alert",ability:s.ABILITIES.destroy,resource_id:i})},streamVisibilityEdit:e.stringifyPermission({resource_class:"stream",ability:s.ABILITIES.edit}),userImpersonate:e.stringifyPermission({resource_class:"user",ability:s.ABILITIES.impersonate}),getDashboardUpdate:function(i){return e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.update,resource_id:i})},canCreateDashboard:e.stringifyPermission({resource_class:"Dashboard",ability:s.ABILITIES.create}),canCopyUsers:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.copy_users}),canViewDocumentsInfo:e.stringifyPermission({resource_class:"documents_info",ability:s.ABILITIES.view}),canViewCostsInfo:e.stringifyPermission({resource_class:"costs_info",ability:s.ABILITIES.view}),canViewBillingCost:e.stringifyPermission({resource_class:"billing_visualization_cost",ability:s.ABILITIES.view}),canReadBillingInfo:e.stringifyPermission({resource_class:"Usage",ability:s.ABILITIES.read}),canUpdateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.update}),canReadTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.read}),canCreateTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.create}),canDestroyTiers:e.stringifyPermission({resource_class:"Tier",ability:s.ABILITIES.destroy}),canUpdatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.update}),canReadPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.read}),canCreatePlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.create}),canDestroyPlatformSubscriptions:e.stringifyPermission({resource_class:"PlatformSubscription",ability:s.ABILITIES.destroy}),canViewPurchasesPage:e.stringifyPermission({resource_class:"company_purchase",ability:s.ABILITIES.access}),canReadPermissions:e.stringifyPermission({resource_class:"Permission",ability:s.ABILITIES.read}),canViewUserPermissions:e.stringifyPermission({resource_class:"mng_permissions_user_btn",ability:s.ABILITIES.view}),canViewGroupPermissions:e.stringifyPermission({resource_class:"mng_permissions_group_btn",ability:s.ABILITIES.view}),canShareGroup:e.stringifyPermission({resource_class:"Group",ability:s.ABILITIES.share}),getAppStreamUpdate:function(i){return e.stringifyPermission({resource_class:"AppStream",ability:s.ABILITIES.update,resource_id:i})},canViewAlertValidationFilters:e.stringifyPermission({resource_class:"alert_validation_filters",ability:s.ABILITIES.view}),canViewAlertSubscriptionFilters:e.stringifyPermission({resource_class:"alert_subscription_filters",ability:s.ABILITIES.view}),getCanDestroyAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.destroy,resource_id:i})},getCanUpdateAlertDefinition:function(i){return e.stringifyPermission({resource_class:"AlertDefinition",ability:s.ABILITIES.update,resource_id:i})},canCreateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.create}),canUpdateAlertDashboard:e.stringifyPermission({resource_class:"alert_dashboard",ability:s.ABILITIES.edit}),canViewAlertCompanyField:e.stringifyPermission({resource_class:"alert_company_field",ability:s.ABILITIES.view}),canViewDashboardSharingCompany:e.stringifyPermission({resource_class:"dashboard_sharing_company",ability:s.ABILITIES.view}),canViewDashboardSharingSharedWith:e.stringifyPermission({resource_class:"dashboard_sharing_shared_with",ability:s.ABILITIES.view}),canViewConfigPage:e.stringifyPermission({resource_class:"config_page",ability:s.ABILITIES.access}),canAccessRequestApp:e.stringifyPermission({resource_class:"request_app",ability:s.ABILITIES.access}),canAccessUserSettingsWidgets:e.stringifyPermission({resource_class:"user_settings_widgets",ability:s.ABILITIES.access}),canViewDevCenter:e.stringifyPermission({resource_class:"dev_center",ability:s.ABILITIES.access}),getCanReadAppPackages:function(i){return e.stringifyPermission({resource_class:"App",ability:"read_packages",resource_id:i})},canViewAppPackageSelector:e.stringifyPermission({resource_class:"app_package_selector",ability:s.ABILITIES.view}),canAccessProvisioning:e.stringifyPermission({resource_class:"provisioning",ability:s.ABILITIES.access}),getCanUpdateAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.update,resource_id:i})},getCanUpdateParentAssetAsset:function(i){return e.stringifyPermission({resource_class:"Asset",ability:"update_parent_asset",resource_id:i})},getCanCopyActivities:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.copy_activities,resource_id:i})},canRerunWell:function(i){return e.stringifyPermission({resource_class:"Asset",ability:s.ABILITIES.rerun,resource_id:i})},rigCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Rig"}),wellCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Well"}),programCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Program"}),padCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"Pad"}),padUpdate:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad"}),canManagePadWells:e.stringifyPermission({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:e.stringifyPermission({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"FracFleet"}),drilloutUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"InterventionUnit"}),canQCDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:e.stringifyPermission({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:e.stringifyPermission({ability:s.ABILITIES.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:e.stringifyPermission({ability:s.ABILITIES.access,resource_class:"stream_x_api"}),canViewMLFlow:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"MLFlow"}),canEditPlanConfiguration:e.stringifyPermission({ability:s.ABILITIES.edit,resource_class:"PlanConfiguration"}),canCreateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:e.stringifyPermission({ability:s.ABILITIES.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Program",resource_id:i})},getCanUpdatePad:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Pad",resource_id:i})},getCanUpdateRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Rig",resource_id:i})},getCanUpdateWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"Well",resource_id:i})},getCanUpdateFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"FracFleet",resource_id:i})},getCanUpdateDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"DrilloutUnit",resource_id:i})},getCanUpdateInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.update,resource_class:"InterventionUnit",resource_id:i})},getCanDestroyProgram:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Program",resource_id:i})},getCanDestroyPad:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Pad",resource_id:i})},getCanDestroyRig:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Rig",resource_id:i})},getCanDestroyWell:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"Well",resource_id:i})},getCanDestroyFracFleet:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"FracFleet",resource_id:i})},getCanDestroyDrilloutUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"DrilloutUnit",resource_id:i})},getCanDestroyInterventionUnit:function(i){return e.stringifyPermission({ability:s.ABILITIES.destroy,resource_class:"InterventionUnit",resource_id:i})},canViewHomeScreen:e.stringifyPermission({ability:s.ABILITIES.view,resource_class:"home_screen"})},r),t);exports.ABILITIES=s.ABILITIES,exports.PERMISSIONS=a;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedApp.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedApp.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"names":[],"mappings":"AA2PA,uCAA8E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/slicedToArray";import
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/slicedToArray";import r from"@babel/runtime/helpers/objectWithoutProperties";import{useMemo as t,useRef as o,useState as i,useEffect as a,useContext as p,useCallback as s}from"react";import l from"classnames";import{withRouter as c}from"react-router";import{noop as u}from"lodash";import d from"prop-types";import{APP_IFRAME_ATTRIBUTE as m,IsolatedPage as f}from"./IsolatedPage.js";import{ISOLATED_PAGE_APP_CONTAINER_ID as v}from"./constants.js";import C from"./DevCenterIsolatedApp.module.css.js";import b from"../AppContext.js";import g from"../../../permissions/PermissionsContext.js";import"../../../permissions/constants/index.js";import"../../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../clients/jsonApi/index.js";import"../../../permissions/ProvidePermissions.js";import{getUserUnits as j,subscribeForUserUnitsUpdates as A}from"../../../utils/index.js";import"../AppHeader/AppHeader.js";import"../AppSideBar/AppSideBar.js";import"../AppsDataProvider/AppsDataProvider.js";import h from"../DevCenterAppContainer/DevCenterAppContainer.js";import"../NavigationBar/NavigationBar.js";import"../SideBar/SideBar.js";import"../AppSettingsPopover/AppSettingsPopover.js";import"../AppFilterPanelLayout/AppFilterPanelLayout.js";import"../DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenterRouterContext/UniversalLink/UniversalLink.js";import{jsx as y}from"react/jsx-runtime";import"./DevCenterIsolatedAppPage.js";import{isInsideNewMobileApp as M}from"../../../utils/mobileDetect.js";import{createDevCenterRouter as I,isCorvaApp as x,isIsolationEnabledInPackageManifest as P,isAppMaximized as w}from"../../../utils/devcenter.js";var O=["isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn"];function S(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function D(n){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?S(Object(t),!0).forEach((function(r){e(n,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):S(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function E(e){var c,u,d,S,E,F=e.isIsolationFeatureEnabled,L=e.onAppFullscreenTransparentMode,R=e.onIsMaximizedChange,T=e.onInnerContainerMouseEnter,k=e.onInnerContainerMouseLeave,z=e.onAppContainerClick,B=e.setInnerContainerRefFn,_=r(e,O),N=t((function(){return I(_.router)}),[null===(c=_.router)||void 0===c?void 0:c.location]),q=x(null==_||null===(u=_.app)||void 0===u?void 0:u.app)&&!P(null==_||null===(d=_.app)||void 0===d?void 0:d.package)||!F,U=q?h:f,W=o(),H=o(),V=o(),G=o(!1),J=w(null===(S=_.router)||void 0===S||null===(E=S.location)||void 0===E?void 0:E.query,_.app.id),K=o(J);K.current=J;var Q=i(j()),X=n(Q,2),Y=X[0],Z=X[1];a((function(){var e=A((function(e){return Z(e)}));return function(){return e()}}),[]);var $=p(b),ee=g();function ne(){L({appId:_.app.id,isModeEnabled:!1}),document.body.classList.remove("dc-isolated-app__body-overflow",C.compensateScroll)}var re=s((function(e){var n,r,t,o,i,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(F&&!q&&(!K.current||G.current)&&G.current!==e){var p,s=e?"add":"remove";if(null===(n=H.current)||void 0===n||n.classList[s](C.containerMaximizedTransparent),a||"remove"===s)null===(p=H.current)||void 0===p||p.classList[s](C.containerMaximizedTransparentModal);W.current=null===(r=H.current)||void 0===r||null===(t=r.querySelector("[".concat(m,"]")))||void 0===t||null===(o=t.contentWindow)||void 0===o?void 0:o.document;var l=null===(i=W.current)||void 0===i?void 0:i.getElementById(v);if(l){if(e){var c=V.current.getBoundingClientRect(),u=c.top,d=c.left,f=c.width,b=c.height;l.setAttribute("style","\n top: ".concat(u,"px;\n left: ").concat(d,"px;\n width: ").concat(f,"px;\n height: ").concat(b,"px;\n position: absolute;\n ")),L({appId:_.app.id,isModeEnabled:!0});var g=window.innerWidth!==document.body.clientWidth;document.body.classList.add("dc-isolated-app__body-overflow",g&&C.compensateScroll)}else l.setAttribute("style",""),ne();G.current=e}}}),[F,q,K]);a((function(){return ne}),[]),a((function(){J&&G.current&&re(!1)}),[J]);var te=s((function(e){H.current=e,B(e)}),[]);return y("div",{className:l("dc-isolated-app",C.fixedSizeContainer),ref:V,children:y("div",{ref:te,onMouseEnter:T,onMouseLeave:k,"data-testid":"".concat("DevCenter_AppContainer","_").concat(_.app.app.name),className:l(C.container,M&&C.newMobileAppContainer,J&&C.containerMaximized),children:y(U,D(D({},_),{},{appContextValue:$,devCenterRouter:N,globalNotificationToastsAPI:window[Symbol.for("notificationToasts")],globalMixpanelEventTracker:window[Symbol.for("logToMixpanel")],onAppContainerClick:z,onIsMaximizedChange:R,permissionsContextValue:ee,setIsFullscreenModalMode:re,userUnits:Y}))})})}E.propTypes={app:d.shape({id:d.number,app:d.shape({name:d.string})}).isRequired,currentUser:d.shape({}).isRequired,isIsolationFeatureEnabled:d.bool,onAppContainerClick:d.func,onAppFullscreenTransparentMode:d.func,onAppRemove:d.func,onInnerContainerMouseEnter:d.func,onInnerContainerMouseLeave:d.func,onIsMaximizedChange:d.func,onSettingChange:d.func,onSettingsChange:d.func,setInnerContainerRefFn:d.func,updateCurrentDashboardAppLastAnnotation:d.func},E.defaultProps={isIsolationFeatureEnabled:!1,onAppContainerClick:u,onAppFullscreenTransparentMode:u,onAppRemove:u,onInnerContainerMouseEnter:u,onInnerContainerMouseLeave:u,onIsMaximizedChange:u,onSettingChange:u,onSettingsChange:u,setInnerContainerRefFn:u,updateCurrentDashboardAppLastAnnotation:u};var F=c(E);export{F as DevCenterIsolatedApp};
|
|
2
2
|
//# sourceMappingURL=DevCenterIsolatedApp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router';\nimport { noop } from 'lodash';\nimport PropTypes from 'prop-types';\n\nimport { APP_IFRAME_ATTRIBUTE, DevCenterAppZoidComponent } from './DevCenterAppZoidComponent';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\n\nimport styles from './DevCenterIsolatedApp.module.css';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled,\n onAppFullscreenTransparentMode,\n onIsMaximizedChange,\n onInnerContainerMouseEnter,\n onInnerContainerMouseLeave,\n onAppContainerClick,\n setInnerContainerRefFn,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.router),\n [props.router?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : DevCenterAppZoidComponent;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const modalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(props.router?.location?.query, props.app.id);\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n isAppMaximized ||\n modalModeRef.current === nextIsFullscreenModalModeValue\n ) {\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparentModal);\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n\n // We need to directly set inner iFrame container sizes together with DC platform styles\n // as passing this as props and using some effect inside of an iframe\n // results in a slight delay, which looks like a quick layout jump\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n isolatedPageAppContainer.setAttribute('style', '');\n handleAppFullscreenTransparentModeExit();\n }\n modalModeRef.current = nextIsFullscreenModalModeValue;\n }\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n {...props}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onIsMaximizedChange={onIsMaximizedChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n};\n\nDevCenterIsolatedAppComponent.defaultProps = {\n isIsolationFeatureEnabled: false,\n onAppContainerClick: noop,\n onAppFullscreenTransparentMode: noop,\n onAppRemove: noop,\n onInnerContainerMouseEnter: noop,\n onInnerContainerMouseLeave: noop,\n onIsMaximizedChange: noop,\n onSettingChange: noop,\n onSettingsChange: noop,\n setInnerContainerRefFn: noop,\n updateCurrentDashboardAppLastAnnotation: noop,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DevCenterIsolatedAppComponent","_ref","_props$router","_props$app","_props$app2","_props$router2","_props$router2$locati","isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","router","location","isNonIsolatedApp","app","package","DCAppComponent","DevCenterAppContainer","DevCenterAppZoidComponent","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","modalModeRef","isAppMaximized","query","id","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setContainerRefs","useCallback","node","current","_jsx","className","classNames","fixedSizeContainer","ref","children","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","window","Symbol","for","globalMixpanelEventTracker","setIsFullscreenModalMode","nextIsFullscreenModalModeValue","_containerRef$current","_containerRef$current3","_containerRef$current4","_containerRef$current5","_appIframeDocument$cu","isModal","_containerRef$current2","classesEditMethod","containerMaximizedTransparent","containerMaximizedTransparentModal","querySelector","concat","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","setAttribute","isBodyScrollVisible","innerWidth","clientWidth","add","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","defaultProps","noop","DevCenterIsolatedApp","withRouter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router';\nimport { noop } from 'lodash';\nimport PropTypes from 'prop-types';\n\nimport { IsolatedPage, APP_IFRAME_ATTRIBUTE } from './IsolatedPage';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\n\nimport styles from './DevCenterIsolatedApp.module.css';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled,\n onAppFullscreenTransparentMode,\n onIsMaximizedChange,\n onInnerContainerMouseEnter,\n onInnerContainerMouseLeave,\n onAppContainerClick,\n setInnerContainerRefFn,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.router),\n [props.router?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : IsolatedPage;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const modalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(props.router?.location?.query, props.app.id);\n\n // save to ref to not re-create setIsFullscreenModalMode callback on change and reduce the amoount of DC apps re-renders\n const isAppMaximizedRef = useRef(isAppMaximized);\n isAppMaximizedRef.current = isAppMaximized;\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n const setIsFullscreenModalMode = useCallback(\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n (isAppMaximizedRef.current && !modalModeRef.current) ||\n modalModeRef.current === nextIsFullscreenModalModeValue\n ) {\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](\n styles.containerMaximizedTransparentModal\n );\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n\n // We need to directly set inner iFrame container sizes together with DC platform styles\n // as passing this as props and using some effect inside of an iframe\n // results in a slight delay, which looks like a quick layout jump\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n isolatedPageAppContainer.setAttribute('style', '');\n handleAppFullscreenTransparentModeExit();\n }\n modalModeRef.current = nextIsFullscreenModalModeValue;\n },\n [isIsolationFeatureEnabled, isNonIsolatedApp, isAppMaximizedRef]\n );\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n useEffect(() => {\n if (isAppMaximized && modalModeRef.current) {\n setIsFullscreenModalMode(false);\n }\n }, [isAppMaximized]);\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n {...props}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onIsMaximizedChange={onIsMaximizedChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n};\n\nDevCenterIsolatedAppComponent.defaultProps = {\n isIsolationFeatureEnabled: false,\n onAppContainerClick: noop,\n onAppFullscreenTransparentMode: noop,\n onAppRemove: noop,\n onInnerContainerMouseEnter: noop,\n onInnerContainerMouseLeave: noop,\n onIsMaximizedChange: noop,\n onSettingChange: noop,\n onSettingsChange: noop,\n setInnerContainerRefFn: noop,\n updateCurrentDashboardAppLastAnnotation: noop,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DevCenterIsolatedAppComponent","_ref","_props$router","_props$app","_props$app2","_props$router2","_props$router2$locati","isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","router","location","isNonIsolatedApp","app","package","DCAppComponent","DevCenterAppContainer","IsolatedPage","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","modalModeRef","isAppMaximized","query","id","isAppMaximizedRef","current","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setIsFullscreenModalMode","useCallback","nextIsFullscreenModalModeValue","_containerRef$current","_containerRef$current3","_containerRef$current4","_containerRef$current5","_appIframeDocument$cu","isModal","_containerRef$current2","classesEditMethod","containerMaximizedTransparent","containerMaximizedTransparentModal","querySelector","concat","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","setAttribute","isBodyScrollVisible","window","innerWidth","clientWidth","add","setContainerRefs","node","_jsx","className","classNames","fixedSizeContainer","ref","children","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","Symbol","for","globalMixpanelEventTracker","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","defaultProps","noop","DevCenterIsolatedApp","withRouter"],"mappings":"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"}
|
package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedAppPage.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedAppPage.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH;;;;gBAsFC;;;;;;;;;;;;;;;;sBAlIqB,YAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/objectWithoutProperties";import{useEffect as t,useRef as n}from"react";import i from"prop-types";import{makeStyles as e}from"@material-ui/core";import r from"classnames";import c from"moment-timezone";import{useXProps as m}from"./effects/useXProps.js";import{ISOLATED_PAGE_APP_CONTAINER_ID as p}from"./constants.js";import{replaceUndefinedValuesWithNull as l}from"./utils/replaceUndefinedValuesWithNull.js";import{getDashboardCapturingHandler as a}from"./utils/dashboardCapturing.js";import{IsInsideIsolatedDcAppProvider as u}from"../DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import j from"../DevCenterAppContainer/DevCenterAppContainer.js";import{jsx as d}from"react/jsx-runtime";import"@icon-park/react/es/all";import{IconParkProvider as I}from"../../../icons/IconParkProvider.js";import"../../../icons/customIcons/icons/AddMessage.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/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/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/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 f from"../../../hocs/withMUIProvidersHOC.js";import"../../../hocs/withAssetEditorLockHOC.js";import
|
|
1
|
+
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/objectWithoutProperties";import{useEffect as t,useRef as n}from"react";import i from"prop-types";import{makeStyles as e}from"@material-ui/core";import r from"classnames";import c from"moment-timezone";import{useXProps as m}from"./effects/useXProps.js";import{ISOLATED_PAGE_APP_CONTAINER_ID as p}from"./constants.js";import{replaceUndefinedValuesWithNull as l}from"./utils/replaceUndefinedValuesWithNull.js";import{getDashboardCapturingHandler as a}from"./utils/dashboardCapturing.js";import{IsInsideIsolatedDcAppProvider as u}from"../DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import j from"../DevCenterAppContainer/DevCenterAppContainer.js";import{jsx as d}from"react/jsx-runtime";import"@icon-park/react/es/all";import{IconParkProvider as I}from"../../../icons/IconParkProvider.js";import"../../../icons/customIcons/icons/AddMessage.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/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/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/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 f from"../../../hocs/withMUIProvidersHOC.js";import"../../../hocs/withAssetEditorLockHOC.js";import g from"../AppContext.js";import{THEMES as C}from"../../../constants/theme.js";import{LOCAL_STORAGE_APP_THEME_KEY as b}from"../../../CLI/hocs/constants.js";import{setThemeVariables as h}from"../../../utils/themeVariables.js";import{isPDFReportView as v}from"../../../CLI/hocs/utils.js";import{PermissionsContext as A}from"../../../permissions/PermissionsContext.js";import{updateUserUnits as P}from"../../../utils/index.js";import"../../../styles/iconPark.global.css.js";import"../../../styles/index.global.css.js";import"../../../styles/reactVirtualized.global.css.js";import"../../../styles/emojiMart.global.css.js";import"../../../styles/mapbox.global.css.js";import"../../../styles/lightbox.global.css.js";import"../../../styles/generatedThemesVariables.global.css.js";import"../../../styles/customScrollbars.global.css.js";var y=["appContextValue","globalMixpanelEventTracker","globalNotificationToastsAPI","onSettingChange","onSettingsChange","permissionsContextValue","timezone","userUnits"];function O(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,n)}return t}function x(s){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){o(s,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(n,o))}))}return s}var S=f(j),w=e((function(){return{"@global":{body:{backgroundColor:"transparent",overflow:"hidden"}}}}));function L(o){var i,e,j,f,O=o.CLIAppComponent,L=o.CLIAppSettings,D=o.containerReportClassName;w();var k=m(),F=k.appContextValue,E=k.globalMixpanelEventTracker,T=k.globalNotificationToastsAPI,R=k.onSettingChange,U=k.onSettingsChange,M=k.permissionsContextValue,V=k.timezone,N=k.userUnits,z=s(k,y),G=z.location.pathname.startsWith("/reports/")||v,W=null==z||null===(i=z.app)||void 0===i?void 0:i.id,H=localStorage.getItem(b)||(null===(e=z.currentUser)||void 0===e||null===(j=e.settings)||void 0===j||null===(f=j.uiSettings)||void 0===f?void 0:f.theme)||C.DARK,q=!G&&H!==C.LIGHT;t((function(){h(q)}),[q]),t((function(){window[Symbol.for("notificationToasts")]=T,window[Symbol.for("logToMixpanel")]=E}),[T,E]);var K=n(!0);return(K.current||G)&&(K.current=!1,P({userUnits:N})),t((function(){return V&&c.tz.setDefault(V),function(){return c.tz.setDefault(null)}}),[V]),t((function(){var o=a(W);return window.addEventListener("message",o),function(){return window.removeEventListener("message",o)}}),[W]),d(A.Provider,{value:M,children:d(g.Provider,{value:F,children:d(u,{value:!0,children:d(I,{children:d("div",{id:p,className:r(G&&D),children:d(S,x(x({},z),{},{theme:q?C.DARK:C.LIGHT,onSettingsChange:function(o){return U(l(o))},onSettingChange:function(o,s){return R(o,l(s))},CLIAppComponent:O,CLIAppSettings:L}))})})})})})}L.propTypes={CLIAppComponent:i.func,CLIAppSettings:i.func,containerReportClassName:i.string},L.defaultProps={CLIAppComponent:null,CLIAppSettings:null,containerReportClassName:null};export{L as DevCenterIsolatedAppPage};
|
|
2
2
|
//# sourceMappingURL=DevCenterIsolatedAppPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterIsolatedAppPage.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport moment from 'moment-timezone';\n\nimport { useXProps } from './effects/useXProps';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { replaceUndefinedValuesWithNull } from './utils/replaceUndefinedValuesWithNull';\nimport { getDashboardCapturingHandler } from './utils/dashboardCapturing';\n\nimport { IsInsideIsolatedDcAppProvider } from '~/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider';\nimport DevCenterAppContainer from '~/components/DevCenter/DevCenterAppContainer';\nimport { IconParkProvider } from '~/icons';\nimport { withMUIProvidersHOC } from '~/hocs';\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { THEMES } from '~/constants/theme';\nimport { LOCAL_STORAGE_APP_THEME_KEY } from '~/CLI/hocs/constants';\nimport { setThemeVariables } from '~/utils/themeVariables';\nimport { isPDFReportView } from '~/CLI/hocs/utils';\nimport { PermissionsContext } from '~/permissions/PermissionsContext';\nimport { updateUserUnits } from '~/utils';\nimport '~/styles/globalStyles';\n\
|
|
1
|
+
{"version":3,"file":"DevCenterIsolatedAppPage.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport moment from 'moment-timezone';\n\nimport { useXProps } from './effects/useXProps';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { replaceUndefinedValuesWithNull } from './utils/replaceUndefinedValuesWithNull';\nimport { getDashboardCapturingHandler } from './utils/dashboardCapturing';\n\nimport { IsInsideIsolatedDcAppProvider } from '~/components/DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider';\nimport DevCenterAppContainer from '~/components/DevCenter/DevCenterAppContainer';\nimport { IconParkProvider } from '~/icons';\nimport { withMUIProvidersHOC } from '~/hocs';\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { THEMES } from '~/constants/theme';\nimport { LOCAL_STORAGE_APP_THEME_KEY } from '~/CLI/hocs/constants';\nimport { setThemeVariables } from '~/utils/themeVariables';\nimport { isPDFReportView } from '~/CLI/hocs/utils';\nimport { PermissionsContext } from '~/permissions/PermissionsContext';\nimport { updateUserUnits } from '~/utils';\nimport '~/styles/globalStyles';\n\nconst DevCenterAppContainerWithMUI = withMUIProvidersHOC(DevCenterAppContainer);\n\n/**\n * It's important to keep these global styles in js, to apply only\n * when the component is actually used, if moved to CSS - they'll be\n * applied to whatever somehow imports the code\n */\nconst useStyles = makeStyles(() => ({\n '@global': {\n body: {\n backgroundColor: 'transparent',\n overflow: 'hidden',\n },\n },\n}));\n\n/**\n * Root component that is rendered inside of app's iframe.\n * Receives CLIAppComponent, CLIAppSettings when used\n * in local development\n */\nexport function DevCenterIsolatedAppPage({\n CLIAppComponent,\n CLIAppSettings,\n containerReportClassName,\n}) {\n useStyles();\n\n const {\n appContextValue,\n globalMixpanelEventTracker,\n globalNotificationToastsAPI,\n onSettingChange,\n onSettingsChange,\n permissionsContextValue,\n timezone,\n userUnits,\n ...xProps\n } = useXProps();\n const isReportsPage = xProps.location.pathname.startsWith('/reports/') || isPDFReportView;\n const appId = xProps?.app?.id;\n\n // Force light theme for PDF reports view\n const selectedTheme =\n localStorage.getItem(LOCAL_STORAGE_APP_THEME_KEY) ||\n xProps.currentUser?.settings?.uiSettings?.theme ||\n THEMES.DARK;\n const isDarkTheme = !isReportsPage && selectedTheme !== THEMES.LIGHT;\n\n useEffect(() => {\n setThemeVariables(isDarkTheme);\n }, [isDarkTheme]);\n\n useEffect(() => {\n window[Symbol.for('notificationToasts')] = globalNotificationToastsAPI;\n window[Symbol.for('logToMixpanel')] = globalMixpanelEventTracker;\n }, [globalNotificationToastsAPI, globalMixpanelEventTracker]);\n\n const isFirstRenderRef = useRef(true);\n if (isFirstRenderRef.current || isReportsPage) {\n isFirstRenderRef.current = false;\n updateUserUnits({ userUnits });\n }\n\n useEffect(() => {\n if (timezone) moment.tz.setDefault(timezone);\n return () => moment.tz.setDefault(null);\n }, [timezone]);\n\n useEffect(() => {\n const dashboardCapturingHandler = getDashboardCapturingHandler(appId);\n window.addEventListener('message', dashboardCapturingHandler);\n return () => window.removeEventListener('message', dashboardCapturingHandler);\n }, [appId]);\n\n return (\n <PermissionsContext.Provider value={permissionsContextValue}>\n <AppContext.Provider value={appContextValue}>\n <IsInsideIsolatedDcAppProvider value>\n <IconParkProvider>\n <div\n id={ISOLATED_PAGE_APP_CONTAINER_ID}\n className={classNames(isReportsPage && containerReportClassName)}\n >\n <DevCenterAppContainerWithMUI\n {...xProps}\n theme={isDarkTheme ? THEMES.DARK : THEMES.LIGHT}\n // zoid serializes passed arguments using JSON.stringify.\n // All undefined values are removed as they are not valid JSON values\n // so we replace undefined values with null to not drop them\n // Any future cb function that passes arbitrary objects as args\n // also should be wrapped in this mapper\n onSettingsChange={nextSettings =>\n onSettingsChange(replaceUndefinedValuesWithNull(nextSettings))\n }\n onSettingChange={(key, value) =>\n onSettingChange(key, replaceUndefinedValuesWithNull(value))\n }\n CLIAppComponent={CLIAppComponent}\n CLIAppSettings={CLIAppSettings}\n />\n </div>\n </IconParkProvider>\n </IsInsideIsolatedDcAppProvider>\n </AppContext.Provider>\n </PermissionsContext.Provider>\n );\n}\n\nDevCenterIsolatedAppPage.propTypes = {\n CLIAppComponent: PropTypes.func,\n CLIAppSettings: PropTypes.func,\n containerReportClassName: PropTypes.string,\n};\n\nDevCenterIsolatedAppPage.defaultProps = {\n CLIAppComponent: null,\n CLIAppSettings: null,\n containerReportClassName: null,\n};\n"],"names":["DevCenterAppContainerWithMUI","withMUIProvidersHOC","DevCenterAppContainer","useStyles","makeStyles","body","backgroundColor","overflow","DevCenterIsolatedAppPage","_ref","_xProps$app","_xProps$currentUser","_xProps$currentUser$s","_xProps$currentUser$s2","CLIAppComponent","CLIAppSettings","containerReportClassName","_useXProps","useXProps","appContextValue","globalMixpanelEventTracker","globalNotificationToastsAPI","onSettingChange","onSettingsChange","permissionsContextValue","timezone","userUnits","xProps","_objectWithoutProperties","_excluded","isReportsPage","location","pathname","startsWith","isPDFReportView","appId","app","id","selectedTheme","localStorage","getItem","LOCAL_STORAGE_APP_THEME_KEY","currentUser","settings","uiSettings","theme","THEMES","DARK","isDarkTheme","LIGHT","useEffect","setThemeVariables","window","Symbol","for","isFirstRenderRef","useRef","current","updateUserUnits","moment","tz","setDefault","dashboardCapturingHandler","getDashboardCapturingHandler","addEventListener","removeEventListener","_jsx","PermissionsContext","Provider","value","children","AppContext","IsInsideIsolatedDcAppProvider","IconParkProvider","ISOLATED_PAGE_APP_CONTAINER_ID","className","classNames","_objectSpread","nextSettings","replaceUndefinedValuesWithNull","key","propTypes","PropTypes","func","string","defaultProps"],"mappings":"qoJAwBA,IAAMA,EAA+BC,EAAoBC,GAOnDC,EAAYC,GAAW,WAAA,MAAO,CAClC,UAAW,CACTC,KAAM,CACJC,gBAAiB,cACjBC,SAAU,WAGf,IAOM,SAASC,EAIbC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAHDC,IAAAA,gBACAC,IAAAA,eACAC,IAAAA,yBAEAb,IAEA,IAAAc,EAUIC,IATFC,IAAAA,gBACAC,IAAAA,2BACAC,IAAAA,4BACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,wBACAC,IAAAA,SACAC,IAAAA,UACGC,EAAMC,EAAAX,EAAAY,GAELC,EAAgBH,EAAOI,SAASC,SAASC,WAAW,cAAgBC,EACpEC,EAAQR,SAAA,QAAAA,EAAAA,EAAQS,WAAR,IAAA1B,OAAAiB,EAAAjB,EAAa2B,GAGrBC,EACJC,aAAaC,QAAQC,aACrBd,EAAAA,EAAOe,0BAAP,UAAA/B,EAAoBgC,gBAApB,IAAA/B,GAAwC,QAAxCC,EAAAD,EAA8BgC,kBAAU,IAAA/B,SAAxCA,EAA0CgC,QAC1CC,EAAOC,KACHC,GAAelB,GAAiBQ,IAAkBQ,EAAOG,MAE/DC,GAAU,WACRC,EAAkBH,EACpB,GAAG,CAACA,IAEJE,GAAU,WACRE,OAAOC,OAAOC,IAAI,uBAAyBjC,EAC3C+B,OAAOC,OAAOC,IAAI,kBAAoBlC,CACxC,GAAG,CAACC,EAA6BD,IAEjC,IAAMmC,EAAmBC,GAAO,GAiBhC,OAhBID,EAAiBE,SAAW3B,KAC9ByB,EAAiBE,SAAU,EAC3BC,EAAgB,CAAEhC,UAAAA,KAGpBwB,GAAU,WAER,OADIzB,GAAUkC,EAAOC,GAAGC,WAAWpC,GAC5B,WAAA,OAAMkC,EAAOC,GAAGC,WAAW,KAAK,CACzC,GAAG,CAACpC,IAEJyB,GAAU,WACR,IAAMY,EAA4BC,EAA6B5B,GAE/D,OADAiB,OAAOY,iBAAiB,UAAWF,GAC5B,WAAA,OAAMV,OAAOa,oBAAoB,UAAWH,EAA0B,CAC/E,GAAG,CAAC3B,IAGF+B,EAACC,EAAmBC,SAAQ,CAACC,MAAO7C,EAAwB8C,SAC1DJ,EAACK,EAAWH,SAAQ,CAACC,MAAOlD,EAAgBmD,SAC1CJ,EAACM,EAA6B,CAACH,OAAK,EAAAC,SAClCJ,EAACO,EAAgB,CAAAH,SACfJ,EAAA,MAAA,CACE7B,GAAIqC,EACJC,UAAWC,EAAW9C,GAAiBd,GAA0BsD,SAEjEJ,EAAClE,EAA4B6E,EAAAA,EAAA,GACvBlD,GAAM,GAAA,CACVkB,MAAOG,EAAcF,EAAOC,KAAOD,EAAOG,MAM1C1B,iBAAkB,SAAAuD,GAAY,OAC5BvD,EAAiBwD,EAA+BD,GACjD,EACDxD,gBAAiB,SAAC0D,EAAKX,GAAK,OAC1B/C,EAAgB0D,EAAKD,EAA+BV,GACrD,EACDvD,gBAAiBA,EACjBC,eAAgBA,cAQhC,CAEAP,EAAyByE,UAAY,CACnCnE,gBAAiBoE,EAAUC,KAC3BpE,eAAgBmE,EAAUC,KAC1BnE,yBAA0BkE,EAAUE,QAGtC5E,EAAyB6E,aAAe,CACtCvE,gBAAiB,KACjBC,eAAgB,KAChBC,yBAA0B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const APP_IFRAME_ATTRIBUTE = "data-corva-app-iframe";
|
|
2
|
+
export type IsolatedPageProps = {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
};
|
|
5
|
+
declare global {
|
|
6
|
+
interface Window {
|
|
7
|
+
xprops?: Record<string, any>;
|
|
8
|
+
xpropsOnProps?: (props: any) => void;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare function IsolatedPage({ ...restProps }: IsolatedPageProps): JSX.Element;
|
|
12
|
+
//# sourceMappingURL=IsolatedPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsolatedPage.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.tsx"],"names":[],"mappings":"AAuBA,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAO5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;KACtC;CACF;AAED,wBAAgB,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,EAAE,iBAAiB,eA0F/D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as r,__assign as o}from'./../../../ext-esm/tslib/tslib.es6.js';import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useRef as n,useState as a,useCallback as s,useEffect as c}from"react";import{isEqual as i}from"lodash";import l from"../../LoadingIndicator/LoadingIndicator.js";import p from"./IsolatedPage.module.css.js";var d,u="data-corva-app-iframe",m=((d={})["data-corva-app-iframe"]=!0,d["data-testid"]="isolatedAppContainer",d);function f(d){var u=r(d,[]),f=n(null),v=n(null),g=a(!0),x=g[0],P=g[1],I=s((function(){P(!1)}),[]);return c((function(){var r;try{!function(r,t){if(r){var e=!r.xprops,n=v.current||{},a=!i(n,t);if((e||a)&&(r.xprops=o({},t),v.current=t),(e||a)&&r.xpropsOnProps)try{r.xpropsOnProps(t)}catch(r){console.debug("[IsolatedPage] xpropsOnProps was not set yet:",r)}}}(null===(r=f.current)||void 0===r?void 0:r.contentWindow,u)}catch(r){console.error("[IsolatedPage] Error accessing iframe contentWindow:",r)}})),c((function(){return function(){var r;try{var o=null===(r=f.current)||void 0===r?void 0:r.contentWindow;o&&o.xprops&&delete o.xprops}catch(r){console.error("[IsolatedPage] Error cleaning up xprops:",r)}v.current=null;var t=f.current;if(t)try{t.src="about:blank"}catch(r){console.error("[IsolatedPage] Error setting iframe src to about:blank:",r)}f.current=null}}),[]),t("div",{className:p.container,children:[x&&e(l,{}),e("iframe",o({ref:f,src:"/DevCenterIsolatedAppPage.html",onLoad:I,className:p.iframe},m))]})}export{u as APP_IFRAME_ATTRIBUTE,f as IsolatedPage};
|
|
2
|
+
//# sourceMappingURL=IsolatedPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,qCAAqC,uCAA0C;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from'./../../../ext-esm/style-inject/dist/style-inject.es.js';var a={container:"IsolatedPage-module_container__Z87-b",iframe:"IsolatedPage-module_iframe__KUa6S"};e(".IsolatedPage-module_container__Z87-b{height:100%;position:relative;width:100%}.IsolatedPage-module_iframe__KUa6S{background-color:transparent;border:none;height:100%;width:100%}");export{a as default};
|
|
2
|
+
//# sourceMappingURL=IsolatedPage.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,aAAa,yDAA4D;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function useXProps(): any
|
|
1
|
+
export function useXProps(): Record<string, any>;
|
|
2
2
|
//# sourceMappingURL=useXProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useXProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"useXProps.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js"],"names":[],"mappings":"AAEA,iDAUC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useEffect as o}from"react";function n(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,o)}return t}function c(){var c=t(window.xprops),p=e(c,2),i=p[0],f=p[1];return o((function(){window.
|
|
1
|
+
import r from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useEffect as o}from"react";function n(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,o)}return t}function c(){var c=t(window.xprops),p=e(c,2),i=p[0],f=p[1];return o((function(){window.xpropsOnProps=function(e){f(function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?n(Object(o),!0).forEach((function(t){r(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(o,r))}))}return e}({},e))}}),[]),i}export{c as useXProps};
|
|
2
2
|
//# sourceMappingURL=useXProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useXProps.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nexport function useXProps() {\n const [xprops, setXProps] = useState(window.xprops);\n\n useEffect(() => {\n window.
|
|
1
|
+
{"version":3,"file":"useXProps.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nexport function useXProps() {\n const [xprops, setXProps] = useState(window.xprops);\n\n useEffect(() => {\n window.xpropsOnProps = props => {\n setXProps({ ...props });\n };\n }, []);\n\n return xprops;\n}\n"],"names":["useXProps","_useState","useState","window","xprops","_useState2","_slicedToArray","setXProps","useEffect","xpropsOnProps","props","_objectSpread"],"mappings":"uXAEO,SAASA,IACd,IAAAC,EAA4BC,EAASC,OAAOC,QAAOC,EAAAC,EAAAL,EAAA,GAA5CG,EAAMC,EAAA,GAAEE,EAASF,EAAA,GAQxB,OANAG,GAAU,WACRL,OAAOM,cAAgB,SAAAC,GACrBH,iWAASI,CAAA,GAAMD,IAElB,GAAE,IAEIN,CACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@corva/ui",
|
|
3
|
-
"version": "3.37.0-
|
|
3
|
+
"version": "3.37.0-2",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"description": "Shared components/utils for Corva ui projects",
|
|
6
6
|
"keywords": [
|
|
@@ -99,7 +99,6 @@
|
|
|
99
99
|
"@badgateway/oauth2-client": "2.2.4",
|
|
100
100
|
"@date-io/moment": "1.3.13",
|
|
101
101
|
"@icon-park/react": "^1.4.2",
|
|
102
|
-
"@krakenjs/zoid": "^10.3.3",
|
|
103
102
|
"@material-ui/core": "4.11.2",
|
|
104
103
|
"@material-ui/icons": "4.9.1",
|
|
105
104
|
"@material-ui/lab": "4.0.0-alpha.57",
|
|
@@ -120,6 +120,7 @@ export declare const PERMISSIONS: {
|
|
|
120
120
|
readonly canViewPredictiveDrillingAppExtendedControls: import("../utils").StringifiedPermission;
|
|
121
121
|
readonly canAccessStreamX: import("../utils").StringifiedPermission;
|
|
122
122
|
readonly canViewMLFlow: import("../utils").StringifiedPermission;
|
|
123
|
+
readonly canEditPlanConfiguration: import("../utils").StringifiedPermission;
|
|
123
124
|
readonly canCreateEdrProvider: import("../utils").StringifiedPermission;
|
|
124
125
|
readonly canUpdateEdrProvider: import("../utils").StringifiedPermission;
|
|
125
126
|
readonly canDestroyEdrProvider: import("../utils").StringifiedPermission;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/permissions/constants/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/permissions/constants/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC;AAE5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAydd,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign as e}from'./../../ext-esm/tslib/tslib.es6.js';import{stringifyPermission as r}from"../utils.js";import{ABILITIES as s}from"./abilities.js";export{ABILITIES}from"./abilities.js";import a from"./settingsApps.js";import i from"./appsPermissions.js";var t=e(e({canViewArchive:r({resource_class:"archive_well_btn",ability:s.view}),companySelectorView:r({resource_class:"company_selector",ability:s.view}),userCreate:r({resource_class:"User",ability:s.create}),getUserUpdate:function(e){return r({resource_class:"User",ability:s.update,resource_id:e})},canViewCorvaAppVersion:r({resource_class:"corva_app_version",ability:s.view}),documentationEdit:r({resource_class:"Document",ability:s.edit}),documentationCreate:r({resource_class:"Document",ability:s.create}),documentationDestroy:r({resource_class:"Document",ability:s.destroy}),canUpdateWellQC:r({resource_class:"well_qc",ability:s.update}),canUpdateDataQualitySettings:r({resource_class:"corva.settings_dataQuality",ability:s.view}),getFeedItemDestroy:function(e){return r({resource_class:"Activity",ability:s.destroy,resource_id:e})},getCommentDestroy:function(e){return r({resource_class:"Comment",ability:s.destroy,resource_id:e})},getAlertUpdate:function(e){return r({resource_class:"Alert",ability:s.update,resource_id:e})},getAlertDestroy:function(e){return r({resource_class:"Alert",ability:s.destroy,resource_id:e})},streamVisibilityEdit:r({resource_class:"stream",ability:s.edit}),userImpersonate:r({resource_class:"user",ability:s.impersonate}),getDashboardUpdate:function(e){return r({resource_class:"Dashboard",ability:s.update,resource_id:e})},canCreateDashboard:r({resource_class:"Dashboard",ability:s.create}),canCopyUsers:r({resource_class:"Group",ability:s.copy_users}),canViewDocumentsInfo:r({resource_class:"documents_info",ability:s.view}),canViewCostsInfo:r({resource_class:"costs_info",ability:s.view}),canViewBillingCost:r({resource_class:"billing_visualization_cost",ability:s.view}),canReadBillingInfo:r({resource_class:"Usage",ability:s.read}),canUpdateTiers:r({resource_class:"Tier",ability:s.update}),canReadTiers:r({resource_class:"Tier",ability:s.read}),canCreateTiers:r({resource_class:"Tier",ability:s.create}),canDestroyTiers:r({resource_class:"Tier",ability:s.destroy}),canUpdatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.update}),canReadPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.read}),canCreatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.create}),canDestroyPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.destroy}),canViewPurchasesPage:r({resource_class:"company_purchase",ability:s.access}),canReadPermissions:r({resource_class:"Permission",ability:s.read}),canViewUserPermissions:r({resource_class:"mng_permissions_user_btn",ability:s.view}),canViewGroupPermissions:r({resource_class:"mng_permissions_group_btn",ability:s.view}),canShareGroup:r({resource_class:"Group",ability:s.share}),getAppStreamUpdate:function(e){return r({resource_class:"AppStream",ability:s.update,resource_id:e})},canViewAlertValidationFilters:r({resource_class:"alert_validation_filters",ability:s.view}),canViewAlertSubscriptionFilters:r({resource_class:"alert_subscription_filters",ability:s.view}),getCanDestroyAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.destroy,resource_id:e})},getCanUpdateAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.update,resource_id:e})},canCreateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.create}),canUpdateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.edit}),canViewAlertCompanyField:r({resource_class:"alert_company_field",ability:s.view}),canViewDashboardSharingCompany:r({resource_class:"dashboard_sharing_company",ability:s.view}),canViewDashboardSharingSharedWith:r({resource_class:"dashboard_sharing_shared_with",ability:s.view}),canViewConfigPage:r({resource_class:"config_page",ability:s.access}),canAccessRequestApp:r({resource_class:"request_app",ability:s.access}),canAccessUserSettingsWidgets:r({resource_class:"user_settings_widgets",ability:s.access}),canViewDevCenter:r({resource_class:"dev_center",ability:s.access}),getCanReadAppPackages:function(e){return r({resource_class:"App",ability:"read_packages",resource_id:e})},canViewAppPackageSelector:r({resource_class:"app_package_selector",ability:s.view}),canAccessProvisioning:r({resource_class:"provisioning",ability:s.access}),getCanUpdateAsset:function(e){return r({resource_class:"Asset",ability:s.update,resource_id:e})},getCanUpdateParentAssetAsset:function(e){return r({resource_class:"Asset",ability:"update_parent_asset",resource_id:e})},getCanCopyActivities:function(e){return r({resource_class:"Asset",ability:s.copy_activities,resource_id:e})},canRerunWell:function(e){return r({resource_class:"Asset",ability:s.rerun,resource_id:e})},rigCreate:r({ability:s.create,resource_class:"Rig"}),wellCreate:r({ability:s.create,resource_class:"Well"}),programCreate:r({ability:s.create,resource_class:"Program"}),padCreate:r({ability:s.create,resource_class:"Pad"}),padUpdate:r({ability:s.update,resource_class:"Pad"}),canManagePadWells:r({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:r({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:r({ability:s.create,resource_class:"FracFleet"}),drilloutUnitCreate:r({ability:s.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:r({ability:s.create,resource_class:"InterventionUnit"}),canQCDrillstring:r({ability:s.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:r({ability:s.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:r({ability:s.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:r({ability:s.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:r({ability:s.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:r({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:r({ability:s.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:r({ability:s.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:r({ability:s.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:r({ability:s.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:r({ability:s.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:r({ability:s.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:r({ability:s.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:r({ability:s.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:r({ability:s.access,resource_class:"stream_x_api"}),canViewMLFlow:r({ability:s.view,resource_class:"MLFlow"}),canCreateEdrProvider:r({ability:s.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:r({ability:s.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:r({ability:s.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:r({ability:s.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(e){return r({ability:s.update,resource_class:"Program",resource_id:e})},getCanUpdatePad:function(e){return r({ability:s.update,resource_class:"Pad",resource_id:e})},getCanUpdateRig:function(e){return r({ability:s.update,resource_class:"Rig",resource_id:e})},getCanUpdateWell:function(e){return r({ability:s.update,resource_class:"Well",resource_id:e})},getCanUpdateFracFleet:function(e){return r({ability:s.update,resource_class:"FracFleet",resource_id:e})},getCanUpdateDrilloutUnit:function(e){return r({ability:s.update,resource_class:"DrilloutUnit",resource_id:e})},getCanUpdateInterventionUnit:function(e){return r({ability:s.update,resource_class:"InterventionUnit",resource_id:e})},getCanDestroyProgram:function(e){return r({ability:s.destroy,resource_class:"Program",resource_id:e})},getCanDestroyPad:function(e){return r({ability:s.destroy,resource_class:"Pad",resource_id:e})},getCanDestroyRig:function(e){return r({ability:s.destroy,resource_class:"Rig",resource_id:e})},getCanDestroyWell:function(e){return r({ability:s.destroy,resource_class:"Well",resource_id:e})},getCanDestroyFracFleet:function(e){return r({ability:s.destroy,resource_class:"FracFleet",resource_id:e})},getCanDestroyDrilloutUnit:function(e){return r({ability:s.destroy,resource_class:"DrilloutUnit",resource_id:e})},getCanDestroyInterventionUnit:function(e){return r({ability:s.destroy,resource_class:"InterventionUnit",resource_id:e})},canViewHomeScreen:r({ability:s.view,resource_class:"home_screen"})},a),i);export{t as PERMISSIONS};
|
|
1
|
+
import{__assign as e}from'./../../ext-esm/tslib/tslib.es6.js';import{stringifyPermission as r}from"../utils.js";import{ABILITIES as s}from"./abilities.js";export{ABILITIES}from"./abilities.js";import a from"./settingsApps.js";import i from"./appsPermissions.js";var t=e(e({canViewArchive:r({resource_class:"archive_well_btn",ability:s.view}),companySelectorView:r({resource_class:"company_selector",ability:s.view}),userCreate:r({resource_class:"User",ability:s.create}),getUserUpdate:function(e){return r({resource_class:"User",ability:s.update,resource_id:e})},canViewCorvaAppVersion:r({resource_class:"corva_app_version",ability:s.view}),documentationEdit:r({resource_class:"Document",ability:s.edit}),documentationCreate:r({resource_class:"Document",ability:s.create}),documentationDestroy:r({resource_class:"Document",ability:s.destroy}),canUpdateWellQC:r({resource_class:"well_qc",ability:s.update}),canUpdateDataQualitySettings:r({resource_class:"corva.settings_dataQuality",ability:s.view}),getFeedItemDestroy:function(e){return r({resource_class:"Activity",ability:s.destroy,resource_id:e})},getCommentDestroy:function(e){return r({resource_class:"Comment",ability:s.destroy,resource_id:e})},getAlertUpdate:function(e){return r({resource_class:"Alert",ability:s.update,resource_id:e})},getAlertDestroy:function(e){return r({resource_class:"Alert",ability:s.destroy,resource_id:e})},streamVisibilityEdit:r({resource_class:"stream",ability:s.edit}),userImpersonate:r({resource_class:"user",ability:s.impersonate}),getDashboardUpdate:function(e){return r({resource_class:"Dashboard",ability:s.update,resource_id:e})},canCreateDashboard:r({resource_class:"Dashboard",ability:s.create}),canCopyUsers:r({resource_class:"Group",ability:s.copy_users}),canViewDocumentsInfo:r({resource_class:"documents_info",ability:s.view}),canViewCostsInfo:r({resource_class:"costs_info",ability:s.view}),canViewBillingCost:r({resource_class:"billing_visualization_cost",ability:s.view}),canReadBillingInfo:r({resource_class:"Usage",ability:s.read}),canUpdateTiers:r({resource_class:"Tier",ability:s.update}),canReadTiers:r({resource_class:"Tier",ability:s.read}),canCreateTiers:r({resource_class:"Tier",ability:s.create}),canDestroyTiers:r({resource_class:"Tier",ability:s.destroy}),canUpdatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.update}),canReadPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.read}),canCreatePlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.create}),canDestroyPlatformSubscriptions:r({resource_class:"PlatformSubscription",ability:s.destroy}),canViewPurchasesPage:r({resource_class:"company_purchase",ability:s.access}),canReadPermissions:r({resource_class:"Permission",ability:s.read}),canViewUserPermissions:r({resource_class:"mng_permissions_user_btn",ability:s.view}),canViewGroupPermissions:r({resource_class:"mng_permissions_group_btn",ability:s.view}),canShareGroup:r({resource_class:"Group",ability:s.share}),getAppStreamUpdate:function(e){return r({resource_class:"AppStream",ability:s.update,resource_id:e})},canViewAlertValidationFilters:r({resource_class:"alert_validation_filters",ability:s.view}),canViewAlertSubscriptionFilters:r({resource_class:"alert_subscription_filters",ability:s.view}),getCanDestroyAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.destroy,resource_id:e})},getCanUpdateAlertDefinition:function(e){return r({resource_class:"AlertDefinition",ability:s.update,resource_id:e})},canCreateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.create}),canUpdateAlertDashboard:r({resource_class:"alert_dashboard",ability:s.edit}),canViewAlertCompanyField:r({resource_class:"alert_company_field",ability:s.view}),canViewDashboardSharingCompany:r({resource_class:"dashboard_sharing_company",ability:s.view}),canViewDashboardSharingSharedWith:r({resource_class:"dashboard_sharing_shared_with",ability:s.view}),canViewConfigPage:r({resource_class:"config_page",ability:s.access}),canAccessRequestApp:r({resource_class:"request_app",ability:s.access}),canAccessUserSettingsWidgets:r({resource_class:"user_settings_widgets",ability:s.access}),canViewDevCenter:r({resource_class:"dev_center",ability:s.access}),getCanReadAppPackages:function(e){return r({resource_class:"App",ability:"read_packages",resource_id:e})},canViewAppPackageSelector:r({resource_class:"app_package_selector",ability:s.view}),canAccessProvisioning:r({resource_class:"provisioning",ability:s.access}),getCanUpdateAsset:function(e){return r({resource_class:"Asset",ability:s.update,resource_id:e})},getCanUpdateParentAssetAsset:function(e){return r({resource_class:"Asset",ability:"update_parent_asset",resource_id:e})},getCanCopyActivities:function(e){return r({resource_class:"Asset",ability:s.copy_activities,resource_id:e})},canRerunWell:function(e){return r({resource_class:"Asset",ability:s.rerun,resource_id:e})},rigCreate:r({ability:s.create,resource_class:"Rig"}),wellCreate:r({ability:s.create,resource_class:"Well"}),programCreate:r({ability:s.create,resource_class:"Program"}),padCreate:r({ability:s.create,resource_class:"Pad"}),padUpdate:r({ability:s.update,resource_class:"Pad"}),canManagePadWells:r({ability:"manage_pad_wells",resource_class:"Pad"}),canManagePadFracFleets:r({ability:"manage_frac_fleets",resource_class:"Pad"}),fracFleetCreate:r({ability:s.create,resource_class:"FracFleet"}),drilloutUnitCreate:r({ability:s.create,resource_class:"DrilloutUnit"}),interventionUnitCreate:r({ability:s.create,resource_class:"InterventionUnit"}),canQCDrillstring:r({ability:s.update,resource_class:"drillstring_qc"}),canCalibrateDrillstring:r({ability:s.update,resource_class:"drillstring_calibration"}),canViewAppOwnersFilter:r({ability:s.view,resource_class:"app_owners_filter"}),canViewSaveOffsetWells:r({ability:s.view,resource_class:"save_offset_wells"}),canViewGenerateDRM:r({ability:s.view,resource_class:"corva.driller_roadmap-generate_drm"}),canManageApiKeys:r({resource_class:"ApiKey",ability:"manage_api_key"}),canUpdateWorkflow:r({ability:s.update,resource_class:"Workflow"}),canViewColumnMapperTemplate:r({ability:s.view,resource_class:"column_mapper_template"}),canPublishDraftTemplate:r({ability:s.publish,resource_class:"AppStoreTemplate"}),canReadAppStoreBuilder:r({ability:s.read,resource_class:"AppStoreTemplateSection"}),canReadResourceAudit:r({ability:s.read,resource_class:"ResourceAudit"}),canAccessPartialRerun:r({ability:s.access,resource_class:"PartialWellRerun"}),canAccessAnalytics:r({ability:s.access,resource_class:"analytics"}),canViewPredictiveDrillingAppExtendedControls:r({ability:s.view,resource_class:"corva.drilling-automation-ui-app-controls"}),canAccessStreamX:r({ability:s.access,resource_class:"stream_x_api"}),canViewMLFlow:r({ability:s.view,resource_class:"MLFlow"}),canEditPlanConfiguration:r({ability:s.edit,resource_class:"PlanConfiguration"}),canCreateEdrProvider:r({ability:s.create,resource_class:"EdrProvider"}),canUpdateEdrProvider:r({ability:s.update,resource_class:"EdrProvider"}),canDestroyEdrProvider:r({ability:s.destroy,resource_class:"EdrProvider"}),canReadEdrProvider:r({ability:s.read,resource_class:"EdrProvider"}),getCanUpdateProgram:function(e){return r({ability:s.update,resource_class:"Program",resource_id:e})},getCanUpdatePad:function(e){return r({ability:s.update,resource_class:"Pad",resource_id:e})},getCanUpdateRig:function(e){return r({ability:s.update,resource_class:"Rig",resource_id:e})},getCanUpdateWell:function(e){return r({ability:s.update,resource_class:"Well",resource_id:e})},getCanUpdateFracFleet:function(e){return r({ability:s.update,resource_class:"FracFleet",resource_id:e})},getCanUpdateDrilloutUnit:function(e){return r({ability:s.update,resource_class:"DrilloutUnit",resource_id:e})},getCanUpdateInterventionUnit:function(e){return r({ability:s.update,resource_class:"InterventionUnit",resource_id:e})},getCanDestroyProgram:function(e){return r({ability:s.destroy,resource_class:"Program",resource_id:e})},getCanDestroyPad:function(e){return r({ability:s.destroy,resource_class:"Pad",resource_id:e})},getCanDestroyRig:function(e){return r({ability:s.destroy,resource_class:"Rig",resource_id:e})},getCanDestroyWell:function(e){return r({ability:s.destroy,resource_class:"Well",resource_id:e})},getCanDestroyFracFleet:function(e){return r({ability:s.destroy,resource_class:"FracFleet",resource_id:e})},getCanDestroyDrilloutUnit:function(e){return r({ability:s.destroy,resource_class:"DrilloutUnit",resource_id:e})},getCanDestroyInterventionUnit:function(e){return r({ability:s.destroy,resource_class:"InterventionUnit",resource_id:e})},canViewHomeScreen:r({ability:s.view,resource_class:"home_screen"})},a),i);export{t as PERMISSIONS};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("react-dom"),t=require("react-dom/server"),a=require("react"),i=require("@krakenjs/zoid/dist/zoid.frameworks"),n=require("@material-ui/core/styles"),o=require("../../LoadingIndicator/Loader.js"),l=require("react/jsx-runtime");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=d(e),u=d(r),p=d(t),f=d(a),m=s(i).create({tag:"dc-isolated-app-zoid-component",url:new URL("DevCenterIsolatedAppPage.html",window.location.origin).href,dimensions:{width:"100%",height:"100%"},prerenderTemplate:function(e){var r=e.doc,t=new n.ServerStyleSheets,a=p.default.renderToStaticMarkup(t.collect(l.jsx("div",{style:{padding:12,color:"white",fontFamily:"Roboto, sans-serif"},children:l.jsx("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"},children:l.jsx(o.default,{})})}))),i=r.createElement("html"),d=r.createElement("head");d.innerHTML='<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" />';var s=r.createElement("style");s.innerHTML=t.toString(),d.appendChild(s);var c=r.createElement("body");return c.style.margin=0,c.innerHTML=a,i.appendChild(d),i.appendChild(c),i},attributes:{iframe:c.default({},"data-corva-app-iframe",!0)}}).driver("react",{React:f.default,ReactDOM:u.default});exports.APP_IFRAME_ATTRIBUTE="data-corva-app-iframe",exports.DevCenterAppZoidComponent=m;
|
|
2
|
-
//# sourceMappingURL=DevCenterAppZoidComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterAppZoidComponent.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js"],"sourcesContent":["import ReactDOM from 'react-dom';\nimport ReactDOMServer from 'react-dom/server';\nimport React from 'react';\nimport * as zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport { ServerStyleSheets } from '@material-ui/core/styles';\n\nimport Loader from '~/components/LoadingIndicator/Loader';\n\nexport const APP_IFRAME_ATTRIBUTE = 'data-corva-app-iframe';\n\nconst devCenterAppZoidInstance = zoid.create({\n tag: 'dc-isolated-app-zoid-component',\n url: new URL('DevCenterIsolatedAppPage.html', window.location.origin).href,\n dimensions: {\n width: '100%',\n height: '100%',\n },\n prerenderTemplate: function containerTemplate({ doc }) {\n const sheets = new ServerStyleSheets();\n\n const loaderString = ReactDOMServer.renderToStaticMarkup(\n sheets.collect(\n <div style={{ padding: 12, color: 'white', fontFamily: 'Roboto, sans-serif' }}>\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }}\n >\n <Loader />\n </div>\n </div>\n )\n );\n\n const html = doc.createElement('html');\n const head = doc.createElement('head');\n head.innerHTML =\n '<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500\" />';\n const style = doc.createElement('style');\n style.innerHTML = sheets.toString();\n head.appendChild(style);\n\n const body = doc.createElement('body');\n body.style.margin = 0;\n body.innerHTML = loaderString;\n\n html.appendChild(head);\n html.appendChild(body);\n\n return html;\n },\n attributes: {\n iframe: {\n [APP_IFRAME_ATTRIBUTE]: true,\n },\n },\n});\n\nexport const DevCenterAppZoidComponent = devCenterAppZoidInstance.driver('react', {\n React,\n ReactDOM,\n});\n"],"names":["DevCenterAppZoidComponent","create","tag","url","URL","window","location","origin","href","dimensions","width","height","prerenderTemplate","_ref","doc","sheets","ServerStyleSheets","loaderString","ReactDOMServer","renderToStaticMarkup","collect","_jsx","jsx","style","padding","color","fontFamily","children","position","top","left","transform","Loader","html","createElement","head","innerHTML","toString","appendChild","body","margin","attributes","iframe","_defineProperty","driver","React","ReactDOM"],"mappings":"8uBA6DaA,OAnDyBC,OAAO,CAC3CC,IAAK,iCACLC,IAAK,IAAIC,IAAI,gCAAiCC,OAAOC,SAASC,QAAQC,KACtEC,WAAY,CACVC,MAAO,OACPC,OAAQ,QAEVC,kBAAmB,SAAoCC,GAAA,IAAPC,IAAAA,IACxCC,EAAS,IAAIC,EAAAA,kBAEbC,EAAeC,EAAAA,QAAeC,qBAClCJ,EAAOK,QACLC,EAAAC,IAAA,MAAA,CAAKC,MAAO,CAAEC,QAAS,GAAIC,MAAO,QAASC,WAAY,sBAAuBC,SAC5EN,EAAAC,IAAA,MAAA,CACEC,MAAO,CACLK,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,yBACXJ,SAEFN,EAAAA,IAACW,EAAM,QAAA,UAMTC,EAAOnB,EAAIoB,cAAc,QACzBC,EAAOrB,EAAIoB,cAAc,QAC/BC,EAAKC,UACH,8FACF,IAAMb,EAAQT,EAAIoB,cAAc,SAChCX,EAAMa,UAAYrB,EAAOsB,WACzBF,EAAKG,YAAYf,GAEjB,IAAMgB,EAAOzB,EAAIoB,cAAc,QAO/B,OANAK,EAAKhB,MAAMiB,OAAS,EACpBD,EAAKH,UAAYnB,EAEjBgB,EAAKK,YAAYH,GACjBF,EAAKK,YAAYC,GAEVN,CACR,EACDQ,WAAY,CACVC,OAAMC,EAAA,QAAA,GA/C0B,yBAgDN,MAKoCC,OAAO,QAAS,CAChFC,MAAAA,EAAK,QACLC,SAAAA,EAAAA,uCAvDkC"}
|
package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterAppZoidComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js"],"names":[],"mappings":"AAQA,2DAA4D;AAqD5D,4CAGG"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import r from"react-dom";import t from"react-dom/server";import o from"react";import*as a from"@krakenjs/zoid/dist/zoid.frameworks";import{ServerStyleSheets as i}from"@material-ui/core/styles";import n from"../../LoadingIndicator/Loader.js";import{jsx as m}from"react/jsx-runtime";var d="data-corva-app-iframe",l=a.create({tag:"dc-isolated-app-zoid-component",url:new URL("DevCenterIsolatedAppPage.html",window.location.origin).href,dimensions:{width:"100%",height:"100%"},prerenderTemplate:function(e){var r=e.doc,o=new i,a=t.renderToStaticMarkup(o.collect(m("div",{style:{padding:12,color:"white",fontFamily:"Roboto, sans-serif"},children:m("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"},children:m(n,{})})}))),d=r.createElement("html"),l=r.createElement("head");l.innerHTML='<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" />';var p=r.createElement("style");p.innerHTML=o.toString(),l.appendChild(p);var s=r.createElement("body");return s.style.margin=0,s.innerHTML=a,d.appendChild(l),d.appendChild(s),d},attributes:{iframe:e({},"data-corva-app-iframe",!0)}}).driver("react",{React:o,ReactDOM:r});export{d as APP_IFRAME_ATTRIBUTE,l as DevCenterAppZoidComponent};
|
|
2
|
-
//# sourceMappingURL=DevCenterAppZoidComponent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterAppZoidComponent.js","sources":["../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterAppZoidComponent.js"],"sourcesContent":["import ReactDOM from 'react-dom';\nimport ReactDOMServer from 'react-dom/server';\nimport React from 'react';\nimport * as zoid from '@krakenjs/zoid/dist/zoid.frameworks';\nimport { ServerStyleSheets } from '@material-ui/core/styles';\n\nimport Loader from '~/components/LoadingIndicator/Loader';\n\nexport const APP_IFRAME_ATTRIBUTE = 'data-corva-app-iframe';\n\nconst devCenterAppZoidInstance = zoid.create({\n tag: 'dc-isolated-app-zoid-component',\n url: new URL('DevCenterIsolatedAppPage.html', window.location.origin).href,\n dimensions: {\n width: '100%',\n height: '100%',\n },\n prerenderTemplate: function containerTemplate({ doc }) {\n const sheets = new ServerStyleSheets();\n\n const loaderString = ReactDOMServer.renderToStaticMarkup(\n sheets.collect(\n <div style={{ padding: 12, color: 'white', fontFamily: 'Roboto, sans-serif' }}>\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n }}\n >\n <Loader />\n </div>\n </div>\n )\n );\n\n const html = doc.createElement('html');\n const head = doc.createElement('head');\n head.innerHTML =\n '<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500\" />';\n const style = doc.createElement('style');\n style.innerHTML = sheets.toString();\n head.appendChild(style);\n\n const body = doc.createElement('body');\n body.style.margin = 0;\n body.innerHTML = loaderString;\n\n html.appendChild(head);\n html.appendChild(body);\n\n return html;\n },\n attributes: {\n iframe: {\n [APP_IFRAME_ATTRIBUTE]: true,\n },\n },\n});\n\nexport const DevCenterAppZoidComponent = devCenterAppZoidInstance.driver('react', {\n React,\n ReactDOM,\n});\n"],"names":["APP_IFRAME_ATTRIBUTE","DevCenterAppZoidComponent","zoid","create","tag","url","URL","window","location","origin","href","dimensions","width","height","prerenderTemplate","_ref","doc","sheets","ServerStyleSheets","loaderString","ReactDOMServer","renderToStaticMarkup","collect","_jsx","style","padding","color","fontFamily","children","position","top","left","transform","Loader","html","createElement","head","innerHTML","toString","appendChild","body","margin","attributes","iframe","_defineProperty","driver","React","ReactDOM"],"mappings":"8UAQO,IAAMA,EAAuB,wBAqDvBC,EAnDoBC,EAAKC,OAAO,CAC3CC,IAAK,iCACLC,IAAK,IAAIC,IAAI,gCAAiCC,OAAOC,SAASC,QAAQC,KACtEC,WAAY,CACVC,MAAO,OACPC,OAAQ,QAEVC,kBAAmB,SAAoCC,GAAA,IAAPC,IAAAA,IACxCC,EAAS,IAAIC,EAEbC,EAAeC,EAAeC,qBAClCJ,EAAOK,QACLC,EAAA,MAAA,CAAKC,MAAO,CAAEC,QAAS,GAAIC,MAAO,QAASC,WAAY,sBAAuBC,SAC5EL,EAAA,MAAA,CACEC,MAAO,CACLK,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,yBACXJ,SAEFL,EAACU,EAAM,UAMTC,EAAOlB,EAAImB,cAAc,QACzBC,EAAOpB,EAAImB,cAAc,QAC/BC,EAAKC,UACH,8FACF,IAAMb,EAAQR,EAAImB,cAAc,SAChCX,EAAMa,UAAYpB,EAAOqB,WACzBF,EAAKG,YAAYf,GAEjB,IAAMgB,EAAOxB,EAAImB,cAAc,QAO/B,OANAK,EAAKhB,MAAMiB,OAAS,EACpBD,EAAKH,UAAYlB,EAEjBe,EAAKK,YAAYH,GACjBF,EAAKK,YAAYC,GAEVN,CACR,EACDQ,WAAY,CACVC,OAAMC,EAAA,GA/C0B,yBAgDN,MAKoCC,OAAO,QAAS,CAChFC,MAAAA,EACAC,SAAAA"}
|