mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Declare OCA.Search directly, not via a monkey patch
Apps could use OCA.Search very early on a page load without a problem prior to Nextcloud 20 (current master). Since the unified search work moved some code around, it now was added later, resulting in `TypeError: OCA.Search is not a constructor` errors if the apps did not wrap their calls in a `DOMLoaded` event handler. To ensure existing code continues to work without modification, this patch moves the declaration of the `OCA.Search` API to where we defined `OCA`, instead of monkey-patching it later on. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
parent
8c9f3a5f5e
commit
e2d209536f
9 changed files with 48 additions and 19 deletions
2
core/js/dist/login.js
vendored
2
core/js/dist/login.js
vendored
File diff suppressed because one or more lines are too long
2
core/js/dist/login.js.map
vendored
2
core/js/dist/login.js.map
vendored
File diff suppressed because one or more lines are too long
2
core/js/dist/main.js
vendored
2
core/js/dist/main.js
vendored
File diff suppressed because one or more lines are too long
2
core/js/dist/main.js.map
vendored
2
core/js/dist/main.js.map
vendored
File diff suppressed because one or more lines are too long
2
core/js/dist/unified-search.js
vendored
2
core/js/dist/unified-search.js
vendored
File diff suppressed because one or more lines are too long
2
core/js/dist/unified-search.js.map
vendored
2
core/js/dist/unified-search.js.map
vendored
File diff suppressed because one or more lines are too long
|
|
@ -19,8 +19,15 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import Search from './search'
|
||||
|
||||
/**
|
||||
* Namespace for apps
|
||||
* @namespace OCA
|
||||
*/
|
||||
export default {}
|
||||
export default {
|
||||
/**
|
||||
* @deprecated 20.0.0, will be removed in Nextcloud 22
|
||||
*/
|
||||
Search,
|
||||
}
|
||||
|
|
|
|||
34
core/src/OCA/search.js
Normal file
34
core/src/OCA/search.js
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
*
|
||||
* @author 2020 Christoph Wurst <christoph@winzerhof-wurst.at>
|
||||
*
|
||||
* @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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @deprecated 20.0.0, will be removed in Nextcloud 22
|
||||
*/
|
||||
export default class Search {
|
||||
|
||||
/**
|
||||
* @deprecated 20.0.0, will be removed in Nextcloud 22
|
||||
*/
|
||||
constructor() {
|
||||
console.warn('OCA.Search is deprecated. Please use the unified search API instead')
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -32,18 +32,6 @@ __webpack_nonce__ = btoa(getRequestToken())
|
|||
// eslint-disable-next-line camelcase
|
||||
__webpack_public_path__ = generateFilePath('core', '', 'js/')
|
||||
|
||||
// TODO: remove with nc22
|
||||
if (!OCA.Search) {
|
||||
class Search {
|
||||
|
||||
constructor() {
|
||||
console.warn('OCA.Search is deprecated. Please use the unified search API instead')
|
||||
}
|
||||
|
||||
}
|
||||
OCA.Search = Search
|
||||
}
|
||||
|
||||
Vue.mixin({
|
||||
methods: {
|
||||
t,
|
||||
|
|
|
|||
Loading…
Reference in a new issue