@enonic/nextjs-adapter 3.3.0-B1 → 3.3.0-B2
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/dist/baseMappings.d.ts +1 -0
- package/{src/baseMappings.ts → dist/baseMappings.js} +4 -14
- package/dist/baseMappings.js.map +1 -0
- package/dist/client/getClientHydratedHtml.d.ts +1 -0
- package/{src/client/getClientHydratedHtml.tsx → dist/client/getClientHydratedHtml.jsx} +3 -6
- package/dist/client/getClientHydratedHtml.jsx.map +1 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -0
- package/dist/common/ComponentRegistry.d.ts +34 -0
- package/dist/common/ComponentRegistry.js +121 -0
- package/dist/common/ComponentRegistry.js.map +1 -0
- package/dist/common/UrlProcessor.d.ts +25 -0
- package/{src/common/UrlProcessor.ts → dist/common/UrlProcessor.js} +49 -70
- package/dist/common/UrlProcessor.js.map +1 -0
- package/dist/common/constants.d.ts +51 -0
- package/{src/common/constants.ts → dist/common/constants.js} +38 -44
- package/dist/common/constants.js.map +1 -0
- package/dist/common/env.d.ts +12 -0
- package/{src/common/env.ts → dist/common/env.js} +3 -14
- package/dist/common/env.js.map +1 -0
- package/dist/guillotine/applyProcessors.d.ts +2 -0
- package/dist/guillotine/applyProcessors.js +33 -0
- package/dist/guillotine/applyProcessors.js.map +1 -0
- package/dist/guillotine/buildComponentTree.d.ts +2 -0
- package/{src/guillotine/buildComponentTree.ts → dist/guillotine/buildComponentTree.js} +13 -25
- package/dist/guillotine/buildComponentTree.js.map +1 -0
- package/dist/guillotine/buildErrorResponse.d.ts +3 -0
- package/{src/guillotine/buildErrorResponse.ts → dist/guillotine/buildErrorResponse.js} +2 -10
- package/dist/guillotine/buildErrorResponse.js.map +1 -0
- package/dist/guillotine/buildPage.d.ts +2 -0
- package/dist/guillotine/buildPage.js +10 -0
- package/dist/guillotine/buildPage.js.map +1 -0
- package/dist/guillotine/collectComponentDescriptors.d.ts +6 -0
- package/{src/guillotine/collectComponentDescriptors.ts → dist/guillotine/collectComponentDescriptors.js} +13 -26
- package/dist/guillotine/collectComponentDescriptors.js.map +1 -0
- package/dist/guillotine/combineMultipleQueries.d.ts +2 -0
- package/{src/guillotine/combineMultipleQueries.ts → dist/guillotine/combineMultipleQueries.js} +9 -23
- package/dist/guillotine/combineMultipleQueries.js.map +1 -0
- package/dist/guillotine/createMetaData.d.ts +18 -0
- package/dist/guillotine/createMetaData.js +45 -0
- package/dist/guillotine/createMetaData.js.map +1 -0
- package/dist/guillotine/fetchContent.d.ts +9 -0
- package/dist/guillotine/fetchContent.js +222 -0
- package/dist/guillotine/fetchContent.js.map +1 -0
- package/dist/guillotine/fetchContentData.d.ts +2 -0
- package/dist/guillotine/fetchContentData.js +30 -0
- package/dist/guillotine/fetchContentData.js.map +1 -0
- package/dist/guillotine/fetchContentPathsForAllLocales.d.ts +2 -0
- package/dist/guillotine/fetchContentPathsForAllLocales.js +21 -0
- package/dist/guillotine/fetchContentPathsForAllLocales.js.map +1 -0
- package/dist/guillotine/fetchContentPathsForLocale.d.ts +2 -0
- package/dist/guillotine/fetchContentPathsForLocale.js +41 -0
- package/dist/guillotine/fetchContentPathsForLocale.js.map +1 -0
- package/dist/guillotine/fetchFromApi.d.ts +3 -0
- package/dist/guillotine/fetchFromApi.js +76 -0
- package/dist/guillotine/fetchFromApi.js.map +1 -0
- package/dist/guillotine/fetchGuillotine.d.ts +3 -0
- package/dist/guillotine/fetchGuillotine.js +75 -0
- package/dist/guillotine/fetchGuillotine.js.map +1 -0
- package/dist/guillotine/fetchMetaData.d.ts +2 -0
- package/dist/guillotine/fetchMetaData.js +33 -0
- package/dist/guillotine/fetchMetaData.js.map +1 -0
- package/dist/guillotine/getCleanContentPathArrayOrThrow400.d.ts +2 -0
- package/{src/guillotine/getCleanContentPathArrayOrThrow400.ts → dist/guillotine/getCleanContentPathArrayOrThrow400.js} +5 -7
- package/dist/guillotine/getCleanContentPathArrayOrThrow400.js.map +1 -0
- package/dist/guillotine/getComponentConfig.d.ts +2 -0
- package/{src/guillotine/getComponentConfig.ts → dist/guillotine/getComponentConfig.js} +3 -5
- package/dist/guillotine/getComponentConfig.js.map +1 -0
- package/dist/guillotine/getContentAndComponentPaths.d.ts +1 -0
- package/{src/guillotine/getContentAndComponentPaths.ts → dist/guillotine/getContentAndComponentPaths.js} +6 -5
- package/dist/guillotine/getContentAndComponentPaths.js.map +1 -0
- package/dist/guillotine/getMetaData.d.ts +2 -0
- package/{src/guillotine/getMetaData.ts → dist/guillotine/getMetaData.js} +11 -18
- package/dist/guillotine/getMetaData.js.map +1 -0
- package/dist/guillotine/getParentRegion.d.ts +2 -0
- package/{src/guillotine/getParentRegion.ts → dist/guillotine/getParentRegion.js} +9 -23
- package/dist/guillotine/getParentRegion.js.map +1 -0
- package/dist/guillotine/getQueryAndVariables.d.ts +2 -0
- package/{src/guillotine/getQueryAndVariables.ts → dist/guillotine/getQueryAndVariables.js} +7 -23
- package/dist/guillotine/getQueryAndVariables.js.map +1 -0
- package/dist/guillotine/metadata/configQuery.d.ts +2 -0
- package/dist/guillotine/metadata/configQuery.js +36 -0
- package/dist/guillotine/metadata/configQuery.js.map +1 -0
- package/dist/guillotine/metadata/richTextQuery.d.ts +1 -0
- package/{src/guillotine/metadata/richTextQuery.ts → dist/guillotine/metadata/richTextQuery.js} +6 -8
- package/dist/guillotine/metadata/richTextQuery.js.map +1 -0
- package/dist/guillotine/parseComponentPath.d.ts +2 -0
- package/{src/guillotine/parseComponentPath.ts → dist/guillotine/parseComponentPath.js} +4 -8
- package/dist/guillotine/parseComponentPath.js.map +1 -0
- package/dist/guillotine/prefixFragmentCmpPath.d.ts +1 -0
- package/{src/guillotine/prefixFragmentCmpPath.ts → dist/guillotine/prefixFragmentCmpPath.js} +5 -5
- package/dist/guillotine/prefixFragmentCmpPath.js.map +1 -0
- package/dist/guillotine/processComponentConfig.d.ts +2 -0
- package/{src/guillotine/processComponentConfig.ts → dist/guillotine/processComponentConfig.js} +4 -12
- package/dist/guillotine/processComponentConfig.js.map +1 -0
- package/dist/guillotine/restrictComponentsToPath.d.ts +2 -0
- package/{src/guillotine/restrictComponentsToPath.ts → dist/guillotine/restrictComponentsToPath.js} +9 -19
- package/dist/guillotine/restrictComponentsToPath.js.map +1 -0
- package/dist/guillotine/validateData.d.ts +2 -0
- package/dist/guillotine/validateData.js +7 -0
- package/dist/guillotine/validateData.js.map +1 -0
- package/dist/guillotine/validateNotFound.d.ts +2 -0
- package/{src/guillotine/validateNotFound.ts → dist/guillotine/validateNotFound.js} +5 -9
- package/dist/guillotine/validateNotFound.js.map +1 -0
- package/dist/guillotine/validateShortcut.d.ts +2 -0
- package/{src/guillotine/validateShortcut.ts → dist/guillotine/validateShortcut.js} +12 -20
- package/dist/guillotine/validateShortcut.js.map +1 -0
- package/dist/i18n/LocaleContext.d.ts +7 -0
- package/dist/i18n/LocaleContext.jsx +50 -0
- package/dist/i18n/LocaleContext.jsx.map +1 -0
- package/dist/i18n/i18n.d.ts +12 -0
- package/dist/i18n/i18n.js +59 -0
- package/dist/i18n/i18n.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/query/Shortcut.d.ts +1 -0
- package/{src/query/Shortcut.ts → dist/query/Shortcut.js} +1 -0
- package/dist/query/Shortcut.js.map +1 -0
- package/dist/server/getServerRenderedHtml.d.ts +1 -0
- package/dist/server/getServerRenderedHtml.js +4 -0
- package/dist/server/getServerRenderedHtml.js.map +1 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.js +6 -0
- package/dist/server.js.map +1 -0
- package/{src/types/component.ts → dist/types/component.d.ts} +23 -62
- package/dist/types/component.js +2 -0
- package/dist/types/component.js.map +1 -0
- package/dist/types/componentProps.d.ts +107 -0
- package/dist/types/componentProps.js +2 -0
- package/dist/types/componentProps.js.map +1 -0
- package/dist/types/guillotine.d.ts +344 -0
- package/dist/types/guillotine.js +2 -0
- package/dist/types/guillotine.js.map +1 -0
- package/dist/types/i18n.d.ts +7 -0
- package/dist/types/i18n.js +2 -0
- package/dist/types/i18n.js.map +1 -0
- package/{src/types/index.ts → dist/types/index.d.ts} +19 -34
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/next.d.ts +6 -0
- package/dist/types/next.js +2 -0
- package/dist/types/next.js.map +1 -0
- package/dist/types/util.d.ts +3 -0
- package/dist/types/util.js +3 -0
- package/dist/types/util.js.map +1 -0
- package/dist/utils/addLineNumbers.d.ts +1 -0
- package/dist/utils/addLineNumbers.js +4 -0
- package/dist/utils/addLineNumbers.js.map +1 -0
- package/dist/utils/buildGuillotineRequestHeaders.d.ts +7 -0
- package/dist/utils/buildGuillotineRequestHeaders.js +16 -0
- package/dist/utils/buildGuillotineRequestHeaders.js.map +1 -0
- package/dist/utils/commonChars.d.ts +1 -0
- package/{src/utils/commonChars.ts → dist/utils/commonChars.js} +5 -4
- package/dist/utils/commonChars.js.map +1 -0
- package/dist/utils/enonicLog.d.ts +5 -0
- package/dist/utils/enonicLog.js +23 -0
- package/dist/utils/enonicLog.js.map +1 -0
- package/dist/utils/fixDoubleSlashes.d.ts +1 -0
- package/dist/utils/fixDoubleSlashes.js +4 -0
- package/dist/utils/fixDoubleSlashes.js.map +1 -0
- package/dist/utils/getAllLocales.d.ts +1 -0
- package/dist/utils/getAllLocales.js +5 -0
- package/dist/utils/getAllLocales.js.map +1 -0
- package/dist/utils/getContentApiUrl.d.ts +2 -0
- package/dist/utils/getContentApiUrl.js +15 -0
- package/dist/utils/getContentApiUrl.js.map +1 -0
- package/dist/utils/getLocaleMapping.d.ts +2 -0
- package/dist/utils/getLocaleMapping.js +19 -0
- package/dist/utils/getLocaleMapping.js.map +1 -0
- package/dist/utils/getLocaleMappingByLocale.d.ts +2 -0
- package/dist/utils/getLocaleMappingByLocale.js +13 -0
- package/dist/utils/getLocaleMappingByLocale.js.map +1 -0
- package/dist/utils/getLocaleMappingByProjectId.d.ts +2 -0
- package/dist/utils/getLocaleMappingByProjectId.js +16 -0
- package/dist/utils/getLocaleMappingByProjectId.js.map +1 -0
- package/dist/utils/getLocaleMappings.d.ts +2 -0
- package/{src/utils/getLocaleMappings.ts → dist/utils/getLocaleMappings.js} +8 -14
- package/dist/utils/getLocaleMappings.js.map +1 -0
- package/dist/utils/getRenderMode.d.ts +3 -0
- package/dist/utils/getRenderMode.js +8 -0
- package/dist/utils/getRenderMode.js.map +1 -0
- package/dist/utils/getRequestLocaleInfo.d.ts +6 -0
- package/{src/utils/getRequestLocaleInfo.ts → dist/utils/getRequestLocaleInfo.js} +12 -13
- package/dist/utils/getRequestLocaleInfo.js.map +1 -0
- package/dist/utils/getXpBaseUrl.d.ts +2 -0
- package/dist/utils/getXpBaseUrl.js +8 -0
- package/dist/utils/getXpBaseUrl.js.map +1 -0
- package/dist/utils/indent.d.ts +1 -0
- package/dist/utils/indent.js +5 -0
- package/dist/utils/indent.js.map +1 -0
- package/dist/utils/sanitizeGraphqlName.d.ts +1 -0
- package/{src/utils/sanitizeGraphqlName.ts → dist/utils/sanitizeGraphqlName.js} +3 -2
- package/dist/utils/sanitizeGraphqlName.js.map +1 -0
- package/dist/views/BaseComponent.d.ts +20 -0
- package/{src/views/BaseComponent.tsx → dist/views/BaseComponent.jsx} +49 -76
- package/dist/views/BaseComponent.jsx.map +1 -0
- package/dist/views/BaseContent.d.ts +3 -0
- package/dist/views/BaseContent.jsx +38 -0
- package/dist/views/BaseContent.jsx.map +1 -0
- package/dist/views/BaseLayout.d.ts +3 -0
- package/dist/views/BaseLayout.jsx +24 -0
- package/dist/views/BaseLayout.jsx.map +1 -0
- package/dist/views/BaseMacro.d.ts +6 -0
- package/{src/views/BaseMacro.tsx → dist/views/BaseMacro.jsx} +37 -42
- package/dist/views/BaseMacro.jsx.map +1 -0
- package/dist/views/BasePage.d.ts +3 -0
- package/dist/views/BasePage.jsx +34 -0
- package/dist/views/BasePage.jsx.map +1 -0
- package/dist/views/BasePart.d.ts +3 -0
- package/dist/views/BasePart.jsx +24 -0
- package/dist/views/BasePart.jsx.map +1 -0
- package/dist/views/Empty.d.ts +2 -0
- package/{src/views/Empty.tsx → dist/views/Empty.jsx} +1 -2
- package/dist/views/Empty.jsx.map +1 -0
- package/dist/views/Fragment.d.ts +3 -0
- package/dist/views/Fragment.jsx +30 -0
- package/dist/views/Fragment.jsx.map +1 -0
- package/dist/views/MainView.d.ts +3 -0
- package/dist/views/MainView.jsx +14 -0
- package/dist/views/MainView.jsx.map +1 -0
- package/dist/views/PropsView.d.ts +2 -0
- package/dist/views/PropsView.jsx +21 -0
- package/dist/views/PropsView.jsx.map +1 -0
- package/dist/views/Region.d.ts +6 -0
- package/{src/views/Region.tsx → dist/views/Region.jsx} +17 -41
- package/dist/views/Region.jsx.map +1 -0
- package/dist/views/RichTextView.d.ts +3 -0
- package/dist/views/RichTextView.jsx +65 -0
- package/dist/views/RichTextView.jsx.map +1 -0
- package/dist/views/SingleComponent.d.ts +4 -0
- package/dist/views/SingleComponent.jsx +10 -0
- package/dist/views/SingleComponent.jsx.map +1 -0
- package/dist/views/StaticContent.d.ts +10 -0
- package/dist/views/StaticContent.jsx +37 -0
- package/dist/views/StaticContent.jsx.map +1 -0
- package/dist/views/Text.d.ts +8 -0
- package/dist/views/Text.jsx +4 -0
- package/dist/views/Text.jsx.map +1 -0
- package/dist/views/macros/DefaultMacro.d.ts +3 -0
- package/dist/views/macros/DefaultMacro.jsx +4 -0
- package/dist/views/macros/DefaultMacro.jsx.map +1 -0
- package/dist/views/macros/DisableMacro.d.ts +3 -0
- package/dist/views/macros/DisableMacro.jsx +3 -0
- package/dist/views/macros/DisableMacro.jsx.map +1 -0
- package/package.json +19 -31
- package/src/client.ts +0 -2
- package/src/common/ComponentRegistry.ts +0 -159
- package/src/guillotine/applyProcessors.ts +0 -34
- package/src/guillotine/buildPage.ts +0 -15
- package/src/guillotine/createMetaData.ts +0 -72
- package/src/guillotine/fetchContent.ts +0 -240
- package/src/guillotine/fetchContentData.ts +0 -31
- package/src/guillotine/fetchContentPathsForAllLocales.ts +0 -21
- package/src/guillotine/fetchContentPathsForLocale.ts +0 -43
- package/src/guillotine/fetchFromApi.ts +0 -76
- package/src/guillotine/fetchGuillotine.ts +0 -76
- package/src/guillotine/fetchMetaData.ts +0 -31
- package/src/guillotine/metadata/configQuery.ts +0 -46
- package/src/guillotine/validateData.ts +0 -11
- package/src/i18n/LocaleContext.tsx +0 -59
- package/src/i18n/i18n.ts +0 -57
- package/src/index.ts +0 -42
- package/src/server/getServerRenderedHtml.ts +0 -3
- package/src/server.ts +0 -5
- package/src/types/componentProps.ts +0 -143
- package/src/types/guillotine.ts +0 -428
- package/src/types/i18n.ts +0 -8
- package/src/types/next.ts +0 -7
- package/src/types/util.ts +0 -5
- package/src/utils/addLineNumbers.ts +0 -3
- package/src/utils/buildGuillotineRequestHeaders.ts +0 -29
- package/src/utils/enonicLog.ts +0 -28
- package/src/utils/fixDoubleSlashes.ts +0 -3
- package/src/utils/getAllLocales.ts +0 -6
- package/src/utils/getContentApiUrl.ts +0 -20
- package/src/utils/getLocaleMapping.ts +0 -24
- package/src/utils/getLocaleMappingByLocale.ts +0 -19
- package/src/utils/getLocaleMappingByProjectId.ts +0 -21
- package/src/utils/getRenderMode.ts +0 -11
- package/src/utils/getXpBaseUrl.ts +0 -12
- package/src/utils/indent.ts +0 -4
- package/src/views/BaseContent.tsx +0 -47
- package/src/views/BaseLayout.tsx +0 -33
- package/src/views/BasePage.tsx +0 -42
- package/src/views/BasePart.tsx +0 -34
- package/src/views/Fragment.tsx +0 -41
- package/src/views/MainView.tsx +0 -22
- package/src/views/PropsView.tsx +0 -38
- package/src/views/RichTextView.tsx +0 -106
- package/src/views/SingleComponent.tsx +0 -19
- package/src/views/StaticContent.tsx +0 -39
- package/src/views/Text.tsx +0 -19
- package/src/views/macros/DefaultMacro.tsx +0 -9
- package/src/views/macros/DisableMacro.tsx +0 -8
|
@@ -1,60 +1,53 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {RENDER_MODE} from '../common/constants';
|
|
5
|
-
import {sanitizeGraphqlName} from '../utils/sanitizeGraphqlName';
|
|
1
|
+
import { ComponentRegistry } from '../common/ComponentRegistry';
|
|
2
|
+
import { RENDER_MODE } from '../common/constants';
|
|
3
|
+
import { sanitizeGraphqlName } from '../utils/sanitizeGraphqlName';
|
|
6
4
|
import HTMLReactParser from 'html-react-parser';
|
|
7
|
-
import {shouldShowMissingView, MissingComponent} from './BaseComponent';
|
|
5
|
+
import { shouldShowMissingView, MissingComponent } from './BaseComponent';
|
|
8
6
|
import React from 'react';
|
|
9
|
-
|
|
10
|
-
|
|
11
7
|
const unescape = require('unescape');
|
|
12
|
-
|
|
13
8
|
export const MACRO_DISABLE = 'system:disable';
|
|
14
9
|
export const MACRO_EMBED = 'system:embed';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let config = data.config?.[sanitizeGraphqlName(data.name)] ?? {};
|
|
10
|
+
const BaseMacro = (props) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const { data, children, meta, renderInEditMode } = props;
|
|
13
|
+
let config = (_b = (_a = data.config) === null || _a === void 0 ? void 0 : _a[sanitizeGraphqlName(data.name)]) !== null && _b !== void 0 ? _b : {};
|
|
21
14
|
if (data.descriptor !== MACRO_DISABLE) {
|
|
22
15
|
// do not do any processing for disable macro
|
|
23
16
|
config = normalizeValue(config);
|
|
24
17
|
}
|
|
25
|
-
|
|
26
|
-
if (!renderInEditMode && meta?.renderMode === RENDER_MODE.EDIT) {
|
|
18
|
+
if (!renderInEditMode && (meta === null || meta === void 0 ? void 0 : meta.renderMode) === RENDER_MODE.EDIT) {
|
|
27
19
|
const attrs = formatAttributes(config);
|
|
28
20
|
if (config.body) {
|
|
29
21
|
// NB. config body takes precedence over children
|
|
30
|
-
|
|
31
22
|
// do not parse system macros (embed, disable) in edit mode
|
|
32
23
|
// but parse others because panel macros (for instance) wants its content to be html, not string
|
|
33
24
|
// TODO: should we make this behavior configurable ?
|
|
34
|
-
const bodyString = !data.descriptor.startsWith('system:') ? HTMLReactParser(config.body
|
|
25
|
+
const bodyString = !data.descriptor.startsWith('system:') ? HTMLReactParser(config.body) : config.body;
|
|
35
26
|
return <>
|
|
36
27
|
{`[${data.name}${attrs}]`}
|
|
37
28
|
{bodyString}
|
|
38
29
|
{`[/${data.name}]`}
|
|
39
30
|
</>;
|
|
40
|
-
}
|
|
31
|
+
}
|
|
32
|
+
else if (children) {
|
|
41
33
|
return <>
|
|
42
34
|
{`[${data.name}${attrs}]`}
|
|
43
35
|
{children}
|
|
44
36
|
{`[/${data.name}]`}
|
|
45
37
|
</>;
|
|
46
|
-
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
47
40
|
return <>
|
|
48
41
|
{`[${data.name}${attrs}/]`}
|
|
49
42
|
</>;
|
|
50
43
|
}
|
|
51
44
|
}
|
|
52
|
-
|
|
53
45
|
const macro = ComponentRegistry.getMacro(data.descriptor);
|
|
54
|
-
const MacroView = macro
|
|
46
|
+
const MacroView = macro === null || macro === void 0 ? void 0 : macro.view;
|
|
55
47
|
if (MacroView) {
|
|
56
48
|
return <MacroView name={data.name} config={config} meta={meta}>{children}</MacroView>;
|
|
57
|
-
}
|
|
49
|
+
}
|
|
50
|
+
else if (data.descriptor) {
|
|
58
51
|
console.warn(`BaseMacro: can not render macro '${data.descriptor}': no next view or catch-all defined`);
|
|
59
52
|
if (shouldShowMissingView(meta)) {
|
|
60
53
|
return <MissingComponent type="macro" descriptor={data.descriptor}/>;
|
|
@@ -62,44 +55,46 @@ const BaseMacro = (props: BaseMacroProps) => {
|
|
|
62
55
|
}
|
|
63
56
|
return null;
|
|
64
57
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
let parsedVal: any;
|
|
58
|
+
function normalizeValue(value) {
|
|
59
|
+
let parsedVal;
|
|
68
60
|
if (value instanceof Array) {
|
|
69
61
|
parsedVal = value.map(normalizeValue);
|
|
70
|
-
}
|
|
62
|
+
}
|
|
63
|
+
else if (value instanceof Object) {
|
|
71
64
|
parsedVal = {};
|
|
72
65
|
Object.entries(value).forEach(entry => parsedVal[entry[0]] = normalizeValue(entry[1]));
|
|
73
|
-
}
|
|
66
|
+
}
|
|
67
|
+
else if (typeof value === 'string') {
|
|
74
68
|
const unescapedValue = unescape(value);
|
|
75
69
|
if (unescapedValue.startsWith('[') && unescapedValue.endsWith(']')) {
|
|
76
70
|
// Wicked array notation: "[Value 1, Value 2]"
|
|
77
71
|
parsedVal = unescapedValue.substring(1, unescapedValue.length - 1).split(/,\s*/);
|
|
78
|
-
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
79
74
|
try {
|
|
80
75
|
parsedVal = JSON.parse(unescapedValue);
|
|
81
|
-
}
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
82
78
|
// simple string or wrongly formatted JSON
|
|
83
79
|
parsedVal = unescapedValue;
|
|
84
80
|
}
|
|
85
81
|
}
|
|
86
|
-
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
87
84
|
// most likely a number or unknown type
|
|
88
85
|
parsedVal = value;
|
|
89
86
|
}
|
|
90
87
|
return parsedVal;
|
|
91
88
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const attrs: string[] = Object.entries(config)
|
|
89
|
+
function formatAttributes(config) {
|
|
90
|
+
const attrs = Object.entries(config)
|
|
95
91
|
.filter(entry => entry[0] !== 'body')
|
|
96
|
-
.reduce
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
92
|
+
.reduce((accum, entry) => {
|
|
93
|
+
// concat to make sure we account for arrays
|
|
94
|
+
[].concat(normalizeValue(entry[1])).forEach(val => accum.push(`${entry[0]}="${val}"`));
|
|
95
|
+
return accum;
|
|
96
|
+
}, []);
|
|
102
97
|
return attrs.length ? ` ${attrs.join(' ')}` : '';
|
|
103
98
|
}
|
|
104
|
-
|
|
105
99
|
export default BaseMacro;
|
|
100
|
+
//# sourceMappingURL=BaseMacro.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../../src/views/BaseMacro.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ComponentRegistry } from '../common/ComponentRegistry';
|
|
2
|
+
import { XP_COMPONENT_TYPE } from '../common/constants';
|
|
3
|
+
import { ErrorComponent, MissingComponent, shouldShowErrorView, shouldShowMissingView } from './BaseComponent';
|
|
4
|
+
const BasePage = (props) => {
|
|
5
|
+
const { component, data, common, error, meta, path } = props;
|
|
6
|
+
const desc = component === null || component === void 0 ? void 0 : component.descriptor;
|
|
7
|
+
if (error) {
|
|
8
|
+
console.warn(`BasePage: '${desc}' error: ${error}`);
|
|
9
|
+
if (shouldShowErrorView(meta)) {
|
|
10
|
+
return <ErrorComponent reason={error} descriptor={desc} type={XP_COMPONENT_TYPE.PAGE}/>;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
let pageDef;
|
|
17
|
+
if (desc) {
|
|
18
|
+
pageDef = ComponentRegistry.getPage(desc);
|
|
19
|
+
}
|
|
20
|
+
const PageView = pageDef === null || pageDef === void 0 ? void 0 : pageDef.view;
|
|
21
|
+
if (PageView) {
|
|
22
|
+
return <PageView page={component} path={path} data={data} common={common} meta={meta}/>;
|
|
23
|
+
}
|
|
24
|
+
else if (component === null || component === void 0 ? void 0 : component.descriptor) {
|
|
25
|
+
// empty descriptor usually means uninitialized page
|
|
26
|
+
console.warn(`BasePage: can not render page '${desc}': no next view or catch-all defined`);
|
|
27
|
+
if (shouldShowMissingView(meta)) {
|
|
28
|
+
return <MissingComponent type={XP_COMPONENT_TYPE.PAGE} descriptor={component.descriptor}/>;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
};
|
|
33
|
+
export default BasePage;
|
|
34
|
+
//# sourceMappingURL=BasePage.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasePage.jsx","sourceRoot":"","sources":["../../src/views/BasePage.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAG7G,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IACtC,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAC3D,MAAM,IAAI,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC;IACnC,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5F,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC;IACZ,IAAI,IAAI,EAAE,CAAC;QACP,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC,CAAC;SAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,EAAE,CAAC;QAC/B,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,kCAAkC,IAAI,sCAAsC,CAAC,CAAC;QAC3F,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/F,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentRegistry } from '../common/ComponentRegistry';
|
|
2
|
+
import { XP_COMPONENT_TYPE } from '../common/constants';
|
|
3
|
+
import { MissingComponent, shouldShowMissingView } from './BaseComponent';
|
|
4
|
+
const BasePart = (props) => {
|
|
5
|
+
const { component, data, common, meta, path } = props;
|
|
6
|
+
let partSelection;
|
|
7
|
+
if (component) {
|
|
8
|
+
partSelection = ComponentRegistry.getPart(component.descriptor);
|
|
9
|
+
}
|
|
10
|
+
const SelectedPartView = partSelection === null || partSelection === void 0 ? void 0 : partSelection.view;
|
|
11
|
+
if (SelectedPartView) {
|
|
12
|
+
return <SelectedPartView part={component} path={path} data={data} common={common} meta={meta}/>;
|
|
13
|
+
}
|
|
14
|
+
else if (component === null || component === void 0 ? void 0 : component.descriptor) {
|
|
15
|
+
// empty descriptor usually means uninitialized part
|
|
16
|
+
console.warn(`BasePart: can not render part '${component.descriptor}': no next view or catch-all defined`);
|
|
17
|
+
if (shouldShowMissingView(meta)) {
|
|
18
|
+
return <MissingComponent type={XP_COMPONENT_TYPE.PART} descriptor={component.descriptor}/>;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
export default BasePart;
|
|
24
|
+
//# sourceMappingURL=BasePart.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BasePart.jsx","sourceRoot":"","sources":["../../src/views/BasePart.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAGxE,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IACtC,MAAM,EAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAEpD,IAAI,aAAa,CAAC;IAClB,IAAI,SAAS,EAAE,CAAC;QACZ,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,gBAAgB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,CAAC;IAC7C,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IAC3C,CAAC;SAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,EAAE,CAAC;QAC/B,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,kCAAkC,SAAS,CAAC,UAAU,sCAAsC,CAAC,CAAC;QAC3G,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/F,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Empty.jsx","sourceRoot":"","sources":["../../src/views/Empty.tsx"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;AAE1B,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FRAGMENT_DEFAULT_REGION_NAME, XP_COMPONENT_TYPE } from '../common/constants';
|
|
2
|
+
import BaseComponent, { MissingComponent, shouldShowMissingView } from './BaseComponent';
|
|
3
|
+
const FragmentView = (props) => {
|
|
4
|
+
var _a;
|
|
5
|
+
const { component, page } = props;
|
|
6
|
+
const comps = [];
|
|
7
|
+
if (page) {
|
|
8
|
+
// rendering whole page
|
|
9
|
+
const regions = page.regions || {};
|
|
10
|
+
const regionComps = (_a = regions[FRAGMENT_DEFAULT_REGION_NAME]) === null || _a === void 0 ? void 0 : _a.components;
|
|
11
|
+
if (regionComps) {
|
|
12
|
+
comps.push(...regionComps);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
else if (component === null || component === void 0 ? void 0 : component.fragment) {
|
|
16
|
+
// rendering a part of a page
|
|
17
|
+
comps.push(...component.fragment.components);
|
|
18
|
+
}
|
|
19
|
+
if (!comps.length && shouldShowMissingView(props.meta)) {
|
|
20
|
+
return <MissingComponent type={XP_COMPONENT_TYPE.FRAGMENT} descriptor={(page === null || page === void 0 ? void 0 : page.descriptor) || (component === null || component === void 0 ? void 0 : component.id)}/>;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const { common, meta } = props;
|
|
24
|
+
return (<>
|
|
25
|
+
{comps.map((comp, i) => (<BaseComponent key={i} component={comp} common={common} meta={meta}/>))}
|
|
26
|
+
</>);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export default FragmentView;
|
|
30
|
+
//# sourceMappingURL=Fragment.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fragment.jsx","sourceRoot":"","sources":["../../src/views/Fragment.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,4BAA4B,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACpF,OAAO,aAAa,EAAE,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAGvF,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;;IAC1C,MAAM,EAAC,SAAS,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAChC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,IAAI,IAAI,EAAE,CAAC;QACP,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,4BAA4B,CAAC,0CAAE,UAAU,CAAC;QACtE,IAAI,WAAW,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE,CAAC;QAC7B,6BAA6B;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,EAAE,CAAA,CAAC,EAAE,CAAC;IAChH,CAAC;SAAM,CAAC;QACJ,MAAM,EAAC,MAAM,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QAE7B,OAAO,CACH,EACI;gBAAA,CACI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAmB,EAAE,CAAS,EAAE,EAAE,CAAC,CAC1C,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CACxE,CACL,CACJ;YAAA,GAAG,CACN,CAAC;IACN,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { XP_REQUEST_TYPE } from '../common/constants';
|
|
2
|
+
import SingleComponent from './SingleComponent';
|
|
3
|
+
import BaseContent from './BaseContent';
|
|
4
|
+
const _MainView = (props) => {
|
|
5
|
+
const { meta } = props;
|
|
6
|
+
// Single-component render:
|
|
7
|
+
if ((meta === null || meta === void 0 ? void 0 : meta.requestType) === XP_REQUEST_TYPE.COMPONENT) {
|
|
8
|
+
return <SingleComponent {...props}/>;
|
|
9
|
+
}
|
|
10
|
+
// meta.requestType="type", and hence content-type based, is standard view for now.
|
|
11
|
+
return <BaseContent {...props}/>;
|
|
12
|
+
};
|
|
13
|
+
export default _MainView;
|
|
14
|
+
//# sourceMappingURL=MainView.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MainView.jsx","sourceRoot":"","sources":["../../src/views/MainView.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACpD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,SAAS,GAAG,CAAC,KAAyB,EAAE,EAAE;IAC5C,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC;IAErB,2BAA2B;IAC3B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,MAAK,eAAe,CAAC,SAAS,EAAE,CAAC;QAClD,OAAO,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;IAC1C,CAAC;IAED,mFAAmF;IACnF,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,EAAG,CAAC;AACtC,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
const PropsView = (props) => {
|
|
3
|
+
return (<div className='debug' style={{ margin: '10px', padding: '10px', border: '2px solid lightgrey' }}>
|
|
4
|
+
<DataDump label='Page' data={props.page}/>
|
|
5
|
+
<DataDump label='Part' data={props.part}/>
|
|
6
|
+
<DataDump label='Layout' data={props.layout}/>
|
|
7
|
+
<DataDump label='Data' data={props.data}/>
|
|
8
|
+
<DataDump label='Common' data={props.common}/>
|
|
9
|
+
</div>);
|
|
10
|
+
};
|
|
11
|
+
export default PropsView;
|
|
12
|
+
const DataDump = ({ label, data }) => ((data && (<>
|
|
13
|
+
{label && (<h5 style={{ marginTop: '0', marginBottom: '0' }}>{label}:</h5>)}
|
|
14
|
+
<pre style={{
|
|
15
|
+
fontSize: '.8em',
|
|
16
|
+
width: '100%',
|
|
17
|
+
whiteSpace: 'pre-wrap',
|
|
18
|
+
wordWrap: 'break-word'
|
|
19
|
+
}}>{JSON.stringify(data, null, 2)}</pre>
|
|
20
|
+
</>)) || null);
|
|
21
|
+
//# sourceMappingURL=PropsView.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropsView.jsx","sourceRoot":"","sources":["../../src/views/PropsView.tsx"],"names":[],"mappings":"AAAA,+BAA+B;AAO/B,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;IAC7B,OAAO,CACH,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAClB,KAAK,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAC,CAAC,CACxE;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAC5C;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC;YAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAChD;QAAA,EAAE,GAAG,CAAC,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAQ,EAAE,EAAE,CAAC,CACvC,CAAC,IAAI,IAAI,CACD,EACI;gBAAA,CAAC,KAAK,IAAI,CACN,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAChE,CACD;gBAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACR,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,YAAY;KACzB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAC3C;YAAA,GAAG,CACN,CACJ,IAAI,IAAI,CACZ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RegionProps, RegionsProps } from '../types';
|
|
2
|
+
/** Single region */
|
|
3
|
+
export declare const RegionView: (props: RegionProps) => import("react").JSX.Element;
|
|
4
|
+
/** Multiple regions, or only one if named in props.selected */
|
|
5
|
+
declare const RegionsView: (props: RegionsProps) => import("react").JSX.Element;
|
|
6
|
+
export default RegionsView;
|
|
@@ -1,76 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
import type {PageComponent, RegionProps, RegionsProps} from '../types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {PORTAL_REGION_ATTRIBUTE, RENDER_MODE} from '../common/constants';
|
|
1
|
+
import { PORTAL_REGION_ATTRIBUTE, RENDER_MODE } from '../common/constants';
|
|
6
2
|
import BaseComponent from './BaseComponent';
|
|
7
|
-
|
|
8
|
-
|
|
9
3
|
/** Single region */
|
|
10
|
-
export const RegionView = (props
|
|
11
|
-
const {name, components, common, meta, className} = props;
|
|
12
|
-
const regionAttrs
|
|
13
|
-
|
|
4
|
+
export const RegionView = (props) => {
|
|
5
|
+
const { name, components, common, meta, className } = props;
|
|
6
|
+
const regionAttrs = {};
|
|
14
7
|
if (className) {
|
|
15
8
|
regionAttrs.className = className;
|
|
16
9
|
}
|
|
17
|
-
|
|
18
10
|
const children = (components || [])
|
|
19
11
|
.sort(sortPageComponentsByPath)
|
|
20
|
-
.map((component
|
|
21
|
-
<BaseComponent key={`${regionAttrs.id}-${i}`} component={component} common={common} meta={meta}/>
|
|
22
|
-
));
|
|
23
|
-
|
|
12
|
+
.map((component, i) => (<BaseComponent key={`${regionAttrs.id}-${i}`} component={component} common={common} meta={meta}/>));
|
|
24
13
|
if (meta.renderMode === RENDER_MODE.EDIT) {
|
|
25
14
|
regionAttrs.id = name + 'Region';
|
|
26
15
|
regionAttrs[PORTAL_REGION_ATTRIBUTE] = name;
|
|
27
16
|
}
|
|
28
|
-
|
|
29
17
|
return <div {...regionAttrs}>{children}</div>;
|
|
30
18
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
19
|
/** Multiple regions, or only one if named in props.selected */
|
|
34
|
-
const RegionsView = (props
|
|
35
|
-
const {page, name, meta, common} = props;
|
|
36
|
-
const regions = page
|
|
20
|
+
const RegionsView = (props) => {
|
|
21
|
+
const { page, name, meta, common } = props;
|
|
22
|
+
const regions = page === null || page === void 0 ? void 0 : page.regions;
|
|
37
23
|
if (!regions || !Object.keys(regions)) {
|
|
38
24
|
return null;
|
|
39
25
|
}
|
|
40
|
-
|
|
41
26
|
// Detect if any single region is selected for rendering and if so, handle that
|
|
42
27
|
if (name) {
|
|
43
28
|
const selectedRegion = regions[name];
|
|
44
29
|
if (!selectedRegion) {
|
|
45
|
-
console.warn(
|
|
46
|
-
`Region name '${name}' was selected but not found among regions (${JSON.stringify(Object.keys(regions))}). Skipping.`); // TODO: Throw error instead of this? Return null?
|
|
30
|
+
console.warn(`Region name '${name}' was selected but not found among regions (${JSON.stringify(Object.keys(regions))}). Skipping.`); // TODO: Throw error instead of this? Return null?
|
|
47
31
|
return null;
|
|
48
32
|
}
|
|
49
33
|
return <RegionView {...selectedRegion} common={common} meta={meta}/>;
|
|
50
34
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
{
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return <RegionView key={i} {...region} common={common} meta={meta}/>;
|
|
58
|
-
})
|
|
59
|
-
}
|
|
60
|
-
</>
|
|
61
|
-
);
|
|
35
|
+
return (<>
|
|
36
|
+
{Object.keys(regions).map((name, i) => {
|
|
37
|
+
const region = regions[name];
|
|
38
|
+
return <RegionView key={i} {...region} common={common} meta={meta}/>;
|
|
39
|
+
})}
|
|
40
|
+
</>);
|
|
62
41
|
};
|
|
63
|
-
|
|
64
|
-
function sortPageComponentsByPath(aComp: PageComponent, bComp: PageComponent): number {
|
|
42
|
+
function sortPageComponentsByPath(aComp, bComp) {
|
|
65
43
|
// sort according to index in region, otherwise there will be a mismatch of views and data
|
|
66
44
|
// because after 10 components the order will be: /main/1, /main/11, /main/2, /main/3,...
|
|
67
|
-
|
|
68
45
|
let pathArr = aComp.path.split('/');
|
|
69
46
|
const aIndex = +(pathArr[pathArr.length - 1] || 0);
|
|
70
47
|
pathArr = bComp.path.split('/');
|
|
71
48
|
const bIndex = +(pathArr[pathArr.length - 1] || 0);
|
|
72
|
-
|
|
73
49
|
return aIndex - bIndex;
|
|
74
50
|
}
|
|
75
|
-
|
|
76
51
|
export default RegionsView;
|
|
52
|
+
//# sourceMappingURL=Region.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Region.jsx","sourceRoot":"","sources":["../../src/views/Region.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { getUrl, UrlProcessor } from '../common/UrlProcessor';
|
|
2
|
+
import BaseMacro from './BaseMacro';
|
|
3
|
+
import Link from 'next/link';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { RichText } from '@enonic/react-components';
|
|
6
|
+
const RichTextView = (props) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const component = useMemo(() => ({
|
|
9
|
+
type: 'text',
|
|
10
|
+
path: props.meta.path,
|
|
11
|
+
text: props.data.processedHtml
|
|
12
|
+
}), [props.meta.path, props.data.processedHtml]);
|
|
13
|
+
return <RichText data={wrapData(props.data)} meta={toRichTextMetaData(props.meta)} nextMeta={props.meta} component={component} className={props.className} tag={props.tag} replacer={wrapReplacer(props.customReplacer, props.meta, props.renderMacroInEditMode)} renderInEditMode={(_a = props.renderMacroInEditMode) !== null && _a !== void 0 ? _a : true} Macro={MacroAdapter} Link={LinkAdapter} Image={ImageAdapter}/>;
|
|
14
|
+
};
|
|
15
|
+
function wrapReplacer(nextReplacer, meta, renderMacroInEditMode) {
|
|
16
|
+
if (!nextReplacer) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return ({ el, data }) => {
|
|
20
|
+
return nextReplacer(el, data, meta, renderMacroInEditMode);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function wrapData(data) {
|
|
24
|
+
if (!data.macros || !data.macros.length) {
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
27
|
+
const macroComponents = data.macros.map(macroData => {
|
|
28
|
+
return {
|
|
29
|
+
component: {
|
|
30
|
+
type: 'macro',
|
|
31
|
+
ref: macroData.ref,
|
|
32
|
+
name: macroData.name,
|
|
33
|
+
descriptor: macroData.descriptor
|
|
34
|
+
},
|
|
35
|
+
data: {
|
|
36
|
+
name: macroData.name,
|
|
37
|
+
descriptor: macroData.descriptor,
|
|
38
|
+
config: macroData.config || {}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
return Object.assign(Object.assign({}, data), { macroComponents });
|
|
43
|
+
}
|
|
44
|
+
function MacroAdapter(props) {
|
|
45
|
+
const { children, component, data, common, meta, nextMeta, renderInEditMode } = props;
|
|
46
|
+
return <BaseMacro data={data} meta={nextMeta} renderInEditMode={renderInEditMode}>{children}</BaseMacro>;
|
|
47
|
+
}
|
|
48
|
+
function LinkAdapter(props) {
|
|
49
|
+
return <Link href={getUrl(props.href, props.nextMeta)}>{props.children}</Link>;
|
|
50
|
+
}
|
|
51
|
+
function ImageAdapter(props) {
|
|
52
|
+
var _a;
|
|
53
|
+
const srcSet = ((_a = props.srcSet) === null || _a === void 0 ? void 0 : _a.length) ? UrlProcessor.processSrcSet(props.srcSet, props.nextMeta) : undefined;
|
|
54
|
+
return <img src={getUrl(props.src, props.nextMeta)} style={props.style} alt={props.alt} sizes={props.sizes} srcSet={srcSet}/>;
|
|
55
|
+
}
|
|
56
|
+
function toRichTextMetaData(meta) {
|
|
57
|
+
return {
|
|
58
|
+
type: meta.type,
|
|
59
|
+
mode: meta.renderMode,
|
|
60
|
+
path: meta.path,
|
|
61
|
+
id: meta.id
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export default RichTextView;
|
|
65
|
+
//# sourceMappingURL=RichTextView.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextView.jsx","sourceRoot":"","sources":["../../src/views/RichTextView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Render only one component as a result of a request from XP-side .../_/component/... during edit refresh. */
|
|
2
|
+
import type { FetchContentResult } from '../types';
|
|
3
|
+
declare const SingleComponent: ({ meta, common }: FetchContentResult) => import("react").JSX.Element;
|
|
4
|
+
export default SingleComponent;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import BaseComponent from './BaseComponent';
|
|
2
|
+
const SingleComponent = ({ meta, common }) => {
|
|
3
|
+
if (!(meta === null || meta === void 0 ? void 0 : meta.requestedComponent)) {
|
|
4
|
+
// TODO: Handle missing target region (Throw a 404, "component path not found"?)
|
|
5
|
+
return null;
|
|
6
|
+
}
|
|
7
|
+
return <BaseComponent component={meta.requestedComponent} common={common} meta={meta}/>;
|
|
8
|
+
};
|
|
9
|
+
export default SingleComponent;
|
|
10
|
+
//# sourceMappingURL=SingleComponent.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleComponent.jsx","sourceRoot":"","sources":["../../src/views/SingleComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,MAAM,eAAe,GAAG,CAAC,EAAC,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;IAE3D,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,kBAAkB,CAAA,EAAE,CAAC;QAC5B,gFAAgF;QAChF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5F,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StaticContentProps } from '../types';
|
|
2
|
+
export default function StaticContent({ children, element, condition, ...props }: StaticContentProps): import("react").ReactElement<{
|
|
3
|
+
ref: import("react").RefObject<unknown>;
|
|
4
|
+
suppressHydrationWarning: boolean;
|
|
5
|
+
dangerouslySetInnerHTML: {
|
|
6
|
+
__html: string;
|
|
7
|
+
};
|
|
8
|
+
}, string | import("react").JSXElementConstructor<any>> | import("react").DOMElement<{
|
|
9
|
+
[x: string]: any;
|
|
10
|
+
}, Element>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { createElement, createRef } from 'react';
|
|
13
|
+
function useStaticContent(ref, isServer) {
|
|
14
|
+
var _a;
|
|
15
|
+
if (isServer) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.innerHTML) === '') {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
export default function StaticContent(_a) {
|
|
24
|
+
var { children, element = 'div', condition = true } = _a, props = __rest(_a, ["children", "element", "condition"]);
|
|
25
|
+
const isServer = typeof window === 'undefined';
|
|
26
|
+
const ref = createRef();
|
|
27
|
+
const isStatic = useStaticContent(ref, isServer);
|
|
28
|
+
// avoid re-render on the client
|
|
29
|
+
if (isStatic && condition) {
|
|
30
|
+
return createElement(element, Object.assign(Object.assign({}, props), { ref, suppressHydrationWarning: true, dangerouslySetInnerHTML: { __html: '' } }));
|
|
31
|
+
}
|
|
32
|
+
// just render if:
|
|
33
|
+
// - condition is false
|
|
34
|
+
// - we're in the server or a spa navigation
|
|
35
|
+
return createElement(element, props, ...[].concat(children));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=StaticContent.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticContent.jsx","sourceRoot":"","sources":["../../src/views/StaticContent.tsx"],"names":[],"mappings":";;;;;;;;;;;AAGA,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAG/C,SAAS,gBAAgB,CAAC,GAAG,EAAE,QAAQ;;IACnC,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,SAAS,MAAK,EAAE,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAA2E;QAA3E,EAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,SAAS,GAAG,IAAI,OAA+B,EAA1B,KAAK,cAAtD,oCAAuD,CAAD;IACxF,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEjD,gCAAgC;IAChC,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,aAAa,CAAC,OAAO,kCACrB,KAAK,KACR,GAAG,EACH,wBAAwB,EAAE,IAAI,EAC9B,uBAAuB,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,IACvC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,uBAAuB;IACvB,4CAA4C;IAC5C,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MetaData, TextData } from '../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
meta: MetaData;
|
|
4
|
+
component: TextData;
|
|
5
|
+
path: string;
|
|
6
|
+
}
|
|
7
|
+
declare const DefaultTextView: ({ component, meta, path }: Props) => import("react").JSX.Element;
|
|
8
|
+
export default DefaultTextView;
|