MDL-38923 theme_bootstrapbase: tidied up dock implementation

Also:
* Changed to a CSS based compacting solution
* Converted dock colours to variables
* RTL fixes for the dock
This commit is contained in:
Sam Hemelryk
2014-05-19 08:40:16 +12:00
parent 056b54ff63
commit 6ae3b201cc
11 changed files with 141 additions and 203 deletions
+10
View File
@@ -0,0 +1,10 @@
/**
* Customise the dock for this theme.
*/
function customise_dock_for_theme() {
// Add the "block" class to docked blocks.
// This prevents having to restyle all docked blocks and simply use standard block styling.
M.core_dock.on('dock:panelgenerated', function(){
Y.all('.dockeditempanel_content').addClass('block');
});
}
-85
View File
@@ -1,85 +0,0 @@
function customise_dock_for_theme() {
var dock = M.core_dock;
dock.on('dock:itemschanged', theme_dockmod_handle_spans);
dock.on('dock:panelgenerated', theme_dockmod_blockstyle);
}
//Add the "block" class to docked blocks. This prevents having to restyle
//all docked blocks and simply use standard block styling
function theme_dockmod_blockstyle() {
Y.all('.dockeditempanel_content').each(function(dockblock){
dockblock.addClass('block');
});
}
//On docking and undocking the bootstrap spans have to change to
//dock properly
function theme_dockmod_handle_spans() {
var prepopulatedblockregions = 0;
var postpopulatedblockregions = 0;
var blockspre = 0;
var blockspost = 0;
var maincontent = Y.one('#region-main');
var regionpre = Y.one('#block-region-side-pre');
var regionpost = Y.one('#block-region-side-post');
var ltr = Y.one('body.dir-ltr');
var mainwrapper = Y.one('#region-bs-main-and-pre');
if (!ltr) {
var mainwrapper = Y.one('#region-bs-main-and-post');
}
var body = Y.one('body');
if (Y.all('.block.dock_on_load').size()>0) {
// Do not resize during initial load
return;
}
if (body.hasClass('blocks-moving')) {
// open up blocks during blocks positioning
return;
}
if (body.hasClass('two-column')) {
var prehasblocks = (regionpre.all('.block').size() > 0);
if (prehasblocks) {
regionpre.addClass('span3');
maincontent.removeClass('span12');
maincontent.addClass('span9');
} else {
regionpre.removeClass('span3');
maincontent.removeClass('span9');
maincontent.addClass('span12');
}
} else {
var prehasblocks = (regionpre.all('.block').size() > 0);
if (prehasblocks) {
regionpre.addClass('span4');
maincontent.removeClass('span12');
maincontent.addClass('span8');
} else {
regionpre.removeClass('span4');
maincontent.removeClass('span8');
maincontent.addClass('span12');
}
var posthasblocks = (regionpost.all('.block').size() > 0);
if (posthasblocks) {
regionpost.addClass('span3');
mainwrapper.removeClass('span12');
mainwrapper.addClass('span9');
} else {
mainwrapper.removeClass('span9');
mainwrapper.addClass('span12');
regionpost.removeClass('span3');
}
}
return;
}