@ckeditor/ckeditor5-ckbox 39.0.2 → 40.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/src/utils.js CHANGED
@@ -1,49 +1,49 @@
1
- /**
2
- * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- /**
6
- * Converts image source set provided by the CKBox into an object containing:
7
- * - responsive URLs for the "webp" image format,
8
- * - one fallback URL for browsers that do not support the "webp" format.
9
- */
10
- export function getImageUrls(imageUrls) {
11
- const responsiveUrls = [];
12
- let maxWidth = 0;
13
- for (const key in imageUrls) {
14
- const width = parseInt(key, 10);
15
- if (!isNaN(width)) {
16
- if (width > maxWidth) {
17
- maxWidth = width;
18
- }
19
- responsiveUrls.push(`${imageUrls[key]} ${key}w`);
20
- }
21
- }
22
- const imageSources = [{
23
- srcset: responsiveUrls.join(','),
24
- sizes: `(max-width: ${maxWidth}px) 100vw, ${maxWidth}px`,
25
- type: 'image/webp'
26
- }];
27
- return {
28
- imageFallbackUrl: imageUrls.default,
29
- imageSources
30
- };
31
- }
32
- /**
33
- * Returns a workspace id to use for communication with the CKBox service.
34
- *
35
- * @param defaultWorkspaceId The default workspace to use taken from editor config.
36
- */
37
- export function getWorkspaceId(token, defaultWorkspaceId) {
38
- const [, binaryTokenPayload] = token.value.split('.');
39
- const payload = JSON.parse(atob(binaryTokenPayload));
40
- const workspaces = (payload.auth && payload.auth.ckbox && payload.auth.ckbox.workspaces) || [payload.aud];
41
- if (!defaultWorkspaceId) {
42
- return workspaces[0];
43
- }
44
- const role = payload.auth && payload.auth.ckbox && payload.auth.ckbox.role;
45
- if (role == 'superadmin' || workspaces.includes(defaultWorkspaceId)) {
46
- return defaultWorkspaceId;
47
- }
48
- return null;
49
- }
1
+ /**
2
+ * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
3
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ /**
6
+ * Converts image source set provided by the CKBox into an object containing:
7
+ * - responsive URLs for the "webp" image format,
8
+ * - one fallback URL for browsers that do not support the "webp" format.
9
+ */
10
+ export function getImageUrls(imageUrls) {
11
+ const responsiveUrls = [];
12
+ let maxWidth = 0;
13
+ for (const key in imageUrls) {
14
+ const width = parseInt(key, 10);
15
+ if (!isNaN(width)) {
16
+ if (width > maxWidth) {
17
+ maxWidth = width;
18
+ }
19
+ responsiveUrls.push(`${imageUrls[key]} ${key}w`);
20
+ }
21
+ }
22
+ const imageSources = [{
23
+ srcset: responsiveUrls.join(','),
24
+ sizes: `(max-width: ${maxWidth}px) 100vw, ${maxWidth}px`,
25
+ type: 'image/webp'
26
+ }];
27
+ return {
28
+ imageFallbackUrl: imageUrls.default,
29
+ imageSources
30
+ };
31
+ }
32
+ /**
33
+ * Returns a workspace id to use for communication with the CKBox service.
34
+ *
35
+ * @param defaultWorkspaceId The default workspace to use taken from editor config.
36
+ */
37
+ export function getWorkspaceId(token, defaultWorkspaceId) {
38
+ const [, binaryTokenPayload] = token.value.split('.');
39
+ const payload = JSON.parse(atob(binaryTokenPayload));
40
+ const workspaces = (payload.auth && payload.auth.ckbox && payload.auth.ckbox.workspaces) || [payload.aud];
41
+ if (!defaultWorkspaceId) {
42
+ return workspaces[0];
43
+ }
44
+ const role = payload.auth && payload.auth.ckbox && payload.auth.ckbox.role;
45
+ if (role == 'superadmin' || workspaces.includes(defaultWorkspaceId)) {
46
+ return defaultWorkspaceId;
47
+ }
48
+ return null;
49
+ }