diff options
author | Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com> | 2023-04-19 16:32:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-19 16:32:01 +0200 |
commit | 16361bed5e34060c09bbb454a005a55a1cf51a5f (patch) | |
tree | cb75a18a5c80b27f7b73fb38ddf9d7acdbfe7365 /core/src | |
parent | 7016899cdba65621cd6a094428479eaace8a2867 (diff) | |
parent | fd473f89e8ec31b0d050cc293f698390b2e7e689 (diff) | |
download | nextcloud-server-16361bed5e34060c09bbb454a005a55a1cf51a5f.tar.gz nextcloud-server-16361bed5e34060c09bbb454a005a55a1cf51a5f.zip |
Merge branch 'master' into patch-20
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/OC/apps.js | 135 | ||||
-rw-r--r-- | core/src/OC/dialogs.js | 14 | ||||
-rw-r--r-- | core/src/OC/index.js | 2 | ||||
-rw-r--r-- | core/src/components/login/ResetPassword.vue | 4 | ||||
-rw-r--r-- | core/src/main.js | 2 | ||||
-rw-r--r-- | core/src/views/UnifiedSearch.vue | 2 |
6 files changed, 11 insertions, 148 deletions
diff --git a/core/src/OC/apps.js b/core/src/OC/apps.js deleted file mode 100644 index bbda177409e..00000000000 --- a/core/src/OC/apps.js +++ /dev/null @@ -1,135 +0,0 @@ -/** - * @copyright Bernhard Posselt 2014 - * - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * @author John Molakvoæ <skjnldsv@protonmail.com> - * - * @license AGPL-3.0-or-later - * - * 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 $ from 'jquery' - -let dynamicSlideToggleEnabled = false - -const Apps = { - enableDynamicSlideToggle() { - dynamicSlideToggleEnabled = true - }, -} - -/** - * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings - * - * @param {object} [$el] sidebar element to show, defaults to $('#app-sidebar') - */ -Apps.showAppSidebar = function($el) { - const $appSidebar = $el || $('#app-sidebar') - $appSidebar.removeClass('disappear').show() - $('#app-content').trigger(new $.Event('appresized')) -} - -/** - * Shows the #app-sidebar and removes .with-app-sidebar from subsequent - * siblings - * - * @param {object} [$el] sidebar element to hide, defaults to $('#app-sidebar') - */ -Apps.hideAppSidebar = function($el) { - const $appSidebar = $el || $('#app-sidebar') - $appSidebar.hide().addClass('disappear') - $('#app-content').trigger(new $.Event('appresized')) -} - -/** - * Provides a way to slide down a target area through a button and slide it - * up if the user clicks somewhere else. Used for the news app settings and - * add new field. - * - * Usage: - * <button data-apps-slide-toggle=".slide-area">slide</button> - * <div class=".slide-area" class="hidden">I'm sliding up</div> - */ -export const registerAppsSlideToggle = () => { - let buttons = $('[data-apps-slide-toggle]') - - if (buttons.length === 0) { - $('#app-navigation').addClass('without-app-settings') - } - - $(document).click(function(event) { - - if (dynamicSlideToggleEnabled) { - buttons = $('[data-apps-slide-toggle]') - } - - buttons.each(function(index, button) { - - const areaSelector = $(button).data('apps-slide-toggle') - const area = $(areaSelector) - - /** - * - */ - function hideArea() { - area.slideUp(OC.menuSpeed * 4, function() { - area.trigger(new $.Event('hide')) - }) - area.removeClass('opened') - $(button).removeClass('opened') - } - - /** - * - */ - function showArea() { - area.slideDown(OC.menuSpeed * 4, function() { - area.trigger(new $.Event('show')) - }) - area.addClass('opened') - $(button).addClass('opened') - const input = $(areaSelector + ' [autofocus]') - if (input.length === 1) { - input.focus() - } - } - - // do nothing if the area is animated - if (!area.is(':animated')) { - - // button toggles the area - if ($(button).is($(event.target).closest('[data-apps-slide-toggle]'))) { - if (area.is(':visible')) { - hideArea() - } else { - showArea() - } - - // all other areas that have not been clicked but are open - // should be slid up - } else { - const closest = $(event.target).closest(areaSelector) - if (area.is(':visible') && closest[0] !== area[0]) { - hideArea() - } - } - } - }) - - }) -} - -export default Apps diff --git a/core/src/OC/dialogs.js b/core/src/OC/dialogs.js index 9aedb87d53d..bfb32fd671e 100644 --- a/core/src/OC/dialogs.js +++ b/core/src/OC/dialogs.js @@ -444,7 +444,7 @@ const Dialogs = { self.$filelist = self.$filePicker.find('.filelist tbody') self.$filelistContainer = self.$filePicker.find('.filelist-container') self.$dirTree = self.$filePicker.find('.dirtree') - self.$dirTree.on('click keydown', 'div:not(:last-child)', self, function(event) { + self.$dirTree.on('click keydown', '.crumb', self, function(event) { if (isA11yActivation(event)) { self._handleTreeListSelect(event, type) } @@ -1289,11 +1289,13 @@ const Dialogs = { this.$dirTree.empty() var self = this + self.$dirTree.append('<nav></nav>') self.$dirTree.append(addButton) var dir var path = this.$filePicker.data('path') - var $template = $('<div data-dir="{dir}" tabindex="0"><a>{name}</a></div>').addClass('crumb') + var $template = $('<li data-dir="{dir}" tabindex="0"><a class="{classList}">{name}</a></li>').addClass('crumb') + var $breadcrumbs = $('<ul class="breadcrumb"></ul>') if (path) { var paths = path.split('/') $.each(paths, function(index, dir) { @@ -1301,18 +1303,20 @@ const Dialogs = { if (dir === '') { return false } - self.$dirTree.prepend($template.octemplate({ + $breadcrumbs.prepend($template.octemplate({ dir: paths.join('/') + '/' + dir, name: dir })) }) } - $template.octemplate({ dir: '', name: t('core', 'Home'), - }, { escapeFunction: null }).prependTo(this.$dirTree) + classList: 'icon-home' + }, { escapeFunction: null }).addClass('crumb svg crumbhome').prependTo($breadcrumbs) + + this.$dirTree.find('> nav').prepend($breadcrumbs) }, /** * handle selection made in the tree list diff --git a/core/src/OC/index.js b/core/src/OC/index.js index cc70bb550a7..32c31c2c3a3 100644 --- a/core/src/OC/index.js +++ b/core/src/OC/index.js @@ -30,7 +30,6 @@ import { processAjaxError, registerXHRForErrorProcessing, } from './xhr-error.js' -import Apps from './apps.js' import { AppConfig, appConfig } from './appconfig.js' import { appSettings } from './appsettings.js' import appswebroots from './appswebroots.js' @@ -141,7 +140,6 @@ export default { addScript, addStyle, - Apps, AppConfig, appConfig, appSettings, diff --git a/core/src/components/login/ResetPassword.vue b/core/src/components/login/ResetPassword.vue index ad86281b301..dc979f9bced 100644 --- a/core/src/components/login/ResetPassword.vue +++ b/core/src/components/login/ResetPassword.vue @@ -34,9 +34,7 @@ <NcNoteCard v-if="message === 'send-success'" type="success"> - {{ t('core', 'A password reset message has been sent to the email address of this account. If you do not receive it, check your spam/junk folders or ask your local administrator for help.') }} - <br> - {{ t('core', 'If it is not there ask your local administrator.') }} + {{ t('core', 'If this account exists, a password reset message has been sent to its email address. If you do not receive it, verify your email address and/or account name, check your spam/junk folders or ask your local administration for help.') }} </NcNoteCard> <NcNoteCard v-else-if="message === 'send-error'" type="error"> diff --git a/core/src/main.js b/core/src/main.js index f76d4f0b8e1..11a7ece6114 100644 --- a/core/src/main.js +++ b/core/src/main.js @@ -35,11 +35,9 @@ import OC from './OC/index.js' import './globals.js' import './jquery/index.js' import { initCore } from './init.js' -import { registerAppsSlideToggle } from './OC/apps.js' window.addEventListener('DOMContentLoaded', function() { initCore() - registerAppsSlideToggle() // fallback to hashchange when no history support if (window.history.pushState) { diff --git a/core/src/views/UnifiedSearch.vue b/core/src/views/UnifiedSearch.vue index b5002d0dfc3..19ea68654ad 100644 --- a/core/src/views/UnifiedSearch.vue +++ b/core/src/views/UnifiedSearch.vue @@ -293,7 +293,7 @@ export default { validQueryTitle() { return this.triggered ? t('core', 'No results for {query}', { query: this.query }) - : t('core', 'Press enter to start searching') + : t('core', 'Press Enter to start searching') }, /** |