@einblick/sdk 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -11
- package/dist/cli.js +1 -7
- package/dist/cli.js.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +63 -11
- package/dist/codegen.js.map +1 -1
- package/dist/next/edit-boot.d.ts +5 -17
- package/dist/next/edit-boot.d.ts.map +1 -1
- package/dist/next/edit-boot.js +5 -25
- package/dist/next/edit-boot.js.map +1 -1
- package/dist/next/revalidate.d.ts +4 -2
- package/dist/next/revalidate.d.ts.map +1 -1
- package/dist/next/revalidate.js +46 -12
- package/dist/next/revalidate.js.map +1 -1
- package/dist/react/provider.d.ts.map +1 -1
- package/dist/react/provider.js +11 -2
- package/dist/react/provider.js.map +1 -1
- package/dist/react/runtime.d.ts +3 -0
- package/dist/react/runtime.d.ts.map +1 -1
- package/dist/react/runtime.js +123 -56
- package/dist/react/runtime.js.map +1 -1
- package/dist/react/shared.d.ts.map +1 -1
- package/dist/react/shared.js +10 -10
- package/dist/react/shared.js.map +1 -1
- package/dist/react/types.d.ts +2 -1
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/types.js.map +1 -1
- package/package.json +3 -6
- package/dist/client.test.d.ts +0 -2
- package/dist/client.test.d.ts.map +0 -1
- package/dist/client.test.js +0 -342
- package/dist/client.test.js.map +0 -1
- package/dist/codegen.test.d.ts +0 -2
- package/dist/codegen.test.d.ts.map +0 -1
- package/dist/codegen.test.js +0 -219
- package/dist/codegen.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revalidate.js","sourceRoot":"","sources":["../../src/next/revalidate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"revalidate.js","sourceRoot":"","sources":["../../src/next/revalidate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,WAAW,CAAA;AAalB,OAAO,KAAK,EACV,uBAAuB,EAEvB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,WAAW,CAAA;AAalB,OAAO,KAAK,EACV,uBAAuB,EAEvB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,YAAY,CAAA;AAgBnB,KAAK,wBAAwB,GAAG,iBAAiB,GAAG;IAClD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,iBAAiB,CAAA;IACzB,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChE,CAAA;AAkDD,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,MAAM,EACN,MAAc,EACd,WAAW,EACX,kBAAkB,EAClB,OAAc,EACd,OAAO,EACP,MAAM,EACN,aAAa,GACd,EAAE,yBAAyB,2CAyP3B;AAED,wBAAgB,eAAe,IAAI,wBAAwB,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,cAAc,EACd,IAAe,EACf,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,wBAAwB,2CA6B1B"}
|
package/dist/react/provider.js
CHANGED
|
@@ -93,6 +93,7 @@ export function EinblickEditProvider({ children, siteKey, appOrigin, appUrl, loc
|
|
|
93
93
|
chrome,
|
|
94
94
|
accentColor,
|
|
95
95
|
reserveBottomSpace,
|
|
96
|
+
persist,
|
|
96
97
|
initialSession: sessionRef.current,
|
|
97
98
|
onSessionChange: (nextSession) => {
|
|
98
99
|
persistSession(nextSession);
|
|
@@ -117,6 +118,7 @@ export function EinblickEditProvider({ children, siteKey, appOrigin, appUrl, loc
|
|
|
117
118
|
callbacks,
|
|
118
119
|
chrome,
|
|
119
120
|
accentColor,
|
|
121
|
+
persist,
|
|
120
122
|
persistSession,
|
|
121
123
|
reserveBottomSpace,
|
|
122
124
|
resolvedAppOrigin,
|
|
@@ -124,7 +126,7 @@ export function EinblickEditProvider({ children, siteKey, appOrigin, appUrl, loc
|
|
|
124
126
|
]);
|
|
125
127
|
const disable = useCallback(() => {
|
|
126
128
|
persistSession(null);
|
|
127
|
-
runtimeRef.current
|
|
129
|
+
const runtime = runtimeRef.current;
|
|
128
130
|
runtimeRef.current = null;
|
|
129
131
|
runtimePromiseRef.current = null;
|
|
130
132
|
const nextState = resolvedSiteKey
|
|
@@ -135,7 +137,14 @@ export function EinblickEditProvider({ children, siteKey, appOrigin, appUrl, loc
|
|
|
135
137
|
status: 'idle',
|
|
136
138
|
}
|
|
137
139
|
: defaultState;
|
|
138
|
-
|
|
140
|
+
if (!runtime) {
|
|
141
|
+
setState(nextState);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
void runtime.deactivate().finally(() => {
|
|
145
|
+
runtime.destroy();
|
|
146
|
+
setState(nextState);
|
|
147
|
+
});
|
|
139
148
|
}, [persistSession, resolvedSiteKey]);
|
|
140
149
|
const login = useCallback(async () => {
|
|
141
150
|
const runtime = await ensureRuntime();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAA;AAEd,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EAEtB,0BAA0B,GAC3B,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/react/provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/runtime.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ type RuntimeOptions = RuntimeCallbacks & {
|
|
|
13
13
|
chrome?: EinblickEditChrome;
|
|
14
14
|
accentColor?: string | null;
|
|
15
15
|
reserveBottomSpace?: boolean;
|
|
16
|
+
persist?: boolean;
|
|
16
17
|
initialSession?: EinblickEditSession | null;
|
|
17
18
|
};
|
|
18
19
|
type RuntimeController = {
|
|
@@ -21,6 +22,8 @@ type RuntimeController = {
|
|
|
21
22
|
login: (options?: {
|
|
22
23
|
returnTo?: string;
|
|
23
24
|
}) => Promise<boolean>;
|
|
25
|
+
deactivate: () => Promise<void>;
|
|
26
|
+
logout: () => Promise<void>;
|
|
24
27
|
openEditor: (binding: EinblickEditableBinding, element?: HTMLElement | null) => void;
|
|
25
28
|
setLocale: (locale?: string) => void;
|
|
26
29
|
setAccentColor: (accentColor?: string | null) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/react/runtime.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EAGvB,kBAAkB,EACnB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/react/runtime.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EAGvB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAqJnB,KAAK,gBAAgB,GAAG;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACjD,eAAe,EAAE,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAA;IAC9D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,cAAc,GAAG,gBAAgB,GAAG;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;CAC5C,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,UAAU,EAAE,CACV,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,KACzB,IAAI,CAAA;IACT,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CACtD,CAAA;AA2kHD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,cAAc,GACtB,iBAAiB,CAanB"}
|
package/dist/react/runtime.js
CHANGED
|
@@ -67,11 +67,15 @@ function createDatabaseIconElement(size) {
|
|
|
67
67
|
return svg;
|
|
68
68
|
}
|
|
69
69
|
function createRandomId() {
|
|
70
|
-
if (typeof crypto
|
|
71
|
-
|
|
70
|
+
if (typeof crypto === 'undefined') {
|
|
71
|
+
throw new Error('Secure browser randomness is unavailable');
|
|
72
|
+
}
|
|
73
|
+
if (typeof crypto.randomUUID === 'function') {
|
|
72
74
|
return crypto.randomUUID();
|
|
73
75
|
}
|
|
74
|
-
|
|
76
|
+
const bytes = new Uint8Array(16);
|
|
77
|
+
crypto.getRandomValues(bytes);
|
|
78
|
+
return Array.from(bytes, (byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
75
79
|
}
|
|
76
80
|
function stopEvent(event) {
|
|
77
81
|
event.preventDefault();
|
|
@@ -457,12 +461,14 @@ class EinblickEditRuntime {
|
|
|
457
461
|
callbacks;
|
|
458
462
|
chrome;
|
|
459
463
|
reserveBottomSpace;
|
|
464
|
+
persist;
|
|
460
465
|
locale;
|
|
461
466
|
messages;
|
|
462
467
|
accentColor;
|
|
463
468
|
originalRootAccentColor;
|
|
464
469
|
bridgeNonce = createRandomId();
|
|
465
470
|
session;
|
|
471
|
+
brokerId = null;
|
|
466
472
|
state = {
|
|
467
473
|
enabled: true,
|
|
468
474
|
active: true,
|
|
@@ -500,6 +506,7 @@ class EinblickEditRuntime {
|
|
|
500
506
|
currentInlineRestoreState = null;
|
|
501
507
|
inlineSaveInFlight = null;
|
|
502
508
|
editorBackdrop = null;
|
|
509
|
+
editorFrame = null;
|
|
503
510
|
editorNonce = null;
|
|
504
511
|
editorTarget = null;
|
|
505
512
|
editorBinding = null;
|
|
@@ -517,6 +524,7 @@ class EinblickEditRuntime {
|
|
|
517
524
|
this.chrome = options.chrome ?? 'bar';
|
|
518
525
|
this.reserveBottomSpace =
|
|
519
526
|
options.reserveBottomSpace ?? this.chrome === 'bar';
|
|
527
|
+
this.persist = options.persist ?? true;
|
|
520
528
|
this.locale = resolveEinblickSdkLocale(options.locale);
|
|
521
529
|
this.messages = getEinblickSdkMessages(this.locale);
|
|
522
530
|
this.accentColor = normalizeAccentColor(options.accentColor);
|
|
@@ -726,6 +734,12 @@ class EinblickEditRuntime {
|
|
|
726
734
|
if (typeof window === 'undefined') {
|
|
727
735
|
return false;
|
|
728
736
|
}
|
|
737
|
+
if (!this.brokerId) {
|
|
738
|
+
const message = this.messages.errors.bridgeNotConnected;
|
|
739
|
+
this.callbacks.onError?.(message);
|
|
740
|
+
this.pingBridge();
|
|
741
|
+
return false;
|
|
742
|
+
}
|
|
729
743
|
const returnTo = options?.returnTo ?? window.location.href;
|
|
730
744
|
const loginNonce = createRandomId();
|
|
731
745
|
const loginUrl = this.buildBridgeUrl({
|
|
@@ -919,14 +933,24 @@ class EinblickEditRuntime {
|
|
|
919
933
|
return;
|
|
920
934
|
}
|
|
921
935
|
if (data.source === EINBLICK_BRIDGE_SOURCE) {
|
|
936
|
+
if (event.source !== this.bridgeFrame?.contentWindow) {
|
|
937
|
+
return;
|
|
938
|
+
}
|
|
922
939
|
this.handleBridgeMessage(data);
|
|
923
940
|
return;
|
|
924
941
|
}
|
|
925
942
|
if (data.source === EINBLICK_AUTH_SOURCE) {
|
|
943
|
+
if (event.source !== this.pendingLogin?.popup) {
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
926
946
|
this.handleAuthMessage(data);
|
|
927
947
|
return;
|
|
928
948
|
}
|
|
929
949
|
if (data.source === EINBLICK_EDITOR_SOURCE) {
|
|
950
|
+
if (event.source !== this.editorFrame?.contentWindow &&
|
|
951
|
+
event.source !== this.navigatorFrame?.contentWindow) {
|
|
952
|
+
return;
|
|
953
|
+
}
|
|
930
954
|
this.handleEditorMessage(data);
|
|
931
955
|
}
|
|
932
956
|
};
|
|
@@ -936,7 +960,9 @@ class EinblickEditRuntime {
|
|
|
936
960
|
}
|
|
937
961
|
if (message.type === 'bridge-ready') {
|
|
938
962
|
this.clearBridgePing();
|
|
963
|
+
this.brokerId = message.brokerId ?? this.brokerId;
|
|
939
964
|
if (message.authenticated) {
|
|
965
|
+
this.setSession({ active: true, expiresAt: message.expiresAt });
|
|
940
966
|
this.setState({
|
|
941
967
|
enabled: true,
|
|
942
968
|
active: true,
|
|
@@ -964,6 +990,26 @@ class EinblickEditRuntime {
|
|
|
964
990
|
}
|
|
965
991
|
return;
|
|
966
992
|
}
|
|
993
|
+
if (message.type === 'broker-proof-result') {
|
|
994
|
+
const pending = this.pendingLogin;
|
|
995
|
+
if (!pending ||
|
|
996
|
+
message.requestId !== pending.nonce ||
|
|
997
|
+
message.brokerId !== this.brokerId) {
|
|
998
|
+
return;
|
|
999
|
+
}
|
|
1000
|
+
try {
|
|
1001
|
+
pending.popup?.postMessage({
|
|
1002
|
+
source: EINBLICK_AUTH_SOURCE,
|
|
1003
|
+
type: 'broker-proof-result',
|
|
1004
|
+
nonce: pending.nonce,
|
|
1005
|
+
requestId: message.requestId,
|
|
1006
|
+
brokerId: message.brokerId,
|
|
1007
|
+
ciphertext: message.ciphertext,
|
|
1008
|
+
}, this.appOrigin);
|
|
1009
|
+
}
|
|
1010
|
+
catch { }
|
|
1011
|
+
return;
|
|
1012
|
+
}
|
|
967
1013
|
if (message.type === 'logout-result') {
|
|
968
1014
|
const pending = this.pendingLogout;
|
|
969
1015
|
if (!pending || pending.requestId !== message.requestId) {
|
|
@@ -1011,28 +1057,43 @@ class EinblickEditRuntime {
|
|
|
1011
1057
|
if (!this.pendingLogin || message.nonce !== this.pendingLogin.nonce) {
|
|
1012
1058
|
return;
|
|
1013
1059
|
}
|
|
1060
|
+
if (message.type === 'broker-proof-request') {
|
|
1061
|
+
if (message.requestId !== this.pendingLogin.nonce ||
|
|
1062
|
+
message.brokerId !== this.brokerId ||
|
|
1063
|
+
!this.bridgeFrame?.contentWindow) {
|
|
1064
|
+
return;
|
|
1065
|
+
}
|
|
1066
|
+
try {
|
|
1067
|
+
this.bridgeFrame.contentWindow.postMessage({
|
|
1068
|
+
source: EINBLICK_PARENT_SOURCE,
|
|
1069
|
+
type: 'broker-proof-request',
|
|
1070
|
+
nonce: this.bridgeNonce,
|
|
1071
|
+
requestId: message.requestId,
|
|
1072
|
+
brokerId: message.brokerId,
|
|
1073
|
+
publicKey: message.publicKey,
|
|
1074
|
+
}, this.appOrigin);
|
|
1075
|
+
}
|
|
1076
|
+
catch { }
|
|
1077
|
+
return;
|
|
1078
|
+
}
|
|
1014
1079
|
if (this.pendingLogin.closePollId !== null) {
|
|
1015
1080
|
window.clearInterval(this.pendingLogin.closePollId);
|
|
1016
1081
|
}
|
|
1017
1082
|
const pending = this.pendingLogin;
|
|
1018
1083
|
this.pendingLogin = null;
|
|
1019
1084
|
if (message.ok) {
|
|
1020
|
-
if (!message.
|
|
1085
|
+
if (!message.brokerId || message.brokerId !== this.brokerId) {
|
|
1021
1086
|
const errorMessage = this.messages.errors.signInDidNotReturnSession;
|
|
1022
1087
|
this.setState({ ...this.state, errorMessage, status: 'error' });
|
|
1023
1088
|
this.callbacks.onError?.(errorMessage);
|
|
1024
1089
|
pending.resolve(false);
|
|
1025
1090
|
return;
|
|
1026
1091
|
}
|
|
1027
|
-
this.setSession({
|
|
1028
|
-
sessionToken: message.sessionToken,
|
|
1029
|
-
expiresAt: message.expiresAt,
|
|
1030
|
-
});
|
|
1031
1092
|
try {
|
|
1032
1093
|
pending.popup?.close();
|
|
1033
1094
|
}
|
|
1034
1095
|
catch { }
|
|
1035
|
-
this.
|
|
1096
|
+
this.pingBridge();
|
|
1036
1097
|
pending.resolve(true);
|
|
1037
1098
|
return;
|
|
1038
1099
|
}
|
|
@@ -1133,24 +1194,13 @@ class EinblickEditRuntime {
|
|
|
1133
1194
|
}
|
|
1134
1195
|
}
|
|
1135
1196
|
setSession(session) {
|
|
1136
|
-
const
|
|
1197
|
+
const wasActive = this.session !== null;
|
|
1137
1198
|
this.session = session && !isEditSessionExpired(session) ? session : null;
|
|
1138
|
-
|
|
1139
|
-
if (previousSessionToken !== nextSessionToken) {
|
|
1199
|
+
if (wasActive !== (this.session !== null)) {
|
|
1140
1200
|
this.removeNavigatorPanel(false);
|
|
1141
1201
|
}
|
|
1142
1202
|
this.callbacks.onSessionChange(this.session);
|
|
1143
1203
|
}
|
|
1144
|
-
getActiveSessionToken() {
|
|
1145
|
-
if (!this.session) {
|
|
1146
|
-
return null;
|
|
1147
|
-
}
|
|
1148
|
-
if (isEditSessionExpired(this.session)) {
|
|
1149
|
-
this.setSession(null);
|
|
1150
|
-
return null;
|
|
1151
|
-
}
|
|
1152
|
-
return this.session.sessionToken;
|
|
1153
|
-
}
|
|
1154
1204
|
setState(nextState) {
|
|
1155
1205
|
this.state = nextState;
|
|
1156
1206
|
this.callbacks.onStateChange(nextState);
|
|
@@ -1739,10 +1789,15 @@ class EinblickEditRuntime {
|
|
|
1739
1789
|
}
|
|
1740
1790
|
}
|
|
1741
1791
|
async logoutFromEinblick() {
|
|
1792
|
+
await this.endEditSession(true);
|
|
1793
|
+
}
|
|
1794
|
+
async deactivateEditSession() {
|
|
1795
|
+
await this.endEditSession(false);
|
|
1796
|
+
}
|
|
1797
|
+
async endEditSession(signOut) {
|
|
1742
1798
|
if (typeof window === 'undefined') {
|
|
1743
1799
|
return;
|
|
1744
1800
|
}
|
|
1745
|
-
const sessionToken = this.getActiveSessionToken();
|
|
1746
1801
|
this.setSession(null);
|
|
1747
1802
|
this.setState({
|
|
1748
1803
|
enabled: true,
|
|
@@ -1752,13 +1807,13 @@ class EinblickEditRuntime {
|
|
|
1752
1807
|
siteName: this.state.siteName,
|
|
1753
1808
|
errorMessage: undefined,
|
|
1754
1809
|
});
|
|
1755
|
-
const loggedOutViaBridge = await this.requestBridgeLogout();
|
|
1810
|
+
const loggedOutViaBridge = await this.requestBridgeLogout(signOut);
|
|
1756
1811
|
if (!loggedOutViaBridge) {
|
|
1757
|
-
await this.logoutViaPopup(
|
|
1812
|
+
await this.logoutViaPopup(signOut);
|
|
1758
1813
|
}
|
|
1759
1814
|
this.reloadBridge();
|
|
1760
1815
|
}
|
|
1761
|
-
requestBridgeLogout() {
|
|
1816
|
+
requestBridgeLogout(signOut) {
|
|
1762
1817
|
if (typeof window === 'undefined' || this.pendingLogout) {
|
|
1763
1818
|
return Promise.resolve(false);
|
|
1764
1819
|
}
|
|
@@ -1782,6 +1837,7 @@ class EinblickEditRuntime {
|
|
|
1782
1837
|
type: 'logout',
|
|
1783
1838
|
nonce: this.bridgeNonce,
|
|
1784
1839
|
requestId,
|
|
1840
|
+
signOut,
|
|
1785
1841
|
}, this.appOrigin);
|
|
1786
1842
|
}
|
|
1787
1843
|
catch {
|
|
@@ -1793,12 +1849,12 @@ class EinblickEditRuntime {
|
|
|
1793
1849
|
}
|
|
1794
1850
|
});
|
|
1795
1851
|
}
|
|
1796
|
-
async logoutViaPopup(
|
|
1852
|
+
async logoutViaPopup(signOut) {
|
|
1797
1853
|
const logoutUrl = this.buildBridgeUrl({
|
|
1798
1854
|
mode: 'logout',
|
|
1799
1855
|
nonce: createRandomId(),
|
|
1800
1856
|
returnTo: window.location.href,
|
|
1801
|
-
|
|
1857
|
+
signOut,
|
|
1802
1858
|
});
|
|
1803
1859
|
let popup = null;
|
|
1804
1860
|
try {
|
|
@@ -2046,23 +2102,22 @@ class EinblickEditRuntime {
|
|
|
2046
2102
|
frame.src = this.buildBridgeUrl({ mode: 'bridge', nonce: this.bridgeNonce });
|
|
2047
2103
|
this.bridgeFrame = frame;
|
|
2048
2104
|
document.body.append(frame);
|
|
2049
|
-
const sendPing = () => {
|
|
2050
|
-
if (!this.bridgeFrame?.contentWindow) {
|
|
2051
|
-
return;
|
|
2052
|
-
}
|
|
2053
|
-
try {
|
|
2054
|
-
this.bridgeFrame.contentWindow.postMessage({
|
|
2055
|
-
source: EINBLICK_PARENT_SOURCE,
|
|
2056
|
-
type: 'bridge-ping',
|
|
2057
|
-
nonce: this.bridgeNonce,
|
|
2058
|
-
}, this.appOrigin);
|
|
2059
|
-
}
|
|
2060
|
-
catch { }
|
|
2061
|
-
};
|
|
2062
2105
|
frame.addEventListener('load', () => {
|
|
2063
|
-
|
|
2106
|
+
this.pingBridge();
|
|
2064
2107
|
});
|
|
2065
|
-
this.bridgePingInterval = window.setInterval(
|
|
2108
|
+
this.bridgePingInterval = window.setInterval(() => this.pingBridge(), 1500);
|
|
2109
|
+
}
|
|
2110
|
+
pingBridge() {
|
|
2111
|
+
if (!this.bridgeFrame?.contentWindow)
|
|
2112
|
+
return;
|
|
2113
|
+
try {
|
|
2114
|
+
this.bridgeFrame.contentWindow.postMessage({
|
|
2115
|
+
source: EINBLICK_PARENT_SOURCE,
|
|
2116
|
+
type: 'bridge-ping',
|
|
2117
|
+
nonce: this.bridgeNonce,
|
|
2118
|
+
}, this.appOrigin);
|
|
2119
|
+
}
|
|
2120
|
+
catch { }
|
|
2066
2121
|
}
|
|
2067
2122
|
clearBridgePing() {
|
|
2068
2123
|
if (this.bridgePingInterval !== null) {
|
|
@@ -2075,28 +2130,33 @@ class EinblickEditRuntime {
|
|
|
2075
2130
|
url.searchParams.set('siteKey', this.siteKey);
|
|
2076
2131
|
url.searchParams.set('origin', window.location.origin);
|
|
2077
2132
|
url.searchParams.set('nonce', args.nonce);
|
|
2133
|
+
url.searchParams.set('protocol', '2');
|
|
2134
|
+
url.searchParams.set('persist', this.persist ? '1' : '0');
|
|
2078
2135
|
if (args.mode !== 'bridge') {
|
|
2079
2136
|
url.searchParams.set('mode', args.mode);
|
|
2080
2137
|
}
|
|
2081
|
-
const
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
url.searchParams.set('sessionToken', sessionToken);
|
|
2138
|
+
const brokerId = args.brokerId ?? (args.mode === 'login' ? this.brokerId : null);
|
|
2139
|
+
if (brokerId) {
|
|
2140
|
+
url.searchParams.set('brokerId', brokerId);
|
|
2085
2141
|
}
|
|
2086
2142
|
if (args.returnTo) {
|
|
2087
2143
|
url.searchParams.set('returnTo', args.returnTo);
|
|
2088
2144
|
}
|
|
2145
|
+
if (args.signOut === false) {
|
|
2146
|
+
url.searchParams.set('signOut', '0');
|
|
2147
|
+
}
|
|
2089
2148
|
return url.toString();
|
|
2090
2149
|
}
|
|
2091
2150
|
buildEditorUrl(binding, nonce, intent = 'edit') {
|
|
2092
|
-
|
|
2093
|
-
if (!sessionToken) {
|
|
2151
|
+
if (!this.session || isEditSessionExpired(this.session)) {
|
|
2094
2152
|
throw new Error(this.messages.errors.editSessionExpired);
|
|
2095
2153
|
}
|
|
2096
2154
|
const url = new URL('/sdk/editor', this.appOrigin);
|
|
2097
2155
|
url.searchParams.set('origin', window.location.origin);
|
|
2098
2156
|
url.searchParams.set('nonce', nonce);
|
|
2099
|
-
url.searchParams.set('
|
|
2157
|
+
url.searchParams.set('siteKey', this.siteKey);
|
|
2158
|
+
url.searchParams.set('protocol', '2');
|
|
2159
|
+
url.searchParams.set('persist', this.persist ? '1' : '0');
|
|
2100
2160
|
url.searchParams.set('returnTo', window.location.href);
|
|
2101
2161
|
url.searchParams.set('sourceType', binding.sourceType ?? 'cms');
|
|
2102
2162
|
url.searchParams.set('resourceSlug', binding.resourceSlug);
|
|
@@ -2115,25 +2175,27 @@ class EinblickEditRuntime {
|
|
|
2115
2175
|
return url.toString();
|
|
2116
2176
|
}
|
|
2117
2177
|
buildNavigatorUrl(nonce) {
|
|
2118
|
-
|
|
2119
|
-
if (!sessionToken) {
|
|
2178
|
+
if (!this.session || isEditSessionExpired(this.session)) {
|
|
2120
2179
|
throw new Error(this.messages.errors.editSessionExpired);
|
|
2121
2180
|
}
|
|
2122
2181
|
const url = new URL('/sdk/navigator', this.appOrigin);
|
|
2123
2182
|
url.searchParams.set('origin', window.location.origin);
|
|
2124
2183
|
url.searchParams.set('nonce', nonce);
|
|
2125
|
-
url.searchParams.set('
|
|
2184
|
+
url.searchParams.set('siteKey', this.siteKey);
|
|
2185
|
+
url.searchParams.set('protocol', '2');
|
|
2186
|
+
url.searchParams.set('persist', this.persist ? '1' : '0');
|
|
2126
2187
|
return url.toString();
|
|
2127
2188
|
}
|
|
2128
2189
|
buildCollectionEditorUrl(args) {
|
|
2129
|
-
|
|
2130
|
-
if (!sessionToken) {
|
|
2190
|
+
if (!this.session || isEditSessionExpired(this.session)) {
|
|
2131
2191
|
throw new Error(this.messages.errors.editSessionExpired);
|
|
2132
2192
|
}
|
|
2133
2193
|
const url = new URL('/sdk/editor', this.appOrigin);
|
|
2134
2194
|
url.searchParams.set('origin', window.location.origin);
|
|
2135
2195
|
url.searchParams.set('nonce', args.nonce);
|
|
2136
|
-
url.searchParams.set('
|
|
2196
|
+
url.searchParams.set('siteKey', this.siteKey);
|
|
2197
|
+
url.searchParams.set('protocol', '2');
|
|
2198
|
+
url.searchParams.set('persist', this.persist ? '1' : '0');
|
|
2137
2199
|
url.searchParams.set('returnTo', window.location.href);
|
|
2138
2200
|
url.searchParams.set('sourceType', args.sourceType ?? 'cms');
|
|
2139
2201
|
url.searchParams.set('collectionId', args.collectionId);
|
|
@@ -2718,6 +2780,7 @@ class EinblickEditRuntime {
|
|
|
2718
2780
|
});
|
|
2719
2781
|
document.body.append(backdrop);
|
|
2720
2782
|
this.editorBackdrop = backdrop;
|
|
2783
|
+
this.editorFrame = iframe;
|
|
2721
2784
|
}
|
|
2722
2785
|
openCollectionDrawer(args) {
|
|
2723
2786
|
if (!this.state.isAuthenticated) {
|
|
@@ -2774,6 +2837,7 @@ class EinblickEditRuntime {
|
|
|
2774
2837
|
});
|
|
2775
2838
|
document.body.append(backdrop);
|
|
2776
2839
|
this.editorBackdrop = backdrop;
|
|
2840
|
+
this.editorFrame = iframe;
|
|
2777
2841
|
}
|
|
2778
2842
|
isBottomBarMenuOpen() {
|
|
2779
2843
|
return !!this.bottomBarMoreMenu && !this.bottomBarMoreMenu.hidden;
|
|
@@ -2789,6 +2853,7 @@ class EinblickEditRuntime {
|
|
|
2789
2853
|
closeDrawer() {
|
|
2790
2854
|
this.editorBackdrop?.remove();
|
|
2791
2855
|
this.editorBackdrop = null;
|
|
2856
|
+
this.editorFrame = null;
|
|
2792
2857
|
this.editorNonce = null;
|
|
2793
2858
|
this.editorTarget = null;
|
|
2794
2859
|
this.editorBinding = null;
|
|
@@ -2820,6 +2885,8 @@ export function createEinblickEditRuntime(options) {
|
|
|
2820
2885
|
start: () => runtime.start(),
|
|
2821
2886
|
destroy: () => runtime.destroy(),
|
|
2822
2887
|
login: (loginOptions) => runtime.login(loginOptions),
|
|
2888
|
+
deactivate: () => runtime.deactivateEditSession(),
|
|
2889
|
+
logout: () => runtime.logoutFromEinblick(),
|
|
2823
2890
|
openEditor: (binding, element) => runtime.openEditor(binding, element),
|
|
2824
2891
|
setLocale: (locale) => runtime.setLocale(locale),
|
|
2825
2892
|
setAccentColor: (accentColor) => runtime.setAccentColor(accentColor),
|