Skip to content
Snippets Groups Projects
Unverified Commit e2d20953 authored by Christoph Wurst's avatar Christoph Wurst
Browse files

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: default avatarChristoph Wurst <christoph@winzerhof-wurst.at>
parent 8c9f3a5f
No related branches found
No related tags found
No related merge requests found
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
...@@ -19,8 +19,15 @@ ...@@ -19,8 +19,15 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
import Search from './search'
/** /**
* Namespace for apps * Namespace for apps
* @namespace OCA * @namespace OCA
*/ */
export default {} export default {
/**
* @deprecated 20.0.0, will be removed in Nextcloud 22
*/
Search,
}
/*
* @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()) ...@@ -32,18 +32,6 @@ __webpack_nonce__ = btoa(getRequestToken())
// eslint-disable-next-line camelcase // eslint-disable-next-line camelcase
__webpack_public_path__ = generateFilePath('core', '', 'js/') __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({ Vue.mixin({
methods: { methods: {
t, t,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment