diff --git a/src/components/Assistant.vue b/src/components/Assistant.vue index bcf94371d8a..b997e99c71a 100644 --- a/src/components/Assistant.vue +++ b/src/components/Assistant.vue @@ -169,6 +169,7 @@ import { FloatingMenu } from '@tiptap/vue-2' import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus' import markdownit from '../markdownit/index.js' import shouldInterpretAsMarkdown from '../markdownit/shouldInterpretAsMarkdown.js' +import { t } from '@nextcloud/l10n' const limitInRange = (num, min, max) => { return Math.min(Math.max(parseInt(num), parseInt(min)), parseInt(max)) @@ -436,6 +437,7 @@ export default { floatingShow() { return true }, + t, }, } diff --git a/src/components/CollisionResolveDialog.vue b/src/components/CollisionResolveDialog.vue index 73e4bd978ac..b236ab4f41b 100644 --- a/src/components/CollisionResolveDialog.vue +++ b/src/components/CollisionResolveDialog.vue @@ -34,6 +34,7 @@ import NcButton from '@nextcloud/vue/components/NcButton' import { useEditorMethods } from '../composables/useEditorMethods.ts' import { useSyncService } from '../composables/useSyncService.ts' import { useSaveService } from '../composables/useSaveService.ts' +import { t } from '@nextcloud/l10n' export default { name: 'CollisionResolveDialog', components: { @@ -55,6 +56,7 @@ export default { setEditable, saveService, syncService, + t, } }, data() { diff --git a/src/components/Editor.singleton.js b/src/components/Editor.singleton.js index a62197f9656..458898fde31 100644 --- a/src/components/Editor.singleton.js +++ b/src/components/Editor.singleton.js @@ -25,8 +25,6 @@ export default async function getEditorInstance() { } const Editor = await import(/* webpackChunkName: "editor" */ './Editor.vue') const { default: Vue } = await import('vue') - Vue.prototype.t = window.t - Vue.prototype.OCA = window.OCA const EditorConstructor = Vue.extend(Editor.default) window._nc_text_editor_instance = EditorConstructor } diff --git a/src/components/Editor.vue b/src/components/Editor.vue index 1019354d84d..e5c7939c371 100644 --- a/src/components/Editor.vue +++ b/src/components/Editor.vue @@ -131,6 +131,7 @@ import { provideConnection } from '../composables/useConnection.ts' import { Awareness } from 'y-protocols/awareness.js' import { provideSyncService } from '../composables/useSyncService.ts' import { provideSaveService } from '../composables/useSaveService.ts' +import { t } from '@nextcloud/l10n' export default defineComponent({ name: 'Editor', diff --git a/src/components/Editor/DocumentStatus.vue b/src/components/Editor/DocumentStatus.vue index 5404b9552be..458f5aaf175 100644 --- a/src/components/Editor/DocumentStatus.vue +++ b/src/components/Editor/DocumentStatus.vue @@ -25,6 +25,7 @@ import NcNoteCard from '@nextcloud/vue/components/NcNoteCard' import Lock from 'vue-material-design-icons/Lock.vue' import isMobile from '../../mixins/isMobile.js' import SyncStatus from './DocumentStatus/SyncStatus.vue' +import { t } from '@nextcloud/l10n' export default { name: 'DocumentStatus', diff --git a/src/components/Editor/DocumentStatus/SyncStatus.vue b/src/components/Editor/DocumentStatus/SyncStatus.vue index 55216b26bb4..27815accc92 100644 --- a/src/components/Editor/DocumentStatus/SyncStatus.vue +++ b/src/components/Editor/DocumentStatus/SyncStatus.vue @@ -16,6 +16,7 @@ import { ERROR_TYPE } from '../../../services/SyncService.ts' import NcNoteCard from '@nextcloud/vue/components/NcNoteCard' +import { t } from '@nextcloud/l10n' export default { name: 'SyncStatus', diff --git a/src/components/Editor/EditorOutline.vue b/src/components/Editor/EditorOutline.vue index 9897a5352f2..f992364c240 100644 --- a/src/components/Editor/EditorOutline.vue +++ b/src/components/Editor/EditorOutline.vue @@ -26,6 +26,7 @@ import TableOfContents from './TableOfContents.vue' import { useOutlineStateMixin, useOutlineActions } from './Wrapper.provider.js' import { Close } from './../icons.js' import { useIsMobileMixin } from '../Editor.provider.ts' +import { t } from '@nextcloud/l10n' export default { name: 'EditorOutline', @@ -39,6 +40,9 @@ export default { useOutlineStateMixin, useOutlineActions, ], + methods: { + t, + }, } diff --git a/src/components/Editor/GuestNameDialog.vue b/src/components/Editor/GuestNameDialog.vue index e959fb38ae2..1056b8c230c 100644 --- a/src/components/Editor/GuestNameDialog.vue +++ b/src/components/Editor/GuestNameDialog.vue @@ -21,6 +21,7 @@ import { generateUrl } from '@nextcloud/router' import AvatarWrapper from './AvatarWrapper.vue' import { useSyncService } from '../../composables/useSyncService.ts' +import { t } from '@nextcloud/l10n' export default { name: 'GuestNameDialog', @@ -72,6 +73,7 @@ export default { updateBufferedGuestName() { this.guestNameBuffered = this.guestName }, + t, }, } diff --git a/src/components/Editor/PreviewOptions.vue b/src/components/Editor/PreviewOptions.vue index f15a03be6df..0331fc1df3f 100644 --- a/src/components/Editor/PreviewOptions.vue +++ b/src/components/Editor/PreviewOptions.vue @@ -54,6 +54,7 @@ import NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator' import DotsVerticalIcon from 'vue-material-design-icons/DotsVertical.vue' import DeleteIcon from 'vue-material-design-icons/Delete.vue' import OpenIcon from 'vue-material-design-icons/OpenInNew.vue' +import { t } from '@nextcloud/l10n' export default { name: 'PreviewOptions', @@ -102,6 +103,7 @@ export default { if (!this.href) return window.open(this.href, '_blank').focus() }, + t, }, } diff --git a/src/components/Editor/SessionList.vue b/src/components/Editor/SessionList.vue index 5bfce425e5a..75a628634d3 100644 --- a/src/components/Editor/SessionList.vue +++ b/src/components/Editor/SessionList.vue @@ -59,6 +59,7 @@ import { COLLABORATOR_DISCONNECT_TIME, COLLABORATOR_IDLE_TIME } from '../../serv import { loadState } from '@nextcloud/initial-state' import axios from '@nextcloud/axios' import { generateUrl } from '@nextcloud/router' +import { t } from '@nextcloud/l10n' export default { name: 'SessionList', @@ -127,6 +128,7 @@ export default { value: checked ? '1' : '0', }) }, + t, }, } diff --git a/src/components/Editor/SmartPickerMenu.vue b/src/components/Editor/SmartPickerMenu.vue index e73f5d2f64a..a8f4e20351a 100644 --- a/src/components/Editor/SmartPickerMenu.vue +++ b/src/components/Editor/SmartPickerMenu.vue @@ -16,6 +16,7 @@ diff --git a/src/components/Editor/Status.vue b/src/components/Editor/Status.vue index edb2cd59326..ddf7e70757d 100644 --- a/src/components/Editor/Status.vue +++ b/src/components/Editor/Status.vue @@ -37,6 +37,7 @@ import { import { useEditorFlags } from '../../composables/useEditorFlags.ts' import refreshMoment from '../../mixins/refreshMoment.js' import { useSaveService } from '../../composables/useSaveService.ts' +import { t } from '@nextcloud/l10n' export default { name: 'Status', @@ -136,6 +137,7 @@ export default { onEditorWidthChange(newWidth) { this.$emit('editor-width-change', newWidth) }, + t, }, } diff --git a/src/components/HelpModal.vue b/src/components/HelpModal.vue index bb51313d1cf..2704da04e86 100644 --- a/src/components/HelpModal.vue +++ b/src/components/HelpModal.vue @@ -271,6 +271,7 @@ import NcDialog from '@nextcloud/vue/components/NcDialog' import { isMobilePlatform } from '../helpers/platform.js' import { TRANSLATIONS, MODIFIERS } from './Menu/keys.js' +import { t } from '@nextcloud/l10n' export default { name: 'HelpModal', @@ -304,6 +305,7 @@ export default { }, }, methods: { + t, toggleFormatted(style) { this.formatted[style] = !this.formatted[style] }, diff --git a/src/components/Link/LinkBubbleView.vue b/src/components/Link/LinkBubbleView.vue index 9d980280a34..2454d0e89e7 100644 --- a/src/components/Link/LinkBubbleView.vue +++ b/src/components/Link/LinkBubbleView.vue @@ -91,12 +91,12 @@ import NcButton from '@nextcloud/vue/components/NcButton' import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon' import NcTextField from '@nextcloud/vue/components/NcTextField' import { NcReferenceList } from '@nextcloud/vue/dist/Components/NcRichText.js' -import { translate as t } from '@nextcloud/l10n' import CheckIcon from 'vue-material-design-icons/Check.vue' import CloseIcon from 'vue-material-design-icons/Close.vue' import ContentCopyIcon from 'vue-material-design-icons/ContentCopy.vue' import LinkOffIcon from 'vue-material-design-icons/LinkOff.vue' import PencilIcon from 'vue-material-design-icons/Pencil.vue' +import { t } from '@nextcloud/l10n' import CopyToClipboardMixin from '../../mixins/CopyToClipboardMixin.js' @@ -193,8 +193,6 @@ export default { }, methods: { - t, - resetBubble() { this.edit = false this.newHref = null @@ -260,6 +258,7 @@ export default { .run() this.stopEdit() }, + t, }, } diff --git a/src/components/Menu/ActionAttachmentUpload.vue b/src/components/Menu/ActionAttachmentUpload.vue index 1a90baf4c3b..1a3cdff410d 100644 --- a/src/components/Menu/ActionAttachmentUpload.vue +++ b/src/components/Menu/ActionAttachmentUpload.vue @@ -71,6 +71,7 @@ import { useActionCreateAttachmentMixin, } from '../Editor/MediaHandler.provider.js' import { useSyncService } from '../../composables/useSyncService.ts' +import { t } from '@nextcloud/l10n' export default { name: 'ActionAttachmentUpload', @@ -126,6 +127,7 @@ export default { createAttachment(template) { this.$callCreateAttachment(template) }, + t, }, } diff --git a/src/components/Menu/ActionFormattingHelp.vue b/src/components/Menu/ActionFormattingHelp.vue index 540d833ef7e..46a7e1af769 100644 --- a/src/components/Menu/ActionFormattingHelp.vue +++ b/src/components/Menu/ActionFormattingHelp.vue @@ -17,6 +17,7 @@ import { defineComponent } from 'vue' import NextcloudVueNcActionButton from '@nextcloud/vue/components/NcActionButton' import { Help } from '../icons.js' +import { t } from '@nextcloud/l10n' export default defineComponent({ // This component is used as a direct child of NcActions. @@ -29,5 +30,8 @@ export default defineComponent({ NextcloudVueNcActionButton, Help, }, + methods: { + t, + } }) diff --git a/src/components/Menu/ActionInsertLink.vue b/src/components/Menu/ActionInsertLink.vue index 745cbb304fd..7a83c208f3b 100644 --- a/src/components/Menu/ActionInsertLink.vue +++ b/src/components/Menu/ActionInsertLink.vue @@ -78,6 +78,7 @@ import { BaseActionEntry } from './BaseActionEntry.js' import { useFileMixin } from '../Editor.provider.ts' import { useMenuIDMixin } from './MenuBar.provider.js' import { buildFilePicker } from '../../helpers/filePicker.js' +import { t } from '@nextcloud/l10n' export default { name: 'ActionInsertLink', @@ -211,6 +212,7 @@ export default { console.error('Smart picker promise rejected', error) }) }, + t, }, } diff --git a/src/components/Menu/ActionList.vue b/src/components/Menu/ActionList.vue index de14c4b12e9..c472e9dfa22 100644 --- a/src/components/Menu/ActionList.vue +++ b/src/components/Menu/ActionList.vue @@ -41,6 +41,7 @@ import { getActionState, getIsActive } from './utils.js' import { useOutlineStateMixin } from '../Editor/Wrapper.provider.js' import { useMenuIDMixin } from './MenuBar.provider.js' import debounce from 'debounce' +import { t } from '@nextcloud/l10n' export default { name: 'ActionList', diff --git a/src/components/Menu/MenuBar.vue b/src/components/Menu/MenuBar.vue index f562759f3c2..2b65574b5ef 100644 --- a/src/components/Menu/MenuBar.vue +++ b/src/components/Menu/MenuBar.vue @@ -81,6 +81,7 @@ import { } from '../Editor.provider.ts' import { useEditorFlags } from '../../composables/useEditorFlags.ts' import { useEditor } from '../../composables/useEditor.ts' +import { t } from '@nextcloud/l10n' export default { name: 'MenuBar', @@ -219,6 +220,7 @@ export default { console.debug('translation click', state.selection, selectedText) emit('text:translate-modal:show', { content: selectedText }) }, + t, }, } diff --git a/src/components/Menu/ReadonlyBar.vue b/src/components/Menu/ReadonlyBar.vue index 1445da071a5..65390f22fa2 100644 --- a/src/components/Menu/ReadonlyBar.vue +++ b/src/components/Menu/ReadonlyBar.vue @@ -30,6 +30,7 @@ import { ReadOnlyEditEntries, OutlineEntries } from './entries.js' import ActionList from './ActionList.vue' import ActionSingle from './ActionSingle.vue' import ToolBarLogic from './ToolBarLogic.js' +import { t } from '@nextcloud/l10n' export default defineComponent({ name: 'ReadonlyBar', @@ -49,6 +50,9 @@ export default defineComponent({ entries: this.openReadOnly ? [...ReadOnlyEditEntries, ...OutlineEntries] : [...OutlineEntries], } }, + methods: { + t, + } }) diff --git a/src/components/Menu/entries.js b/src/components/Menu/entries.js index 3715a6fb5c2..0626d32c599 100644 --- a/src/components/Menu/entries.js +++ b/src/components/Menu/entries.js @@ -43,6 +43,7 @@ import ActionInsertLink from './ActionInsertLink.vue' import { MODIFIERS } from './keys.js' import { isMobileDevice } from '../../helpers/isMobileDevice.js' +import { t } from '@nextcloud/l10n' export const OutlineEntries = [{ key: 'outline', diff --git a/src/components/Menu/keys.js b/src/components/Menu/keys.js index 17412be7ced..0b8c0f81972 100644 --- a/src/components/Menu/keys.js +++ b/src/components/Menu/keys.js @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -const t = window.t +import { t } from '@nextcloud/l10n' const isMac = (navigator.userAgent.includes('Mac')) const MODIFIERS = { diff --git a/src/components/Modal/Translate.vue b/src/components/Modal/Translate.vue index 84688355d8a..5e7a340b462 100644 --- a/src/components/Modal/Translate.vue +++ b/src/components/Modal/Translate.vue @@ -81,6 +81,7 @@ import NcSelect from '@nextcloud/vue/components/NcSelect' import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon' import NcTextArea from '@nextcloud/vue/components/NcTextArea' import { useIsMobileMixin } from '../Editor.provider.ts' +import { t } from '@nextcloud/l10n' export default { name: 'Translate', @@ -220,6 +221,7 @@ export default { this.disableFromLanguageSelect = false this.autosize() }, + t, }, } diff --git a/src/components/Suggestion/Emoji/EmojiList.vue b/src/components/Suggestion/Emoji/EmojiList.vue index 0402c3f249a..5b1c579b251 100644 --- a/src/components/Suggestion/Emoji/EmojiList.vue +++ b/src/components/Suggestion/Emoji/EmojiList.vue @@ -24,7 +24,7 @@ diff --git a/src/editor.js b/src/editor.js index 3742b0b5359..bafcfc5804e 100644 --- a/src/editor.js +++ b/src/editor.js @@ -12,10 +12,6 @@ import 'vite/modulepreload-polyfill' const apiVersion = '1.2' -Vue.prototype.t = window.t -Vue.prototype.n = window.n -Vue.prototype.OCA = window.OCA - window.OCA.Text = { ...window.OCA.Text, } diff --git a/src/files.js b/src/files.js index 54053b47280..3e6e78cefe6 100644 --- a/src/files.js +++ b/src/files.js @@ -23,9 +23,6 @@ document.addEventListener('DOMContentLoaded', async () => { const { default: Vue } = await import('vue') const { default: FilesSettings } = await import('./views/FilesSettings.vue') - Vue.prototype.t = window.t - Vue.prototype.n = window.n - Vue.prototype.OCA = window.OCA const vm = new Vue({ render: h => h(FilesSettings, {}), }) diff --git a/src/helpers/filePicker.js b/src/helpers/filePicker.js index db866b91b85..18c7942dced 100644 --- a/src/helpers/filePicker.js +++ b/src/helpers/filePicker.js @@ -4,6 +4,7 @@ */ import { getFilePickerBuilder } from '@nextcloud/dialogs' +import { t } from '@nextcloud/l10n' export const buildFilePicker = (startPath) => { return getFilePickerBuilder(t('text', 'Select file or folder to link to')) diff --git a/src/helpers/files.js b/src/helpers/files.js index b4d83f11833..a2fd91d64f0 100644 --- a/src/helpers/files.js +++ b/src/helpers/files.js @@ -22,6 +22,7 @@ import TextSvg from '@mdi/svg/svg/text.svg?raw' import { openMimetypes } from './mime.js' import Vue from 'vue' +import { t } from '@nextcloud/l10n' const FILE_ACTION_IDENTIFIER = 'Edit with text app' @@ -94,9 +95,6 @@ const registerFileActionFallback = () => { const path = window.FileList.getCurrentDirectory() + '/' + filename const Vue = imports[0].default - Vue.prototype.t = window.t - Vue.prototype.n = window.n - Vue.prototype.OCA = window.OCA const Editor = imports[1].default const vm = new Vue({ render: (h) => { diff --git a/src/main.js b/src/main.js index 47b0dd4e604..c54b51a8436 100644 --- a/src/main.js +++ b/src/main.js @@ -8,8 +8,5 @@ import 'vite/modulepreload-polyfill' import Vue from 'vue' import DirectEditing from './views/DirectEditing.vue' -Vue.prototype.t = window.t -Vue.prototype.OCA = window.OCA - const DirectView = Vue.extend(DirectEditing) new DirectView().$mount('#app-content') diff --git a/src/mixins/CopyToClipboardMixin.js b/src/mixins/CopyToClipboardMixin.js index 9375c5b3f6d..3cd7e91764c 100644 --- a/src/mixins/CopyToClipboardMixin.js +++ b/src/mixins/CopyToClipboardMixin.js @@ -4,6 +4,7 @@ */ import { showError, showSuccess } from '@nextcloud/dialogs' +import { t } from '@nextcloud/l10n' export default { data() { diff --git a/src/nodes/CodeBlock/CodeBlockView.vue b/src/nodes/CodeBlock/CodeBlockView.vue index a41c6f7c932..48bd83ea32d 100644 --- a/src/nodes/CodeBlock/CodeBlockView.vue +++ b/src/nodes/CodeBlock/CodeBlockView.vue @@ -106,6 +106,7 @@ import NcActionLink from '@nextcloud/vue/components/NcActionLink' import NcActionSeparator from '@nextcloud/vue/components/NcActionSeparator' import NcLoadingIcon from '@nextcloud/vue/components/NcLoadingIcon' +import { t } from '@nextcloud/l10n' import { v4 as uuidv4 } from 'uuid' import ViewSplitVertical from 'vue-material-design-icons/ViewSplitVertical.vue' @@ -152,6 +153,7 @@ export default { return { /** The lazy loaded mermaid js module */ mermaid: null, + t, } }, data() { diff --git a/src/nodes/FrontMatter.js b/src/nodes/FrontMatter.js index fdd0f09c41d..03e85cbe19d 100644 --- a/src/nodes/FrontMatter.js +++ b/src/nodes/FrontMatter.js @@ -5,6 +5,7 @@ import { mergeAttributes } from '@tiptap/core' import TiptapCodeBlock from '@tiptap/extension-code-block' +import { t } from '@nextcloud/l10n' const FrontMatter = TiptapCodeBlock.extend({ name: 'frontMatter', diff --git a/src/nodes/ImageView.vue b/src/nodes/ImageView.vue index 80b7a8d3f91..32bdd391635 100644 --- a/src/nodes/ImageView.vue +++ b/src/nodes/ImageView.vue @@ -143,6 +143,7 @@ import { useAttachmentResolver } from '../components/Editor.provider.ts' import { emit } from '@nextcloud/event-bus' import { NodeViewWrapper } from '@tiptap/vue-2' import { Image as ImageIcon, Delete as DeleteIcon } from '../components/icons.js' +import { t } from '@nextcloud/l10n' class LoadImageError extends Error { constructor(reason, imageUrl) { @@ -436,6 +437,7 @@ export default { emit('text:image-node:delete', this.imageUrl) this.deleteNode() }, + t, }, } diff --git a/src/nodes/Table/TableCellView.vue b/src/nodes/Table/TableCellView.vue index 2293dd5d31a..13af93d151f 100644 --- a/src/nodes/Table/TableCellView.vue +++ b/src/nodes/Table/TableCellView.vue @@ -43,6 +43,7 @@ import { NodeViewWrapper, NodeViewContent } from '@tiptap/vue-2' import NcActions from '@nextcloud/vue/components/NcActions' import NcActionButton from '@nextcloud/vue/components/NcActionButton' import { TableAddRowBefore, TableAddRowAfter, Delete } from '../../components/icons.js' +import { t } from '@nextcloud/l10n' export default { name: 'TableCellView', @@ -103,6 +104,7 @@ export default { .addRowAfter() .run() }, + t, }, } diff --git a/src/nodes/Table/TableHeaderView.vue b/src/nodes/Table/TableHeaderView.vue index d006ba946f7..dc46a01d2d1 100644 --- a/src/nodes/Table/TableHeaderView.vue +++ b/src/nodes/Table/TableHeaderView.vue @@ -85,6 +85,7 @@ import { TableAddColumnBefore, TableAddColumnAfter, } from '../../components/icons.js' +import { t } from '@nextcloud/l10n' export default { name: 'TableHeaderView', @@ -178,6 +179,7 @@ export default { .addColumnAfter() .run() }, + t, }, } diff --git a/src/nodes/Table/TableView.vue b/src/nodes/Table/TableView.vue index 7ea2af06d02..19221dc2a54 100644 --- a/src/nodes/Table/TableView.vue +++ b/src/nodes/Table/TableView.vue @@ -50,6 +50,7 @@ import NcActions from '@nextcloud/vue/components/NcActions' import NcActionButton from '@nextcloud/vue/components/NcActionButton' import NcButton from '@nextcloud/vue/components/NcButton' import { TableSettings, Delete, TableAddColumnAfter, TableAddRowAfter } from '../../components/icons.js' +import { t } from '@nextcloud/l10n' export default { name: 'TableView', @@ -115,6 +116,7 @@ export default { .setTextSelection(this.getPos() + this.node.nodeSize + 1) .run() }, + t, }, } diff --git a/src/plugins/headingAnchor.js b/src/plugins/headingAnchor.js index 26a1520dfb3..3226c8b867f 100644 --- a/src/plugins/headingAnchor.js +++ b/src/plugins/headingAnchor.js @@ -6,6 +6,7 @@ import { Plugin, PluginKey } from '@tiptap/pm/state' import { Decoration, DecorationSet } from '@tiptap/pm/view' import extractHeadings from './extractHeadings.js' +import { t } from '@nextcloud/l10n' export const headingAnchorPluginKey = new PluginKey('headingAnchor') @@ -132,7 +133,7 @@ function anchorForHeading(heading) { el.setAttribute('aria-hidden', 'true') el.className = 'heading-anchor' el.setAttribute('href', `#${heading.id}`) - el.setAttribute('title', window.t('text', 'Link to this section')) + el.setAttribute('title', t('text', 'Link to this section')) el.setAttribute('contenteditable', 'false') el.addEventListener('click', handleClick) return el diff --git a/src/tests/setup.mjs b/src/tests/setup.mjs index 0aa6b8b08be..6ae399700b1 100644 --- a/src/tests/setup.mjs +++ b/src/tests/setup.mjs @@ -6,11 +6,6 @@ import './testHelpers/jsdomMocks.js' import './testHelpers/nextcloudMocks.js' import './testHelpers/vueMocks.js' -import Vue from 'vue' -Vue.prototype.t = global.t -Vue.prototype.n = global.n -Vue.prototype.OC = global.OC -Vue.prototype.OCA = global.OCA // suppress errors from not-explicitly-imported @nc-vue component global.appName = 'text' diff --git a/src/views/FilesSettings.vue b/src/views/FilesSettings.vue index d5fe7d34d46..729b1ed3259 100644 --- a/src/views/FilesSettings.vue +++ b/src/views/FilesSettings.vue @@ -17,6 +17,7 @@ import { emit } from '@nextcloud/event-bus' import axios from '@nextcloud/axios' import NcCheckboxRadioSwitch from '@nextcloud/vue/components/NcCheckboxRadioSwitch' import { generateUrl } from '@nextcloud/router' +import { t } from '@nextcloud/l10n' export default { name: 'FilesSettings', @@ -45,6 +46,7 @@ export default { }) } }, + t, }, } diff --git a/src/views/RichWorkspace.vue b/src/views/RichWorkspace.vue index 1029327424e..0264584026a 100644 --- a/src/views/RichWorkspace.vue +++ b/src/views/RichWorkspace.vue @@ -36,6 +36,7 @@ import { getSharingToken, isPublicShare } from '@nextcloud/sharing/public' import { loadState } from '@nextcloud/initial-state' import { subscribe, unsubscribe } from '@nextcloud/event-bus' import axios from '@nextcloud/axios' +import { t } from '@nextcloud/l10n' import getEditorInstance from '../components/Editor.singleton.js' import RichTextReader from '../components/RichTextReader.vue' @@ -111,6 +112,9 @@ export default { }, hasRichWorkspace(value) { this.localHasRichWorkspace = value + if (value) { + this.getFileInfo() + } }, }, mounted() { @@ -229,6 +233,7 @@ export default { this.localHasRichWorkspace = false } }, + t, }, }