Cleans and refactors.

This commit is contained in:
Lars Jung 2013-08-28 23:56:09 +02:00
parent aa725f11f8
commit 24b4f4ce8a
5 changed files with 22 additions and 52 deletions

View file

@ -34,7 +34,7 @@ modulejs.define('ext/l10n', ['_', '$', 'core/settings', 'core/langs', 'core/form
'</span>', '</span>',
langOptionTemplate = '<li class="langOption"/>', langOptionTemplate = '<li class="langOption"/>',
storekey = 'l10n.lang', storekey = 'ext/l10n',
loaded = { loaded = {
en: _.extend({}, defaultTranslations) en: _.extend({}, defaultTranslations)

View file

@ -23,7 +23,7 @@ modulejs.define('ext/preview', ['_', '$', 'core/settings', 'core/resource', 'cor
'</div>' + '</div>' +
'</div>', '</div>',
storekey = 'preview.isFullscreen', storekey = 'ext/preview',
currentEntries = [], currentEntries = [],
currentIdx = 0, currentIdx = 0,

View file

@ -9,7 +9,7 @@ modulejs.define('ext/sort', ['_', '$', 'core/settings', 'core/resource', 'core/e
natural: false natural: false
}, allsettings.sort), }, allsettings.sort),
storekey = 'sort.order', storekey = 'ext/sort',
template = '<img src="' + resource.image('ascending') + '" class="sort ascending" alt="ascending" />' + template = '<img src="' + resource.image('ascending') + '" class="sort ascending" alt="ascending" />' +
'<img src="' + resource.image('descending') + '" class="sort descending" alt="descending" />', '<img src="' + resource.image('descending') + '" class="sort descending" alt="descending" />',

View file

@ -25,25 +25,6 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
'</a>' + '</a>' +
'</li>', '</li>',
// sizeSelectorTemplate = '<li id="sizeSelector" class="view">' +
// '<span class="element">' +
// '<img src="' + resource.image('size') + '" alt="size"/>' +
// '<span class="size-current">small</span>' +
// '</span>' +
// '<span class="sizeOptions hidden"><ul/></span>' +
// '</li>',
// sizeOptionTemplate = '<li class="sizeOption"/>',
// viewSelectorTemplate = '<li id="viewSelector" class="view">' +
// '<span class="element">' +
// '<img src="' + resource.image('view-details') + '" alt="view-details"/>' +
// '<span class="view-current">details</span>' +
// '</span>' +
// '<span class="viewOptions hidden"><ul/></span>' +
// '</li>',
// viewOptionTemplate = '<li class="viewOption"/>',
adjustSpacing = function () { adjustSpacing = function () {
var contentWidth = $('#content').width(), var contentWidth = $('#content').width(),
@ -53,12 +34,16 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
$view.width(Math.floor(contentWidth / itemWidth) * itemWidth); $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]; 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) { _.each(modes, function (m) {
if (m === mode) { 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) { _.each(sizes, function (s) {
if (s === size) { if (s === size) {
$('#view-' + s).addClass('current'); $('#view-' + s).addClass('current');
@ -99,41 +74,33 @@ modulejs.define('view/viewmode', ['_', '$', 'core/settings', 'core/resource', 'c
settings.modes = _.intersection(settings.modes, modes); settings.modes = _.intersection(settings.modes, modes);
if (settings.modes.length) { if (settings.modes.length > 1) {
_.each(modes.slice(0).reverse(), function (mode) { _.each(modes.slice(0).reverse(), function (mode) {
if (_.contains(settings.modes, mode)) { if (_.contains(settings.modes, mode)) {
$(template.replace(/\[MODE\]/g, mode)) $(template.replace(/\[MODE\]/g, mode))
.appendTo($navbar) .appendTo($navbar)
.on('click', 'a', function (event) { .on('click', 'a', function (event) {
updateMode(mode); update(mode);
event.preventDefault(); event.preventDefault();
}); });
} }
}); });
} }
if (settings.sizes.length > 1) {
if (settings.sizes.length) {
_.each(sizes.slice(0).reverse(), function (size) { _.each(sizes.slice(0).reverse(), function (size) {
if (_.contains(settings.sizes, size)) { if (_.contains(settings.sizes, size)) {
$(sizeTemplate.replace(/\[SIZE\]/g, size)) $(sizeTemplate.replace(/\[SIZE\]/g, size))
.appendTo($navbar) .appendTo($navbar)
.on('click', 'a', function (event) { .on('click', 'a', function (event) {
updateSize(size); update(null, size);
event.preventDefault(); event.preventDefault();
}); });
} }
}); });
} }
// $(sizeSelectorTemplate) update();
// .appendTo($navbar);
// $(viewSelectorTemplate)
// .appendTo($navbar);
updateMode(store.get(storekey));
updateSize(sizes[0]);
event.sub('location.changed', adjustSpacing); event.sub('location.changed', adjustSpacing);
$(window).on('resize', adjustSpacing); $(window).on('resize', adjustSpacing);

View file

@ -23,13 +23,16 @@ Options
/* /*
General view 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 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. 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 The user selected view mode is also stored local in modern browsers
so that it will be persistent. 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 - setParentFolderLabels: set parent folder labels to real folder names
- hideParentFolderLinks: hide parent folder links - hideParentFolderLinks: hide parent folder links
- binaryPrefix: set to true uses 1024B=1KiB when formatting file sizes (see http://en.wikipedia.org/wiki/Binary_prefix) - 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": { "view": {
"modes": ["details", "grid", "icons"], "modes": ["details", "grid", "icons"],
"sizes": [16, 24, 32, 48, 64, 96], "sizes": [48, 24, 96],
"setParentFolderLabels": true, "setParentFolderLabels": true,
"hideParentFolderLinks": false, "hideParentFolderLinks": false,
"binaryPrefix": false, "binaryPrefix": false,