From 785247c5b373c1650112b2e5c9b69d4fabb6682e Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Thu, 27 Jan 2022 09:06:42 +0100 Subject: [PATCH 1/3] refactor: move config and constants Signed-off-by: peterpeterparker --- studio/src/app/components/core/app-icon/app-icon.tsx | 2 +- studio/src/app/components/core/app-signin/app-signin.tsx | 2 +- .../core/storage/app-storage-files/app-storage-files.tsx | 2 +- .../editor/deck/publish/app-publish-edit/app-publish-edit.tsx | 4 ++-- .../platform/app-templates-default/app-templates-default.tsx | 2 +- studio/src/app/{types/core => config}/constants.ts | 0 studio/src/app/{types/core => config}/environment-config.ts | 0 studio/src/app/editors/app-deck-editor/app-deck-editor.tsx | 2 +- studio/src/app/events/editor/deck/deck.data.events.ts | 2 +- studio/src/app/events/editor/remote/remote.events.ts | 2 +- .../src/app/pages/core/settings/app-profile/app-profile.tsx | 2 +- studio/src/app/popovers/editor/app-shape/app-shape.tsx | 2 +- studio/src/app/providers/auth/auth.provider.ts | 2 +- studio/src/app/providers/publish/publish.provider.ts | 2 +- studio/src/app/providers/storage/storage.provider.ts | 2 +- studio/src/app/providers/tenor/tenor.provider.ts | 2 +- studio/src/app/providers/unsplash/unsplash.provider.ts | 2 +- studio/src/app/services/editor/fonts/fonts.service.ts | 2 +- studio/src/app/services/editor/sw/sw.service.ts | 2 +- .../app/services/environment/environment-config.service.ts | 2 +- studio/src/app/services/poll/poll.service.ts | 2 +- studio/src/app/utils/core/environment.utils.ts | 2 +- studio/src/app/utils/core/providers.utils.ts | 2 +- studio/src/app/utils/editor/create-slides.utils.tsx | 2 +- studio/src/app/utils/editor/header-footer.utils.ts | 2 +- studio/src/app/utils/editor/parse-slides.utils.tsx | 2 +- studio/src/app/utils/editor/social.utils.tsx | 2 +- studio/src/global/app-dev.ts | 2 +- studio/src/global/app-ic.ts | 2 +- studio/src/global/app-staging.ts | 2 +- studio/src/global/app.ts | 2 +- 31 files changed, 30 insertions(+), 30 deletions(-) rename studio/src/app/{types/core => config}/constants.ts (100%) rename studio/src/app/{types/core => config}/environment-config.ts (100%) diff --git a/studio/src/app/components/core/app-icon/app-icon.tsx b/studio/src/app/components/core/app-icon/app-icon.tsx index 48825a60d..e6fc8413d 100644 --- a/studio/src/app/components/core/app-icon/app-icon.tsx +++ b/studio/src/app/components/core/app-icon/app-icon.tsx @@ -1,6 +1,6 @@ import {FunctionalComponent, h} from '@stencil/core'; -import {EnvironmentDeckDeckGoConfig} from '../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../config/environment-config'; import {EnvironmentConfigService} from '../../../services/environment/environment-config.service'; interface AppIconProps { diff --git a/studio/src/app/components/core/app-signin/app-signin.tsx b/studio/src/app/components/core/app-signin/app-signin.tsx index 303548c61..7a3205afa 100644 --- a/studio/src/app/components/core/app-signin/app-signin.tsx +++ b/studio/src/app/components/core/app-signin/app-signin.tsx @@ -10,7 +10,7 @@ import errorStore from '../../../stores/error.store'; import {AppIcon} from '../app-icon/app-icon'; import {EnvironmentConfigService} from '../../../services/environment/environment-config.service'; -import {EnvironmentCloud, EnvironmentDeckDeckGoConfig} from '../../../types/core/environment-config'; +import {EnvironmentCloud, EnvironmentDeckDeckGoConfig} from '../../../config/environment-config'; import {renderI18n} from '../../../utils/core/i18n.utils'; import {firebase, cloud} from '../../../utils/core/environment.utils'; diff --git a/studio/src/app/components/core/storage/app-storage-files/app-storage-files.tsx b/studio/src/app/components/core/storage/app-storage-files/app-storage-files.tsx index 991930795..cf4703239 100644 --- a/studio/src/app/components/core/storage/app-storage-files/app-storage-files.tsx +++ b/studio/src/app/components/core/storage/app-storage-files/app-storage-files.tsx @@ -5,7 +5,7 @@ import {AuthUser, StorageFile, StorageFilesList} from '@deckdeckgo/editor'; import store from '../../../../stores/error.store'; import i18n from '../../../../stores/i18n.store'; -import {Constants} from '../../../../types/core/constants'; +import {Constants} from '../../../../config/constants'; import {getFiles} from '../../../../providers/storage/storage.provider'; import authStore from '../../../../stores/auth.store'; diff --git a/studio/src/app/components/editor/deck/publish/app-publish-edit/app-publish-edit.tsx b/studio/src/app/components/editor/deck/publish/app-publish-edit/app-publish-edit.tsx index 11cd52e63..3a63ef3c0 100644 --- a/studio/src/app/components/editor/deck/publish/app-publish-edit/app-publish-edit.tsx +++ b/studio/src/app/components/editor/deck/publish/app-publish-edit/app-publish-edit.tsx @@ -9,7 +9,7 @@ import errorStore from '../../../../../stores/error.store'; import authStore from '../../../../../stores/auth.store'; import i18n from '../../../../../stores/i18n.store'; -import {Constants} from '../../../../../types/core/constants'; +import {Constants} from '../../../../../config/constants'; import {publish, publishUrl} from '../../../../../providers/publish/publish.provider'; @@ -18,7 +18,7 @@ import {renderI18n} from '../../../../../utils/core/i18n.utils'; import {AppIcon} from '../../../../core/app-icon/app-icon'; import {firebase} from '../../../../../utils/core/environment.utils'; import {EnvironmentConfigService} from '../../../../../services/environment/environment-config.service'; -import {EnvironmentDeckDeckGoConfig} from '../../../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../../../config/environment-config'; interface CustomInputEvent extends KeyboardEvent { data: string | null; diff --git a/studio/src/app/components/editor/deck/slide/templates/platform/app-templates-default/app-templates-default.tsx b/studio/src/app/components/editor/deck/slide/templates/platform/app-templates-default/app-templates-default.tsx index cfdb00cb2..6782c9bde 100644 --- a/studio/src/app/components/editor/deck/slide/templates/platform/app-templates-default/app-templates-default.tsx +++ b/studio/src/app/components/editor/deck/slide/templates/platform/app-templates-default/app-templates-default.tsx @@ -12,7 +12,7 @@ import {tenor} from '../../../../../../../utils/core/environment.utils'; import {EnvironmentConfigService} from '../../../../../../../services/environment/environment-config.service'; -import {EnvironmentDeckDeckGoConfig} from '../../../../../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../../../../../config/environment-config'; import {AppTemplatesFixed} from '../app-templates-fixed/app-templates-fixed'; import {AppIcon} from '../../../../../../core/app-icon/app-icon'; diff --git a/studio/src/app/types/core/constants.ts b/studio/src/app/config/constants.ts similarity index 100% rename from studio/src/app/types/core/constants.ts rename to studio/src/app/config/constants.ts diff --git a/studio/src/app/types/core/environment-config.ts b/studio/src/app/config/environment-config.ts similarity index 100% rename from studio/src/app/types/core/environment-config.ts rename to studio/src/app/config/environment-config.ts diff --git a/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx b/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx index abff6a4ad..9857ea16e 100644 --- a/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx +++ b/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx @@ -39,7 +39,7 @@ import {Editor} from '../../types/editor/editor'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; import {FontsService} from '../../services/editor/fonts/fonts.service'; -import {EnvironmentGoogleConfig} from '../../types/core/environment-config'; +import {EnvironmentGoogleConfig} from '../../config/environment-config'; import {cloud} from '../../utils/core/environment.utils'; import {ColorUtils} from '../../utils/editor/color.utils'; diff --git a/studio/src/app/events/editor/deck/deck.data.events.ts b/studio/src/app/events/editor/deck/deck.data.events.ts index 45a16daf4..08eed1e3a 100644 --- a/studio/src/app/events/editor/deck/deck.data.events.ts +++ b/studio/src/app/events/editor/deck/deck.data.events.ts @@ -27,7 +27,7 @@ import errorStore from '../../../stores/error.store'; import busyStore from '../../../stores/busy.store'; import authStore from '../../../stores/auth.store'; -import {Constants} from '../../../types/core/constants'; +import {Constants} from '../../../config/constants'; import {SlotUtils} from '../../../utils/editor/slot.utils'; import {ParseElementsUtils} from '../../../utils/editor/parse-elements.utils'; diff --git a/studio/src/app/events/editor/remote/remote.events.ts b/studio/src/app/events/editor/remote/remote.events.ts index 0798e9a9f..ce2705cf7 100644 --- a/studio/src/app/events/editor/remote/remote.events.ts +++ b/studio/src/app/events/editor/remote/remote.events.ts @@ -10,7 +10,7 @@ import {ConnectionState, DeckdeckgoDeckDefinition, DeckdeckgoEventDeckRequest, D import remoteStore from '../../../stores/remote.store'; -import {EnvironmentDeckDeckGoConfig} from '../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../config/environment-config'; import {EnvironmentConfigService} from '../../../services/environment/environment-config.service'; import {RemoteService} from '../../../services/editor/remote/remote.service'; diff --git a/studio/src/app/pages/core/settings/app-profile/app-profile.tsx b/studio/src/app/pages/core/settings/app-profile/app-profile.tsx index 111ed4ba2..5e876bc70 100644 --- a/studio/src/app/pages/core/settings/app-profile/app-profile.tsx +++ b/studio/src/app/pages/core/settings/app-profile/app-profile.tsx @@ -24,7 +24,7 @@ import {updateUser} from '../../../../providers/data/user/user.provider'; import {uploadOnlineFile} from '../../../../providers/storage/storage.provider'; import {deleteAuth} from '../../../../providers/auth/auth.provider'; -import {EnvironmentDeckDeckGoConfig} from '../../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../../config/environment-config'; import {EnvironmentConfigService} from '../../../../services/environment/environment-config.service'; import {clearEdit} from '../../../../utils/editor/editor.utils'; diff --git a/studio/src/app/popovers/editor/app-shape/app-shape.tsx b/studio/src/app/popovers/editor/app-shape/app-shape.tsx index 673ea9a56..3212fa335 100644 --- a/studio/src/app/popovers/editor/app-shape/app-shape.tsx +++ b/studio/src/app/popovers/editor/app-shape/app-shape.tsx @@ -3,7 +3,7 @@ import {Component, Element, h, Prop} from '@stencil/core'; import assetsStore from '../../../stores/assets.store'; import i18n from '../../../stores/i18n.store'; -import {EnvironmentDeckDeckGoConfig} from '../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../config/environment-config'; import {EnvironmentConfigService} from '../../../services/environment/environment-config.service'; @Component({ diff --git a/studio/src/app/providers/auth/auth.provider.ts b/studio/src/app/providers/auth/auth.provider.ts index 489235831..4ad3ce411 100644 --- a/studio/src/app/providers/auth/auth.provider.ts +++ b/studio/src/app/providers/auth/auth.provider.ts @@ -3,7 +3,7 @@ import {AuthUser, InitAuth, User, SignOut, DeleteAuth} from '@deckdeckgo/editor' import authStore from '../../stores/auth.store'; import userStore from '../../stores/user.store'; -import {EnvironmentAppConfig, EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentAppConfig, EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; import {cloudProvider} from '../../utils/core/providers.utils'; diff --git a/studio/src/app/providers/publish/publish.provider.ts b/studio/src/app/providers/publish/publish.provider.ts index 94da283f3..12e6042c0 100644 --- a/studio/src/app/providers/publish/publish.provider.ts +++ b/studio/src/app/providers/publish/publish.provider.ts @@ -11,7 +11,7 @@ import {cloud} from '../../utils/core/environment.utils'; import {cloudProvider} from '../../utils/core/providers.utils'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; -import {EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; interface PublishInputs { name: string; diff --git a/studio/src/app/providers/storage/storage.provider.ts b/studio/src/app/providers/storage/storage.provider.ts index 7fd516e3a..ce9d90b1a 100644 --- a/studio/src/app/providers/storage/storage.provider.ts +++ b/studio/src/app/providers/storage/storage.provider.ts @@ -8,7 +8,7 @@ import {StorageOfflineProvider} from './storage.offline.provider'; import {cloud} from '../../utils/core/environment.utils'; import {cloudProvider} from '../../utils/core/providers.utils'; -import {Constants} from '../../types/core/constants'; +import {Constants} from '../../config/constants'; export const uploadOnlineFile = async ( data: File, diff --git a/studio/src/app/providers/tenor/tenor.provider.ts b/studio/src/app/providers/tenor/tenor.provider.ts index 8cfa5db25..70d64afa1 100644 --- a/studio/src/app/providers/tenor/tenor.provider.ts +++ b/studio/src/app/providers/tenor/tenor.provider.ts @@ -4,7 +4,7 @@ import {get, set} from 'idb-keyval'; import store from '../../stores/error.store'; -import {EnvironmentTenorConfig} from '../../types/core/environment-config'; +import {EnvironmentTenorConfig} from '../../config/environment-config'; export class TenorProvider { private static instance: TenorProvider; diff --git a/studio/src/app/providers/unsplash/unsplash.provider.ts b/studio/src/app/providers/unsplash/unsplash.provider.ts index 1aa971ad2..5adb5a2a6 100644 --- a/studio/src/app/providers/unsplash/unsplash.provider.ts +++ b/studio/src/app/providers/unsplash/unsplash.provider.ts @@ -1,6 +1,6 @@ import {UnsplashPhoto, RegisterUnsplashDownload, UnsplashSearchResponse, GetUnsplashPhotos} from '@deckdeckgo/editor'; -import {EnvironmentUnsplashConfig} from '../../types/core/environment-config'; +import {EnvironmentUnsplashConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; import {unsplashProvider} from '../../utils/core/providers.utils'; diff --git a/studio/src/app/services/editor/fonts/fonts.service.ts b/studio/src/app/services/editor/fonts/fonts.service.ts index fec895d9a..99eb77336 100644 --- a/studio/src/app/services/editor/fonts/fonts.service.ts +++ b/studio/src/app/services/editor/fonts/fonts.service.ts @@ -2,7 +2,7 @@ import assetsStore from '../../../stores/assets.store'; import {injectCSS} from '@deckdeckgo/editor'; -import {EnvironmentGoogleConfig} from '../../../types/core/environment-config'; +import {EnvironmentGoogleConfig} from '../../../config/environment-config'; import {EnvironmentConfigService} from '../../environment/environment-config.service'; export class FontsService { diff --git a/studio/src/app/services/editor/sw/sw.service.ts b/studio/src/app/services/editor/sw/sw.service.ts index d00e7854b..ef4222a50 100644 --- a/studio/src/app/services/editor/sw/sw.service.ts +++ b/studio/src/app/services/editor/sw/sw.service.ts @@ -7,7 +7,7 @@ import {SlotType} from '../../../types/editor/slot-type'; import {ServiceWorkerUtils} from '../../../utils/core/service-worker.utils'; -import {EnvironmentDeckDeckGoConfig} from '../../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../../config/environment-config'; import {EnvironmentConfigService} from '../../environment/environment-config.service'; import {FontsService} from '../fonts/fonts.service'; diff --git a/studio/src/app/services/environment/environment-config.service.ts b/studio/src/app/services/environment/environment-config.service.ts index b5f3f80cf..72dc7071c 100644 --- a/studio/src/app/services/environment/environment-config.service.ts +++ b/studio/src/app/services/environment/environment-config.service.ts @@ -1,4 +1,4 @@ -import {EnvironmentConfig} from '../../types/core/environment-config'; +import {EnvironmentConfig} from '../../config/environment-config'; export class EnvironmentConfigService { private static instance: EnvironmentConfigService; diff --git a/studio/src/app/services/poll/poll.service.ts b/studio/src/app/services/poll/poll.service.ts index 26f1d758c..7c9a99754 100644 --- a/studio/src/app/services/poll/poll.service.ts +++ b/studio/src/app/services/poll/poll.service.ts @@ -4,7 +4,7 @@ import store from '../../stores/poll.store'; import {DeckdeckgoPoll} from '@deckdeckgo/types'; -import {EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../environment/environment-config.service'; export class PollService { diff --git a/studio/src/app/utils/core/environment.utils.ts b/studio/src/app/utils/core/environment.utils.ts index 19bd79cfc..24d915f8d 100644 --- a/studio/src/app/utils/core/environment.utils.ts +++ b/studio/src/app/utils/core/environment.utils.ts @@ -1,5 +1,5 @@ import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; -import {EnvironmentAppConfig} from '../../types/core/environment-config'; +import {EnvironmentAppConfig} from '../../config/environment-config'; export const tenor = (): boolean => EnvironmentConfigService.getInstance().get('tenor') !== undefined; diff --git a/studio/src/app/utils/core/providers.utils.ts b/studio/src/app/utils/core/providers.utils.ts index cc2c01ba2..be1b0a28a 100644 --- a/studio/src/app/utils/core/providers.utils.ts +++ b/studio/src/app/utils/core/providers.utils.ts @@ -1,4 +1,4 @@ -import {EnvironmentCloud, EnvironmentUnsplashConfig} from '../../types/core/environment-config'; +import {EnvironmentCloud, EnvironmentUnsplashConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; export const cloudProvider = (): Promise => { diff --git a/studio/src/app/utils/editor/create-slides.utils.tsx b/studio/src/app/utils/editor/create-slides.utils.tsx index c41b3da1d..901fccafd 100644 --- a/studio/src/app/utils/editor/create-slides.utils.tsx +++ b/studio/src/app/utils/editor/create-slides.utils.tsx @@ -9,7 +9,7 @@ import userStore from '../../stores/user.store'; import {publishUrl} from '../../providers/publish/publish.provider'; -import {EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; import {SlotType} from '../../types/editor/slot-type'; diff --git a/studio/src/app/utils/editor/header-footer.utils.ts b/studio/src/app/utils/editor/header-footer.utils.ts index 22e48c336..371e9de37 100644 --- a/studio/src/app/utils/editor/header-footer.utils.ts +++ b/studio/src/app/utils/editor/header-footer.utils.ts @@ -1,6 +1,6 @@ import {User} from '@deckdeckgo/editor'; -import {EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; import {SlotType} from '../../types/editor/slot-type'; diff --git a/studio/src/app/utils/editor/parse-slides.utils.tsx b/studio/src/app/utils/editor/parse-slides.utils.tsx index 20923254e..da8104866 100644 --- a/studio/src/app/utils/editor/parse-slides.utils.tsx +++ b/studio/src/app/utils/editor/parse-slides.utils.tsx @@ -6,7 +6,7 @@ import {Slide, SlideTemplate, SlideScope, convertStyle} from '@deckdeckgo/editor import {ParseElementsUtils} from './parse-elements.utils'; -import {EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; export class ParseSlidesUtils { diff --git a/studio/src/app/utils/editor/social.utils.tsx b/studio/src/app/utils/editor/social.utils.tsx index 50d585646..df6322733 100644 --- a/studio/src/app/utils/editor/social.utils.tsx +++ b/studio/src/app/utils/editor/social.utils.tsx @@ -2,7 +2,7 @@ import {h, JSX} from '@stencil/core'; import {User, UserSocial} from '@deckdeckgo/editor'; -import {EnvironmentDeckDeckGoConfig} from '../../types/core/environment-config'; +import {EnvironmentDeckDeckGoConfig} from '../../config/environment-config'; import {EnvironmentConfigService} from '../../services/environment/environment-config.service'; export class SocialUtils { diff --git a/studio/src/global/app-dev.ts b/studio/src/global/app-dev.ts index 9e0291790..f61a8dec6 100644 --- a/studio/src/global/app-dev.ts +++ b/studio/src/global/app-dev.ts @@ -33,7 +33,7 @@ import '@deckdeckgo/slide-playground'; import '@deckdeckgo/stylo'; -import {setupConfig as setupDeckGoConfig} from '../app/types/core/environment-config'; +import {setupConfig as setupDeckGoConfig} from '../app/config/environment-config'; setupDeckGoConfig({ app: { diff --git a/studio/src/global/app-ic.ts b/studio/src/global/app-ic.ts index b42218479..a0a208729 100644 --- a/studio/src/global/app-ic.ts +++ b/studio/src/global/app-ic.ts @@ -33,7 +33,7 @@ import '@deckdeckgo/slide-playground'; import '@deckdeckgo/stylo'; -import {setupConfig as setupDeckGoConfig} from '../app/types/core/environment-config'; +import {setupConfig as setupDeckGoConfig} from '../app/config/environment-config'; setupDeckGoConfig({ app: { diff --git a/studio/src/global/app-staging.ts b/studio/src/global/app-staging.ts index 69eed36f2..1e30182f9 100644 --- a/studio/src/global/app-staging.ts +++ b/studio/src/global/app-staging.ts @@ -33,7 +33,7 @@ import '@deckdeckgo/slide-playground'; import '@deckdeckgo/stylo'; -import {setupConfig as setupDeckGoConfig} from '../app/types/core/environment-config'; +import {setupConfig as setupDeckGoConfig} from '../app/config/environment-config'; setupDeckGoConfig({ app: { diff --git a/studio/src/global/app.ts b/studio/src/global/app.ts index 37744a61b..2bf3092a1 100644 --- a/studio/src/global/app.ts +++ b/studio/src/global/app.ts @@ -33,7 +33,7 @@ import '@deckdeckgo/slide-playground'; import '@deckdeckgo/stylo'; -import {setupConfig as setupDeckGoConfig} from '../app/types/core/environment-config'; +import {setupConfig as setupDeckGoConfig} from '../app/config/environment-config'; setupDeckGoConfig({ app: { From 1627837c6f4cb98b478fa0a53e54a6a2cda82575 Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Thu, 27 Jan 2022 10:04:51 +0100 Subject: [PATCH 2/3] feat: stylo menu to edit code Signed-off-by: peterpeterparker --- studio/src/app/config/editor.ts | 28 +++++++++++++++++++ studio/src/app/definitions/i18.d.ts | 1 + .../app-deck-editor/app-deck-editor.tsx | 2 +- .../editors/app-doc-editor/app-doc-editor.tsx | 16 ++++------- .../src/app/events/editor/code/code.events.ts | 16 ++++++++++- studio/src/app/utils/editor/plugin.utils.ts | 1 - studio/src/assets/i18n/de.json | 3 +- studio/src/assets/i18n/en.json | 3 +- studio/src/assets/i18n/es.json | 3 +- studio/src/assets/i18n/nl.json | 3 +- 10 files changed, 58 insertions(+), 18 deletions(-) create mode 100644 studio/src/app/config/editor.ts diff --git a/studio/src/app/config/editor.ts b/studio/src/app/config/editor.ts new file mode 100644 index 000000000..321d325c2 --- /dev/null +++ b/studio/src/app/config/editor.ts @@ -0,0 +1,28 @@ +import {h1, h2, h3, StyloConfig, ul} from '@deckdeckgo/stylo'; + +import i18n from '../stores/i18n.store'; + +import {imgStorage} from '../plugins/img.storage.plugin'; +import {imgUnsplash} from '../plugins/img.unsplash.plugin'; +import {imgGif} from '../plugins/img.gif.plugin'; +import {code} from '../plugins/code.plugin'; +import {hr} from '../plugins/hr.plugin'; + +export const editorConfig: Partial = { + plugins: [h1, h2, h3, ul, imgStorage, imgUnsplash, imgGif, code, hr], + menus: [ + { + nodeName: 'deckgo-highlight-code', + actions: [ + { + text: i18n.state.editor.edit_code, + icon: ` + + + `, + message: 'codeEdit' + } + ] + } + ] +}; diff --git a/studio/src/app/definitions/i18.d.ts b/studio/src/app/definitions/i18.d.ts index 26b57f9b7..ba6a2775b 100644 --- a/studio/src/app/definitions/i18.d.ts +++ b/studio/src/app/definitions/i18.d.ts @@ -401,6 +401,7 @@ interface I18nEditor { transform_slide: string; add_element: string; saving: string; + edit_code: string; } interface I18nOffline { diff --git a/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx b/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx index 9857ea16e..7272d4b73 100644 --- a/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx +++ b/studio/src/app/editors/app-deck-editor/app-deck-editor.tsx @@ -121,7 +121,7 @@ export class AppDeckEditor implements ComponentInterface { @State() private editorConfig: Partial = { - actions: { + style: { list: false, align: false, fontSize: false, diff --git a/studio/src/app/editors/app-doc-editor/app-doc-editor.tsx b/studio/src/app/editors/app-doc-editor/app-doc-editor.tsx index 660f58f1b..eff41b9f0 100644 --- a/studio/src/app/editors/app-doc-editor/app-doc-editor.tsx +++ b/studio/src/app/editors/app-doc-editor/app-doc-editor.tsx @@ -5,7 +5,7 @@ import {v4 as uuid} from 'uuid'; import {modalController} from '@ionic/core'; import {isFirefox, moveCursorToStart} from '@deckdeckgo/utils'; -import {StyloConfig, h1, h2, h3, ul, StyloPaletteColor} from '@deckdeckgo/stylo'; +import {StyloConfig, StyloPaletteColor} from '@deckdeckgo/stylo'; import editorStore from '../../stores/editor.store'; import busyStore from '../../stores/busy.store'; @@ -18,6 +18,8 @@ import i18n from '../../stores/i18n.store'; import {Editor} from '../../types/editor/editor'; import {SlotType} from '../../types/editor/slot-type'; +import {editorConfig} from '../../config/editor'; + import {ImageEvents} from '../../events/core/image/image.events'; import {ChartEvents} from '../../events/core/chart/chart.events'; import {DocDataEvents} from '../../events/editor/doc/doc.data.events'; @@ -32,12 +34,6 @@ import {cloud} from '../../utils/core/environment.utils'; import {signIn} from '../../utils/core/signin.utils'; import {ColorUtils} from '../../utils/editor/color.utils'; -import {imgStorage} from '../../plugins/img.storage.plugin'; -import {imgUnsplash} from '../../plugins/img.unsplash.plugin'; -import {imgGif} from '../../plugins/img.gif.plugin'; -import {hr} from '../../plugins/hr.plugin'; -import {code} from '../../plugins/code.plugin'; - @Component({ tag: 'app-doc-editor', styleUrl: 'app-doc-editor.scss' @@ -50,9 +46,7 @@ export class AppDocEditor implements ComponentInterface { private paragraphs: JSX.IntrinsicElements[] = []; @State() - private editorConfig: Partial = { - plugins: [h1, h2, h3, ul, imgStorage, imgUnsplash, imgGif, code, hr] - }; + private editorConfig: Partial = editorConfig; private readonly imageEvents: ImageEvents = new ImageEvents(); private readonly chartEvents: ChartEvents = new ChartEvents(); @@ -267,7 +261,7 @@ export class AppDocEditor implements ComponentInterface { observer.disconnect(); const elements: NodeListOf = this.containerRef.querySelectorAll( - `${SlotType.CODE}, ${SlotType.MATH}, ${SlotType.WORD_CLOUD}, ${SlotType.MARKDOWN}` + `${SlotType.MATH}, ${SlotType.WORD_CLOUD}, ${SlotType.MARKDOWN}` ); Array.from(elements).forEach((element: HTMLElement) => element.setAttribute('editable', 'true')); }; diff --git a/studio/src/app/events/editor/code/code.events.ts b/studio/src/app/events/editor/code/code.events.ts index cb83c103a..094ba7525 100644 --- a/studio/src/app/events/editor/code/code.events.ts +++ b/studio/src/app/events/editor/code/code.events.ts @@ -1,19 +1,33 @@ import {modalController, OverlayEventDetail} from '@ionic/core'; import type {MonacoEditorOptions} from '@deckdeckgo/monaco-editor'; +import type {StyloMenuActionEvent} from '@deckdeckgo/stylo'; export class CodeEvents { init() { document.addEventListener('editCode', this.onEditCode); + document.addEventListener('menuAction', this.onMenuAction); } destroy() { document.removeEventListener('editCode', this.onEditCode); + document.removeEventListener('menuAction', this.onMenuAction); } + private onMenuAction = async ({detail}: CustomEvent) => { + const {message, paragraph} = detail; + + switch (message) { + case 'codeEdit': + await this.editCode(paragraph as HTMLDeckgoHighlightCodeElement); + } + }; + private onEditCode = async ({target}: CustomEvent) => { - const highlightCodeElement: HTMLDeckgoHighlightCodeElement = target as HTMLDeckgoHighlightCodeElement; + await this.editCode(target as HTMLDeckgoHighlightCodeElement); + }; + private editCode = async (highlightCodeElement: HTMLDeckgoHighlightCodeElement) => { this.emitSnapshotParagraph(highlightCodeElement); const code: HTMLElement | null = highlightCodeElement.querySelector(':scope > code'); diff --git a/studio/src/app/utils/editor/plugin.utils.ts b/studio/src/app/utils/editor/plugin.utils.ts index 4c2d9f65f..8f490b35a 100644 --- a/studio/src/app/utils/editor/plugin.utils.ts +++ b/studio/src/app/utils/editor/plugin.utils.ts @@ -69,7 +69,6 @@ export const openCodeModal = async ({pluginParams}: {pluginParams: StyloPluginCr const {code: innerHTML} = data || {code: '\u200B'}; const code: HTMLElement = document.createElement('deckgo-highlight-code'); - code.setAttribute('editable', 'true'); const slot: HTMLElement = document.createElement('code'); slot.setAttribute('slot', 'code'); diff --git a/studio/src/assets/i18n/de.json b/studio/src/assets/i18n/de.json index 462dafe5e..e617ee4ff 100644 --- a/studio/src/assets/i18n/de.json +++ b/studio/src/assets/i18n/de.json @@ -392,7 +392,8 @@ "transform_element": "Ändere Element", "transform_slide": "Ändere Folie", "add_element": "Fügen Sie ein Bild, Code oder ein neues Element hinzu", - "saving": "Wird gespeichert..." + "saving": "Wird gespeichert...", + "edit_code": "Code bearbeiten" }, "offline": { "editing": "Du bearbeitest gerade offline.", diff --git a/studio/src/assets/i18n/en.json b/studio/src/assets/i18n/en.json index 8fbeca2ee..1a5df523a 100644 --- a/studio/src/assets/i18n/en.json +++ b/studio/src/assets/i18n/en.json @@ -392,7 +392,8 @@ "transform_element": "Transform element", "transform_slide": "Transform slide", "add_element": "Add an image, code, or new part", - "saving": "Saving..." + "saving": "Saving...", + "edit_code": "Edit code" }, "offline": { "editing": "You are editing offline.", diff --git a/studio/src/assets/i18n/es.json b/studio/src/assets/i18n/es.json index 7289d8810..44637227f 100644 --- a/studio/src/assets/i18n/es.json +++ b/studio/src/assets/i18n/es.json @@ -392,7 +392,8 @@ "transform_element": "Elemento de transformación", "transform_slide": "Transformar diapositiva", "add_element": "Add an image, code, or new part", - "saving": "Guardando..." + "saving": "Guardando...", + "edit_code": "Editar código" }, "offline": { "editing": "Estás editando sin conexión.", diff --git a/studio/src/assets/i18n/nl.json b/studio/src/assets/i18n/nl.json index ce59166ae..8b1c0bb8d 100644 --- a/studio/src/assets/i18n/nl.json +++ b/studio/src/assets/i18n/nl.json @@ -392,7 +392,8 @@ "transform_element": "Transformeer element", "transform_slide": "Transformeer slide", "add_element": "Voeg een afbeelding, code of nieuw element toe", - "saving": "Bezig met opslaan..." + "saving": "Bezig met opslaan...", + "edit_code": "Code bewerken" }, "offline": { "editing": "U bent offline aan het bewerken.", From 1cb0a088a370db6a546b0e4eb08223a30d8ce26a Mon Sep 17 00:00:00 2001 From: peterpeterparker Date: Thu, 27 Jan 2022 18:40:33 +0100 Subject: [PATCH 3/3] feat: menu api update Signed-off-by: peterpeterparker --- studio/src/app/config/editor.ts | 10 ++++++++-- studio/src/app/events/editor/code/code.events.ts | 12 ------------ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/studio/src/app/config/editor.ts b/studio/src/app/config/editor.ts index 321d325c2..033030d67 100644 --- a/studio/src/app/config/editor.ts +++ b/studio/src/app/config/editor.ts @@ -12,7 +12,7 @@ export const editorConfig: Partial = { plugins: [h1, h2, h3, ul, imgStorage, imgUnsplash, imgGif, code, hr], menus: [ { - nodeName: 'deckgo-highlight-code', + match: ({paragraph}: {paragraph: HTMLElement}) => paragraph?.nodeName.toLowerCase() === 'deckgo-highlight-code', actions: [ { text: i18n.state.editor.edit_code, @@ -20,7 +20,13 @@ export const editorConfig: Partial = { `, - message: 'codeEdit' + action: async ({paragraph}: {paragraph: HTMLElement}) => { + const editCode: CustomEvent = new CustomEvent('editCode', { + bubbles: true + }); + + paragraph.dispatchEvent(editCode); + } } ] } diff --git a/studio/src/app/events/editor/code/code.events.ts b/studio/src/app/events/editor/code/code.events.ts index 094ba7525..c9944e302 100644 --- a/studio/src/app/events/editor/code/code.events.ts +++ b/studio/src/app/events/editor/code/code.events.ts @@ -1,28 +1,16 @@ import {modalController, OverlayEventDetail} from '@ionic/core'; import type {MonacoEditorOptions} from '@deckdeckgo/monaco-editor'; -import type {StyloMenuActionEvent} from '@deckdeckgo/stylo'; export class CodeEvents { init() { document.addEventListener('editCode', this.onEditCode); - document.addEventListener('menuAction', this.onMenuAction); } destroy() { document.removeEventListener('editCode', this.onEditCode); - document.removeEventListener('menuAction', this.onMenuAction); } - private onMenuAction = async ({detail}: CustomEvent) => { - const {message, paragraph} = detail; - - switch (message) { - case 'codeEdit': - await this.editCode(paragraph as HTMLDeckgoHighlightCodeElement); - } - }; - private onEditCode = async ({target}: CustomEvent) => { await this.editCode(target as HTMLDeckgoHighlightCodeElement); };