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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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,
|
||||
}
|
||||
|
|
|
@ -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 New Issue