summaryrefslogtreecommitdiffstats
path: root/apps/files_external/js
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-05-02 17:34:24 +0200
committerVincent Petry <pvince81@owncloud.com>2016-05-20 09:33:59 +0200
commitdb4c7fe743d7cd2019612c9acd732ca0ec4467ea (patch)
tree6be66c74ff5f41aa75819eadd1c75213abfdc94e /apps/files_external/js
parent63bbbf29f4b8fc49faf8aafd7ebf27a12e892a06 (diff)
downloadnextcloud-server-db4c7fe743d7cd2019612c9acd732ca0ec4467ea.tar.gz
nextcloud-server-db4c7fe743d7cd2019612c9acd732ca0ec4467ea.zip
Add encoding wrapper as opt-in mount option
The encoding wrapper is now only applied when the mount option is set, disabled by default.
Diffstat (limited to 'apps/files_external/js')
-rw-r--r--apps/files_external/js/settings.js32
1 files changed, 21 insertions, 11 deletions
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index 55c12cc0ac9..91f5f8d8118 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -33,8 +33,12 @@ var MOUNT_OPTIONS_DROPDOWN_TEMPLATE =
' <option value="1" selected="selected">{{t "files_external" "Once every direct access"}}</option>' +
' </select>' +
' </div>' +
+ ' <div class="optionRow">' +
+ ' <input id="mountOptionsEncoding" name="encoding_compatibility" type="checkbox" value="true"/>' +
+ ' <label for="mountOptionsEncoding">{{t "files_external" "Enable encoding compatibility (decreases performance)"}}</label>' +
+ ' </div>' +
'</div>';
-
+
/**
* Returns the selection of applicable users in the given configuration row
*
@@ -476,9 +480,9 @@ MountOptionsDropdown.prototype = {
*
* @param {Object} $container container
* @param {Object} mountOptions mount options
- * @param {Array} enabledOptions enabled mount options
+ * @param {Array} visibleOptions enabled mount options
*/
- show: function($container, mountOptions, enabledOptions) {
+ show: function($container, mountOptions, visibleOptions) {
if (MountOptionsDropdown._last) {
MountOptionsDropdown._last.hide();
}
@@ -492,7 +496,7 @@ MountOptionsDropdown.prototype = {
var $el = $(template());
this.$el = $el;
- this.setOptions(mountOptions, enabledOptions);
+ this.setOptions(mountOptions, visibleOptions);
this.$el.appendTo($container);
MountOptionsDropdown._last = this;
@@ -538,9 +542,9 @@ MountOptionsDropdown.prototype = {
* Sets the mount options to the dropdown controls
*
* @param {Object} options mount options
- * @param {Array} enabledOptions enabled mount options
+ * @param {Array} visibleOptions enabled mount options
*/
- setOptions: function(options, enabledOptions) {
+ setOptions: function(options, visibleOptions) {
var $el = this.$el;
_.each(options, function(value, key) {
var $optionEl = $el.find('input, select').filterAttr('name', key);
@@ -556,7 +560,7 @@ MountOptionsDropdown.prototype = {
$el.find('.optionRow').each(function(i, row){
var $row = $(row);
var optionId = $row.find('input, select').attr('name');
- if (enabledOptions.indexOf(optionId) === -1) {
+ if (visibleOptions.indexOf(optionId) === -1) {
$row.hide();
} else {
$row.show();
@@ -883,7 +887,8 @@ MountConfigListView.prototype = _.extend({
'encrypt': true,
'previews': true,
'enable_sharing': false,
- 'filesystem_check_changes': 1
+ 'filesystem_check_changes': 1,
+ 'encoding_compatibility': false
}));
}
@@ -1253,11 +1258,16 @@ MountConfigListView.prototype = _.extend({
var storage = this.getStorageConfig($tr);
var $toggle = $tr.find('.mountOptionsToggle');
var dropDown = new MountOptionsDropdown();
- var enabledOptions = ['previews', 'filesystem_check_changes', 'enable_sharing'];
+ var visibleOptions = [
+ 'previews',
+ 'filesystem_check_changes',
+ 'enable_sharing',
+ 'encoding_compatibility'
+ ];
if (this._encryptionEnabled) {
- enabledOptions.push('encrypt');
+ visibleOptions.push('encrypt');
}
- dropDown.show($toggle, storage.mountOptions || [], enabledOptions);
+ dropDown.show($toggle, storage.mountOptions || [], visibleOptions);
$('body').on('mouseup.mountOptionsDropdown', function(event) {
var $target = $(event.target);
if ($toggle.has($target).length) {