Refactor view.

This commit is contained in:
Lars Jung 2015-04-25 13:24:34 +02:00
parent 0be36ea9e8
commit d5221c0d17
16 changed files with 421 additions and 161 deletions

View file

@ -1,4 +1,4 @@
modulejs.define('view/viewmode', ['_', '$', 'core/event', 'core/resource', 'core/settings', 'core/store'], function (_, $, event, resource, allsettings, store) {
modulejs.define('view/viewmode', ['_', '$', 'core/resource', 'core/settings', 'core/store', 'view/content', 'view/sidebar'], function (_, $, resource, allsettings, store, content, sidebar) {
var modes = ['details', 'grid', 'icons'];
var settings = _.extend({}, {
@ -16,11 +16,6 @@ modulejs.define('view/viewmode', ['_', '$', 'core/event', 'core/resource', 'core
var dynamicStyleTag = null;
function adjustSpacing() {
// kept here for later use
}
function applyCss(rules) {
if (dynamicStyleTag) {
@ -69,7 +64,6 @@ modulejs.define('view/viewmode', ['_', '$', 'core/event', 'core/resource', 'core
function update(mode, size) {
var $view = $('#view');
var stored = store.get(storekey);
mode = mode || stored && stored.mode;
@ -81,17 +75,15 @@ modulejs.define('view/viewmode', ['_', '$', 'core/event', 'core/resource', 'core
_.each(modes, function (m) {
if (m === mode) {
$('#view-' + m).addClass('active');
$view.addClass('view-' + m).show();
content.$view.addClass('view-' + m).show();
} else {
$('#view-' + m).removeClass('active');
$view.removeClass('view-' + m);
content.$view.removeClass('view-' + m);
}
});
applyCssSizes(size);
$('#view-size').val(_.indexOf(sortedSizes, size));
adjustSpacing();
}
function addViewSettings() {
@ -110,11 +102,7 @@ modulejs.define('view/viewmode', ['_', '$', 'core/event', 'core/resource', 'core
if (_.contains(settings.modes, mode)) {
$(modeTemplate.replace(/\[MODE\]/g, mode))
.appendTo($viewBlock)
.on('click', function (ev) {
update(mode);
ev.preventDefault();
});
.on('click', function () { update(mode); });
}
});
}
@ -130,16 +118,13 @@ modulejs.define('view/viewmode', ['_', '$', 'core/event', 'core/resource', 'core
.appendTo($viewBlock);
}
$viewBlock.appendTo('#sidebar');
$viewBlock.appendTo(sidebar.$el);
}
function init() {
addViewSettings();
update();
event.sub('location.changed', adjustSpacing);
$(window).on('resize', adjustSpacing);
}