diff --git a/src/components/AdminSettings.vue b/src/components/AdminSettings.vue index 3272d63348..55f28aeb60 100644 --- a/src/components/AdminSettings.vue +++ b/src/components/AdminSettings.vue @@ -615,6 +615,10 @@ export default { const { settings } = result?.data?.data || {} for (const settingKey in settings) { + if (settingKey === 'use_groups' || settingKey === 'edit_groups') { + this.settings[settingKey] = settings[settingKey] ? settings[settingKey].split('|') : [] + continue + } this.settings[settingKey] = settings[settingKey] } this.checkFrontend() @@ -727,6 +731,10 @@ export default { const { settings } = result?.data?.data || {} for (const settingKey in settings) { + if (settingKey === 'use_groups' || settingKey === 'edit_groups') { + this.settings[settingKey] = settings[settingKey] ? settings[settingKey].split('|') : [] + continue + } this.settings[settingKey] = settings[settingKey] } diff --git a/src/components/SettingsSelectTag.vue b/src/components/SettingsSelectTag.vue index ca649ed59d..4c8774769d 100644 --- a/src/components/SettingsSelectTag.vue +++ b/src/components/SettingsSelectTag.vue @@ -102,7 +102,7 @@ const xmlToTagList = (xml) => { continue } - if (tag['d:status']['#text'] !== 'HTTP/1.1 200 OK') { + if ((tag['d:status']['#text'] ?? null) !== 'HTTP/1.1 200 OK') { continue } result.push({ diff --git a/src/view/FilesAppIntegration.js b/src/view/FilesAppIntegration.js index 61ca1717f7..f26b93f9dc 100644 --- a/src/view/FilesAppIntegration.js +++ b/src/view/FilesAppIntegration.js @@ -22,6 +22,8 @@ import { generateUrl } from '@nextcloud/router' import { getCurrentUser } from '@nextcloud/auth' +import { getFilePickerBuilder } from '@nextcloud/dialogs' +import axios from '@nextcloud/axios' import { emit } from '@nextcloud/event-bus' import { getCurrentDirectory } from '../helpers/filesApp.js' import { @@ -168,28 +170,26 @@ export default { console.error('[FilesAppIntegration] insertGraphic is not supported') } - const insertFileFromPath = (path) => { + const insertFileFromPath = async (path) => { const filename = path.substring(path.lastIndexOf('/') + 1) - $.ajax({ - type: 'POST', - url: generateUrl('apps/richdocuments/assets'), - data: { - path, - }, - }).done(function(resp) { - insertFile(filename, resp.url) - }) + const { data } = await axios.post(generateUrl('apps/richdocuments/assets'), { path }) + insertFile(filename, data.url) } if (this.handlers.insertGraphic && this.handlers.insertGraphic(this, { insertFileFromPath })) { return } - OC.dialogs.filepicker(t('richdocuments', 'Insert from {name}', { name: OC.theme.name }), function(path, type) { - if (type === OC.dialogs.FILEPICKER_TYPE_CHOOSE) { - insertFileFromPath(path) - } - }, false, ['image/png', 'image/gif', 'image/jpeg', 'image/svg'], true, OC.dialogs.FILEPICKER_TYPE_CHOOSE) + getFilePickerBuilder(t('richdocuments', 'Insert image from {name}', { name: OC.theme.name })) + .setMimeTypeFilter(['image/png', 'image/gif', 'image/jpeg', 'image/svg']) + .addButton({ + label: t('richdocuments', 'Insert image'), + callback: (files) => { + insertFileFromPath(files[0].path) + }, + }) + .build() + .pick() }, getFileList() { diff --git a/src/view/Office.vue b/src/view/Office.vue index 6891ab85c0..6f39437136 100644 --- a/src/view/Office.vue +++ b/src/view/Office.vue @@ -25,7 +25,7 @@
- + @@ -35,7 +35,7 @@ - + diff --git a/src/viewer.js b/src/viewer.js index ef0132e37f..a8c7252306 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -26,6 +26,11 @@ import '../css/filetypes.scss' import Office from './view/Office.vue' import { getCapabilities } from '@nextcloud/capabilities' +// eslint-disable-next-line +__webpack_nonce__ = btoa(OC.requestToken) +// eslint-disable-next-line +__webpack_public_path__ = OC.linkTo('richdocuments', 'js/') + const supportedMimes = getCapabilities().richdocuments.mimetypes if (OCA.Viewer) {