diff options
Diffstat (limited to 'core/src/OC')
-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 |
3 files changed, 9 insertions, 142 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, |