@enonic/nextjs-adapter 3.0.0-B1 → 3.0.0-B3
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/baseMappings.js +3 -2
- package/baseMappings.js.map +1 -0
- package/client.d.ts +1 -0
- package/client.js +3 -0
- package/client.js.map +1 -0
- package/common/ComponentRegistry.d.ts +34 -0
- package/{ComponentRegistry.js → common/ComponentRegistry.js} +26 -26
- package/common/ComponentRegistry.js.map +1 -0
- package/{UrlProcessor.d.ts → common/UrlProcessor.d.ts} +2 -2
- package/{UrlProcessor.js → common/UrlProcessor.js} +16 -8
- package/common/UrlProcessor.js.map +1 -0
- package/common/constants.d.ts +50 -0
- package/common/constants.js +79 -0
- package/common/constants.js.map +1 -0
- package/common/env.d.ts +11 -0
- package/common/env.js +29 -0
- package/common/env.js.map +1 -0
- package/guillotine/applyProcessors.d.ts +2 -0
- package/guillotine/applyProcessors.js +33 -0
- package/guillotine/applyProcessors.js.map +1 -0
- package/guillotine/buildComponentTree.d.ts +2 -0
- package/guillotine/buildComponentTree.js +45 -0
- package/guillotine/buildComponentTree.js.map +1 -0
- package/guillotine/buildErrorResponse.d.ts +3 -0
- package/guillotine/buildErrorResponse.js +26 -0
- package/guillotine/buildErrorResponse.js.map +1 -0
- package/guillotine/buildPage.d.ts +2 -0
- package/guillotine/buildPage.js +10 -0
- package/guillotine/buildPage.js.map +1 -0
- package/guillotine/collectComponentDescriptors.d.ts +6 -0
- package/guillotine/collectComponentDescriptors.js +43 -0
- package/guillotine/collectComponentDescriptors.js.map +1 -0
- package/guillotine/combineMultipleQueries.d.ts +2 -0
- package/guillotine/combineMultipleQueries.js +58 -0
- package/guillotine/combineMultipleQueries.js.map +1 -0
- package/guillotine/createMetaData.d.ts +17 -0
- package/guillotine/createMetaData.js +44 -0
- package/guillotine/createMetaData.js.map +1 -0
- package/guillotine/fetchContent.d.ts +2 -40
- package/guillotine/fetchContent.js +65 -676
- package/guillotine/fetchContent.js.map +1 -0
- package/guillotine/fetchContentData.d.ts +2 -0
- package/guillotine/fetchContentData.js +27 -0
- package/guillotine/fetchContentData.js.map +1 -0
- package/guillotine/fetchContentPathsForAllLocales.d.ts +2 -0
- package/guillotine/fetchContentPathsForAllLocales.js +21 -0
- package/guillotine/fetchContentPathsForAllLocales.js.map +1 -0
- package/guillotine/fetchContentPathsForLocale.d.ts +2 -0
- package/guillotine/fetchContentPathsForLocale.js +40 -0
- package/guillotine/fetchContentPathsForLocale.js.map +1 -0
- package/guillotine/fetchFromApi.d.ts +3 -0
- package/guillotine/fetchFromApi.js +67 -0
- package/guillotine/fetchFromApi.js.map +1 -0
- package/guillotine/fetchGuillotine.d.ts +3 -0
- package/guillotine/fetchGuillotine.js +57 -0
- package/guillotine/fetchGuillotine.js.map +1 -0
- package/guillotine/fetchMetaData.d.ts +2 -0
- package/guillotine/fetchMetaData.js +30 -0
- package/guillotine/fetchMetaData.js.map +1 -0
- package/guillotine/getCleanContentPathArrayOrThrow400.d.ts +2 -0
- package/guillotine/getCleanContentPathArrayOrThrow400.js +20 -0
- package/guillotine/getCleanContentPathArrayOrThrow400.js.map +1 -0
- package/guillotine/getComponentConfig.d.ts +2 -0
- package/guillotine/getComponentConfig.js +5 -0
- package/guillotine/getComponentConfig.js.map +1 -0
- package/guillotine/getContentAndComponentPaths.d.ts +1 -0
- package/guillotine/getContentAndComponentPaths.js +12 -0
- package/guillotine/getContentAndComponentPaths.js.map +1 -0
- package/guillotine/getMetaData.d.ts +0 -92
- package/guillotine/getMetaData.js +47 -109
- package/guillotine/getMetaData.js.map +1 -0
- package/guillotine/getParentRegion.d.ts +2 -0
- package/guillotine/getParentRegion.js +40 -0
- package/guillotine/getParentRegion.js.map +1 -0
- package/guillotine/getQueryAndVariables.d.ts +2 -0
- package/guillotine/getQueryAndVariables.js +32 -0
- package/guillotine/getQueryAndVariables.js.map +1 -0
- package/guillotine/metadata/configQuery.d.ts +2 -0
- package/guillotine/metadata/configQuery.js +36 -0
- package/guillotine/metadata/configQuery.js.map +1 -0
- package/guillotine/metadata/richTextQuery.d.ts +1 -0
- package/guillotine/metadata/richTextQuery.js +32 -0
- package/guillotine/metadata/richTextQuery.js.map +1 -0
- package/guillotine/parseComponentPath.d.ts +2 -0
- package/guillotine/parseComponentPath.js +22 -0
- package/guillotine/parseComponentPath.js.map +1 -0
- package/guillotine/prefixLayoutPath.d.ts +1 -0
- package/guillotine/prefixLayoutPath.js +13 -0
- package/guillotine/prefixLayoutPath.js.map +1 -0
- package/guillotine/processComponentConfig.d.ts +2 -0
- package/guillotine/processComponentConfig.js +30 -0
- package/guillotine/processComponentConfig.js.map +1 -0
- package/guillotine/restrictComponentsToPath.d.ts +2 -0
- package/guillotine/restrictComponentsToPath.js +35 -0
- package/guillotine/restrictComponentsToPath.js.map +1 -0
- package/guillotine/validateData.d.ts +2 -0
- package/guillotine/validateData.js +7 -0
- package/guillotine/validateData.js.map +1 -0
- package/guillotine/validateNotFound.d.ts +2 -0
- package/guillotine/validateNotFound.js +16 -0
- package/guillotine/validateNotFound.js.map +1 -0
- package/guillotine/validateShortcut.d.ts +2 -0
- package/guillotine/validateShortcut.js +29 -0
- package/guillotine/validateShortcut.js.map +1 -0
- package/i18n/LocaleContext.d.ts +2 -8
- package/i18n/LocaleContext.jsx +17 -13
- package/i18n/LocaleContext.jsx.map +1 -0
- package/i18n/i18n.d.ts +1 -3
- package/i18n/i18n.js +2 -1
- package/i18n/i18n.js.map +1 -0
- package/index.d.ts +14 -7
- package/index.js +14 -7
- package/index.js.map +1 -0
- package/package.json +63 -15
- package/query/Shortcut.js +1 -0
- package/query/Shortcut.js.map +1 -0
- package/server.d.ts +5 -0
- package/server.js.map +1 -0
- package/types/component.d.ts +114 -0
- package/types/component.js +2 -0
- package/types/component.js.map +1 -0
- package/types/componentProps.d.ts +104 -0
- package/types/componentProps.js +2 -0
- package/types/componentProps.js.map +1 -0
- package/types/guillotine.d.ts +342 -0
- package/types/guillotine.js +2 -0
- package/types/guillotine.js.map +1 -0
- package/types/i18n.d.ts +7 -0
- package/types/i18n.js +2 -0
- package/types/i18n.js.map +1 -0
- package/types/index.d.ts +45 -0
- package/types/index.js +3 -0
- package/types/index.js.map +1 -0
- package/types/next.d.ts +6 -0
- package/types/next.js +2 -0
- package/types/next.js.map +1 -0
- package/types/util.d.ts +3 -0
- package/types/util.js +3 -0
- package/types/util.js.map +1 -0
- package/utils/addLineNumbers.d.ts +1 -0
- package/utils/addLineNumbers.js +4 -0
- package/utils/addLineNumbers.js.map +1 -0
- package/utils/buildGuillotineRequestHeaders.d.ts +7 -0
- package/utils/buildGuillotineRequestHeaders.js +16 -0
- package/utils/buildGuillotineRequestHeaders.js.map +1 -0
- package/utils/commonChars.d.ts +1 -0
- package/utils/commonChars.js +17 -0
- package/utils/commonChars.js.map +1 -0
- package/utils/fixDoubleSlashes.d.ts +1 -0
- package/utils/fixDoubleSlashes.js +4 -0
- package/utils/fixDoubleSlashes.js.map +1 -0
- package/utils/getContentApiUrl.d.ts +2 -0
- package/utils/getContentApiUrl.js +15 -0
- package/utils/getContentApiUrl.js.map +1 -0
- package/utils/getProjectLocaleConfig.d.ts +2 -0
- package/utils/getProjectLocaleConfig.js +19 -0
- package/utils/getProjectLocaleConfig.js.map +1 -0
- package/utils/getProjectLocaleConfigById.d.ts +2 -0
- package/utils/getProjectLocaleConfigById.js +16 -0
- package/utils/getProjectLocaleConfigById.js.map +1 -0
- package/utils/getProjectLocaleConfigByLocale.d.ts +2 -0
- package/utils/getProjectLocaleConfigByLocale.js +13 -0
- package/utils/getProjectLocaleConfigByLocale.js.map +1 -0
- package/utils/getProjectLocaleConfigs.d.ts +2 -0
- package/utils/getProjectLocaleConfigs.js +30 -0
- package/utils/getProjectLocaleConfigs.js.map +1 -0
- package/utils/getProjectLocales.d.ts +1 -0
- package/utils/getProjectLocales.js +5 -0
- package/utils/getProjectLocales.js.map +1 -0
- package/utils/getRenderMode.d.ts +3 -0
- package/utils/getRenderMode.js +8 -0
- package/utils/getRenderMode.js.map +1 -0
- package/utils/getRequestLocaleInfo.d.ts +6 -0
- package/utils/getRequestLocaleInfo.js +26 -0
- package/utils/getRequestLocaleInfo.js.map +1 -0
- package/utils/getXpBaseUrl.d.ts +2 -0
- package/utils/getXpBaseUrl.js +8 -0
- package/utils/getXpBaseUrl.js.map +1 -0
- package/utils/indent.d.ts +1 -0
- package/utils/indent.js +5 -0
- package/utils/indent.js.map +1 -0
- package/utils/sanitizeGraphqlName.d.ts +1 -0
- package/utils/sanitizeGraphqlName.js +12 -0
- package/utils/sanitizeGraphqlName.js.map +1 -0
- package/views/BaseComponent.d.ts +6 -11
- package/views/BaseComponent.jsx +18 -21
- package/views/BaseComponent.jsx.map +1 -0
- package/views/BaseContent.d.ts +3 -3
- package/views/BaseContent.jsx +2 -5
- package/views/BaseContent.jsx.map +1 -0
- package/views/BaseLayout.d.ts +3 -16
- package/views/BaseLayout.jsx +3 -3
- package/views/BaseLayout.jsx.map +1 -0
- package/views/BaseMacro.d.ts +3 -13
- package/views/BaseMacro.jsx +4 -3
- package/views/BaseMacro.jsx.map +1 -0
- package/views/BasePage.d.ts +3 -18
- package/views/BasePage.jsx +3 -3
- package/views/BasePage.jsx.map +1 -0
- package/views/BasePart.d.ts +3 -18
- package/views/BasePart.jsx +3 -3
- package/views/BasePart.jsx.map +1 -0
- package/views/Empty.d.ts +2 -2
- package/views/Empty.jsx +2 -1
- package/views/Empty.jsx.map +1 -0
- package/views/Fragment.d.ts +3 -9
- package/views/Fragment.jsx +2 -2
- package/views/Fragment.jsx.map +1 -0
- package/views/MainView.d.ts +3 -3
- package/views/MainView.jsx +2 -2
- package/views/MainView.jsx.map +1 -0
- package/views/PropsView.d.ts +3 -0
- package/views/PropsView.jsx +21 -0
- package/views/PropsView.jsx.map +1 -0
- package/views/Region.d.ts +4 -17
- package/views/Region.jsx +2 -2
- package/views/Region.jsx.map +1 -0
- package/views/RichTextView.d.ts +3 -13
- package/views/RichTextView.jsx +2 -2
- package/views/RichTextView.jsx.map +1 -0
- package/views/SingleComponent.d.ts +3 -3
- package/views/SingleComponent.jsx +1 -2
- package/views/SingleComponent.jsx.map +1 -0
- package/views/StaticContent.d.ts +2 -6
- package/views/StaticContent.jsx +1 -0
- package/views/StaticContent.jsx.map +1 -0
- package/views/Text.d.ts +5 -5
- package/views/Text.jsx +1 -1
- package/views/Text.jsx.map +1 -0
- package/views/getClientHydratedHtml.d.ts +2 -0
- package/views/getClientHydratedHtml.jsx +9 -0
- package/views/getClientHydratedHtml.jsx.map +1 -0
- package/views/macros/DefaultMacro.d.ts +1 -1
- package/views/macros/DefaultMacro.jsx +1 -0
- package/views/macros/DefaultMacro.jsx.map +1 -0
- package/views/macros/DisableMacro.d.ts +1 -1
- package/views/macros/DisableMacro.jsx +1 -0
- package/views/macros/DisableMacro.jsx.map +1 -0
- package/ComponentRegistry.d.ts +0 -64
- package/utils.d.ts +0 -111
- package/utils.js +0 -255
package/baseMappings.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentRegistry } from './ComponentRegistry';
|
|
2
|
-
import { FRAGMENT_CONTENTTYPE_NAME, XP_COMPONENT_TYPE } from './
|
|
1
|
+
import { ComponentRegistry } from './common/ComponentRegistry';
|
|
2
|
+
import { FRAGMENT_CONTENTTYPE_NAME, XP_COMPONENT_TYPE } from './common/constants';
|
|
3
3
|
import FragmentView from './views/Fragment';
|
|
4
4
|
import BasePage from './views/BasePage';
|
|
5
5
|
import BasePart from './views/BasePart';
|
|
@@ -40,3 +40,4 @@ ComponentRegistry.addMacro('system:disable', {
|
|
|
40
40
|
view: DisableMacro,
|
|
41
41
|
configQuery: '{body}',
|
|
42
42
|
});
|
|
43
|
+
//# sourceMappingURL=baseMappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseMappings.js","sourceRoot":"","sources":["../src/baseMappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAC,yBAAyB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGlD,qBAAqB;AAErB,iBAAiB,CAAC,cAAc,CAAC,yBAAyB,EAAE;IACxD,IAAI,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,iBAAiB,CAAC,cAAc,CAAC,eAAe,EAAE;IAC9C,KAAK,EAAE,gBAAgB;CAC1B,CAAC,CAAC;AAEH,kBAAkB;AAElB,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,EAAE;IACrD,IAAI,EAAE,UAAU;CACnB,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH,iBAAiB;AACjB,iBAAiB,CAAC,QAAQ,CAAC,cAAc,EAAE;IACvC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,QAAQ;CACxB,CAAC,CAAC;AACH,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,EAAE;IACzC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,QAAQ;CACxB,CAAC,CAAC"}
|
package/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { LocaleContextProvider, useLocaleContext } from './i18n/LocaleContext';
|
package/client.js
ADDED
package/client.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ComponentDefinition, ComponentDefinitionParams, PageComponent, SelectedQueryMaybeVariablesFunc } from '../types';
|
|
2
|
+
export declare class ComponentRegistry {
|
|
3
|
+
private static contentTypes;
|
|
4
|
+
private static pages;
|
|
5
|
+
private static components;
|
|
6
|
+
private static parts;
|
|
7
|
+
private static layouts;
|
|
8
|
+
private static macros;
|
|
9
|
+
private static commonQuery;
|
|
10
|
+
static addComponent(name: string, obj: ComponentDefinitionParams): void;
|
|
11
|
+
static addContentType(name: string, obj: ComponentDefinitionParams): void;
|
|
12
|
+
static addMacro(name: string, obj: ComponentDefinitionParams): void;
|
|
13
|
+
static addLayout(name: string, obj: ComponentDefinitionParams): void;
|
|
14
|
+
static addPage(name: string, obj: ComponentDefinitionParams): void;
|
|
15
|
+
static addPart(name: string, obj: ComponentDefinitionParams): void;
|
|
16
|
+
private static addType;
|
|
17
|
+
private static getSelector;
|
|
18
|
+
private static getType;
|
|
19
|
+
static getByComponent(component: PageComponent): ComponentDefinition | undefined;
|
|
20
|
+
static setCommonQuery(query: SelectedQueryMaybeVariablesFunc): void;
|
|
21
|
+
static getCommonQuery(): SelectedQueryMaybeVariablesFunc;
|
|
22
|
+
static getMacro(name: string): ComponentDefinition | undefined;
|
|
23
|
+
static getMacros(): [string, ComponentDefinition][];
|
|
24
|
+
static getParts(): [string, ComponentDefinition][];
|
|
25
|
+
static getLayouts(): [string, ComponentDefinition][];
|
|
26
|
+
static getPages(): [string, ComponentDefinition][];
|
|
27
|
+
static getContentTypes(): [string, ComponentDefinition][];
|
|
28
|
+
static getComponents(): [string, ComponentDefinition][];
|
|
29
|
+
static getContentType(name: string): ComponentDefinition | undefined;
|
|
30
|
+
static getPage(name: string): ComponentDefinition | undefined;
|
|
31
|
+
static getPart(name: string): ComponentDefinition | undefined;
|
|
32
|
+
static getLayout(name: string): ComponentDefinition | undefined;
|
|
33
|
+
static getComponent(name: string): ComponentDefinition | undefined;
|
|
34
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XP_COMPONENT_TYPE } from './
|
|
1
|
+
import { CATCH_ALL, XP_COMPONENT_TYPE, } from './constants';
|
|
2
2
|
function toSelectorName(type) {
|
|
3
3
|
switch (type) {
|
|
4
4
|
case XP_COMPONENT_TYPE.PAGE:
|
|
@@ -9,8 +9,30 @@ function toSelectorName(type) {
|
|
|
9
9
|
return 'part';
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
export const CATCH_ALL = '*';
|
|
13
12
|
export class ComponentRegistry {
|
|
13
|
+
static addComponent(name, obj) {
|
|
14
|
+
return ComponentRegistry.addType('component', name, obj);
|
|
15
|
+
}
|
|
16
|
+
static addContentType(name, obj) {
|
|
17
|
+
return ComponentRegistry.addType('contentType', name, obj);
|
|
18
|
+
}
|
|
19
|
+
static addMacro(name, obj) {
|
|
20
|
+
return ComponentRegistry.addType('macro', name, obj);
|
|
21
|
+
}
|
|
22
|
+
static addLayout(name, obj) {
|
|
23
|
+
return ComponentRegistry.addType('layout', name, obj);
|
|
24
|
+
}
|
|
25
|
+
static addPage(name, obj) {
|
|
26
|
+
return ComponentRegistry.addType('page', name, obj);
|
|
27
|
+
}
|
|
28
|
+
static addPart(name, obj) {
|
|
29
|
+
return ComponentRegistry.addType('part', name, obj);
|
|
30
|
+
}
|
|
31
|
+
static addType(selectorName, name, obj) {
|
|
32
|
+
const selector = ComponentRegistry.getSelector(selectorName);
|
|
33
|
+
const curr = selector[name];
|
|
34
|
+
selector[name] = curr ? Object.assign(curr, obj) : obj;
|
|
35
|
+
}
|
|
14
36
|
static getSelector(name) {
|
|
15
37
|
switch (name) {
|
|
16
38
|
case 'contentType':
|
|
@@ -31,7 +53,7 @@ export class ComponentRegistry {
|
|
|
31
53
|
const selector = ComponentRegistry.getSelector(selectorName);
|
|
32
54
|
let type = selector[typeName];
|
|
33
55
|
if (type) {
|
|
34
|
-
type.catchAll =
|
|
56
|
+
type.catchAll = typeName === CATCH_ALL;
|
|
35
57
|
}
|
|
36
58
|
else if (!type && useCatchAll) {
|
|
37
59
|
type = selector[CATCH_ALL];
|
|
@@ -41,11 +63,6 @@ export class ComponentRegistry {
|
|
|
41
63
|
}
|
|
42
64
|
return type;
|
|
43
65
|
}
|
|
44
|
-
static addType(selectorName, name, obj) {
|
|
45
|
-
const selector = ComponentRegistry.getSelector(selectorName);
|
|
46
|
-
const curr = selector[name];
|
|
47
|
-
selector[name] = curr ? Object.assign(curr, obj) : obj;
|
|
48
|
-
}
|
|
49
66
|
static getByComponent(component) {
|
|
50
67
|
const selName = toSelectorName(component.type);
|
|
51
68
|
const cmpData = component[component.type];
|
|
@@ -58,9 +75,6 @@ export class ComponentRegistry {
|
|
|
58
75
|
static getCommonQuery() {
|
|
59
76
|
return this.commonQuery;
|
|
60
77
|
}
|
|
61
|
-
static addMacro(name, obj) {
|
|
62
|
-
return ComponentRegistry.addType('macro', name, obj);
|
|
63
|
-
}
|
|
64
78
|
static getMacro(name) {
|
|
65
79
|
return ComponentRegistry.getType('macro', name);
|
|
66
80
|
}
|
|
@@ -82,33 +96,18 @@ export class ComponentRegistry {
|
|
|
82
96
|
static getComponents() {
|
|
83
97
|
return Object.entries(this.components);
|
|
84
98
|
}
|
|
85
|
-
static addContentType(name, obj) {
|
|
86
|
-
return ComponentRegistry.addType('contentType', name, obj);
|
|
87
|
-
}
|
|
88
99
|
static getContentType(name) {
|
|
89
100
|
return ComponentRegistry.getType('contentType', name);
|
|
90
101
|
}
|
|
91
|
-
static addPage(name, obj) {
|
|
92
|
-
return ComponentRegistry.addType('page', name, obj);
|
|
93
|
-
}
|
|
94
102
|
static getPage(name) {
|
|
95
103
|
return ComponentRegistry.getType('page', name);
|
|
96
104
|
}
|
|
97
|
-
static addPart(name, obj) {
|
|
98
|
-
return ComponentRegistry.addType('part', name, obj);
|
|
99
|
-
}
|
|
100
105
|
static getPart(name) {
|
|
101
106
|
return ComponentRegistry.getType('part', name);
|
|
102
107
|
}
|
|
103
|
-
static addLayout(name, obj) {
|
|
104
|
-
return ComponentRegistry.addType('layout', name, obj);
|
|
105
|
-
}
|
|
106
108
|
static getLayout(name) {
|
|
107
109
|
return ComponentRegistry.getType('layout', name);
|
|
108
110
|
}
|
|
109
|
-
static addComponent(name, obj) {
|
|
110
|
-
return ComponentRegistry.addType('component', name, obj);
|
|
111
|
-
}
|
|
112
111
|
static getComponent(name) {
|
|
113
112
|
return ComponentRegistry.getType('component', name);
|
|
114
113
|
}
|
|
@@ -119,3 +118,4 @@ ComponentRegistry.components = {};
|
|
|
119
118
|
ComponentRegistry.parts = {};
|
|
120
119
|
ComponentRegistry.layouts = {};
|
|
121
120
|
ComponentRegistry.macros = {};
|
|
121
|
+
//# sourceMappingURL=ComponentRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentRegistry.js","sourceRoot":"","sources":["../../src/common/ComponentRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ImageData, LinkData, MetaData } from '
|
|
1
|
+
import type { ImageData, LinkData, MetaData } from '../types';
|
|
2
2
|
export declare class UrlProcessor {
|
|
3
3
|
static IMG_TAG: string;
|
|
4
4
|
static LINK_TAG: string;
|
|
@@ -14,7 +14,7 @@ export declare class UrlProcessor {
|
|
|
14
14
|
static process(url: string, meta: MetaData, serverSide?: boolean, isResource?: boolean): string;
|
|
15
15
|
static setSiteKey(key: string): void;
|
|
16
16
|
static isMediaLink(ref: string, linkData: LinkData[]): boolean;
|
|
17
|
-
static isContentImage(ref: string,
|
|
17
|
+
static isContentImage(ref: string, imageData: ImageData[]): boolean;
|
|
18
18
|
static processSrcSet(srcset: string, meta: MetaData): string;
|
|
19
19
|
private static stripApiUrl;
|
|
20
20
|
private static isAttachmentUrl;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RENDER_MODE } from './constants';
|
|
2
|
+
import { fixDoubleSlashes } from '../utils/fixDoubleSlashes';
|
|
3
|
+
import { getProjectLocaleConfigById } from '../utils/getProjectLocaleConfigById';
|
|
4
|
+
import { commonChars } from '../utils/commonChars';
|
|
2
5
|
import { addBasePath } from 'next/dist/client/add-base-path';
|
|
3
6
|
export class UrlProcessor {
|
|
4
7
|
static process(url, meta, serverSide = false, isResource = false) {
|
|
@@ -10,7 +13,6 @@ export class UrlProcessor {
|
|
|
10
13
|
return url;
|
|
11
14
|
}
|
|
12
15
|
let normalUrl;
|
|
13
|
-
let result;
|
|
14
16
|
if (this.isRelative(url)) {
|
|
15
17
|
normalUrl = url;
|
|
16
18
|
}
|
|
@@ -21,6 +23,7 @@ export class UrlProcessor {
|
|
|
21
23
|
normalUrl = this.stripApiUrl(url, apiUrl);
|
|
22
24
|
}
|
|
23
25
|
const baseUrl = (meta === null || meta === void 0 ? void 0 : meta.baseUrl) && (meta === null || meta === void 0 ? void 0 : meta.baseUrl) !== '/' ? meta.baseUrl : '';
|
|
26
|
+
let result;
|
|
24
27
|
if (meta.renderMode === RENDER_MODE.NEXT) {
|
|
25
28
|
// only add basePath and locale in next mode
|
|
26
29
|
result = `/${normalUrl}`;
|
|
@@ -45,20 +48,24 @@ export class UrlProcessor {
|
|
|
45
48
|
}
|
|
46
49
|
static isMediaLink(ref, linkData) {
|
|
47
50
|
var _a;
|
|
48
|
-
|
|
51
|
+
// Assuming linkData can't contain more than one entry with the same ref
|
|
52
|
+
return Array.isArray(linkData) && !!((_a = linkData.find(data => (data === null || data === void 0 ? void 0 : data.ref) === ref)) === null || _a === void 0 ? void 0 : _a.media);
|
|
49
53
|
}
|
|
50
|
-
static isContentImage(ref,
|
|
54
|
+
static isContentImage(ref, imageData) {
|
|
51
55
|
var _a;
|
|
52
|
-
|
|
56
|
+
// Assuming imageData can't contain more than one entry with the same ref
|
|
57
|
+
return Array.isArray(imageData) && !!((_a = imageData.find(data => data.ref === ref)) === null || _a === void 0 ? void 0 : _a.image);
|
|
53
58
|
}
|
|
54
59
|
static processSrcSet(srcset, meta) {
|
|
55
60
|
return srcset.split(/, */g).map(src => {
|
|
56
61
|
const srcParts = src.trim().split(' ');
|
|
57
62
|
switch (srcParts.length) {
|
|
58
|
-
case 1:
|
|
63
|
+
case 1: // src only
|
|
59
64
|
return this.process(src, meta);
|
|
60
|
-
case 2:
|
|
61
|
-
return this.process(srcParts[0], meta)
|
|
65
|
+
case 2: // width descriptor
|
|
66
|
+
return `${this.process(srcParts[0], meta)} ${srcParts[1]}`;
|
|
67
|
+
case 3: // pixel density descriptor
|
|
68
|
+
return `${this.process(srcParts[0], meta)} ${srcParts[1]} ${srcParts[2]}`;
|
|
62
69
|
default:
|
|
63
70
|
console.warn('Can not process image srcset: ' + src);
|
|
64
71
|
return src;
|
|
@@ -110,3 +117,4 @@ export function getUrl(url, meta) {
|
|
|
110
117
|
export function getAsset(url, meta) {
|
|
111
118
|
return UrlProcessor.process(url, meta, false, true);
|
|
112
119
|
}
|
|
120
|
+
//# sourceMappingURL=UrlProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrlProcessor.js","sourceRoot":"","sources":["../../src/common/UrlProcessor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,0BAA0B,EAAC,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAG3D,MAAM,OAAO,YAAY;IAiBd,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,IAAc,EAAE,UAAU,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK;QACrF,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YAC3G,qBAAqB;YACrB,sBAAsB;YACtB,mBAAmB;YACnB,iCAAiC;YACjC,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,SAAiB,CAAC;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,GAAG,GAAG,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,8DAA8D;YAC9D,sEAAsE;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,OAAO,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3E,IAAI,MAAc,CAAC;QACnB,IAAI,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YACvC,4CAA4C;YAC5C,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpD,4CAA4C;gBAC5C,6CAA6C;gBAC7C,wCAAwC;gBACxC,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,6CAA6C;gBAC7C,MAAM,GAAG,WAAW,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,GAAW;QAChC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,QAAoB;;QACvD,wEAAwE;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,MAAK,GAAG,CAAC,0CAAE,KAAK,CAAA,CAAC;IACxF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,SAAsB;;QAC5D,yEAAyE;QACzE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,MAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,0CAAE,KAAK,CAAA,CAAC;IACzF,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,IAAc;QACtD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,CAAC,EAAE,WAAW;oBACf,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACnC,KAAK,CAAC,EAAE,mBAAmB;oBACvB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,KAAK,CAAC,EAAE,2BAA2B;oBAC/B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E;oBACI,OAAO,CAAC,IAAI,CAAC,gCAAgC,GAAG,GAAG,CAAC,CAAC;oBACrD,OAAO,GAAG,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,MAAc;QAClD,mDAAmD;QACnD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,GAAW;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,GAAW;QACrC,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,CAAC,CAAC,KAAI,GAAG,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,GAAW;QACjC,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,IAAc;;QACnC,IAAI,WAAW,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,KAAI,EAAE,CAAC;QACvE,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;YACvB,WAAW,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;;AAnHa,oBAAO,GAAG,KAAK,CAAC;AAChB,qBAAQ,GAAG,GAAG,CAAC;AACf,sBAAS,GAAG,cAAc,CAAC;AAE3B,qBAAQ,GAAG,gBAAgB,CAAC;AAC5B,sBAAS,GAAG,eAAe,CAAC;AAC5B,uBAAU,GAAG,gBAAgB,CAAC;AAE7B,4BAAe,GAAG,4BAA4B,CAAC;AAC/C,4BAAe,GAAG,MAAM,CAAC;AACzB,8BAAiB,GAAG,MAAM,CAAC;AAC3B,6BAAgB,GAAG,WAAW,CAAC;AA2GlD,6FAA6F;AAC7F,MAAM,aAAa,GAAG,0BAA0B,EAAE,CAAC;AACnD,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAE5C,MAAM,UAAU,MAAM,CAAC,GAAW,EAAE,IAAc;IAC9C,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAc;IAChD,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const CATCH_ALL = "*";
|
|
2
|
+
export declare enum ENV_VARS {
|
|
3
|
+
PROJECTS = "ENONIC_PROJECTS",
|
|
4
|
+
API_URL = "ENONIC_API",
|
|
5
|
+
APP_NAME = "ENONIC_APP_NAME"
|
|
6
|
+
}
|
|
7
|
+
export declare const FRAGMENT_CONTENTTYPE_NAME = "portal:fragment";
|
|
8
|
+
export declare const FRAGMENT_DEFAULT_REGION_NAME = "fragment";
|
|
9
|
+
/** excluded contents:
|
|
10
|
+
* - folder
|
|
11
|
+
* - shortcuts (redirect can't be used in prerender)
|
|
12
|
+
* - media
|
|
13
|
+
* - paths with '/_' in them
|
|
14
|
+
*/
|
|
15
|
+
export declare const GET_STATIC_PATHS_QUERY = "query ($count: Int) {\n guillotine {\n queryDsl(\n first: $count,\n sort: {\n field: \"modifiedTime\",\n direction: DESC\n }\n query: {boolean: {mustNot: [\n {in: {field: \"type\", stringValues: [\"base:folder\", \"base:shortcut\"]}}\n {like: {field: \"type\", value: \"media:*\"}}\n {like: {field: \"_path\", value: \"*/_*\"}}\n ]}}\n ) {\n _name\n _path\n site {_name}\n }\n }\n}";
|
|
16
|
+
export declare enum GUILLOTINE_REQUEST_HEADERS {
|
|
17
|
+
COOKIE = "Cookie",
|
|
18
|
+
LOCALE = "locale",
|
|
19
|
+
LOCALES = "locales",
|
|
20
|
+
DEFAULT_LOCALE = "default-locale"
|
|
21
|
+
}
|
|
22
|
+
export declare const JSESSIONID_HEADER = "jsessionid";
|
|
23
|
+
export declare const PAGE_TEMPLATE_CONTENTTYPE_NAME = "portal:page-template";
|
|
24
|
+
export declare const PAGE_TEMPLATE_FOLDER = "portal:template-folder";
|
|
25
|
+
export declare const PORTAL_COMPONENT_ATTRIBUTE = "data-portal-component-type";
|
|
26
|
+
export declare const PORTAL_REGION_ATTRIBUTE = "data-portal-region";
|
|
27
|
+
export declare const PROJECT_ID_HEADER = "content-studio-project";
|
|
28
|
+
export declare enum RENDER_MODE {
|
|
29
|
+
INLINE = "inline",
|
|
30
|
+
EDIT = "edit",
|
|
31
|
+
PREVIEW = "preview",
|
|
32
|
+
LIVE = "live",
|
|
33
|
+
ADMIN = "admin",
|
|
34
|
+
NEXT = "next"
|
|
35
|
+
}
|
|
36
|
+
export declare const RENDER_MODE_HEADER = "content-studio-mode";
|
|
37
|
+
export declare const SITE_CONTENTTYPE_NAME = "portal:site";
|
|
38
|
+
export declare const XP_BASE_URL_HEADER = "xpbaseurl";
|
|
39
|
+
export declare enum XP_COMPONENT_TYPE {
|
|
40
|
+
PART = "part",
|
|
41
|
+
LAYOUT = "layout",
|
|
42
|
+
TEXT = "text",
|
|
43
|
+
FRAGMENT = "fragment",
|
|
44
|
+
PAGE = "page"
|
|
45
|
+
}
|
|
46
|
+
export declare enum XP_REQUEST_TYPE {
|
|
47
|
+
COMPONENT = "component",
|
|
48
|
+
TYPE = "type",
|
|
49
|
+
PAGE = "page"
|
|
50
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export const CATCH_ALL = '*';
|
|
2
|
+
export var ENV_VARS;
|
|
3
|
+
(function (ENV_VARS) {
|
|
4
|
+
ENV_VARS["PROJECTS"] = "ENONIC_PROJECTS";
|
|
5
|
+
ENV_VARS["API_URL"] = "ENONIC_API";
|
|
6
|
+
ENV_VARS["APP_NAME"] = "ENONIC_APP_NAME";
|
|
7
|
+
})(ENV_VARS || (ENV_VARS = {}));
|
|
8
|
+
export const FRAGMENT_CONTENTTYPE_NAME = 'portal:fragment';
|
|
9
|
+
export const FRAGMENT_DEFAULT_REGION_NAME = 'fragment';
|
|
10
|
+
/** excluded contents:
|
|
11
|
+
* - folder
|
|
12
|
+
* - shortcuts (redirect can't be used in prerender)
|
|
13
|
+
* - media
|
|
14
|
+
* - paths with '/_' in them
|
|
15
|
+
*/
|
|
16
|
+
export const GET_STATIC_PATHS_QUERY = `query ($count: Int) {
|
|
17
|
+
guillotine {
|
|
18
|
+
queryDsl(
|
|
19
|
+
first: $count,
|
|
20
|
+
sort: {
|
|
21
|
+
field: "modifiedTime",
|
|
22
|
+
direction: DESC
|
|
23
|
+
}
|
|
24
|
+
query: {boolean: {mustNot: [
|
|
25
|
+
{in: {field: "type", stringValues: ["base:folder", "base:shortcut"]}}
|
|
26
|
+
{like: {field: "type", value: "media:*"}}
|
|
27
|
+
{like: {field: "_path", value: "*/_*"}}
|
|
28
|
+
]}}
|
|
29
|
+
) {
|
|
30
|
+
_name
|
|
31
|
+
_path
|
|
32
|
+
site {_name}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}`;
|
|
36
|
+
// Seems like NodeJS.fetch lowercases all headers, so we need to lowercase the
|
|
37
|
+
// header names here.
|
|
38
|
+
export var GUILLOTINE_REQUEST_HEADERS;
|
|
39
|
+
(function (GUILLOTINE_REQUEST_HEADERS) {
|
|
40
|
+
GUILLOTINE_REQUEST_HEADERS["COOKIE"] = "Cookie";
|
|
41
|
+
GUILLOTINE_REQUEST_HEADERS["LOCALE"] = "locale";
|
|
42
|
+
GUILLOTINE_REQUEST_HEADERS["LOCALES"] = "locales";
|
|
43
|
+
GUILLOTINE_REQUEST_HEADERS["DEFAULT_LOCALE"] = "default-locale";
|
|
44
|
+
})(GUILLOTINE_REQUEST_HEADERS || (GUILLOTINE_REQUEST_HEADERS = {}));
|
|
45
|
+
export const JSESSIONID_HEADER = 'jsessionid';
|
|
46
|
+
export const PAGE_TEMPLATE_CONTENTTYPE_NAME = 'portal:page-template';
|
|
47
|
+
export const PAGE_TEMPLATE_FOLDER = 'portal:template-folder';
|
|
48
|
+
export const PORTAL_COMPONENT_ATTRIBUTE = 'data-portal-component-type';
|
|
49
|
+
export const PORTAL_REGION_ATTRIBUTE = 'data-portal-region';
|
|
50
|
+
export const PROJECT_ID_HEADER = 'content-studio-project';
|
|
51
|
+
export var RENDER_MODE;
|
|
52
|
+
(function (RENDER_MODE) {
|
|
53
|
+
RENDER_MODE["INLINE"] = "inline";
|
|
54
|
+
RENDER_MODE["EDIT"] = "edit";
|
|
55
|
+
RENDER_MODE["PREVIEW"] = "preview";
|
|
56
|
+
RENDER_MODE["LIVE"] = "live";
|
|
57
|
+
RENDER_MODE["ADMIN"] = "admin";
|
|
58
|
+
RENDER_MODE["NEXT"] = "next"; // Fallback: not using XP proxy but rendering directly with next.js
|
|
59
|
+
})(RENDER_MODE || (RENDER_MODE = {}));
|
|
60
|
+
export const RENDER_MODE_HEADER = 'content-studio-mode';
|
|
61
|
+
export const SITE_CONTENTTYPE_NAME = 'portal:site';
|
|
62
|
+
// URI parameter marking that a request is for a preview for CS. MUST MATCH THE VALUE OF 'FROM_XP_PARAM' on XP side.
|
|
63
|
+
export const XP_BASE_URL_HEADER = 'xpbaseurl';
|
|
64
|
+
// TODO: Use these instead of hardcoded strings everywhere
|
|
65
|
+
export var XP_COMPONENT_TYPE;
|
|
66
|
+
(function (XP_COMPONENT_TYPE) {
|
|
67
|
+
XP_COMPONENT_TYPE["PART"] = "part";
|
|
68
|
+
XP_COMPONENT_TYPE["LAYOUT"] = "layout";
|
|
69
|
+
XP_COMPONENT_TYPE["TEXT"] = "text";
|
|
70
|
+
XP_COMPONENT_TYPE["FRAGMENT"] = "fragment";
|
|
71
|
+
XP_COMPONENT_TYPE["PAGE"] = "page";
|
|
72
|
+
})(XP_COMPONENT_TYPE || (XP_COMPONENT_TYPE = {}));
|
|
73
|
+
export var XP_REQUEST_TYPE;
|
|
74
|
+
(function (XP_REQUEST_TYPE) {
|
|
75
|
+
XP_REQUEST_TYPE["COMPONENT"] = "component";
|
|
76
|
+
XP_REQUEST_TYPE["TYPE"] = "type";
|
|
77
|
+
XP_REQUEST_TYPE["PAGE"] = "page";
|
|
78
|
+
})(XP_REQUEST_TYPE || (XP_REQUEST_TYPE = {}));
|
|
79
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,wCAA4B,CAAA;IAC5B,kCAAsB,CAAA;IACtB,wCAA4B,CAAA;AAChC,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,4BAA4B,GAAG,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;EAmBpC,CAAC;AAEH,8EAA8E;AAC9E,qBAAqB;AACrB,MAAM,CAAN,IAAY,0BAKX;AALD,WAAY,0BAA0B;IAClC,+CAAiB,CAAA;IACjB,+CAAiB,CAAA;IACjB,iDAAmB,CAAA;IACnB,+DAAiC,CAAA;AACrC,CAAC,EALW,0BAA0B,KAA1B,0BAA0B,QAKrC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAAC;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACnB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA,CAAO,mEAAmE;AAC3F,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAEnD,oHAAoH;AACpH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,kCAAa,CAAA;AACjB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,0CAAuB,CAAA;IACvB,gCAAa,CAAA;IACb,gCAAa,CAAA;AACjB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B"}
|
package/common/env.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** URL to the guillotine API */
|
|
2
|
+
export declare const API_URL: string;
|
|
3
|
+
/** Optional utility value - defining in one place the name of the target app (the app that defines the content types, the app name is therefore part of the content type strings used both in typeselector and in query introspections) */
|
|
4
|
+
export declare const APP_NAME: string;
|
|
5
|
+
/** Optional utility value - derived from APP_NAME, only with underscores instead of dots */
|
|
6
|
+
export declare const APP_NAME_UNDERSCORED: string;
|
|
7
|
+
/** Optional utility value - derived from APP_NAME, only with dashes instead of dots */
|
|
8
|
+
export declare const APP_NAME_DASHED: string;
|
|
9
|
+
export declare const IS_DEV_MODE: boolean;
|
|
10
|
+
/** Locales and Enonic XP projects correspondence list */
|
|
11
|
+
export declare const PROJECTS: string;
|
package/common/env.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ENV_VARS } from './constants';
|
|
2
|
+
const isServer = typeof window === 'undefined';
|
|
3
|
+
// IMPORTANT:
|
|
4
|
+
// NEXT_PUBLIC_ vars should be explicitly referenced to be made available on the client side (substituted with constants) !!!
|
|
5
|
+
/** URL to the guillotine API */
|
|
6
|
+
export const API_URL = isServer ? process.env[ENV_VARS.API_URL] : process.env['NEXT_PUBLIC_ENONIC_API'];
|
|
7
|
+
/** Optional utility value - defining in one place the name of the target app (the app that defines the content types, the app name is therefore part of the content type strings used both in typeselector and in query introspections) */
|
|
8
|
+
export const APP_NAME = isServer ? process.env[ENV_VARS.APP_NAME] : process.env['NEXT_PUBLIC_ENONIC_APP_NAME'];
|
|
9
|
+
/** Optional utility value - derived from APP_NAME, only with underscores instead of dots */
|
|
10
|
+
export const APP_NAME_UNDERSCORED = (APP_NAME || '').replace(/\./g, '_');
|
|
11
|
+
/** Optional utility value - derived from APP_NAME, only with dashes instead of dots */
|
|
12
|
+
export const APP_NAME_DASHED = (APP_NAME || '').replace(/\./g, '-');
|
|
13
|
+
const mode = isServer ? process.env.MODE : process.env.NEXT_PUBLIC_MODE;
|
|
14
|
+
export const IS_DEV_MODE = (mode === 'development');
|
|
15
|
+
/** Locales and Enonic XP projects correspondence list */
|
|
16
|
+
export const PROJECTS = isServer ? process.env[ENV_VARS.PROJECTS] : process.env['NEXT_PUBLIC_ENONIC_PROJECTS'];
|
|
17
|
+
const requiredConstants = {
|
|
18
|
+
[ENV_VARS.APP_NAME]: APP_NAME,
|
|
19
|
+
[ENV_VARS.API_URL]: API_URL,
|
|
20
|
+
[ENV_VARS.PROJECTS]: PROJECTS,
|
|
21
|
+
};
|
|
22
|
+
// Verify required values on server-side only
|
|
23
|
+
Object.keys(requiredConstants).forEach((key) => {
|
|
24
|
+
const val = requiredConstants[key];
|
|
25
|
+
if (!val) {
|
|
26
|
+
throw new Error(`Environment variable '${isServer ? '' : 'NEXT_PUBLIC_'}${key}' is missing (from .env?)`);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/common/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,QAAQ,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAE/C,aAAa;AACb,6HAA6H;AAC7H,gCAAgC;AAChC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAExG,2OAA2O;AAC3O,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAE/G,4FAA4F;AAC5F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEzE,uFAAuF;AACvF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEpE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAExE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;AAEpD,yDAAyD;AACzD,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAE/G,MAAM,iBAAiB,GAAG;IACtB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC7B,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;IAC3B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ;CAChC,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,GAAG,GAAG,2BAA2B,CAAC,CAAC;IAC9G,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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 { getComponentConfig } from './getComponentConfig';
|
|
11
|
+
const NO_PROPS_PROCESSOR = (props) => __awaiter(void 0, void 0, void 0, function* () { var _a; return (_a = yield props) !== null && _a !== void 0 ? _a : {}; });
|
|
12
|
+
export function applyProcessors(componentDescriptors, contentResults, context) {
|
|
13
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
let dataCounter = 0;
|
|
15
|
+
const processorPromises = componentDescriptors.map((desc) => __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
var _a;
|
|
17
|
+
// we're iterating component descriptors here
|
|
18
|
+
// some of them might not have provided graphql requests
|
|
19
|
+
// but we still need to run props processor for them
|
|
20
|
+
// in case they want to fetch their data from elsewhere
|
|
21
|
+
const propsProcessor = ((_a = desc.type) === null || _a === void 0 ? void 0 : _a.processor) || NO_PROPS_PROCESSOR;
|
|
22
|
+
let data;
|
|
23
|
+
if (desc.queryAndVariables) {
|
|
24
|
+
// if there is a query then there must be a result for it
|
|
25
|
+
data = contentResults.contents[dataCounter++];
|
|
26
|
+
}
|
|
27
|
+
const config = getComponentConfig(desc.component);
|
|
28
|
+
return yield propsProcessor(data, context, config);
|
|
29
|
+
}));
|
|
30
|
+
return Promise.allSettled(processorPromises);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=applyProcessors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyProcessors.js","sourceRoot":"","sources":["../../src/guillotine/applyProcessors.ts"],"names":[],"mappings":";;;;;;;;;AAOA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAGxD,MAAM,kBAAkB,GAAG,CAAO,KAAU,EAAE,EAAE,0DAAC,OAAA,MAAA,MAAM,KAAK,mCAAI,EAAE,CAAA,GAAA,CAAC;AAGnE,MAAM,UAAgB,eAAe,CACjC,oBAA2C,EAC3C,cAA6B,EAC7B,OAAgB;;QAGhB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAO,IAAyB,EAAE,EAAE;;YACnF,6CAA6C;YAC7C,wDAAwD;YACxD,oDAAoD;YACpD,uDAAuD;YACvD,MAAM,cAAc,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,KAAI,kBAAkB,CAAC;YAClE,IAAI,IAAI,CAAC;YACT,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,yDAAyD;gBACzD,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FRAGMENT_CONTENTTYPE_NAME, XP_COMPONENT_TYPE, } from '../common/constants';
|
|
2
|
+
import { parseComponentPath } from './parseComponentPath';
|
|
3
|
+
import { getParentRegion } from './getParentRegion';
|
|
4
|
+
export function buildComponentTree(comps, rootComp, contentType) {
|
|
5
|
+
const rootTree = {};
|
|
6
|
+
const isFragmentType = contentType === FRAGMENT_CONTENTTYPE_NAME;
|
|
7
|
+
if (isFragmentType) {
|
|
8
|
+
rootComp.regions = rootTree;
|
|
9
|
+
}
|
|
10
|
+
(comps || []).forEach(cmp => {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
const cmpPath = parseComponentPath(contentType, cmp.path);
|
|
13
|
+
if (cmp.path === '/') {
|
|
14
|
+
if (cmp.type === XP_COMPONENT_TYPE.PAGE && rootComp.type === XP_COMPONENT_TYPE.PAGE) {
|
|
15
|
+
// add page values to page object
|
|
16
|
+
rootComp = Object.assign(rootComp, cmp);
|
|
17
|
+
rootComp.page.regions = rootTree;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
else if (cmp.type === XP_COMPONENT_TYPE.LAYOUT && rootComp.type === XP_COMPONENT_TYPE.FRAGMENT) {
|
|
21
|
+
// when rendering fragment as part of the page with layout at root path
|
|
22
|
+
// remove other children from list as they will be included in layout
|
|
23
|
+
rootComp.fragment.fragment.components = [cmp];
|
|
24
|
+
cmp.regions = rootTree;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
if (cmp.type === XP_COMPONENT_TYPE.FRAGMENT) {
|
|
28
|
+
// build component subtree for fragment
|
|
29
|
+
cmp = buildComponentTree((_b = (_a = cmp.fragment) === null || _a === void 0 ? void 0 : _a.fragment) === null || _b === void 0 ? void 0 : _b.components, cmp, contentType);
|
|
30
|
+
}
|
|
31
|
+
const region = getParentRegion(rootTree, contentType, cmpPath, comps, true);
|
|
32
|
+
if (region) {
|
|
33
|
+
// getting the index of component from string like '/main/0/left/11'
|
|
34
|
+
const cmpIndex = (_c = cmpPath[cmpPath.length - 1]) === null || _c === void 0 ? void 0 : _c.index;
|
|
35
|
+
if (cmpIndex >= 0) {
|
|
36
|
+
region.components.splice(cmpIndex, 0, cmp);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
throw Error(`Could not find [${cmp.type}] component index at ${JSON.stringify(cmpPath, null, 2)}, rendering not possible.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return rootComp;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=buildComponentTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildComponentTree.js","sourceRoot":"","sources":["../../src/guillotine/buildComponentTree.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,yBAAyB,EACzB,iBAAiB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGlD,MAAM,UAAU,kBAAkB,CAC9B,KAAsB,EACtB,QAAuB,EACvB,WAAoB;IAEpB,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,WAAW,KAAK,yBAAyB,CAAC;IAEjE,IAAI,cAAc,EAAE,CAAC;QACjB,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;;QACxB,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAClF,iCAAiC;gBACjC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACjC,OAAO;YACX,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAC/F,uEAAuE;gBACvE,qEAAqE;gBACrE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC9C,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;YAC3B,CAAC;QACL,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAC1C,uCAAuC;YACvC,GAAG,GAAG,kBAAkB,CAAC,MAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,QAAQ,0CAAE,UAAU,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE5E,IAAI,MAAM,EAAE,CAAC;YACT,oEAAoE;YACpE,MAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,KAAK,CAAC;YACpD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;gBAChB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,CAAC,mBAAmB,GAAG,CAAC,IAAI,wBAAwB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC;YAChI,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { FetchContentResult } from '../types';
|
|
2
|
+
import { RENDER_MODE, XP_REQUEST_TYPE } from '../common/constants';
|
|
3
|
+
export declare function buildErrorResponse(requestType: XP_REQUEST_TYPE, renderMode: RENDER_MODE, apiUrl: string, baseUrl: string, locale: string, defaultLocale: string, contentPath?: string): (code?: string, message?: string) => FetchContentResult;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function buildErrorResponse(requestType, renderMode, apiUrl, baseUrl, locale, defaultLocale, contentPath) {
|
|
2
|
+
return function (code = '500', message = 'Unknown error') {
|
|
3
|
+
return {
|
|
4
|
+
error: {
|
|
5
|
+
code,
|
|
6
|
+
message,
|
|
7
|
+
},
|
|
8
|
+
page: null,
|
|
9
|
+
common: null,
|
|
10
|
+
data: null,
|
|
11
|
+
meta: {
|
|
12
|
+
type: '',
|
|
13
|
+
requestType: requestType,
|
|
14
|
+
renderMode: renderMode,
|
|
15
|
+
path: contentPath || '',
|
|
16
|
+
canRender: false,
|
|
17
|
+
catchAll: false,
|
|
18
|
+
apiUrl,
|
|
19
|
+
baseUrl,
|
|
20
|
+
locale,
|
|
21
|
+
defaultLocale,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=buildErrorResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildErrorResponse.js","sourceRoot":"","sources":["../../src/guillotine/buildErrorResponse.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,kBAAkB,CAAC,WAA4B,EAAE,UAAuB,EACpF,MAAc,EAAE,OAAe,EAAE,MAAc,EAAE,aAAqB,EACtE,WAAsB;IAEtB,OAAO,UAAU,IAAI,GAAG,KAAK,EAAE,OAAO,GAAG,eAAe;QACpD,OAAO;YACH,KAAK,EAAE;gBACH,IAAI;gBACJ,OAAO;aACV;YACD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,IAAI,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,WAAW;gBACxB,UAAU,EAAE,UAAU;gBACtB,IAAI,EAAE,WAAW,IAAI,EAAE;gBACvB,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,aAAa;aAChB;SACJ,CAAC;IACN,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XP_COMPONENT_TYPE } from '../common/constants';
|
|
2
|
+
import { buildComponentTree } from './buildComponentTree';
|
|
3
|
+
export function buildPage(contentType, comps = []) {
|
|
4
|
+
const page = {
|
|
5
|
+
type: XP_COMPONENT_TYPE.PAGE,
|
|
6
|
+
path: '/',
|
|
7
|
+
};
|
|
8
|
+
return buildComponentTree(comps, page, contentType);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=buildPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildPage.js","sourceRoot":"","sources":["../../src/guillotine/buildPage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAGxD,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,QAAyB,EAAE;IACtE,MAAM,IAAI,GAAkB;QACxB,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,IAAI,EAAE,GAAG;KACZ,CAAC;IAEF,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ComponentDescriptor, Context, PageComponent } from '../types';
|
|
2
|
+
export declare function collectComponentDescriptors({ components, xpContentPath, context, }: {
|
|
3
|
+
components: PageComponent[];
|
|
4
|
+
xpContentPath: string;
|
|
5
|
+
context: Context;
|
|
6
|
+
}): ComponentDescriptor[];
|