MDL-56586 blocks: Do the addblock in a modal

This commit is contained in:
Damyon Wiese
2016-11-24 14:24:59 +08:00
committed by Marina Glancy
parent b1e5624ad9
commit be2247fb24
13 changed files with 250 additions and 10 deletions
+7 -1
View File
@@ -3769,13 +3769,19 @@ class flat_navigation extends navigation_node_collection {
if (isset($this->page->theme->addblockposition) &&
$this->page->theme->addblockposition == BLOCK_ADDBLOCK_POSITION_FLATNAV &&
$PAGE->user_is_editing() && $PAGE->user_can_edit_blocks() &&
$PAGE->blocks->get_addable_blocks()) {
($addable = $PAGE->blocks->get_addable_blocks())) {
$url = new moodle_url($PAGE->url, ['bui_addblock' => '', 'sesskey' => sesskey()]);
$addablock = navigation_node::create(get_string('addblock'), $url);
$flat = new flat_navigation_node($addablock, 0);
$flat->set_showdivider(true);
$flat->key = 'addblock';
$this->add($flat);
$blocks = [];
foreach ($addable as $block) {
$blocks[] = $block->name;
}
$params = array('blocks' => $blocks, 'url' => '?' . $url->get_query_string(false));
$PAGE->requires->js_call_amd('core/addblockmodal', 'init', array($params));
}
}