Move OCA.Apps to the server bundle

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
Christoph Wurst 2019-01-28 15:06:01 +01:00
parent cfdece7833
commit 4921359e71
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
10 changed files with 163 additions and 142 deletions

View File

@ -1,126 +0,0 @@
/**
* ownCloud - core
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
*
* @author Bernhard Posselt <dev@bernhard-posselt.com>
* @copyright Bernhard Posselt 2014
*/
(function (document, $, exports) {
'use strict';
var dynamicSlideToggleEnabled = false;
exports.Apps = {
enableDynamicSlideToggle: function () {
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')
*/
exports.Apps.showAppSidebar = function($el) {
var $appSidebar = $el || $('#app-sidebar');
$appSidebar.removeClass('disappear')
.show('slide', { direction: 'right' }, 300);
$('#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')
*/
exports.Apps.hideAppSidebar = function($el) {
var $appSidebar = $el || $('#app-sidebar');
$appSidebar.hide('slide', { direction: 'right' }, 300,
function() {
$appSidebar.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>
*/
var registerAppsSlideToggle = function () {
var 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) {
var areaSelector = $(button).data('apps-slide-toggle');
var 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');
var 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 {
var closest = $(event.target).closest(areaSelector);
if (area.is(':visible') && closest[0] !== area[0]) {
hideArea();
}
}
}
});
});
};
$(document).ready(function () {
registerAppsSlideToggle();
});
}(document, jQuery, OC));

View File

@ -12,7 +12,6 @@
"oc-backbone.js",
"oc-backbone-webdav.js",
"l10n.js",
"apps.js",
"share.js",
"sharetemplates.js",
"sharesocialmanager.js",

39
core/js/dist/main.js vendored

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

View File

@ -10,7 +10,6 @@
"public/whatsnew.js",
"config.js",
"oc-requesttoken.js",
"apps.js",
"mimetype.js",
"mimetypelist.js",
"oc-backbone.js",

120
core/src/OC/apps.js Normal file
View File

@ -0,0 +1,120 @@
/**
* ownCloud - core
*
* This file is licensed under the Affero General Public License version 3 or
* later. See the COPYING file.
*
* @author Bernhard Posselt <dev@bernhard-posselt.com>
* @copyright Bernhard Posselt 2014
*/
import $ from 'jquery';
var dynamicSlideToggleEnabled = false;
const Apps = {
enableDynamicSlideToggle: function () {
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) {
var $appSidebar = $el || $('#app-sidebar');
$appSidebar.removeClass('disappear')
.show('slide', {direction: 'right'}, 300);
$('#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) {
var $appSidebar = $el || $('#app-sidebar');
$appSidebar.hide('slide', {direction: 'right'}, 300,
function () {
$appSidebar.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 = () => {
var 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) {
var areaSelector = $(button).data('apps-slide-toggle');
var 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');
var 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 {
var closest = $(event.target).closest(areaSelector);
if (area.is(':visible') && closest[0] !== area[0]) {
hideArea();
}
}
}
});
});
};
export default Apps;

View File

@ -19,5 +19,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import Apps from './apps'
/** @namespace OC */
export default {};
export default {
Apps,
};

View File

@ -22,5 +22,9 @@
import '@babel/polyfill'
import './globals'
import $ from 'jquery'
import {registerAppsSlideToggle} from './OC/apps'
import './OCP/index'
$(document).ready(function () {
registerAppsSlideToggle();
});