diff --git a/src/_h5ai/client/js/inc/ext/l10n.js b/src/_h5ai/client/js/inc/ext/l10n.js
index c2abc220..dd9bb961 100644
--- a/src/_h5ai/client/js/inc/ext/l10n.js
+++ b/src/_h5ai/client/js/inc/ext/l10n.js
@@ -34,7 +34,7 @@ modulejs.define('ext/l10n', ['_', '$', 'core/settings', 'core/langs', 'core/form
'',
langOptionTemplate = '
',
- storekey = 'l10n.lang',
+ storekey = 'ext/l10n',
loaded = {
en: _.extend({}, defaultTranslations)
diff --git a/src/_h5ai/client/js/inc/ext/preview.js b/src/_h5ai/client/js/inc/ext/preview.js
index 6e7d0624..6a1feab5 100644
--- a/src/_h5ai/client/js/inc/ext/preview.js
+++ b/src/_h5ai/client/js/inc/ext/preview.js
@@ -23,7 +23,7 @@ modulejs.define('ext/preview', ['_', '$', 'core/settings', 'core/resource', 'cor
'' +
'',
- storekey = 'preview.isFullscreen',
+ storekey = 'ext/preview',
currentEntries = [],
currentIdx = 0,
diff --git a/src/_h5ai/client/js/inc/ext/sort.js b/src/_h5ai/client/js/inc/ext/sort.js
index 32443c68..862d8086 100644
--- a/src/_h5ai/client/js/inc/ext/sort.js
+++ b/src/_h5ai/client/js/inc/ext/sort.js
@@ -9,7 +9,7 @@ modulejs.define('ext/sort', ['_', '$', 'core/settings', 'core/resource', 'core/e
natural: false
}, allsettings.sort),
- storekey = 'sort.order',
+ storekey = 'ext/sort',
template = '
' +
'
',
diff --git a/src/_h5ai/client/js/inc/view/viewmode.js b/src/_h5ai/client/js/inc/view/viewmode.js
index 35048745..e0714c17 100644
--- a/src/_h5ai/client/js/inc/view/viewmode.js
+++ b/src/_h5ai/client/js/inc/view/viewmode.js
@@ -25,25 +25,6 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
'' +
'',
- // sizeSelectorTemplate = '' +
- // '' +
- // '
' +
- // 'small' +
- // '' +
- // '' +
- // '',
- // sizeOptionTemplate = '',
-
- // viewSelectorTemplate = '' +
- // '' +
- // '
' +
- // 'details' +
- // '' +
- // '' +
- // '',
- // viewOptionTemplate = '',
-
-
adjustSpacing = function () {
var contentWidth = $('#content').width(),
@@ -53,12 +34,16 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
$view.width(Math.floor(contentWidth / itemWidth) * itemWidth);
},
- updateMode = function (mode) {
+ update = function (mode, size) {
- var $view = $('#view');
+ var $view = $('#view'),
+ stored = store.get(storekey);
+ mode = mode || stored && stored.mode;
+ size = size || stored && stored.size;
mode = _.contains(settings.modes, mode) ? mode : settings.modes[0];
- store.put(storekey, mode);
+ size = _.contains(settings.sizes, size) ? size : settings.sizes[0];
+ store.put(storekey, {mode: mode, size: size});
_.each(modes, function (m) {
if (m === mode) {
@@ -70,16 +55,6 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
}
});
- adjustSpacing();
- },
-
- updateSize = function (size) {
-
- var $view = $('#view');
-
- size = _.contains(settings.sizes, size) ? size : settings.sizes[0];
- // store.put(storekey, viewmode);
-
_.each(sizes, function (s) {
if (s === size) {
$('#view-' + s).addClass('current');
@@ -99,41 +74,33 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
settings.modes = _.intersection(settings.modes, modes);
- if (settings.modes.length) {
+ if (settings.modes.length > 1) {
_.each(modes.slice(0).reverse(), function (mode) {
if (_.contains(settings.modes, mode)) {
$(template.replace(/\[MODE\]/g, mode))
.appendTo($navbar)
.on('click', 'a', function (event) {
- updateMode(mode);
+ update(mode);
event.preventDefault();
});
}
});
}
-
- if (settings.sizes.length) {
+ if (settings.sizes.length > 1) {
_.each(sizes.slice(0).reverse(), function (size) {
if (_.contains(settings.sizes, size)) {
$(sizeTemplate.replace(/\[SIZE\]/g, size))
.appendTo($navbar)
.on('click', 'a', function (event) {
- updateSize(size);
+ update(null, size);
event.preventDefault();
});
}
});
}
- // $(sizeSelectorTemplate)
- // .appendTo($navbar);
-
- // $(viewSelectorTemplate)
- // .appendTo($navbar);
-
- updateMode(store.get(storekey));
- updateSize(sizes[0]);
+ update();
event.sub('location.changed', adjustSpacing);
$(window).on('resize', adjustSpacing);
diff --git a/src/_h5ai/conf/options.json b/src/_h5ai/conf/options.json
index e91dbd30..3f43a398 100644
--- a/src/_h5ai/conf/options.json
+++ b/src/_h5ai/conf/options.json
@@ -23,13 +23,16 @@ Options
/*
General view options.
- - modes: array of "details", "grid" and/or "icons"
+ - modes: array, subset of ["details", "grid", "icons"]
+ the first value indicates the default view mode. If only one value
+ is given the view mode is fixed and the selector buttons are hidden.
+ The user selected view mode is also stored local in modern browsers
+ so that it will be persistent.
+ - sizes: array, subset of [16, 24, 32, 48, 64, 96]
the first value indicates the default view mode. If only one value
is given the view mode is fixed and the selector buttons are hidden.
The user selected view mode is also stored local in modern browsers
so that it will be persistent.
- - sizes: array of numbers
- the numbers seen below are the only accepted values, you may only remove some
- setParentFolderLabels: set parent folder labels to real folder names
- hideParentFolderLinks: hide parent folder links
- binaryPrefix: set to true uses 1024B=1KiB when formatting file sizes (see http://en.wikipedia.org/wiki/Binary_prefix)
@@ -40,7 +43,7 @@ Options
*/
"view": {
"modes": ["details", "grid", "icons"],
- "sizes": [16, 24, 32, 48, 64, 96],
+ "sizes": [48, 24, 96],
"setParentFolderLabels": true,
"hideParentFolderLinks": false,
"binaryPrefix": false,