@enonic/nextjs-adapter 3.0.6 → 3.0.7
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/common/UrlProcessor.d.ts +0 -1
- package/common/UrlProcessor.js +19 -5
- package/common/UrlProcessor.js.map +1 -1
- package/i18n/LocaleContext.jsx +0 -4
- package/i18n/LocaleContext.jsx.map +1 -1
- package/i18n/i18n.js +0 -4
- package/i18n/i18n.js.map +1 -1
- package/package.json +8 -8
- package/src/common/UrlProcessor.ts +17 -7
- package/src/i18n/LocaleContext.tsx +0 -5
- package/src/i18n/i18n.ts +0 -5
- package/src/views/BaseMacro.tsx +1 -1
- package/views/BaseMacro.jsx +2 -1
- package/views/BaseMacro.jsx.map +1 -1
package/common/UrlProcessor.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export declare class UrlProcessor {
|
|
|
10
10
|
private static endSlashPattern;
|
|
11
11
|
private static startSlashPattern;
|
|
12
12
|
private static localhostPattern;
|
|
13
|
-
private static siteKey;
|
|
14
13
|
static process(url: string, meta: MetaData, serverSide?: boolean, isResource?: boolean): string;
|
|
15
14
|
static setSiteKey(key: string): void;
|
|
16
15
|
static isMediaLink(ref: string, linkData: LinkData[]): boolean;
|
package/common/UrlProcessor.js
CHANGED
|
@@ -2,8 +2,10 @@ import { RENDER_MODE } from './constants';
|
|
|
2
2
|
import { fixDoubleSlashes } from '../utils/fixDoubleSlashes';
|
|
3
3
|
import { addBasePath } from 'next/dist/client/add-base-path';
|
|
4
4
|
import { parseUrl } from 'next/dist/shared/lib/router/utils/parse-url';
|
|
5
|
+
import { getLocaleMappingByLocale } from '../utils/getLocaleMappingByLocale';
|
|
5
6
|
export class UrlProcessor {
|
|
6
7
|
static process(url, meta, serverSide = false, isResource = false) {
|
|
8
|
+
var _a;
|
|
7
9
|
if (this.startsWithHash(url) || !meta || (this.isAttachmentUrl(url)) && meta.renderMode === RENDER_MODE.NEXT) {
|
|
8
10
|
// do not process if:
|
|
9
11
|
// - url starts with #
|
|
@@ -13,11 +15,19 @@ export class UrlProcessor {
|
|
|
13
15
|
}
|
|
14
16
|
let normalUrl;
|
|
15
17
|
if (this.isRelative(url)) {
|
|
16
|
-
|
|
18
|
+
const mapping = getLocaleMappingByLocale(meta.locale);
|
|
19
|
+
if ((_a = mapping.site) === null || _a === void 0 ? void 0 : _a.length) {
|
|
20
|
+
// see if url starts with site name and remove it
|
|
21
|
+
const normalSite = mapping.site.replace(this.startSlashPattern, '').replace(this.endSlashPattern, '');
|
|
22
|
+
normalUrl = url.replace(new RegExp(`^/?${normalSite}(?=/|$)`), '');
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
normalUrl = url;
|
|
26
|
+
}
|
|
17
27
|
}
|
|
18
28
|
else {
|
|
19
29
|
// url is absolute, try to make it relative by striping apiUrl
|
|
20
|
-
// NB: will fail if content api is not on the same domain as enonic xp
|
|
30
|
+
// NB: will fail to do so if content api is not on the same domain as enonic xp
|
|
21
31
|
const apiUrl = this.getApiUrl(meta);
|
|
22
32
|
normalUrl = this.stripApiUrl(url, apiUrl);
|
|
23
33
|
// if url is still absolute, return it as is
|
|
@@ -46,8 +56,11 @@ export class UrlProcessor {
|
|
|
46
56
|
}
|
|
47
57
|
return fixDoubleSlashes(result);
|
|
48
58
|
}
|
|
59
|
+
/*
|
|
60
|
+
* Deprecated
|
|
61
|
+
* */
|
|
49
62
|
static setSiteKey(key) {
|
|
50
|
-
|
|
63
|
+
// TODO: remove in next major release
|
|
51
64
|
}
|
|
52
65
|
static isMediaLink(ref, linkData) {
|
|
53
66
|
var _a;
|
|
@@ -112,8 +125,9 @@ export class UrlProcessor {
|
|
|
112
125
|
static getApiUrl(meta) {
|
|
113
126
|
var _a, _b;
|
|
114
127
|
let combinedUrl = ((_a = meta.apiUrl) === null || _a === void 0 ? void 0 : _a.replace(this.endSlashPattern, '')) || '';
|
|
115
|
-
|
|
116
|
-
|
|
128
|
+
const mapping = getLocaleMappingByLocale(meta.locale);
|
|
129
|
+
if ((_b = mapping.site) === null || _b === void 0 ? void 0 : _b.length) {
|
|
130
|
+
combinedUrl += '/' + mapping.site.replace(this.startSlashPattern, '');
|
|
117
131
|
}
|
|
118
132
|
return combinedUrl;
|
|
119
133
|
}
|
|
@@ -1 +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,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAC,QAAQ,EAAC,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"UrlProcessor.js","sourceRoot":"","sources":["../src/common/UrlProcessor.ts"],"names":[],"mappings":"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"}
|
package/i18n/LocaleContext.jsx
CHANGED
|
@@ -10,8 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
12
12
|
import { getPhrase, loadPhrases } from './i18n';
|
|
13
|
-
import { getLocaleMappingByLocale } from '../utils/getLocaleMappingByLocale';
|
|
14
|
-
import { UrlProcessor } from '../common/UrlProcessor';
|
|
15
13
|
const LocaleContext = createContext({
|
|
16
14
|
dictionary: {},
|
|
17
15
|
locale: '',
|
|
@@ -26,8 +24,6 @@ export const LocaleContextProvider = ({ children, locale: localeProps = '', }) =
|
|
|
26
24
|
const setLocale = (locale) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
25
|
setLocaleState(locale);
|
|
28
26
|
setLoadedState(false);
|
|
29
|
-
const mapping = getLocaleMappingByLocale(locale);
|
|
30
|
-
UrlProcessor.setSiteKey(mapping.site);
|
|
31
27
|
return loadPhrases(locale).then((phrases) => {
|
|
32
28
|
setPhrasesState(phrases);
|
|
33
29
|
setLoadedState(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleContext.jsx","sourceRoot":"","sources":["../src/i18n/LocaleContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AAGb,OAAO,KAAK,EAAE,EAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"LocaleContext.jsx","sourceRoot":"","sources":["../src/i18n/LocaleContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AAGb,OAAO,KAAK,EAAE,EAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,QAAQ,CAAC;AAG9C,MAAM,aAAa,GAAG,aAAa,CAAoB;IACnD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,GAAG;IAC9C,SAAS,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAClC,QAAQ,EACR,MAAM,EAAE,WAAW,GAAG,EAAE,GAI3B,EAAE,EAAE;IACD,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAO,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,CAAO,MAAc,EAAiB,EAAE;QACtD,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,cAAc,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,eAAe,CAAC,OAAO,CAAC,CAAC;YACzB,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAA,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,WAAW,EAAE,CAAC;YACd,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,wDAAwD;QACzF,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE;QAC7C,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/E,CAAC,CAAC;IAEF,OAAO,CACH,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS;YACT,MAAM,EAAE,aAAa;YACrB,UAAU;YACV,QAAQ;SACX,CAAC,CACE;YAAA,CAAC,QAAQ,CACb;QAAA,EAAE,aAAa,CAAC,QAAQ,CAAC,CAC5B,CAAC;AACN,CAAC,CAAC"}
|
package/i18n/i18n.js
CHANGED
|
@@ -7,15 +7,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { getLocaleMappingByLocale } from '../utils/getLocaleMappingByLocale';
|
|
11
|
-
import { UrlProcessor } from '../common/UrlProcessor';
|
|
12
10
|
export class I18n {
|
|
13
11
|
static setLocale(locale) {
|
|
14
12
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
13
|
this.locale = locale;
|
|
16
14
|
this.isLoaded = false;
|
|
17
|
-
const mapping = getLocaleMappingByLocale(locale);
|
|
18
|
-
UrlProcessor.setSiteKey(mapping.site);
|
|
19
15
|
return loadPhrases(locale).then((phrases) => {
|
|
20
16
|
this.dictionary = phrases;
|
|
21
17
|
this.isLoaded = true;
|
package/i18n/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n/i18n.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n/i18n.ts"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,OAAO,IAAI;IAKN,MAAM,CAAO,SAAS,CAAC,MAAc;;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;gBAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEM,MAAM,CAAC,QAAQ,CAAC,GAAW,EAAE,GAAG,IAAW;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvF,CAAC;IAEM,MAAM,CAAC,SAAS;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;;AAzBc,WAAM,GAAG,EAAE,CAAC;AACZ,eAAU,GAAS,EAAE,CAAC;AACtB,aAAQ,GAAG,KAAK,CAAC;AA0BpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAO,MAAc,EAAiB,EAAE;IAC/D,OAAO,MAAM,CAAC,YAAY,MAAM,OAAO,CAAC;SACnC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;SAChC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,OAAO,CAAC,KAAK,CAAC,sCAAsC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACX,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAU,EAAE,GAAW,EAAE,GAAG,IAAW,EAAE,EAAE;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,2CAA2C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC;QAC7E,OAAO,IAAI,GAAG,GAAG,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;YAClD,KAAK,EAAE,CAAC;YACR,OAAO,MAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,mCAAI,KAAK,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enonic/nextjs-adapter",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.7",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Pavel Milkevich <pmi@enonic.com>",
|
|
@@ -51,22 +51,22 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@formatjs/intl-localematcher": "^0.5.4",
|
|
54
|
-
"html-react-parser": "^5.1.
|
|
54
|
+
"html-react-parser": "^5.1.13",
|
|
55
55
|
"negotiator": "^0.6.3",
|
|
56
|
-
"next": "^14.2.
|
|
56
|
+
"next": "^14.2.6",
|
|
57
57
|
"react": "18.3.1",
|
|
58
58
|
"react-dom": "18.3.1",
|
|
59
59
|
"unescape": "^1.0.1"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@edge-runtime/jest-environment": "^3.0.
|
|
62
|
+
"@edge-runtime/jest-environment": "^3.0.2",
|
|
63
63
|
"@enonic-types/core": "^7.14.4",
|
|
64
64
|
"@enonic/eslint-config": "^1.2.1",
|
|
65
|
-
"@testing-library/jest-dom": "^6.
|
|
65
|
+
"@testing-library/jest-dom": "^6.5.0",
|
|
66
66
|
"@testing-library/react": "^16.0.0",
|
|
67
67
|
"@types/negotiator": "^0.6.3",
|
|
68
|
-
"@types/node": "^22.
|
|
69
|
-
"@types/react": "^18.3.
|
|
68
|
+
"@types/node": "^22.5.0",
|
|
69
|
+
"@types/react": "^18.3.4",
|
|
70
70
|
"@types/react-dom": "^18.3.0",
|
|
71
71
|
"@typescript-eslint/eslint-plugin": "^7.17.0",
|
|
72
72
|
"@typescript-eslint/parser": "^7.18.0",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"jest-environment-jsdom": "^29.7.0",
|
|
80
80
|
"madge": "^8.0.0",
|
|
81
81
|
"mkdirp": "^3.0.1",
|
|
82
|
-
"ts-jest": "^29.2.
|
|
82
|
+
"ts-jest": "^29.2.5",
|
|
83
83
|
"ts-node": "^10.9.2",
|
|
84
84
|
"typescript": "^5.5.4"
|
|
85
85
|
},
|
|
@@ -5,6 +5,7 @@ import {RENDER_MODE} from './constants';
|
|
|
5
5
|
import {fixDoubleSlashes} from '../utils/fixDoubleSlashes';
|
|
6
6
|
import {addBasePath} from 'next/dist/client/add-base-path';
|
|
7
7
|
import {parseUrl} from 'next/dist/shared/lib/router/utils/parse-url';
|
|
8
|
+
import {getLocaleMappingByLocale} from '../utils/getLocaleMappingByLocale';
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
export class UrlProcessor {
|
|
@@ -22,8 +23,6 @@ export class UrlProcessor {
|
|
|
22
23
|
private static startSlashPattern = /^\/+/;
|
|
23
24
|
private static localhostPattern = /localhost/;
|
|
24
25
|
|
|
25
|
-
private static siteKey: string;
|
|
26
|
-
|
|
27
26
|
public static process(url: string, meta: MetaData, serverSide = false, isResource = false): string {
|
|
28
27
|
if (this.startsWithHash(url) || !meta || (this.isAttachmentUrl(url)) && meta.renderMode === RENDER_MODE.NEXT) {
|
|
29
28
|
// do not process if:
|
|
@@ -35,10 +34,17 @@ export class UrlProcessor {
|
|
|
35
34
|
|
|
36
35
|
let normalUrl: string;
|
|
37
36
|
if (this.isRelative(url)) {
|
|
38
|
-
|
|
37
|
+
const mapping = getLocaleMappingByLocale(meta.locale);
|
|
38
|
+
if (mapping.site?.length) {
|
|
39
|
+
// see if url starts with site name and remove it
|
|
40
|
+
const normalSite = mapping.site.replace(this.startSlashPattern, '').replace(this.endSlashPattern, '');
|
|
41
|
+
normalUrl = url.replace(new RegExp(`^/?${normalSite}(?=/|$)`), '');
|
|
42
|
+
} else {
|
|
43
|
+
normalUrl = url;
|
|
44
|
+
}
|
|
39
45
|
} else {
|
|
40
46
|
// url is absolute, try to make it relative by striping apiUrl
|
|
41
|
-
// NB: will fail if content api is not on the same domain as enonic xp
|
|
47
|
+
// NB: will fail to do so if content api is not on the same domain as enonic xp
|
|
42
48
|
const apiUrl = this.getApiUrl(meta);
|
|
43
49
|
normalUrl = this.stripApiUrl(url, apiUrl);
|
|
44
50
|
|
|
@@ -71,8 +77,11 @@ export class UrlProcessor {
|
|
|
71
77
|
return fixDoubleSlashes(result);
|
|
72
78
|
}
|
|
73
79
|
|
|
80
|
+
/*
|
|
81
|
+
* Deprecated
|
|
82
|
+
* */
|
|
74
83
|
public static setSiteKey(key: string): void {
|
|
75
|
-
|
|
84
|
+
// TODO: remove in next major release
|
|
76
85
|
}
|
|
77
86
|
|
|
78
87
|
public static isMediaLink(ref: string, linkData: LinkData[]): boolean {
|
|
@@ -145,8 +154,9 @@ export class UrlProcessor {
|
|
|
145
154
|
|
|
146
155
|
private static getApiUrl(meta: MetaData) {
|
|
147
156
|
let combinedUrl = meta.apiUrl?.replace(this.endSlashPattern, '') || '';
|
|
148
|
-
|
|
149
|
-
|
|
157
|
+
const mapping = getLocaleMappingByLocale(meta.locale);
|
|
158
|
+
if (mapping.site?.length) {
|
|
159
|
+
combinedUrl += '/' + mapping.site.replace(this.startSlashPattern, '');
|
|
150
160
|
}
|
|
151
161
|
return combinedUrl;
|
|
152
162
|
}
|
|
@@ -3,8 +3,6 @@ import type {Dict, LocaleContextType} from '../types';
|
|
|
3
3
|
|
|
4
4
|
import React, {createContext, useContext, useEffect, useState} from 'react';
|
|
5
5
|
import {getPhrase, loadPhrases} from './i18n';
|
|
6
|
-
import {getLocaleMappingByLocale} from '../utils/getLocaleMappingByLocale';
|
|
7
|
-
import {UrlProcessor} from '../common/UrlProcessor';
|
|
8
6
|
|
|
9
7
|
|
|
10
8
|
const LocaleContext = createContext<LocaleContextType>({
|
|
@@ -31,9 +29,6 @@ export const LocaleContextProvider = ({
|
|
|
31
29
|
setLocaleState(locale);
|
|
32
30
|
setLoadedState(false);
|
|
33
31
|
|
|
34
|
-
const mapping = getLocaleMappingByLocale(locale);
|
|
35
|
-
UrlProcessor.setSiteKey(mapping.site);
|
|
36
|
-
|
|
37
32
|
return loadPhrases(locale).then((phrases) => {
|
|
38
33
|
setPhrasesState(phrases);
|
|
39
34
|
setLoadedState(true);
|
package/src/i18n/i18n.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import type {Dict} from '../types';
|
|
2
|
-
import {getLocaleMappingByLocale} from '../utils/getLocaleMappingByLocale';
|
|
3
|
-
import {UrlProcessor} from '../common/UrlProcessor';
|
|
4
2
|
|
|
5
3
|
|
|
6
4
|
export class I18n {
|
|
@@ -12,9 +10,6 @@ export class I18n {
|
|
|
12
10
|
this.locale = locale;
|
|
13
11
|
this.isLoaded = false;
|
|
14
12
|
|
|
15
|
-
const mapping = getLocaleMappingByLocale(locale);
|
|
16
|
-
UrlProcessor.setSiteKey(mapping.site);
|
|
17
|
-
|
|
18
13
|
return loadPhrases(locale).then((phrases) => {
|
|
19
14
|
this.dictionary = phrases;
|
|
20
15
|
this.isLoaded = true;
|
package/src/views/BaseMacro.tsx
CHANGED
|
@@ -17,7 +17,7 @@ export const MACRO_EMBED = 'system:embed';
|
|
|
17
17
|
const BaseMacro = (props: BaseMacroProps) => {
|
|
18
18
|
const {data, meta, renderInEditMode} = props;
|
|
19
19
|
|
|
20
|
-
let config = data.config[sanitizeGraphqlName(data.name)]
|
|
20
|
+
let config = data.config?.[sanitizeGraphqlName(data.name)] ?? {};
|
|
21
21
|
if (data.descriptor !== MACRO_DISABLE) {
|
|
22
22
|
// do not do any processing for disable macro
|
|
23
23
|
config = normalizeValue(config);
|
package/views/BaseMacro.jsx
CHANGED
|
@@ -6,8 +6,9 @@ const unescape = require('unescape');
|
|
|
6
6
|
export const MACRO_DISABLE = 'system:disable';
|
|
7
7
|
export const MACRO_EMBED = 'system:embed';
|
|
8
8
|
const BaseMacro = (props) => {
|
|
9
|
+
var _a, _b;
|
|
9
10
|
const { data, meta, renderInEditMode } = props;
|
|
10
|
-
let config = data.config[sanitizeGraphqlName(data.name)]
|
|
11
|
+
let config = (_b = (_a = data.config) === null || _a === void 0 ? void 0 : _a[sanitizeGraphqlName(data.name)]) !== null && _b !== void 0 ? _b : {};
|
|
11
12
|
if (data.descriptor !== MACRO_DISABLE) {
|
|
12
13
|
// do not do any processing for disable macro
|
|
13
14
|
config = normalizeValue(config);
|
package/views/BaseMacro.jsx.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../src/views/BaseMacro.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAGhD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC;AAG1C,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"BaseMacro.jsx","sourceRoot":"","sources":["../src/views/BaseMacro.tsx"],"names":[],"mappings":"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"}
|