@equinor/fusion-framework-cli 10.0.0-next-43b4cac9210dd754e552b9f32ae229477e5ca643 → 10.0.0-next-65f4bbf022d22b529abd095acd74ab218499fb8b
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/CHANGELOG.md +10 -10
- package/bin/cli.mjs +1 -1
- package/dist/bin/build-application.js +65 -0
- package/dist/bin/build-application.js.map +1 -0
- package/dist/bin/bundle-application.js +56 -0
- package/dist/bin/bundle-application.js.map +1 -0
- package/dist/bin/create-dev-serve.js +123 -0
- package/dist/bin/create-dev-serve.js.map +1 -0
- package/dist/bin/create-export-config.js +50 -0
- package/dist/bin/create-export-config.js.map +1 -0
- package/dist/bin/create-export-manifest.js +77 -0
- package/dist/bin/create-export-manifest.js.map +1 -0
- package/dist/bin/dev-portal/AppLoader.js +77 -0
- package/dist/bin/dev-portal/AppLoader.js.map +1 -0
- package/dist/bin/dev-portal/BookMarkSideSheet.js +15 -0
- package/dist/bin/dev-portal/BookMarkSideSheet.js.map +1 -0
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js +41 -0
- package/dist/bin/dev-portal/ContextSelector/ContextSelector.js.map +1 -0
- package/dist/bin/dev-portal/ContextSelector/index.js +2 -0
- package/dist/bin/dev-portal/ContextSelector/index.js.map +1 -0
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js +171 -0
- package/dist/bin/dev-portal/ContextSelector/useContextResolver.js.map +1 -0
- package/dist/bin/dev-portal/EquinorLoader.js +14 -0
- package/dist/bin/dev-portal/EquinorLoader.js.map +1 -0
- package/dist/bin/dev-portal/ErrorViewer.js +7 -0
- package/dist/bin/dev-portal/ErrorViewer.js.map +1 -0
- package/dist/bin/dev-portal/FusionLogo.js +4 -0
- package/dist/bin/dev-portal/FusionLogo.js.map +1 -0
- package/dist/bin/dev-portal/Header.js +37 -0
- package/dist/bin/dev-portal/Header.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/index.js +32 -0
- package/dist/bin/dev-portal/PersonSideSheet/index.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js +16 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js +16 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js +16 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js +19 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js +30 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/Styled.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js +3 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/index.js.map +1 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js +2 -0
- package/dist/bin/dev-portal/PersonSideSheet/sheets/types.js.map +1 -0
- package/dist/bin/dev-portal/Router.js +59 -0
- package/dist/bin/dev-portal/Router.js.map +1 -0
- package/dist/bin/dev-portal/config.js +69 -0
- package/dist/bin/dev-portal/config.js.map +1 -0
- package/dist/bin/dev-portal/main.js +13 -0
- package/dist/bin/dev-portal/main.js.map +1 -0
- package/dist/bin/dev-portal/resources/fallback-photo.svg.js +3 -0
- package/dist/bin/dev-portal/resources/fallback-photo.svg.js.map +1 -0
- package/dist/bin/dev-portal/useAppContextNavigation.js +68 -0
- package/dist/bin/dev-portal/useAppContextNavigation.js.map +1 -0
- package/dist/bin/main.app.js +171 -0
- package/dist/bin/main.app.js.map +1 -0
- package/dist/bin/main.js +20 -0
- package/dist/bin/main.js.map +1 -0
- package/dist/bin/public/assets/{index-Cb85_fOB.js → index-D0eBBcR8.js} +483 -483
- package/dist/bin/public/index.html +1 -1
- package/dist/bin/publish-application.js +104 -0
- package/dist/bin/publish-application.js.map +1 -0
- package/dist/bin/tag-application.js +82 -0
- package/dist/bin/tag-application.js.map +1 -0
- package/dist/bin/upload-application.js +72 -0
- package/dist/bin/upload-application.js.map +1 -0
- package/dist/bin/upload-export-config.js +87 -0
- package/dist/bin/upload-export-config.js.map +1 -0
- package/dist/bin/utils/execute-command.js +23 -0
- package/dist/bin/utils/execute-command.js.map +1 -0
- package/dist/bin/utils/format.js +17 -0
- package/dist/bin/utils/format.js.map +1 -0
- package/dist/bin/utils/getEndpointUrl.js +49 -0
- package/dist/bin/utils/getEndpointUrl.js.map +1 -0
- package/dist/bin/utils/index.js +14 -0
- package/dist/bin/utils/index.js.map +1 -0
- package/dist/bin/utils/isAppRegistered.js +35 -0
- package/dist/bin/utils/isAppRegistered.js.map +1 -0
- package/dist/bin/utils/load-app-config.js +35 -0
- package/dist/bin/utils/load-app-config.js.map +1 -0
- package/dist/bin/utils/load-manifest.js +40 -0
- package/dist/bin/utils/load-manifest.js.map +1 -0
- package/dist/bin/utils/load-package.js +24 -0
- package/dist/bin/utils/load-package.js.map +1 -0
- package/dist/bin/utils/load-vite-config.js +54 -0
- package/dist/bin/utils/load-vite-config.js.map +1 -0
- package/dist/bin/utils/proxy-request-logger.js +34 -0
- package/dist/bin/utils/proxy-request-logger.js.map +1 -0
- package/dist/bin/utils/publishAppConfig.js +36 -0
- package/dist/bin/utils/publishAppConfig.js.map +1 -0
- package/dist/bin/utils/requireToken.js +10 -0
- package/dist/bin/utils/requireToken.js.map +1 -0
- package/dist/bin/utils/spinner.js +77 -0
- package/dist/bin/utils/spinner.js.map +1 -0
- package/dist/bin/utils/tagAppBundle.js +35 -0
- package/dist/bin/utils/tagAppBundle.js.map +1 -0
- package/dist/bin/utils/uploadAppBundle.js +54 -0
- package/dist/bin/utils/uploadAppBundle.js.map +1 -0
- package/dist/lib/app-config.js +1 -1
- package/dist/lib/app-config.js.map +1 -1
- package/dist/schemas.js +14 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types/bin/build-application.d.ts +13 -0
- package/dist/types/bin/bundle-application.d.ts +4 -0
- package/dist/types/bin/create-dev-serve.d.ts +11 -0
- package/dist/types/bin/create-export-config.d.ts +13 -0
- package/dist/types/bin/create-export-manifest.d.ts +16 -0
- package/dist/types/bin/dev-portal/AppLoader.d.ts +11 -0
- package/dist/types/bin/dev-portal/BookMarkSideSheet.d.ts +6 -0
- package/dist/types/bin/dev-portal/ContextSelector/ContextSelector.d.ts +8 -0
- package/dist/types/bin/dev-portal/ContextSelector/index.d.ts +1 -0
- package/dist/types/bin/dev-portal/ContextSelector/useContextResolver.d.ts +15 -0
- package/dist/types/bin/dev-portal/EquinorLoader.d.ts +5 -0
- package/dist/types/bin/dev-portal/ErrorViewer.d.ts +4 -0
- package/dist/types/bin/dev-portal/FusionLogo.d.ts +5 -0
- package/dist/types/bin/dev-portal/Header.d.ts +3 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/index.d.ts +11 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.d.ts +6 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.d.ts +5 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.d.ts +5 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.d.ts +5 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/Styled.d.ts +6 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/index.d.ts +2 -0
- package/dist/types/bin/dev-portal/PersonSideSheet/sheets/types.d.ts +5 -0
- package/dist/types/bin/dev-portal/Router.d.ts +1 -0
- package/dist/types/bin/dev-portal/config.d.ts +3 -0
- package/dist/types/bin/dev-portal/main.d.ts +1 -0
- package/dist/types/bin/dev-portal/resources/fallback-photo.svg.d.ts +2 -0
- package/dist/types/bin/dev-portal/useAppContextNavigation.d.ts +5 -0
- package/dist/types/bin/main.app.d.ts +3 -0
- package/dist/types/bin/main.d.ts +1 -0
- package/dist/types/bin/publish-application.d.ts +6 -0
- package/dist/types/bin/tag-application.d.ts +12 -0
- package/dist/types/bin/upload-application.d.ts +6 -0
- package/dist/types/bin/upload-export-config.d.ts +10 -0
- package/dist/types/bin/utils/execute-command.d.ts +8 -0
- package/dist/types/bin/utils/format.d.ts +8 -0
- package/dist/types/bin/utils/getEndpointUrl.d.ts +10 -0
- package/dist/types/bin/utils/index.d.ts +14 -0
- package/dist/types/bin/utils/isAppRegistered.d.ts +5 -0
- package/dist/types/bin/utils/load-app-config.d.ts +10 -0
- package/dist/types/bin/utils/load-manifest.d.ts +10 -0
- package/dist/types/bin/utils/load-package.d.ts +5 -0
- package/dist/types/bin/utils/load-vite-config.d.ts +10 -0
- package/dist/types/bin/utils/proxy-request-logger.d.ts +15 -0
- package/dist/types/bin/utils/publishAppConfig.d.ts +9 -0
- package/dist/types/bin/utils/requireToken.d.ts +4 -0
- package/dist/types/bin/utils/spinner.d.ts +20 -0
- package/dist/types/bin/utils/tagAppBundle.d.ts +7 -0
- package/dist/types/bin/utils/uploadAppBundle.d.ts +7 -0
- package/dist/types/{app-config.d.ts → lib/app-config.d.ts} +1 -1
- package/dist/types/{plugins → lib/plugins}/app-proxy/app-proxy-plugin.d.ts +1 -1
- package/dist/types/schemas.d.ts +30 -0
- package/dist/types/version.d.ts +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +14 -17
- package/dist/bin/main.mjs +0 -2003
- /package/dist/types/{app-manifest.d.ts → lib/app-manifest.d.ts} +0 -0
- /package/dist/types/{app-package.d.ts → lib/app-package.d.ts} +0 -0
- /package/dist/types/{index.d.ts → lib/index.d.ts} +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/app-asset-plugin.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/emit-asset.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/extension-filter-pattern.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/index.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/read-asset-content.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/resolve-asset-id.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-assets/static.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/app-proxy/index.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/external-public/external-public-plugin.d.ts +0 -0
- /package/dist/types/{plugins → lib/plugins}/external-public/index.d.ts +0 -0
- /package/dist/types/{utils → lib/utils}/assert.d.ts +0 -0
- /package/dist/types/{utils → lib/utils}/config.d.ts +0 -0
- /package/dist/types/{utils → lib/utils}/expect.d.ts +0 -0
- /package/dist/types/{utils → lib/utils}/file-exists.d.ts +0 -0
- /package/dist/types/{utils → lib/utils}/ts-transpile.d.ts +0 -0
- /package/dist/types/{utils → lib/utils}/types.d.ts +0 -0
- /package/dist/types/{vite-config.d.ts → lib/vite-config.d.ts} +0 -0
- /package/dist/types/{vite-logger.d.ts → lib/vite-logger.d.ts} +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useMemo } from 'react';
|
|
3
|
+
import { ContextProvider, ContextSearch, ContextClearEvent, } from '@equinor/fusion-react-context-selector';
|
|
4
|
+
import { useContextResolver } from './useContextResolver';
|
|
5
|
+
/**
|
|
6
|
+
* See fusion-react-component storybook for available attributes
|
|
7
|
+
* @link https://equinor.github.io/fusion-react-components/?path=/docs/data-contextselector--component
|
|
8
|
+
* @returns JSX element
|
|
9
|
+
*/
|
|
10
|
+
export const ContextSelector = (props) => {
|
|
11
|
+
var _a, _b, _c, _d;
|
|
12
|
+
const { resolver, provider, currentContext: [selectedContextItem], } = useContextResolver();
|
|
13
|
+
/** callback handler for context selector, when context is changed or cleared */
|
|
14
|
+
const onContextSelect = useCallback((e) => {
|
|
15
|
+
if (provider) {
|
|
16
|
+
if (e.type === 'select') {
|
|
17
|
+
const ev = e;
|
|
18
|
+
if (ev.nativeEvent.detail.selected.length) {
|
|
19
|
+
provider.contextClient.setCurrentContext(ev.nativeEvent.detail.selected[0].id);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
provider.clearCurrentContext();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}, [provider]);
|
|
27
|
+
/**
|
|
28
|
+
* Clears context when ctx has been cleared outside the selector.
|
|
29
|
+
*/
|
|
30
|
+
const clearEvent = useMemo(() => new ContextClearEvent({ date: Date.now() }), []);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (!selectedContextItem) {
|
|
33
|
+
document.dispatchEvent(clearEvent);
|
|
34
|
+
}
|
|
35
|
+
}, [clearEvent, selectedContextItem]);
|
|
36
|
+
if (!resolver)
|
|
37
|
+
return null;
|
|
38
|
+
return (_jsx("div", { style: { flex: 1, maxWidth: '480px' }, children: _jsx(ContextProvider, { resolver: resolver, children: _jsx(ContextSearch, { id: "context-selector-cli-header", placeholder: (_a = props.placeholder) !== null && _a !== void 0 ? _a : 'Search for context', initialText: (_b = props.initialText) !== null && _b !== void 0 ? _b : 'Start typing to search', dropdownHeight: (_c = props.dropdownHeight) !== null && _c !== void 0 ? _c : '300px', variant: (_d = props.variant) !== null && _d !== void 0 ? _d : 'header', onSelect: (e) => onContextSelect(e), selectTextOnFocus: true, previewItem: selectedContextItem, onClearContext: onContextSelect }) }) }));
|
|
39
|
+
};
|
|
40
|
+
export default ContextSelector;
|
|
41
|
+
//# sourceMappingURL=ContextSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextSelector.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/ContextSelector/ContextSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EACH,eAAe,EACf,aAAa,EAGb,iBAAiB,GACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAyB,EAAsB,EAAE;;IAC7E,MAAM,EACF,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,CAAC,mBAAmB,CAAC,GACxC,GAAG,kBAAkB,EAAE,CAAC;IAEzB,gFAAgF;IAChF,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,CAA6B,EAAE,EAAE;QAC9B,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,EAAE,GAAG,CAAkC,CAAC;gBAC9C,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACxC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACpC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF;;OAEG;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEtC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,CACH,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,YACtC,KAAC,eAAe,IAAC,QAAQ,EAAE,QAAQ,YAC/B,KAAC,aAAa,IACV,EAAE,EAAC,6BAA6B,EAChC,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,oBAAoB,EACtD,WAAW,EAAE,MAAA,KAAK,CAAC,WAAW,mCAAI,wBAAwB,EAC1D,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,OAAO,EAC/C,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,mCAAI,QAAQ,EAClC,QAAQ,EAAE,CAAC,CAAqB,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EACvD,iBAAiB,EAAE,IAAI,EACvB,WAAW,EAAE,mBAAmB,EAChC,cAAc,EAAE,eAAe,GACjC,GACY,GAChB,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/ContextSelector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
11
|
+
import { useFramework } from '@equinor/fusion-framework-react';
|
|
12
|
+
import { useCurrentApp } from '@equinor/fusion-framework-react/app';
|
|
13
|
+
import { useObservableState, useObservableSubscription } from '@equinor/fusion-observable/react';
|
|
14
|
+
import '@equinor/fusion-framework-app';
|
|
15
|
+
import { ChipElement } from '@equinor/fusion-wc-chip';
|
|
16
|
+
ChipElement;
|
|
17
|
+
import { EMPTY, catchError, lastValueFrom, map, of } from 'rxjs';
|
|
18
|
+
function capitalizeFirstLetter(string) {
|
|
19
|
+
return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Map context query result to ContextSelectorResult.
|
|
23
|
+
* Add any icons to selected types by using the 'graphic' property
|
|
24
|
+
* @param src context query result
|
|
25
|
+
* @returns src mapped to ContextResult type
|
|
26
|
+
*/
|
|
27
|
+
const mapper = (src) => {
|
|
28
|
+
return src.map((i) => {
|
|
29
|
+
var _a;
|
|
30
|
+
const baseResult = {
|
|
31
|
+
id: i.id,
|
|
32
|
+
title: i.title,
|
|
33
|
+
subTitle: (_a = i.subTitle) !== null && _a !== void 0 ? _a : i.type.id,
|
|
34
|
+
graphic: i.graphic,
|
|
35
|
+
meta: i.meta,
|
|
36
|
+
};
|
|
37
|
+
switch (i.type.id) {
|
|
38
|
+
case 'EquinorTask':
|
|
39
|
+
return Object.assign(Object.assign({}, baseResult), { meta: i.value.taskState && i.value.taskState !== 'Active'
|
|
40
|
+
? `<fwc-chip disabled variant="outlined" value="${i.value.taskState}" />`
|
|
41
|
+
: '' });
|
|
42
|
+
case 'OrgChart':
|
|
43
|
+
return Object.assign(Object.assign({}, baseResult), { graphic: 'list', meta: i.value.state && i.value.state.toLowerCase() !== 'active'
|
|
44
|
+
? `<fwc-chip disabled variant="outlined" value="${capitalizeFirstLetter(i.value.state)}" />`
|
|
45
|
+
: '' });
|
|
46
|
+
default:
|
|
47
|
+
return baseResult;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Create a single ContextResultItem
|
|
53
|
+
* @param props pops for the item to merge with defaults
|
|
54
|
+
* @returns ContextResultItem
|
|
55
|
+
*/
|
|
56
|
+
const singleItem = (props) => {
|
|
57
|
+
return Object.assign({ id: 'no-such-item', title: 'Change me' }, props);
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Hook for querying context and setting resolver for ContextSelector component
|
|
61
|
+
* See React Components storybook for info about ContextSelector component and its resolver
|
|
62
|
+
* @link https://equinor.github.io/fusion-react-components/?path=/docs/data-contextselector--component
|
|
63
|
+
* @return Array<ContextResolver, SetContextCallback>
|
|
64
|
+
*/
|
|
65
|
+
export const useContextResolver = () => {
|
|
66
|
+
/* Framework modules */
|
|
67
|
+
const framework = useFramework();
|
|
68
|
+
const { currentApp } = useCurrentApp();
|
|
69
|
+
/** App module collection instance */
|
|
70
|
+
const instance$ = useMemo(() => (currentApp === null || currentApp === void 0 ? void 0 : currentApp.instance$) || EMPTY, [currentApp]);
|
|
71
|
+
/* context provider state */
|
|
72
|
+
const [provider, setProvider] = useState(null);
|
|
73
|
+
/* Current context observable */
|
|
74
|
+
const { value: currentContext } = useObservableState(useMemo(() => (provider === null || provider === void 0 ? void 0 : provider.currentContext$) || EMPTY, [provider]));
|
|
75
|
+
const preselected = useMemo(() => {
|
|
76
|
+
return currentContext ? mapper([currentContext]) : [];
|
|
77
|
+
}, [currentContext]);
|
|
78
|
+
/** callback function when current app instance changes */
|
|
79
|
+
const onContextProviderChange = useCallback((modules) => {
|
|
80
|
+
/** try to get the context module from the app module instance */
|
|
81
|
+
const contextProvider = modules.context;
|
|
82
|
+
if (contextProvider) {
|
|
83
|
+
setProvider(contextProvider);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
setProvider(null);
|
|
87
|
+
}
|
|
88
|
+
}, [setProvider]);
|
|
89
|
+
/** clear the app provider */
|
|
90
|
+
const clearContextProvider = useCallback(() => {
|
|
91
|
+
setProvider(null);
|
|
92
|
+
}, [setProvider]);
|
|
93
|
+
/** observe changes to app modules and clear / set the context provider on change */
|
|
94
|
+
useObservableSubscription(instance$, onContextProviderChange, clearContextProvider);
|
|
95
|
+
useEffect(() => framework.modules.event.addEventListener('onReactAppLoaded', (e) => {
|
|
96
|
+
console.debug('useContextResolver::onReactAppLoaded', 'using legacy register hack method');
|
|
97
|
+
return onContextProviderChange(e.detail.modules);
|
|
98
|
+
}), [framework, onContextProviderChange]);
|
|
99
|
+
const processError = useCallback((err) => {
|
|
100
|
+
if (err.name === 'QueryClientError') {
|
|
101
|
+
return processError(err.cause);
|
|
102
|
+
}
|
|
103
|
+
if (err.name === 'FusionContextSearchError') {
|
|
104
|
+
const error = err;
|
|
105
|
+
return [
|
|
106
|
+
singleItem({
|
|
107
|
+
id: error.name,
|
|
108
|
+
title: error.title,
|
|
109
|
+
subTitle: error.description,
|
|
110
|
+
graphic: 'error_outlined',
|
|
111
|
+
isDisabled: true,
|
|
112
|
+
}),
|
|
113
|
+
];
|
|
114
|
+
}
|
|
115
|
+
return [
|
|
116
|
+
singleItem({
|
|
117
|
+
title: 'Unexpected error occurred',
|
|
118
|
+
subTitle: 'Please try again or report the issue in Services@Equinor',
|
|
119
|
+
graphic: 'error_outlined',
|
|
120
|
+
isDisabled: true,
|
|
121
|
+
}),
|
|
122
|
+
];
|
|
123
|
+
}, []);
|
|
124
|
+
/**
|
|
125
|
+
* set resolver for ContextSelector
|
|
126
|
+
* @return ContextResolver
|
|
127
|
+
*/
|
|
128
|
+
const minLength = 2;
|
|
129
|
+
const resolver = useMemo(() => provider && {
|
|
130
|
+
searchQuery: (search) => __awaiter(void 0, void 0, void 0, function* () {
|
|
131
|
+
if (search.length < minLength) {
|
|
132
|
+
return [
|
|
133
|
+
singleItem({
|
|
134
|
+
// TODO - make as enum if used for checks, or type
|
|
135
|
+
id: 'min-length',
|
|
136
|
+
title: `Type ${minLength - search.length} more chars to search`,
|
|
137
|
+
isDisabled: true,
|
|
138
|
+
}),
|
|
139
|
+
];
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
return lastValueFrom(provider.queryContext(search).pipe(map(mapper), map((x) => x.length
|
|
143
|
+
? x
|
|
144
|
+
: [
|
|
145
|
+
singleItem({
|
|
146
|
+
// TODO - make as enum if used for checks, or type
|
|
147
|
+
id: 'no-results',
|
|
148
|
+
title: 'No results found',
|
|
149
|
+
graphic: 'info_circle',
|
|
150
|
+
isDisabled: true,
|
|
151
|
+
}),
|
|
152
|
+
]),
|
|
153
|
+
/** handle failures */
|
|
154
|
+
catchError((err) => {
|
|
155
|
+
console.error('PORTAL::ContextResolver', `failed to resolve context for query ${search}`, err, err.cause);
|
|
156
|
+
return of(processError(err));
|
|
157
|
+
})));
|
|
158
|
+
/** this should NEVER happen! */
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
const err = e;
|
|
162
|
+
console.error('PORTAL::ContextResolver', `unhandled error for [${search}]`, e);
|
|
163
|
+
return processError(err);
|
|
164
|
+
}
|
|
165
|
+
}),
|
|
166
|
+
initialResult: preselected,
|
|
167
|
+
}, [provider, preselected, processError]);
|
|
168
|
+
return { resolver, provider, currentContext: preselected };
|
|
169
|
+
};
|
|
170
|
+
export default useContextResolver;
|
|
171
|
+
//# sourceMappingURL=useContextResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useContextResolver.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/ContextSelector/useContextResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { StarProgress } from '@equinor/fusion-react-progress-indicator';
|
|
3
|
+
export const EquinorLoader = ({ children, text, }) => {
|
|
4
|
+
return (_jsx("div", { style: {
|
|
5
|
+
display: 'flex',
|
|
6
|
+
justifyContent: 'center',
|
|
7
|
+
alignItems: 'center',
|
|
8
|
+
width: '100vw',
|
|
9
|
+
height: '100vh',
|
|
10
|
+
overflow: 'hidden',
|
|
11
|
+
}, children: _jsx(StarProgress, { text: text, children: children }) }));
|
|
12
|
+
};
|
|
13
|
+
export default EquinorLoader;
|
|
14
|
+
//# sourceMappingURL=EquinorLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EquinorLoader.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/EquinorLoader.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC1B,QAAQ,EACR,IAAI,GAC6C,EAAe,EAAE;IAClE,OAAO,CACH,cACI,KAAK,EAAE;YACH,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,QAAQ;SACrB,YAED,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,YAAG,QAAQ,GAAgB,GACjD,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Typography } from '@equinor/eds-core-react';
|
|
3
|
+
export const ErrorViewer = ({ error }) => {
|
|
4
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { style: { marginTop: 20, border: '1px solid' }, children: [_jsx(Typography, { variant: "h4", color: "warning", children: error.message }), _jsx("section", { style: { padding: 10 }, children: error.stack && _jsx("pre", { children: error.stack }) })] }), error.cause && _jsx(ErrorViewer, { error: error.cause })] }));
|
|
5
|
+
};
|
|
6
|
+
export default ErrorViewer;
|
|
7
|
+
//# sourceMappingURL=ErrorViewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorViewer.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/ErrorViewer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAA6B,EAAE,EAAE;IAChE,OAAO,CACH,8BACI,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,aAC9C,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,KAAK,EAAC,SAAS,YACnC,KAAK,CAAC,OAAO,GACL,EACb,kBAAS,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAG,KAAK,CAAC,KAAK,IAAI,wBAAM,KAAK,CAAC,KAAK,GAAO,GAAW,IAClF,EACL,KAAK,CAAC,KAAK,IAAI,KAAC,WAAW,IAAC,KAAK,EAAE,KAAK,CAAC,KAAc,GAAI,IAC7D,CACN,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export const FusionLogo = ({ scale = 1, style }) => (_jsxs("svg", { viewBox: "0 0 50 35", style: Object.assign(Object.assign({ height: '1em' }, style), { transform: `scale(${scale})` }), children: [_jsx("path", { d: "M0 2V23.1776L7.05405 16.1235V7.05405H16.1235L23.1776 0H2C0.895431 0 0 0.89543 0 2Z", transform: "translate(50 17.5) scale(0.92727 1.06779) rotate(135)", fill: "url(#paint0_linear)" }), _jsx("path", { d: "M0 2V23.1776L7.05405 16.1235V7.05405H16.1235L23.1776 0H2C0.895431 0 0 0.89543 0 2Z", transform: "translate(0 17.5) scale(0.92727 1.06779) rotate(-45)", fill: "url(#paint1_linear)" }), _jsx("path", { d: "M9.61965 36.6972L2.60087 29.6784L1.96135 22.3809L8.42623 22.9069L9.61965 36.6972Z", transform: "translate(33.8887 34.9863) scale(0.92727 -1.06779) rotate(45)", fill: "#990025" }), _jsx("path", { d: "M7.05434 7.05434L0 0L1.21096 13.8183L7.68846 14.3818L7.05434 7.05434Z", transform: "translate(33.8887 34.9863) scale(0.92727 -1.06779) rotate(45)", fill: "#990025" }), _jsx("path", { d: "M0 0L2.49398 29.5715L9.61965 36.6972L7.01878 7.01878L0 0Z", transform: "translate(33.8887 0.015625) scale(0.92727 1.06779) rotate(45)", fill: "#FF1243" }), _jsxs("defs", { children: [_jsxs("linearGradient", { id: "paint0_linear", x2: "1", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(-13.5478 9.01983 -12.9578 -13.5478 18.0677 6.77391)", children: [_jsx("stop", { offset: "0.508287", stopColor: "#DC002E" }), _jsx("stop", { offset: "0.508387", stopColor: "#FF1243" })] }), _jsxs("linearGradient", { id: "paint1_linear", x2: "1", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(-13.5478 9.01983 -12.9578 -13.5478 18.0677 6.77391)", children: [_jsx("stop", { offset: "0.508287", stopColor: "#DC002E" }), _jsx("stop", { offset: "0.508387", stopColor: "#FF1243" })] })] })] }));
|
|
3
|
+
export default FusionLogo;
|
|
4
|
+
//# sourceMappingURL=FusionLogo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FusionLogo.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/FusionLogo.tsx"],"names":[],"mappings":";AAIA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAmB,EAAE,EAAE,CAAC,CACjE,eAAK,OAAO,EAAC,WAAW,EAAC,KAAK,gCAAI,MAAM,EAAE,KAAK,IAAK,KAAK,KAAE,SAAS,EAAE,SAAS,KAAK,GAAG,gBACnF,eACI,CAAC,EAAC,oFAAoF,EACtF,SAAS,EAAC,uDAAuD,EACjE,IAAI,EAAC,qBAAqB,GAC5B,EACF,eACI,CAAC,EAAC,oFAAoF,EACtF,SAAS,EAAC,sDAAsD,EAChE,IAAI,EAAC,qBAAqB,GAC5B,EACF,eACI,CAAC,EAAC,mFAAmF,EACrF,SAAS,EAAC,+DAA+D,EACzE,IAAI,EAAC,SAAS,GAChB,EACF,eACI,CAAC,EAAC,uEAAuE,EACzE,SAAS,EAAC,+DAA+D,EACzE,IAAI,EAAC,SAAS,GAChB,EACF,eACI,CAAC,EAAC,2DAA2D,EAC7D,SAAS,EAAC,+DAA+D,EACzE,IAAI,EAAC,SAAS,GAChB,EACF,2BACI,0BACI,EAAE,EAAC,eAAe,EAClB,EAAE,EAAC,GAAG,EACN,aAAa,EAAC,gBAAgB,EAC9B,iBAAiB,EAAC,4DAA4D,aAE9E,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,EAC9C,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,IACjC,EACjB,0BACI,EAAE,EAAC,eAAe,EAClB,EAAE,EAAC,GAAG,EACN,aAAa,EAAC,gBAAgB,EAC9B,iBAAiB,EAAC,4DAA4D,aAE9E,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,EAC9C,eAAM,MAAM,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,GAAG,IACjC,IACd,IACL,CACT,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { ContextSelector } from './ContextSelector';
|
|
4
|
+
import { FusionLogo } from './FusionLogo';
|
|
5
|
+
/* typescript reference for makeStyles */
|
|
6
|
+
import '@material-ui/styles';
|
|
7
|
+
import { BookmarkSideSheet } from './BookMarkSideSheet';
|
|
8
|
+
import { Button, Icon, TopBar } from '@equinor/eds-core-react';
|
|
9
|
+
import { BookmarkProvider } from '@equinor/fusion-framework-react-components-bookmark';
|
|
10
|
+
import { useCurrentUser } from '@equinor/fusion-framework-react/hooks';
|
|
11
|
+
import { add, menu, tag } from '@equinor/eds-icons';
|
|
12
|
+
import { styled } from 'styled-components';
|
|
13
|
+
import { PersonSideSheet } from './PersonSideSheet';
|
|
14
|
+
import PersonAvatarElement from '@equinor/fusion-wc-person/avatar';
|
|
15
|
+
PersonAvatarElement;
|
|
16
|
+
Icon.add({ menu, add, tag });
|
|
17
|
+
const Styled = {
|
|
18
|
+
Title: styled.div `
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
gap: 0.75rem;
|
|
22
|
+
font-size: 1rem;
|
|
23
|
+
font-weight: 500;
|
|
24
|
+
`,
|
|
25
|
+
};
|
|
26
|
+
export const Header = () => {
|
|
27
|
+
const [isPersonSheetOpen, setIsPersonSheetOpen] = useState(false);
|
|
28
|
+
const [isBookmarkOpen, setIsBookmarkOpen] = useState(false);
|
|
29
|
+
const currentUser = useCurrentUser();
|
|
30
|
+
const { localAccountId: azureId } = currentUser !== null && currentUser !== void 0 ? currentUser : {};
|
|
31
|
+
function toggleBookmark() {
|
|
32
|
+
setIsBookmarkOpen((s) => !s);
|
|
33
|
+
}
|
|
34
|
+
return (_jsxs(_Fragment, { children: [_jsxs(TopBar, { id: "cli-top-bar", sticky: false, style: { padding: '0 1em', height: 48 }, children: [_jsx(TopBar.Header, { children: _jsxs(Styled.Title, { children: [_jsx(FusionLogo, {}), _jsx("span", { children: "Fusion Framework CLI" })] }) }), _jsx(TopBar.CustomContent, { children: _jsx(ContextSelector, {}) }), _jsxs(TopBar.Actions, { style: { minWidth: 48, minHeight: 48 }, children: [_jsx(Button, { onClick: toggleBookmark, variant: "ghost_icon", children: _jsx(Icon, { name: "tag" }) }), _jsx(Button, { onClick: () => setIsPersonSheetOpen(!isPersonSheetOpen), variant: "ghost_icon", children: _jsx("fwc-person-avatar", { size: "small", azureId: azureId, clickable: false }) })] })] }), _jsx(BookmarkProvider, { children: _jsx(BookmarkSideSheet, { isOpen: isBookmarkOpen, onClose: toggleBookmark }) }), _jsx(PersonSideSheet, { azureId: azureId, isOpen: isPersonSheetOpen, onClose: () => setIsPersonSheetOpen(!isPersonSheetOpen) })] }));
|
|
35
|
+
};
|
|
36
|
+
export default Header;
|
|
37
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/Header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import { SideSheet } from '@equinor/fusion-react-side-sheet';
|
|
4
|
+
import PersonListItem from '@equinor/fusion-wc-person/list-item';
|
|
5
|
+
PersonListItem;
|
|
6
|
+
import { Divider } from '@equinor/eds-core-react';
|
|
7
|
+
import { LandingSheetContent, FeatureSheetContent } from './sheets';
|
|
8
|
+
/**
|
|
9
|
+
* Add Sidesheet with settings for the current user.
|
|
10
|
+
* @param PersonSideSheetProps
|
|
11
|
+
*/
|
|
12
|
+
export const PersonSideSheet = ({ azureId, isOpen, onClose }) => {
|
|
13
|
+
const [currentSheet, setCurrentSheet] = useState('landing');
|
|
14
|
+
const Component = useMemo(() => {
|
|
15
|
+
let Comp;
|
|
16
|
+
switch (currentSheet) {
|
|
17
|
+
case 'features':
|
|
18
|
+
Comp = FeatureSheetContent;
|
|
19
|
+
break;
|
|
20
|
+
default:
|
|
21
|
+
Comp = LandingSheetContent;
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
return Comp;
|
|
25
|
+
}, [currentSheet]);
|
|
26
|
+
const navigateCallback = useCallback((sheet) => {
|
|
27
|
+
setCurrentSheet(sheet !== null && sheet !== void 0 ? sheet : 'default');
|
|
28
|
+
}, [setCurrentSheet]);
|
|
29
|
+
return (_jsxs(SideSheet, { isOpen: isOpen, onClose: onClose, isDismissable: true, children: [_jsx(SideSheet.Title, { title: "User settings" }), _jsx(SideSheet.SubTitle, { subTitle: 'Settings for your user in Fusion portal' }), _jsx(SideSheet.Actions, {}), _jsx(SideSheet.Content, { children: _jsxs("section", { style: { paddingLeft: '0.5em' }, children: [_jsx("div", { children: _jsx("fwc-person-list-item", { azureId: azureId }) }), _jsx(Divider, {}), _jsx(Component, { azureId: azureId, sheet: currentSheet, navigate: navigateCallback })] }) })] }));
|
|
30
|
+
};
|
|
31
|
+
export default PersonSideSheet;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bin/dev-portal/PersonSideSheet/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,cAAc,CAAC;AAEf,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAQpE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAwB,EAAE,EAAE;IAClF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,SAAS,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,IAAI,IAAI,CAAC;QACT,QAAQ,YAAY,EAAE,CAAC;YACnB,KAAK,UAAU;gBACX,IAAI,GAAG,mBAAmB,CAAC;gBAC3B,MAAM;YACV;gBACI,IAAI,GAAG,mBAAmB,CAAC;gBAC3B,MAAM;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,KAAa,EAAE,EAAE;QACd,eAAe,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,eAAe,CAAC,CACpB,CAAC;IAEF,OAAO,CACH,MAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,aAC5D,KAAC,SAAS,CAAC,KAAK,IAAC,KAAK,EAAC,eAAe,GAAG,EACzC,KAAC,SAAS,CAAC,QAAQ,IAAC,QAAQ,EAAE,yCAAyC,GAAI,EAC3E,KAAC,SAAS,CAAC,OAAO,KAAqB,EACvC,KAAC,SAAS,CAAC,OAAO,cACd,mBAAS,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,aACpC,wBACI,+BAAsB,OAAO,EAAE,OAAO,GAAyB,GAC7D,EACN,KAAC,OAAO,KAAW,EACnB,KAAC,SAAS,IACN,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,gBAAgB,GACjB,IACP,GACM,IACZ,CACf,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { FeatureTogglerApp } from './FeatureTogglerApp';
|
|
4
|
+
import { FeatureTogglerPortal } from './FeatureTogglerPortal';
|
|
5
|
+
import { Divider, Icon, Button, Tabs } from '@equinor/eds-core-react';
|
|
6
|
+
import { arrow_back, category } from '@equinor/eds-icons';
|
|
7
|
+
Icon.add({ arrow_back, category });
|
|
8
|
+
/**
|
|
9
|
+
* JSX structure for the content of the PersonSidesheet's Features page.
|
|
10
|
+
* @param SheetContentProps
|
|
11
|
+
*/
|
|
12
|
+
export const FeatureSheetContent = ({ navigate }) => {
|
|
13
|
+
const [tab, setTab] = useState(0);
|
|
14
|
+
return (_jsxs("section", { children: [_jsx("div", { children: _jsx("div", { children: _jsxs(Button, { variant: "ghost", onClick: () => navigate(), children: [_jsx(Icon, { name: "arrow_back" }), _jsx(Icon, { name: "category" }), "My Features"] }) }) }), _jsx(Divider, {}), _jsx("div", { children: _jsxs(Tabs, { activeTab: tab, onChange: (index) => setTab(index), children: [_jsxs(Tabs.List, { children: [_jsx(Tabs.Tab, { children: "App features" }), _jsx(Tabs.Tab, { children: "Portal features" })] }), _jsxs(Tabs.Panels, { children: [_jsx(Tabs.Panel, { children: _jsx(FeatureTogglerApp, {}) }), _jsx(Tabs.Panel, { children: _jsx(FeatureTogglerPortal, {}) })] })] }) })] }));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=FeatureSheetContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureSheetContent.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/FeatureSheetContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAInC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACnE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,8BACI,wBACI,wBACI,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,aAC7C,KAAC,IAAI,IAAC,IAAI,EAAC,YAAY,GAAQ,EAC/B,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAQ,mBAExB,GACP,GACJ,EACN,KAAC,OAAO,KAAW,EACnB,wBACI,MAAC,IAAI,IAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aACpD,MAAC,IAAI,CAAC,IAAI,eACN,KAAC,IAAI,CAAC,GAAG,+BAAwB,EACjC,KAAC,IAAI,CAAC,GAAG,kCAA2B,IAC5B,EACZ,MAAC,IAAI,CAAC,MAAM,eACR,KAAC,IAAI,CAAC,KAAK,cACP,KAAC,iBAAiB,KAAG,GACZ,EACb,KAAC,IAAI,CAAC,KAAK,cACP,KAAC,oBAAoB,KAAG,GACf,IACH,IACX,GACL,IACA,CACb,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCurrentAppFeatures } from '@equinor/fusion-framework-react/feature-flag';
|
|
3
|
+
import { Typography, Switch } from '@equinor/eds-core-react';
|
|
4
|
+
import { Styled } from './Styled';
|
|
5
|
+
/**
|
|
6
|
+
* JSX structure for Feature toggler tab for app features in the PersonSidesheet's Feature page.
|
|
7
|
+
*/
|
|
8
|
+
export const FeatureTogglerApp = () => {
|
|
9
|
+
const { features, toggleFeature } = useCurrentAppFeatures();
|
|
10
|
+
return (_jsx(Styled.SwitchList, { children: features === null || features === void 0 ? void 0 : features.map((feature) => {
|
|
11
|
+
var _a;
|
|
12
|
+
return (_jsxs(Styled.SwitchListItem, { onClick: () => toggleFeature(feature.key), children: [_jsxs(Styled.SwitchLabel, { children: [_jsx(Typography, { variant: "body_short_bold", children: (_a = feature.title) !== null && _a !== void 0 ? _a : feature.key }), feature.description && (_jsx(Typography, { variant: "body_short_italic", children: feature.description }))] }), _jsx(Styled.Switch, { children: _jsx(Switch, { checked: feature.enabled, disabled: feature.readonly }) })] }, `feat-${feature.key}`));
|
|
13
|
+
}) }));
|
|
14
|
+
};
|
|
15
|
+
export default FeatureTogglerApp;
|
|
16
|
+
//# sourceMappingURL=FeatureTogglerApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureTogglerApp.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerApp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5D,OAAO,CACH,KAAC,MAAM,CAAC,UAAU,cACb,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YACvB,OAAO,CACH,MAAC,MAAM,CAAC,cAAc,IAElB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,aAEzC,MAAC,MAAM,CAAC,WAAW,eACf,KAAC,UAAU,IAAC,OAAO,EAAC,iBAAiB,YAChC,MAAA,OAAO,CAAC,KAAK,mCAAI,OAAO,CAAC,GAAG,GACpB,EACZ,OAAO,CAAC,WAAW,IAAI,CACpB,KAAC,UAAU,IAAC,OAAO,EAAC,mBAAmB,YAClC,OAAO,CAAC,WAAW,GACX,CAChB,IACgB,EACrB,KAAC,MAAM,CAAC,MAAM,cACV,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAI,GACpD,KAfX,QAAQ,OAAO,CAAC,GAAG,EAAE,CAgBN,CAC3B,CAAC;QACN,CAAC,CAAC,GACc,CACvB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useFrameworkFeatures } from '@equinor/fusion-framework-react/feature-flag';
|
|
3
|
+
import { Typography, Switch } from '@equinor/eds-core-react';
|
|
4
|
+
import { Styled } from './Styled';
|
|
5
|
+
/**
|
|
6
|
+
* Content for Feature toggler tab for portal features in the PersonSidesheet's Feature page.
|
|
7
|
+
*/
|
|
8
|
+
export const FeatureTogglerPortal = () => {
|
|
9
|
+
const { features, toggleFeature } = useFrameworkFeatures();
|
|
10
|
+
return (_jsx(Styled.SwitchList, { children: features === null || features === void 0 ? void 0 : features.map((feature) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
return (_jsxs(Styled.SwitchListItem, { onClick: () => toggleFeature(feature.key), children: [_jsxs(Styled.SwitchLabel, { children: [_jsx(Typography, { variant: "body_short_bold", children: (_a = feature.title) !== null && _a !== void 0 ? _a : feature.key }), _jsx(Typography, { variant: "body_short_italic", children: (_b = feature.description) !== null && _b !== void 0 ? _b : '' })] }), _jsx(Switch, { checked: feature.enabled, disabled: feature.readonly })] }, `feat-${feature.key}`));
|
|
13
|
+
}) }));
|
|
14
|
+
};
|
|
15
|
+
export default FeatureTogglerPortal;
|
|
16
|
+
//# sourceMappingURL=FeatureTogglerPortal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureTogglerPortal.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/FeatureTogglerPortal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC3D,OAAO,CACH,KAAC,MAAM,CAAC,UAAU,cACb,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;YAAC,OAAA,CACxB,MAAC,MAAM,CAAC,cAAc,IAElB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,aAEzC,MAAC,MAAM,CAAC,WAAW,eACf,KAAC,UAAU,IAAC,OAAO,EAAC,iBAAiB,YAChC,MAAA,OAAO,CAAC,KAAK,mCAAI,OAAO,CAAC,GAAG,GACpB,EACb,KAAC,UAAU,IAAC,OAAO,EAAC,mBAAmB,YAClC,MAAA,OAAO,CAAC,WAAW,mCAAI,EAAE,GACjB,IACI,EACrB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAI,KAX3D,QAAQ,OAAO,CAAC,GAAG,EAAE,CAYN,CAC3B,CAAA;SAAA,CAAC,GACc,CACvB,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Divider, Icon, Button } from '@equinor/eds-core-react';
|
|
3
|
+
import { bandage, category, work_outline, security } from '@equinor/eds-icons';
|
|
4
|
+
Icon.add({ bandage, category, work_outline, security });
|
|
5
|
+
import styled from 'styled-components';
|
|
6
|
+
const BtnList = styled.ul `
|
|
7
|
+
list-style: none;
|
|
8
|
+
padding-left: 0;
|
|
9
|
+
`;
|
|
10
|
+
const BtnListItem = styled.li `
|
|
11
|
+
margin: 1em 0;
|
|
12
|
+
`;
|
|
13
|
+
/**
|
|
14
|
+
* Content for the main tab in the PersonSidesheet.
|
|
15
|
+
*/
|
|
16
|
+
export const LandingSheetContent = ({ azureId, navigate }) => {
|
|
17
|
+
return (_jsxs("section", { children: [_jsx(BtnList, { children: _jsx(BtnListItem, { children: _jsxs(Button, { variant: "ghost", onClick: () => navigate('features'), children: [_jsx(Icon, { name: "category" }), "My Features"] }) }) }), _jsx(Divider, {}), _jsx(BtnList, { children: _jsx(BtnListItem, { children: _jsxs(Button, { variant: "ghost", href: `https://eur.delve.office.com/?u=${azureId}&v=work`, target: "_blank", children: [_jsx("svg", { height: "24", viewBox: "0 0 24 24", width: "24", children: _jsx("path", { d: "M22.5 3C22.7031 3 22.8789 3.07422 23.0273 3.22266C23.1758 3.37109 23.25 3.54688 23.25 3.75V20.25C23.25 20.4531 23.1758 20.6289 23.0273 20.7773C22.8789 20.9258 22.7031 21 22.5 21H14.25V23.3438L0.75 20.9883V3.08203L14.25 0.65625V3H22.5ZM7.07812 16.6992C7.52344 16.6992 7.92188 16.6289 8.27344 16.4883C8.625 16.3477 8.9375 16.1602 9.21094 15.9258C9.48438 15.6914 9.71484 15.4102 9.90234 15.082C10.0898 14.7539 10.25 14.4062 10.3828 14.0391C10.5156 13.6719 10.6055 13.293 10.6523 12.9023C10.6992 12.5117 10.7266 12.1289 10.7344 11.7539C10.7344 11.1602 10.6836 10.5859 10.582 10.0312C10.4805 9.47656 10.3008 8.98047 10.043 8.54297C9.78516 8.10547 9.42969 7.75781 8.97656 7.5C8.52344 7.24219 7.95312 7.10938 7.26562 7.10156C6.78906 7.10156 6.3125 7.12891 5.83594 7.18359C5.35938 7.23828 4.88281 7.28906 4.40625 7.33594V16.5117L5.74219 16.6289C6.1875 16.668 6.63281 16.6914 7.07812 16.6992ZM17.25 16.5H14.25V20.25H17.25V16.5ZM17.25 3.75H14.25V15.75H17.25V3.75ZM22.5 9H18V20.25H22.5V9ZM22.5 3.75H18V8.25H22.5V3.75ZM5.89453 8.92969C6.04297 8.91406 6.1875 8.90234 6.32812 8.89453C6.46875 8.88672 6.62109 8.88281 6.78516 8.88281C7.19141 8.88281 7.53125 8.96875 7.80469 9.14062C8.07812 9.3125 8.29688 9.53906 8.46094 9.82031C8.625 10.1016 8.74219 10.4141 8.8125 10.7578C8.88281 11.1016 8.91797 11.4453 8.91797 11.7891C8.91797 12.125 8.88672 12.4766 8.82422 12.8438C8.76172 13.2109 8.64453 13.5508 8.47266 13.8633C8.30078 14.1758 8.08203 14.4297 7.81641 14.625C7.55078 14.8203 7.20312 14.9219 6.77344 14.9297H6.33984C6.19922 14.9297 6.05078 14.9219 5.89453 14.9062V8.92969Z", fill: "currentColor" }) }), "Delve"] }) }) })] }));
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=LandingSheetContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LandingSheetContent.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/LandingSheetContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/E,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;AAIxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;;;CAGxB,CAAC;AACF,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAA;;CAE5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAqB,EAAE,EAAE;IAC5E,OAAO,CACH,8BACI,KAAC,OAAO,cACJ,KAAC,WAAW,cACR,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,aACvD,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAQ,mBAExB,GACC,GACR,EACV,KAAC,OAAO,KAAW,EACnB,KAAC,OAAO,cACJ,KAAC,WAAW,cACR,MAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAE,mCAAmC,OAAO,SAAS,EACzD,MAAM,EAAC,QAAQ,aAEf,cAAK,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,YAC3C,eACI,CAAC,EAAC,0hDAA0hD,EAC5hD,IAAI,EAAC,cAAc,GACf,GACN,aAED,GACC,GACR,IACJ,CACb,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
export const Styled = {
|
|
3
|
+
SwitchList: styled.ul `
|
|
4
|
+
list-style: none;
|
|
5
|
+
padding-left: 0;
|
|
6
|
+
`,
|
|
7
|
+
SwitchListItem: styled.li `
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-flow: row nowrap;
|
|
10
|
+
justify-content: space-between;
|
|
11
|
+
margin: 1em 0;
|
|
12
|
+
border-left: 3px solid var(--eds_interactive_primary__resting, rgba(0, 112, 121, 1));
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
`,
|
|
15
|
+
SwitchLabel: styled.div `
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
align-items: left;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
width: 85%;
|
|
21
|
+
transform: scale(0.9);
|
|
22
|
+
`,
|
|
23
|
+
Switch: styled.div `
|
|
24
|
+
width: 15%;
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: flex-end;
|
|
27
|
+
transform: scale(0.9);
|
|
28
|
+
`,
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=Styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Styled.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/Styled.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,UAAU,EAAE,MAAM,CAAC,EAAE,CAAA;;;KAGpB;IACD,cAAc,EAAE,MAAM,CAAC,EAAE,CAAA;;;;;;;KAOxB;IACD,WAAW,EAAE,MAAM,CAAC,GAAG,CAAA;;;;;;;KAOtB;IACD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAA;;;;;KAKjB;CACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/bin/dev-portal/PersonSideSheet/sheets/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useBookmarkNavigate } from '@equinor/fusion-framework-react-module-bookmark/portal';
|
|
3
|
+
import { Outlet, RouterProvider, useParams } from 'react-router-dom';
|
|
4
|
+
import AppLoader from './AppLoader';
|
|
5
|
+
import Header from './Header';
|
|
6
|
+
import { useFramework } from '@equinor/fusion-framework-react';
|
|
7
|
+
import { useState } from 'react';
|
|
8
|
+
import { styled } from 'styled-components';
|
|
9
|
+
import { useAppContextNavigation } from './useAppContextNavigation';
|
|
10
|
+
const Styled = {
|
|
11
|
+
ContentContainer: styled.div `
|
|
12
|
+
display: grid;
|
|
13
|
+
grid-template-columns: 1fr;
|
|
14
|
+
grid-template-rows: 48px 1fr;
|
|
15
|
+
height: 100vh;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
grid-template-areas: 'head' 'main';
|
|
18
|
+
`,
|
|
19
|
+
Head: styled.section `
|
|
20
|
+
grid-area: head;
|
|
21
|
+
`,
|
|
22
|
+
Main: styled.section `
|
|
23
|
+
grid-area: main;
|
|
24
|
+
overflow: auto;
|
|
25
|
+
position: relative;
|
|
26
|
+
max-width: 100%;
|
|
27
|
+
display: grid;
|
|
28
|
+
`,
|
|
29
|
+
};
|
|
30
|
+
const Root = () => {
|
|
31
|
+
useBookmarkNavigate({ resolveAppPath: (appKey) => `/apps/${appKey}` });
|
|
32
|
+
return (_jsxs(Styled.ContentContainer, { children: [_jsx(Styled.Head, { children: _jsx(Header, {}) }), _jsx(Styled.Main, { children: _jsx(Outlet, {}) })] }));
|
|
33
|
+
};
|
|
34
|
+
// eslint-disable-next-line react/no-multi-comp
|
|
35
|
+
const AppRoute = () => {
|
|
36
|
+
const { appKey } = useParams();
|
|
37
|
+
return appKey ? _jsx(AppLoader, { appKey: appKey }) : null;
|
|
38
|
+
};
|
|
39
|
+
const routes = [
|
|
40
|
+
{
|
|
41
|
+
path: '/',
|
|
42
|
+
element: _jsx(Root, {}),
|
|
43
|
+
children: [
|
|
44
|
+
{
|
|
45
|
+
path: 'apps/:appKey/*',
|
|
46
|
+
element: _jsx(AppRoute, {}),
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
// eslint-disable-next-line react/no-multi-comp
|
|
52
|
+
export const Router = () => {
|
|
53
|
+
const { navigation } = useFramework().modules;
|
|
54
|
+
const [router] = useState(() => navigation.createRouter(routes));
|
|
55
|
+
// observe the context changes and navigate when the context changes
|
|
56
|
+
useAppContextNavigation();
|
|
57
|
+
return (_jsx(RouterProvider, { router: router, fallbackElement: _jsx("p", { children: "wooot" }) }));
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=Router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/bin/dev-portal/Router.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAuB,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,GAAG;IACX,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAA;;;;;;;KAO3B;IACD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAA;;KAEnB;IACD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAA;;;;;;KAMnB;CACJ,CAAC;AAEF,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/E,OAAO,CACH,MAAC,MAAM,CAAC,gBAAgB,eACpB,KAAC,MAAM,CAAC,IAAI,cACR,KAAC,MAAM,KAAG,GACA,EACd,KAAC,MAAM,CAAC,IAAI,cACR,KAAC,MAAM,KAAG,GACA,IACQ,CAC7B,CAAC;AACN,CAAC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,GAAG,EAAE;IAClB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG;IACX;QACI,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAC,IAAI,KAAG;QACjB,QAAQ,EAAE;YACN;gBACI,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,KAAC,QAAQ,KAAG;aACxB;SACJ;KACJ;CACJ,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACvB,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,EAAsB,CAAC,OAAO,CAAC;IAClE,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,oEAAoE;IACpE,uBAAuB,EAAE,CAAC;IAC1B,OAAO,CACH,KAAC,cAAc,IACX,MAAM,EAAE,MAAkD,EAC1D,eAAe,EAAE,gCAAY,GAC/B,CACL,CAAC;AACN,CAAC,CAAC"}
|