kritzel-stencil 0.4.8 → 0.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +9 -1
- package/dist/cjs/kritzel-active-users_47.cjs.entry.js +1427 -1289
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{schema.constants-gDeS7USU.js → schema.constants-C6PknABJ.js} +81 -6
- package/dist/cjs/stencil.cjs.js +1 -1
- package/dist/collection/classes/objects/image.class.js +9 -0
- package/dist/collection/classes/objects/path.class.js +9 -0
- package/dist/collection/classes/objects/shape.class.js +9 -0
- package/dist/collection/classes/providers/sync/broadcast-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +2 -0
- package/dist/collection/classes/providers/sync/in-memory-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/indexeddb-sync-provider.class.js +1 -0
- package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +2 -0
- package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +201 -67
- package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +137 -170
- package/dist/collection/components/core/kritzel-watermark/kritzel-watermark.js +1 -1
- package/dist/collection/components/shared/kritzel-avatar/kritzel-avatar.js +3 -3
- package/dist/collection/components/shared/kritzel-button/kritzel-button.js +2 -2
- package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -2
- package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +1 -1
- package/dist/collection/components/shared/kritzel-font/kritzel-font.js +1 -1
- package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +1 -1
- package/dist/collection/components/shared/kritzel-input/kritzel-input.js +1 -1
- package/dist/collection/components/shared/kritzel-master-detail/kritzel-master-detail.js +3 -3
- package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +1 -1
- package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +2 -2
- package/dist/collection/components/shared/kritzel-numeric-input/kritzel-numeric-input.js +1 -1
- package/dist/collection/components/shared/kritzel-opacity-slider/kritzel-opacity-slider.js +1 -1
- package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +1 -1
- package/dist/collection/components/shared/kritzel-slide-toggle/kritzel-slide-toggle.js +1 -1
- package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +1 -1
- package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +1 -1
- package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.css +5 -5
- package/dist/collection/components/shared/kritzel-sync-indicator/kritzel-sync-indicator.js +1 -1
- package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +2 -2
- package/dist/collection/components/ui/kritzel-back-to-content/kritzel-back-to-content.js +1 -1
- package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +7 -7
- package/dist/collection/components/ui/kritzel-current-user/kritzel-current-user.js +2 -2
- package/dist/collection/components/ui/kritzel-current-user-dialog/kritzel-current-user-dialog.js +2 -2
- package/dist/collection/components/ui/kritzel-export/kritzel-export.js +2 -2
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.css +6 -6
- package/dist/collection/components/ui/kritzel-loading-overlay/kritzel-loading-overlay.js +1 -1
- package/dist/collection/components/ui/kritzel-login-dialog/kritzel-login-dialog.js +1 -1
- package/dist/collection/components/ui/kritzel-more-menu/kritzel-more-menu.js +91 -5
- package/dist/collection/components/ui/kritzel-settings/kritzel-settings.js +2 -2
- package/dist/collection/components/ui/kritzel-share-dialog/kritzel-share-dialog.js +3 -3
- package/dist/collection/components/ui/kritzel-tool-config/kritzel-tool-config.js +1 -1
- package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +2 -2
- package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +1 -1
- package/dist/collection/components/ui/kritzel-zoom-panel/kritzel-zoom-panel.js +2 -2
- package/dist/collection/constants/version.js +1 -1
- package/dist/collection/helpers/object.helper.js +11 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/interfaces/object-export.interface.js +1 -0
- package/dist/collection/interfaces/sync-config.interface.js +21 -1
- package/dist/collection/locales/de-locale.js +2 -2
- package/dist/collection/locales/en-locale.js +2 -2
- package/dist/collection/locales/fr-locale.js +2 -2
- package/dist/collection/themes/dark-theme.js +7 -0
- package/dist/collection/themes/light-theme.js +7 -0
- package/dist/components/index.js +11 -4
- package/dist/components/kritzel-active-users.js +1 -1
- package/dist/components/kritzel-avatar.js +1 -1
- package/dist/components/kritzel-awareness-cursors.js +1 -1
- package/dist/components/kritzel-back-to-content.js +1 -1
- package/dist/components/kritzel-button.js +1 -1
- package/dist/components/kritzel-color-palette.js +1 -1
- package/dist/components/kritzel-color.js +1 -1
- package/dist/components/kritzel-controls.js +1 -1
- package/dist/components/kritzel-current-user-dialog.js +1 -1
- package/dist/components/kritzel-current-user.js +1 -1
- package/dist/components/kritzel-editor.js +200 -99
- package/dist/components/kritzel-engine.js +1 -1
- package/dist/components/kritzel-export.js +1 -1
- package/dist/components/kritzel-font-size.js +1 -1
- package/dist/components/kritzel-font.js +1 -1
- package/dist/components/kritzel-input.js +1 -1
- package/dist/components/kritzel-loading-overlay.js +1 -1
- package/dist/components/kritzel-login-dialog.js +1 -1
- package/dist/components/kritzel-master-detail.js +1 -1
- package/dist/components/kritzel-menu-item.js +1 -1
- package/dist/components/kritzel-menu.js +1 -1
- package/dist/components/kritzel-more-menu.js +1 -1
- package/dist/components/kritzel-numeric-input.js +1 -1
- package/dist/components/kritzel-opacity-slider.js +1 -1
- package/dist/components/kritzel-portal.js +1 -1
- package/dist/components/kritzel-settings.js +1 -1
- package/dist/components/kritzel-share-dialog.js +1 -1
- package/dist/components/kritzel-slide-toggle.js +1 -1
- package/dist/components/kritzel-split-button.js +1 -1
- package/dist/components/kritzel-stroke-size.js +1 -1
- package/dist/components/kritzel-sync-indicator.js +1 -1
- package/dist/components/kritzel-tool-config.js +1 -1
- package/dist/components/kritzel-tooltip.js +1 -1
- package/dist/components/kritzel-utility-panel.js +1 -1
- package/dist/components/kritzel-watermark.js +1 -1
- package/dist/components/kritzel-workspace-manager.js +1 -1
- package/dist/components/kritzel-zoom-panel.js +1 -1
- package/dist/components/{p-8xkoVMfO.js → p-2WiGyky4.js} +2 -2
- package/dist/components/{p-D8TOEhPY.js → p-30g2W_Gx.js} +3 -3
- package/dist/components/{p-DXcjIb_a.js → p-4SPnZZkH.js} +3 -3
- package/dist/components/{p-CURiiQfq.js → p-7I4Uzjrw.js} +14 -0
- package/dist/components/{p-9m1cAVwG.js → p-B-585egz.js} +3 -3
- package/dist/components/{p-COjsYPir.js → p-BP6Fo3rt.js} +2 -2
- package/dist/components/{p-BLOPBDUF.js → p-BPsKYMH6.js} +2 -2
- package/dist/components/{p-DkY7pIg5.js → p-BX1aRLEi.js} +95 -6
- package/dist/components/{p-BMRln59F.js → p-B_lZQo3s.js} +3 -3
- package/dist/components/{p-oGAPPwAL.js → p-BoN700-O.js} +2 -2
- package/dist/components/{p-BzJEwFtn.js → p-BozrueXV.js} +1 -1
- package/dist/components/{p-DwY5pghH.js → p-Bvv1pGFD.js} +1 -1
- package/dist/components/{p-D8bHNNEm.js → p-C6e7eOEb.js} +1238 -1241
- package/dist/components/{p-CM1duewg.js → p-CAoN_STZ.js} +2 -2
- package/dist/components/{p-CVhcOiEA.js → p-CM65T33m.js} +3 -3
- package/dist/components/{p-BknTMcbz.js → p-COylwYw1.js} +16 -16
- package/dist/components/{p-BYO6pz8T.js → p-CZ99VWQc.js} +1 -1
- package/dist/components/{p-DrQRChp3.js → p-CaBbajU2.js} +2 -2
- package/dist/components/{p-BzrxIesp.js → p-CrHvaLRV.js} +1 -1
- package/dist/components/{p-BKOsmXB5.js → p-D-UkGru5.js} +4 -4
- package/dist/components/{p-BVEGQLBD.js → p-DB58Oa5V.js} +2 -2
- package/dist/components/{p-yD_3Z3K1.js → p-DBqoPgev.js} +1 -1
- package/dist/components/{p-DIMNEOTW.js → p-DKGg-76-.js} +1 -1
- package/dist/components/{p-Dd-pMvlr.js → p-DPONTran.js} +11 -0
- package/dist/components/{p-DgnK50xO.js → p-DVXTPI71.js} +1 -1
- package/dist/components/{p-DgA865Tp.js → p-DdabFzSa.js} +5 -5
- package/dist/components/{p-CMZ09rB1.js → p-Dt7-I2Xz.js} +3 -3
- package/dist/components/{p-CwuGA058.js → p-DtnMdWWB.js} +1 -1
- package/dist/components/{p-7Rt7ml3v.js → p-Dv4pZx8G.js} +1 -1
- package/dist/components/{p-BO9BvTtK.js → p-DwMqCX2P.js} +2 -2
- package/dist/components/{p-Cr2z2UBL.js → p-Dy3uucl_.js} +7 -7
- package/dist/components/{p-Ckm1Aq0V.js → p-GKmqCI8r.js} +2 -2
- package/dist/components/{p-DSOc0eIT.js → p-PjPPCHVL.js} +1 -1
- package/dist/components/{p-OLfoATNk.js → p-ShJrZeyt.js} +1 -1
- package/dist/components/{p-0H4HOJjy.js → p-bAacqNHq.js} +11 -2
- package/dist/components/{p-BU-FZuj0.js → p-vqEUQ-4Q.js} +3 -3
- package/dist/components/{p-DDbO5q-e.js → p-x3z0Cz1B.js} +4 -4
- package/dist/esm/index.js +9 -2
- package/dist/esm/kritzel-active-users_47.entry.js +1427 -1289
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{schema.constants-Rpm1NA9u.js → schema.constants-C-oQbvCY.js} +81 -7
- package/dist/esm/stencil.js +1 -1
- package/dist/stencil/index.esm.js +9 -2
- package/dist/stencil/{p-Rpm1NA9u.js → p-C-oQbvCY.js} +81 -7
- package/dist/stencil/{p-8c1b7b08.entry.js → p-be87f9d3.entry.js} +1427 -1289
- package/dist/stencil/stencil.esm.js +1 -1
- package/dist/types/classes/objects/image.class.d.ts +3 -0
- package/dist/types/classes/objects/path.class.d.ts +3 -0
- package/dist/types/classes/objects/shape.class.d.ts +3 -0
- package/dist/types/classes/providers/sync/broadcast-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/in-memory-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/indexeddb-sync-provider.class.d.ts +1 -0
- package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +1 -0
- package/dist/types/components/core/kritzel-editor/kritzel-editor.d.ts +17 -3
- package/dist/types/components/core/kritzel-engine/kritzel-engine.d.ts +16 -34
- package/dist/types/components/ui/kritzel-more-menu/kritzel-more-menu.d.ts +10 -1
- package/dist/types/components.d.ts +27 -26
- package/dist/types/constants/version.d.ts +1 -1
- package/dist/types/helpers/object.helper.d.ts +4 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interfaces/localization.interface.d.ts +1 -1
- package/dist/types/interfaces/menu-item.interface.d.ts +1 -1
- package/dist/types/interfaces/object-export.interface.d.ts +20 -0
- package/dist/types/interfaces/sync-config.interface.d.ts +5 -0
- package/dist/types/interfaces/sync-provider.interface.d.ts +5 -0
- package/dist/types/interfaces/theme.interface.d.ts +11 -5
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ import { DEFAULT_SHAPE_CONFIG } from "../../../configs/default-shape-tool.config
|
|
|
16
16
|
import { ABSOLUTE_SCALE_MAX, ABSOLUTE_SCALE_MIN } from "../../../constants/engine.constants";
|
|
17
17
|
import { KritzelKeyboardHelper } from "../../../helpers/keyboard.helper";
|
|
18
18
|
import { KritzelDevicesHelper } from "../../../helpers/devices.helper";
|
|
19
|
+
import { hasRemoteSyncProvider } from "../../../interfaces/sync-config.interface";
|
|
19
20
|
import { DEFAULT_ASSET_STORAGE_CONFIG } from "../../..";
|
|
20
21
|
import { DEFAULT_SYNC_CONFIG } from "../../../configs/default-sync.config";
|
|
21
22
|
import { ThemeHelper } from "../../../helpers/theme.helper";
|
|
@@ -123,6 +124,19 @@ export class KritzelEditor {
|
|
|
123
124
|
group: 'clipboard',
|
|
124
125
|
action: (menu, _) => this.engineRef.paste(menu.x, menu.y),
|
|
125
126
|
},
|
|
127
|
+
{
|
|
128
|
+
label: 'menu.export',
|
|
129
|
+
icon: 'upload',
|
|
130
|
+
group: 'clipboard',
|
|
131
|
+
visible: (_, objects) => this.canExportObjects(objects),
|
|
132
|
+
action: (_, objects) => {
|
|
133
|
+
const format = this.getPreferredExportFormat(objects);
|
|
134
|
+
if (!format) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
void this.engineRef.exportSelectedObject(format);
|
|
138
|
+
},
|
|
139
|
+
},
|
|
126
140
|
{
|
|
127
141
|
label: 'menu.order',
|
|
128
142
|
icon: 'ordering',
|
|
@@ -164,16 +178,43 @@ export class KritzelEditor {
|
|
|
164
178
|
},
|
|
165
179
|
],
|
|
166
180
|
},
|
|
181
|
+
{ label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() },
|
|
182
|
+
];
|
|
183
|
+
moreMenuItems = [
|
|
184
|
+
{
|
|
185
|
+
id: 'share',
|
|
186
|
+
label: 'menu.share',
|
|
187
|
+
icon: 'share',
|
|
188
|
+
isVisible: async () => hasRemoteSyncProvider(this.syncConfig),
|
|
189
|
+
action: () => {
|
|
190
|
+
if (!this.isLoggedIn && this.loginConfig) {
|
|
191
|
+
this.openLoginDialog();
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
this.shareDialogRef.open();
|
|
195
|
+
},
|
|
196
|
+
},
|
|
167
197
|
{
|
|
198
|
+
id: 'export',
|
|
168
199
|
label: 'menu.export',
|
|
200
|
+
icon: 'upload',
|
|
201
|
+
action: async () => {
|
|
202
|
+
const preview = await this.engineRef.getScreenshot('png');
|
|
203
|
+
this.exportRef.open(preview ?? undefined);
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: 'import',
|
|
208
|
+
label: 'menu.import',
|
|
169
209
|
icon: 'download',
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
210
|
+
action: () => this.engineRef.importFromFile(),
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
id: 'settings',
|
|
214
|
+
label: 'menu.settings',
|
|
215
|
+
icon: 'settings',
|
|
216
|
+
action: () => this.settingsRef.open(),
|
|
175
217
|
},
|
|
176
|
-
{ label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() },
|
|
177
218
|
];
|
|
178
219
|
themes;
|
|
179
220
|
theme = 'light';
|
|
@@ -245,6 +286,9 @@ export class KritzelEditor {
|
|
|
245
286
|
isNotificationDismissing = false;
|
|
246
287
|
contextMenuState;
|
|
247
288
|
normalizedControls = [];
|
|
289
|
+
resolvedMoreMenuItems = [];
|
|
290
|
+
isSyncing = false;
|
|
291
|
+
isLoadingOverlayVisible = false;
|
|
248
292
|
notificationDismissTimeout;
|
|
249
293
|
notificationDismissAnimationTimeout;
|
|
250
294
|
notificationDisplayDurationMs = 5000;
|
|
@@ -287,6 +331,18 @@ export class KritzelEditor {
|
|
|
287
331
|
onControlsChange(newValue) {
|
|
288
332
|
this.normalizedControls = this.normalizeControls(newValue);
|
|
289
333
|
}
|
|
334
|
+
onMoreMenuItemsChange() {
|
|
335
|
+
this.recomputeMoreMenuItems();
|
|
336
|
+
}
|
|
337
|
+
onSyncConfigChange() {
|
|
338
|
+
this.recomputeMoreMenuItems();
|
|
339
|
+
}
|
|
340
|
+
onLoginConfigChange() {
|
|
341
|
+
this.recomputeMoreMenuItems();
|
|
342
|
+
}
|
|
343
|
+
onUserChange() {
|
|
344
|
+
this.recomputeMoreMenuItems();
|
|
345
|
+
}
|
|
290
346
|
onActiveWorkspaceIdChange(newId) {
|
|
291
347
|
// If no ID is provided, do nothing (allows other logic to control activeWorkspace)
|
|
292
348
|
if (!newId) {
|
|
@@ -336,6 +392,7 @@ export class KritzelEditor {
|
|
|
336
392
|
}
|
|
337
393
|
this.resolvedTerms = await this.engineRef.getResolvedTerms();
|
|
338
394
|
this.availableLocaleOptions = await this.engineRef.getAvailableLocaleOptions();
|
|
395
|
+
this.recomputeMoreMenuItems();
|
|
339
396
|
}
|
|
340
397
|
onTouchStart(event) {
|
|
341
398
|
if (event.cancelable) {
|
|
@@ -496,11 +553,14 @@ export class KritzelEditor {
|
|
|
496
553
|
async exportViewportAsSvg(options) {
|
|
497
554
|
return this.engineRef.exportViewportAsSvg(options);
|
|
498
555
|
}
|
|
499
|
-
async
|
|
500
|
-
return this.engineRef.
|
|
556
|
+
async getSelectedObjectSupportedExportFormats() {
|
|
557
|
+
return this.engineRef.getSelectedObjectSupportedExportFormats();
|
|
558
|
+
}
|
|
559
|
+
async canExportSelectedObjectAs(format) {
|
|
560
|
+
return this.engineRef.canExportSelectedObjectAs(format);
|
|
501
561
|
}
|
|
502
|
-
async
|
|
503
|
-
return this.engineRef.
|
|
562
|
+
async exportSelectedObject(format) {
|
|
563
|
+
return this.engineRef.exportSelectedObject(format);
|
|
504
564
|
}
|
|
505
565
|
async downloadAsJson(filename) {
|
|
506
566
|
return this.engineRef.downloadAsJson(filename);
|
|
@@ -567,6 +627,7 @@ export class KritzelEditor {
|
|
|
567
627
|
currentUserDialogRef;
|
|
568
628
|
componentWillLoad() {
|
|
569
629
|
this.normalizedControls = this.normalizeControls(this.controls);
|
|
630
|
+
this.recomputeMoreMenuItems();
|
|
570
631
|
this.loadSettingsFromStorage();
|
|
571
632
|
this.applyTheme();
|
|
572
633
|
}
|
|
@@ -587,13 +648,18 @@ export class KritzelEditor {
|
|
|
587
648
|
};
|
|
588
649
|
});
|
|
589
650
|
}
|
|
651
|
+
recomputeMoreMenuItems() {
|
|
652
|
+
if (this.moreMenuItems) {
|
|
653
|
+
this.resolvedMoreMenuItems = this.moreMenuItems;
|
|
654
|
+
return;
|
|
655
|
+
}
|
|
656
|
+
}
|
|
590
657
|
applyTheme() {
|
|
591
658
|
const themeObj = this.resolveThemeObject();
|
|
592
659
|
ThemeHelper.applyThemeToElement(this.host, themeObj);
|
|
593
660
|
}
|
|
594
661
|
resolveThemeObject() {
|
|
595
|
-
return this.themes?.find(t => t.name === this.theme)
|
|
596
|
-
?? (this.theme === 'dark' ? darkTheme : lightTheme);
|
|
662
|
+
return this.themes?.find(t => t.name === this.theme) ?? (this.theme === 'dark' ? darkTheme : lightTheme);
|
|
597
663
|
}
|
|
598
664
|
componentDidLoad() {
|
|
599
665
|
this.registerCustomSvgIcons();
|
|
@@ -628,7 +694,7 @@ export class KritzelEditor {
|
|
|
628
694
|
syncConfig: this.syncConfig,
|
|
629
695
|
assetStorageConfig: this.assetStorageConfig,
|
|
630
696
|
loginConfig: this.loginConfig,
|
|
631
|
-
theme: this.theme
|
|
697
|
+
theme: this.theme,
|
|
632
698
|
});
|
|
633
699
|
}
|
|
634
700
|
async onEngineReady(event) {
|
|
@@ -791,43 +857,6 @@ export class KritzelEditor {
|
|
|
791
857
|
}
|
|
792
858
|
this.themeChange.emit(event.detail.theme);
|
|
793
859
|
}
|
|
794
|
-
get moreMenuItems() {
|
|
795
|
-
return [
|
|
796
|
-
{
|
|
797
|
-
id: 'share',
|
|
798
|
-
label: this.resolvedTerms['menu.share'] ?? 'Share',
|
|
799
|
-
icon: 'share',
|
|
800
|
-
action: () => {
|
|
801
|
-
if (!this.isLoggedIn && this.loginConfig) {
|
|
802
|
-
this.openLoginDialog();
|
|
803
|
-
return;
|
|
804
|
-
}
|
|
805
|
-
this.shareDialogRef.open();
|
|
806
|
-
},
|
|
807
|
-
},
|
|
808
|
-
{
|
|
809
|
-
id: 'export',
|
|
810
|
-
label: this.resolvedTerms['menu.export'] ?? 'Export',
|
|
811
|
-
icon: 'upload',
|
|
812
|
-
action: async () => {
|
|
813
|
-
const preview = await this.engineRef.getScreenshot('png');
|
|
814
|
-
this.exportRef.open(preview ?? undefined);
|
|
815
|
-
},
|
|
816
|
-
},
|
|
817
|
-
{
|
|
818
|
-
id: 'import',
|
|
819
|
-
label: this.resolvedTerms['menu.import'] ?? 'Import',
|
|
820
|
-
icon: 'download',
|
|
821
|
-
action: () => this.engineRef.importFromFile(),
|
|
822
|
-
},
|
|
823
|
-
{
|
|
824
|
-
id: 'settings',
|
|
825
|
-
label: this.resolvedTerms['menu.settings'] ?? 'Settings',
|
|
826
|
-
icon: 'settings',
|
|
827
|
-
action: () => this.settingsRef.open(),
|
|
828
|
-
}
|
|
829
|
-
];
|
|
830
|
-
}
|
|
831
860
|
handleToggleIsPublic = async (event) => {
|
|
832
861
|
const isPublic = event.detail;
|
|
833
862
|
const activeWorkspace = await this.engineRef.getActiveWorkspace();
|
|
@@ -857,6 +886,28 @@ export class KritzelEditor {
|
|
|
857
886
|
get isLoggedIn() {
|
|
858
887
|
return !!this.user && !this.user.isGuest;
|
|
859
888
|
}
|
|
889
|
+
canExportObjectsAs(objects, format) {
|
|
890
|
+
if (!objects || objects.length !== 1) {
|
|
891
|
+
return false;
|
|
892
|
+
}
|
|
893
|
+
const [selected] = objects;
|
|
894
|
+
if (!ObjectHelper.isKritzelExportable(selected)) {
|
|
895
|
+
return false;
|
|
896
|
+
}
|
|
897
|
+
return selected.getSupportedExportFormats().includes(format);
|
|
898
|
+
}
|
|
899
|
+
canExportObjects(objects) {
|
|
900
|
+
return this.canExportObjectsAs(objects, 'png') || this.canExportObjectsAs(objects, 'svg');
|
|
901
|
+
}
|
|
902
|
+
getPreferredExportFormat(objects) {
|
|
903
|
+
if (this.canExportObjectsAs(objects, 'png')) {
|
|
904
|
+
return 'png';
|
|
905
|
+
}
|
|
906
|
+
if (this.canExportObjectsAs(objects, 'svg')) {
|
|
907
|
+
return 'svg';
|
|
908
|
+
}
|
|
909
|
+
return null;
|
|
910
|
+
}
|
|
860
911
|
async openLoginDialog() {
|
|
861
912
|
this.loginDialogRef?.open();
|
|
862
913
|
}
|
|
@@ -1033,41 +1084,41 @@ export class KritzelEditor {
|
|
|
1033
1084
|
const isLoggedIn = this.isLoggedIn;
|
|
1034
1085
|
const shouldShowCurrentUser = isLoggedIn;
|
|
1035
1086
|
const shouldShowLoginButton = this.isReady && !!this.loginConfig && !isLoggedIn;
|
|
1036
|
-
return (h(Host, { key: '
|
|
1087
|
+
return (h(Host, { key: 'd9d87b5ca40972d7ab2c5986f340278347f78c6e' }, h("div", { key: 'd8da2ed24d19c550420689c6720dc491fe0d3a22', class: "editor-content", style: {
|
|
1037
1088
|
opacity: this.isEditorVisible ? '1' : '0',
|
|
1038
1089
|
visibility: this.isEditorVisible ? 'visible' : 'hidden',
|
|
1039
1090
|
transition: 'opacity 0.2s ease-in-out, visibility 0.2s ease-in-out',
|
|
1040
|
-
} }, h("div", { key: '
|
|
1091
|
+
} }, h("div", { key: '82a5d216e7c95307b1bdbd1f06fdfe881c1c50d4', class: "top-left-buttons" }, h("kritzel-workspace-manager", { key: 'de13673384b44bb6bd309a927a2866a9b78b519e', visible: this.isWorkspaceManagerVisible, workspaces: this.workspaces, activeWorkspace: this.activeWorkspace, terms: this.resolvedTerms, onWorkspaceChange: event => (this.activeWorkspace = event.detail), onIsWorkspaceManagerReady: () => (this.isWorkspaceManagerReady = true) }), h("kritzel-back-to-content", { key: 'f68610d7d91713f7a0ec5f0135d208769f7fab9c', visible: this.isBackToContentButtonVisible, text: this.resolvedTerms['backToContent.label'] ?? 'Back to content', onBackToContent: () => this.backToContent() })), this.activeNotification && (h("div", { key: '9d1f972fb67050b1f996e3088710713fa1219b9a', class: "top-center-notification-layer", role: "presentation" }, h("div", { key: '295eff0a02f7cc79ad8e80cda23baa3c576ce156', class: { 'top-center-notification-container': true, 'is-dismissing': this.isNotificationDismissing }, role: "presentation" }, h("kritzel-notification-card", { key: '1d1bf140ddfb7b927d30fb1d77e7b887240d7deb', notification: this.activeNotification, locale: this.locale, onDismiss: this.dismissNotification, onHoverChange: event => this.handleNotificationHoverChange(event) })))), this.contextMenuState && this.contextMenuState.items.length > 0 && (h("kritzel-context-menu", { key: '1062bc9554e5834ef2002fbfe953f7938866fb84', class: "context-menu", items: this.contextMenuState.items, objects: this.contextMenuState.objects, style: {
|
|
1041
1092
|
position: 'absolute',
|
|
1042
1093
|
left: `${this.contextMenuState.position.x}px`,
|
|
1043
1094
|
top: `${this.contextMenuState.position.y}px`,
|
|
1044
1095
|
zIndex: '10002',
|
|
1045
|
-
}, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-engine", { key: '
|
|
1096
|
+
}, onActionSelected: event => this.handleContextMenuActionSelected(event), onClose: () => this.hideContextMenu() })), h("kritzel-sync-indicator", { key: '0094a026828473988f857d82cfccb811f36f049c', visible: this.isSyncing, text: "Syncing..." }), h("kritzel-loading-overlay", { key: '680096e20b6175104a866b9a92ca4c1d0087c93a', visible: this.isLoadingOverlayVisible, text: this.resolvedTerms['editor.loading'] ?? 'Loading...' }), h("kritzel-engine", { key: '0698a44fcbf2d6ea786d53502350ac0c9ffb9d66', ref: el => {
|
|
1046
1097
|
if (el) {
|
|
1047
1098
|
this.engineRef = el;
|
|
1048
1099
|
}
|
|
1049
|
-
}, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, isObjectDistanceFadingActive: this.isObjectDistanceFadingActive, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, isLoading: this.isLoading, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, isPanningEnabled: this.isPanningEnabled, isZoomingEnabled: this.isZoomingEnabled, theme: this.theme, themes: this.themes, licenseKey: this.licenseKey, locale: this.locale, locales: this.locales, fallbackLocale: this.fallbackLocale, debugInfo: this.debugInfo, globalContextMenuItems: this.globalContextMenuItems, objectContextMenuItems: this.objectContextMenuItems, onIsEngineReady: event => this.onEngineReady(event), onWorkspacesChange: event => this.handleWorkspacesChange(event), onActiveWorkspaceChange: event => this.handleActiveWorkspaceChange(event), onObjectsChange: event => this.handleObjectsChange(event), onObjectsAdded: event => this.handleObjectsAdded(event), onObjectsRemoved: event => this.handleObjectsRemoved(event), onObjectsUpdated: event => this.handleObjectsUpdated(event), onUndoStateChange: event => this.handleUndoStateChange(event), onObjectsInViewportChange: event => this.handleObjectsInViewportChange(event), onViewportChange: event => this.handleViewportChange(event), onAwarenessChange: event => this.handleAwarenessChange(event), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event) }), h("kritzel-controls", { key: '
|
|
1100
|
+
}, workspace: this.activeWorkspace, activeWorkspaceId: this.activeWorkspaceId, editorId: this.editorId, syncConfig: this.syncConfig, assetStorageConfig: this.assetStorageConfig, user: this.user, scaleMax: this.scaleMax, lockDrawingScale: this.lockDrawingScale, isObjectDistanceFadingActive: this.isObjectDistanceFadingActive, scaleMin: this.scaleMin, cursorTarget: this.cursorTarget, isLoading: this.isLoading, viewportBoundaryLeft: this.viewportBoundaryLeft, viewportBoundaryRight: this.viewportBoundaryRight, viewportBoundaryTop: this.viewportBoundaryTop, viewportBoundaryBottom: this.viewportBoundaryBottom, isPanningEnabled: this.isPanningEnabled, isZoomingEnabled: this.isZoomingEnabled, theme: this.theme, themes: this.themes, licenseKey: this.licenseKey, locale: this.locale, locales: this.locales, fallbackLocale: this.fallbackLocale, debugInfo: this.debugInfo, globalContextMenuItems: this.globalContextMenuItems, objectContextMenuItems: this.objectContextMenuItems, onIsEngineReady: event => this.onEngineReady(event), onWorkspacesChange: event => this.handleWorkspacesChange(event), onActiveWorkspaceChange: event => this.handleActiveWorkspaceChange(event), onObjectsChange: event => this.handleObjectsChange(event), onObjectsAdded: event => this.handleObjectsAdded(event), onObjectsRemoved: event => this.handleObjectsRemoved(event), onObjectsUpdated: event => this.handleObjectsUpdated(event), onUndoStateChange: event => this.handleUndoStateChange(event), onObjectsInViewportChange: event => this.handleObjectsInViewportChange(event), onViewportChange: event => this.handleViewportChange(event), onAwarenessChange: event => this.handleAwarenessChange(event), onNotificationsChange: event => this.handleNotificationsChange(event), onContextMenuStateChange: event => this.handleContextMenuStateChange(event), onSyncingChange: event => (this.isSyncing = event.detail), onLoadingChange: event => (this.isLoadingOverlayVisible = event.detail) }), h("kritzel-controls", { key: '765a670807111ad68e9f8d14bdca2651a33704d4', visible: this.isControlsVisible, class: { 'keyboard-open': this.isVirtualKeyboardOpen }, ref: el => {
|
|
1050
1101
|
if (el) {
|
|
1051
1102
|
this.controlsRef = el;
|
|
1052
1103
|
}
|
|
1053
|
-
}, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: '
|
|
1104
|
+
}, controls: this.normalizedControls, isUtilityPanelVisible: this.isUtilityPanelVisible, undoState: this.undoState ?? undefined, theme: this.theme, terms: this.resolvedTerms, onIsControlsReady: () => (this.isControlsReady = true) }), h("div", { key: 'e7c5ebab4a40b7ab4fa5d19d203129326c0009ed', class: "bottom-left-buttons" }, h("kritzel-zoom-panel", { key: '0aa3891b553d2abcd06e635227fd6bb6656ed739', visible: this.isZoomPanelVisible, disabled: !this.isZoomingEnabled, zoomPercent: this.currentZoomPercent, terms: this.resolvedTerms, onZoomIn: () => this.zoomIn(), onZoomOut: () => this.zoomOut() })), h("div", { key: '824244bbd78784c1d78ab89cc12e206ca61d84cc', class: "top-right-buttons" }, h("kritzel-settings", { key: 'baf4830b6b9ccb6241b1a1baa5cc6ff9d0295fb9', ref: el => {
|
|
1054
1105
|
if (el) {
|
|
1055
1106
|
this.settingsRef = el;
|
|
1056
1107
|
}
|
|
1057
|
-
}, shortcuts: this.shortcuts, availableThemes: this.themes && this.themes.length > 0 ? this.themes.map(t => t.name) : ['light', 'dark'], availableLocales: this.availableLocaleOptions, settings: this.currentSettingsConfig, terms: this.resolvedTerms, onSettingsChange: event => this.handleSettingsChange(event) }), h("kritzel-export", { key: '
|
|
1108
|
+
}, shortcuts: this.shortcuts, availableThemes: this.themes && this.themes.length > 0 ? this.themes.map(t => t.name) : ['light', 'dark'], availableLocales: this.availableLocaleOptions, settings: this.currentSettingsConfig, terms: this.resolvedTerms, onSettingsChange: event => this.handleSettingsChange(event) }), h("kritzel-export", { key: '57e2682450c71803cd49bfe65f16e02d9d3358bc', ref: el => {
|
|
1058
1109
|
if (el) {
|
|
1059
1110
|
this.exportRef = el;
|
|
1060
1111
|
}
|
|
1061
|
-
}, workspaceName: this.activeWorkspace?.name || 'workspace', terms: this.resolvedTerms, onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), h("kritzel-active-users", { key: '
|
|
1112
|
+
}, workspaceName: this.activeWorkspace?.name || 'workspace', terms: this.resolvedTerms, onExportPng: () => this.engineRef.exportViewportAsPng(), onExportSvg: () => this.engineRef.exportViewportAsSvg(), onExportJson: event => this.engineRef.downloadAsJson(event.detail) }), h("kritzel-active-users", { key: '955d2a61b98d937f8eec39ab19f1b73e702c9fd7', users: this.activeUsers }), shouldShowCurrentUser && h("kritzel-current-user", { key: 'c0885e0c8cab1a4cb50c8f6d4b17e03f32cc2b87', user: this.user, terms: this.resolvedTerms, onClick: () => this.currentUserDialogRef?.open() }), shouldShowCurrentUser && (h("kritzel-current-user-dialog", { key: '8209b2562ffb821036bb8e4dacf052cacbe99bee', ref: el => {
|
|
1062
1113
|
if (el) {
|
|
1063
1114
|
this.currentUserDialogRef = el;
|
|
1064
1115
|
this.currentUserDialogRef.addEventListener('logoutRequest', this.handleCurrentUserLogout);
|
|
1065
1116
|
}
|
|
1066
|
-
}, user: this.user, terms: this.resolvedTerms })), shouldShowLoginButton &&
|
|
1117
|
+
}, user: this.user, terms: this.resolvedTerms })), shouldShowLoginButton && h("kritzel-button", { key: '9cec12de2207e8931a08c0a4f6bda39d039dfd1f', onButtonClick: () => this.loginDialogRef?.open() }, this.resolvedTerms['login.dialogTitle'] ?? 'Sign in'), h("kritzel-more-menu", { key: 'fe0e1413148b9ac64e5f058790ba96b856faef9e', items: this.resolvedMoreMenuItems, visible: this.isMoreMenuVisible, terms: this.resolvedTerms }), h("kritzel-share-dialog", { key: 'ea06c88b0cba0464144bea1e2247b37cc5c44646', ref: el => {
|
|
1067
1118
|
if (el) {
|
|
1068
1119
|
this.shareDialogRef = el;
|
|
1069
1120
|
}
|
|
1070
|
-
}, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: '
|
|
1121
|
+
}, isPublic: this.currentIsPublic, workspaceId: this.activeWorkspace?.id, terms: this.resolvedTerms, onToggleIsPublic: this.handleToggleIsPublic }), this.loginConfig && (h("kritzel-login-dialog", { key: 'e9a523d5989284b7e30ac44f55882a17c82c643b', ref: el => {
|
|
1071
1122
|
if (el) {
|
|
1072
1123
|
this.loginDialogRef = el;
|
|
1073
1124
|
}
|
|
@@ -1372,7 +1423,32 @@ export class KritzelEditor {
|
|
|
1372
1423
|
},
|
|
1373
1424
|
"getter": false,
|
|
1374
1425
|
"setter": false,
|
|
1375
|
-
"defaultValue": "[\n { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() },\n { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() },\n {\n label: 'menu.paste',\n icon: 'paste',\n group: 'clipboard',\n action: (menu, _) => this.engineRef.paste(menu.x, menu.y),\n },\n {\n label: 'menu.order',\n icon: 'ordering',\n group: 'other',\n children: [\n { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() },\n { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() },\n { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() },\n { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() },\n ],\n },\n {\n label: 'menu.align',\n icon: 'align',\n group: 'other',\n children: [\n { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) },\n { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) },\n { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) },\n { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) },\n { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) },\n { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) },\n ],\n },\n {\n label: 'menu.group',\n icon: 'group',\n group: 'other',\n children: [\n {\n label: 'menu.group',\n icon: 'group',\n action: () => this.engineRef.group(),\n },\n {\n label: 'menu.ungroup',\n icon: 'ungroup',\n action: () => this.engineRef.ungroup(),\n },\n ],\n },\n {
|
|
1426
|
+
"defaultValue": "[\n { label: 'menu.copy', icon: 'copy', group: 'clipboard', action: () => this.engineRef.copy() },\n { label: 'menu.cut', icon: 'cut', group: 'clipboard', action: () => this.engineRef.cut() },\n {\n label: 'menu.paste',\n icon: 'paste',\n group: 'clipboard',\n action: (menu, _) => this.engineRef.paste(menu.x, menu.y),\n },\n {\n label: 'menu.export',\n icon: 'upload',\n group: 'clipboard',\n visible: (_, objects) => this.canExportObjects(objects),\n action: (_, objects) => {\n const format = this.getPreferredExportFormat(objects);\n if (!format) {\n return;\n }\n\n void this.engineRef.exportSelectedObject(format);\n },\n },\n {\n label: 'menu.order',\n icon: 'ordering',\n group: 'other',\n children: [\n { label: 'menu.bringToFront', icon: 'bring-to-front', action: () => this.engineRef.bringToFront() },\n { label: 'menu.sendToBack', icon: 'send-to-back', action: () => this.engineRef.sendToBack() },\n { label: 'menu.moveUp', icon: 'arrow-up-from-dot', action: () => this.engineRef.bringForward() },\n { label: 'menu.moveDown', icon: 'arrow-down-from-dot', action: () => this.engineRef.sendBackward() },\n ],\n },\n {\n label: 'menu.align',\n icon: 'align',\n group: 'other',\n children: [\n { label: 'menu.alignLeft', icon: 'align-start-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.StartHorizontal) },\n { label: 'menu.alignCenterHorizontal', icon: 'align-center-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterHorizontal) },\n { label: 'menu.alignRight', icon: 'align-end-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.EndHorizontal) },\n { label: 'menu.alignTop', icon: 'align-start-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.StartVertical) },\n { label: 'menu.alignCenterVertical', icon: 'align-center-vertical', action: () => this.engineRef.alignObjects(KritzelAlignment.CenterVertical) },\n { label: 'menu.alignBottom', icon: 'align-end-horizontal', action: () => this.engineRef.alignObjects(KritzelAlignment.EndVertical) },\n ],\n },\n {\n label: 'menu.group',\n icon: 'group',\n group: 'other',\n children: [\n {\n label: 'menu.group',\n icon: 'group',\n action: () => this.engineRef.group(),\n },\n {\n label: 'menu.ungroup',\n icon: 'ungroup',\n action: () => this.engineRef.ungroup(),\n },\n ],\n },\n { label: 'menu.delete', icon: 'delete', group: 'edit', action: () => this.engineRef.delete() },\n ]"
|
|
1427
|
+
},
|
|
1428
|
+
"moreMenuItems": {
|
|
1429
|
+
"type": "unknown",
|
|
1430
|
+
"mutable": false,
|
|
1431
|
+
"complexType": {
|
|
1432
|
+
"original": "IKritzelMenuItem[]",
|
|
1433
|
+
"resolved": "IKritzelMenuItem<any>[]",
|
|
1434
|
+
"references": {
|
|
1435
|
+
"IKritzelMenuItem": {
|
|
1436
|
+
"location": "import",
|
|
1437
|
+
"path": "../../../interfaces/menu-item.interface",
|
|
1438
|
+
"id": "src/interfaces/menu-item.interface.ts::IKritzelMenuItem",
|
|
1439
|
+
"referenceLocation": "IKritzelMenuItem"
|
|
1440
|
+
}
|
|
1441
|
+
}
|
|
1442
|
+
},
|
|
1443
|
+
"required": false,
|
|
1444
|
+
"optional": true,
|
|
1445
|
+
"docs": {
|
|
1446
|
+
"tags": [],
|
|
1447
|
+
"text": ""
|
|
1448
|
+
},
|
|
1449
|
+
"getter": false,
|
|
1450
|
+
"setter": false,
|
|
1451
|
+
"defaultValue": "[\n {\n id: 'share',\n label: 'menu.share',\n icon: 'share',\n isVisible: async () => hasRemoteSyncProvider(this.syncConfig),\n action: () => {\n if (!this.isLoggedIn && this.loginConfig) {\n this.openLoginDialog();\n return;\n }\n this.shareDialogRef.open();\n },\n },\n {\n id: 'export',\n label: 'menu.export',\n icon: 'upload',\n action: async () => {\n const preview = await this.engineRef.getScreenshot('png');\n this.exportRef.open(preview ?? undefined);\n },\n },\n {\n id: 'import',\n label: 'menu.import',\n icon: 'download',\n action: () => this.engineRef.importFromFile(),\n },\n {\n id: 'settings',\n label: 'menu.settings',\n icon: 'settings',\n action: () => this.settingsRef.open(),\n },\n ]"
|
|
1376
1452
|
},
|
|
1377
1453
|
"themes": {
|
|
1378
1454
|
"type": "unknown",
|
|
@@ -1905,7 +1981,10 @@ export class KritzelEditor {
|
|
|
1905
1981
|
"activeNotification": {},
|
|
1906
1982
|
"isNotificationDismissing": {},
|
|
1907
1983
|
"contextMenuState": {},
|
|
1908
|
-
"normalizedControls": {}
|
|
1984
|
+
"normalizedControls": {},
|
|
1985
|
+
"resolvedMoreMenuItems": {},
|
|
1986
|
+
"isSyncing": {},
|
|
1987
|
+
"isLoadingOverlayVisible": {}
|
|
1909
1988
|
};
|
|
1910
1989
|
}
|
|
1911
1990
|
static get events() {
|
|
@@ -3491,31 +3570,74 @@ export class KritzelEditor {
|
|
|
3491
3570
|
"tags": []
|
|
3492
3571
|
}
|
|
3493
3572
|
},
|
|
3494
|
-
"
|
|
3573
|
+
"getSelectedObjectSupportedExportFormats": {
|
|
3495
3574
|
"complexType": {
|
|
3496
|
-
"signature": "() => Promise<
|
|
3575
|
+
"signature": "() => Promise<KritzelObjectExportFormat[]>",
|
|
3497
3576
|
"parameters": [],
|
|
3498
3577
|
"references": {
|
|
3499
3578
|
"Promise": {
|
|
3500
3579
|
"location": "global",
|
|
3501
3580
|
"id": "global::Promise"
|
|
3581
|
+
},
|
|
3582
|
+
"KritzelObjectExportFormat": {
|
|
3583
|
+
"location": "import",
|
|
3584
|
+
"path": "../../../interfaces/object-export.interface",
|
|
3585
|
+
"id": "src/interfaces/object-export.interface.ts::KritzelObjectExportFormat",
|
|
3586
|
+
"referenceLocation": "KritzelObjectExportFormat"
|
|
3502
3587
|
}
|
|
3503
3588
|
},
|
|
3504
|
-
"return": "Promise<
|
|
3589
|
+
"return": "Promise<KritzelObjectExportFormat[]>"
|
|
3505
3590
|
},
|
|
3506
3591
|
"docs": {
|
|
3507
3592
|
"text": "",
|
|
3508
3593
|
"tags": []
|
|
3509
3594
|
}
|
|
3510
3595
|
},
|
|
3511
|
-
"
|
|
3596
|
+
"canExportSelectedObjectAs": {
|
|
3512
3597
|
"complexType": {
|
|
3513
|
-
"signature": "() => Promise<
|
|
3514
|
-
"parameters": [
|
|
3598
|
+
"signature": "(format: KritzelObjectExportFormat) => Promise<boolean>",
|
|
3599
|
+
"parameters": [{
|
|
3600
|
+
"name": "format",
|
|
3601
|
+
"type": "\"svg\" | \"png\"",
|
|
3602
|
+
"docs": ""
|
|
3603
|
+
}],
|
|
3515
3604
|
"references": {
|
|
3516
3605
|
"Promise": {
|
|
3517
3606
|
"location": "global",
|
|
3518
3607
|
"id": "global::Promise"
|
|
3608
|
+
},
|
|
3609
|
+
"KritzelObjectExportFormat": {
|
|
3610
|
+
"location": "import",
|
|
3611
|
+
"path": "../../../interfaces/object-export.interface",
|
|
3612
|
+
"id": "src/interfaces/object-export.interface.ts::KritzelObjectExportFormat",
|
|
3613
|
+
"referenceLocation": "KritzelObjectExportFormat"
|
|
3614
|
+
}
|
|
3615
|
+
},
|
|
3616
|
+
"return": "Promise<boolean>"
|
|
3617
|
+
},
|
|
3618
|
+
"docs": {
|
|
3619
|
+
"text": "",
|
|
3620
|
+
"tags": []
|
|
3621
|
+
}
|
|
3622
|
+
},
|
|
3623
|
+
"exportSelectedObject": {
|
|
3624
|
+
"complexType": {
|
|
3625
|
+
"signature": "(format: KritzelObjectExportFormat) => Promise<void>",
|
|
3626
|
+
"parameters": [{
|
|
3627
|
+
"name": "format",
|
|
3628
|
+
"type": "\"svg\" | \"png\"",
|
|
3629
|
+
"docs": ""
|
|
3630
|
+
}],
|
|
3631
|
+
"references": {
|
|
3632
|
+
"Promise": {
|
|
3633
|
+
"location": "global",
|
|
3634
|
+
"id": "global::Promise"
|
|
3635
|
+
},
|
|
3636
|
+
"KritzelObjectExportFormat": {
|
|
3637
|
+
"location": "import",
|
|
3638
|
+
"path": "../../../interfaces/object-export.interface",
|
|
3639
|
+
"id": "src/interfaces/object-export.interface.ts::KritzelObjectExportFormat",
|
|
3640
|
+
"referenceLocation": "KritzelObjectExportFormat"
|
|
3519
3641
|
}
|
|
3520
3642
|
},
|
|
3521
3643
|
"return": "Promise<void>"
|
|
@@ -4096,6 +4218,18 @@ export class KritzelEditor {
|
|
|
4096
4218
|
}, {
|
|
4097
4219
|
"propName": "controls",
|
|
4098
4220
|
"methodName": "onControlsChange"
|
|
4221
|
+
}, {
|
|
4222
|
+
"propName": "moreMenuItems",
|
|
4223
|
+
"methodName": "onMoreMenuItemsChange"
|
|
4224
|
+
}, {
|
|
4225
|
+
"propName": "syncConfig",
|
|
4226
|
+
"methodName": "onSyncConfigChange"
|
|
4227
|
+
}, {
|
|
4228
|
+
"propName": "loginConfig",
|
|
4229
|
+
"methodName": "onLoginConfigChange"
|
|
4230
|
+
}, {
|
|
4231
|
+
"propName": "user",
|
|
4232
|
+
"methodName": "onUserChange"
|
|
4099
4233
|
}, {
|
|
4100
4234
|
"propName": "activeWorkspaceId",
|
|
4101
4235
|
"methodName": "onActiveWorkspaceIdChange"
|