diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-08-31 10:31:12 +0200 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-08-31 10:31:12 +0200 |
commit | e2d209536f1948b88d981f5c9d4a32db5a28ff9e (patch) | |
tree | 5e1e394cc0a30a5cf44597587bc1b5cd3fe4e0e4 /core/src/OCA | |
parent | 8c9f3a5f5edf785040849cceb601652b24b256bd (diff) | |
download | nextcloud-server-e2d209536f1948b88d981f5c9d4a32db5a28ff9e.tar.gz nextcloud-server-e2d209536f1948b88d981f5c9d4a32db5a28ff9e.zip |
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>
Diffstat (limited to 'core/src/OCA')
-rw-r--r-- | core/src/OCA/index.js | 9 | ||||
-rw-r--r-- | core/src/OCA/search.js | 34 |
2 files changed, 42 insertions, 1 deletions
diff --git a/core/src/OCA/index.js b/core/src/OCA/index.js index 4b87d325a55..8cf5e6efeb4 100644 --- a/core/src/OCA/index.js +++ b/core/src/OCA/index.js @@ -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, +} diff --git a/core/src/OCA/search.js b/core/src/OCA/search.js new file mode 100644 index 00000000000..f3eba1247f9 --- /dev/null +++ b/core/src/OCA/search.js @@ -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') + } + +} |