Skip to content

Commit

Permalink
Merge pull request #13935 from nextcloud/fix/backbone-webpack-noconflict
Browse files Browse the repository at this point in the history
Fix the patched Backbone instance and use that exclusively
  • Loading branch information
rullzer authored Jan 31, 2019
2 parents 5c4ed02 + 72c88c7 commit 9359624
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 21 deletions.
13 changes: 6 additions & 7 deletions core/js/dist/main.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion core/js/dist/main.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions core/src/OC/backbone-webdav.js
Original file line number Diff line number Diff line change
Expand Up @@ -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({
Expand Down Expand Up @@ -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);

Expand Down
33 changes: 33 additions & 0 deletions core/src/OC/backbone.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* @copyright 2019 Christoph Wurst <[email protected]>
*
* @author 2019 Christoph Wurst <[email protected]>
*
* @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 <http://www.gnu.org/licenses/>.
*/

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;
14 changes: 3 additions & 11 deletions core/src/OC/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

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 {
Expand All @@ -42,4 +34,4 @@ export default {
ContactsMenu,
EventSource,
L10N,
};
}

0 comments on commit 9359624

Please sign in to comment.