From 72c88c767c433bb66ca2632fcc012568282eafaf Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Wed, 30 Jan 2019 08:39:35 +0100 Subject: Use Backbone.noConflict in the bundle as well Move the patched Backbone to its own module again Signed-off-by: Christoph Wurst --- core/src/OC/backbone-webdav.js | 4 ++-- core/src/OC/backbone.js | 33 +++++++++++++++++++++++++++++++++ core/src/OC/index.js | 14 +++----------- 3 files changed, 38 insertions(+), 13 deletions(-) create mode 100644 core/src/OC/backbone.js (limited to 'core/src/OC') diff --git a/core/src/OC/backbone-webdav.js b/core/src/OC/backbone-webdav.js index f658532fa18..d007054630f 100644 --- a/core/src/OC/backbone-webdav.js +++ b/core/src/OC/backbone-webdav.js @@ -255,7 +255,7 @@ function callMethod (client, options, model, headers) { }); } -export function davCall (options, model) { +export const davCall = (options, model) => { var client = new dav.Client({ baseUrl: options.url, xmlNamespaces: _.extend({ @@ -284,7 +284,7 @@ export function davCall (options, model) { /** * DAV transport */ -export function davSync (method, model, options) { +export const davSync = Backbone => (method, model, options) => { var params = {type: methodMap[method] || method}; var isCollection = (model instanceof Backbone.Collection); diff --git a/core/src/OC/backbone.js b/core/src/OC/backbone.js new file mode 100644 index 00000000000..07b5593eff9 --- /dev/null +++ b/core/src/OC/backbone.js @@ -0,0 +1,33 @@ +/* + * @copyright 2019 Christoph Wurst + * + * @author 2019 Christoph Wurst + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import VendorBackbone from 'backbone'; +import {davCall, davSync} from './backbone-webdav'; + +const Backbone = VendorBackbone.noConflict(); + +// Patch Backbone for DAV +Object.assign(Backbone, { + davCall, + davSync: davSync(Backbone), +}); + +export default Backbone; diff --git a/core/src/OC/index.js b/core/src/OC/index.js index 2ef1055c8b1..ba63780a879 100644 --- a/core/src/OC/index.js +++ b/core/src/OC/index.js @@ -19,20 +19,12 @@ * along with this program. If not, see . */ -import Backbone from 'backbone'; - import Apps from './apps' import AppConfig from './appconfig' -import ContactsMenu from './contactsmenu'; +import Backbone from './backbone' +import ContactsMenu from './contactsmenu' import EventSource from './eventsource' import L10N from './l10n' -import {davCall, davSync} from './backbone-webdav'; - -// Patch Backbone for DAV -Object.assign(Backbone, { - davCall, - davSync, -}); /** @namespace OC */ export default { @@ -42,4 +34,4 @@ export default { ContactsMenu, EventSource, L10N, -}; +} -- cgit v1.2.3