From 2e1eb522da1d8d2c2fa9d214f73f19e289aa9155 Mon Sep 17 00:00:00 2001 From: joomlart Date: Wed, 19 Jun 2013 18:46:14 +0700 Subject: [PATCH] Megamenu: Support multi-configuration based on access level and language --- source/plg_system_t3/admin/css/admin.css | 2 +- source/plg_system_t3/admin/js/admin.js | 19 +- .../admin/megamenu/css/megamenu.css | 109 +++- .../admin/megamenu/images/ajaxloader.gif | Bin 0 -> 21303 bytes .../admin/megamenu/js/megamenu.js | 194 ++++--- .../admin/megamenu/megamenu.tpl.php | 486 ++++++++++-------- source/plg_system_t3/admin/tpls/toolbar.php | 6 +- source/plg_system_t3/base/params/template.xml | 14 +- .../plg_system_t3/includes/admin/megamenu.php | 268 +++++++++- source/plg_system_t3/includes/core/action.php | 1 - source/plg_system_t3/includes/core/admin.php | 2 + source/plg_system_t3/includes/core/t3.php | 17 +- .../plg_system_t3/includes/core/template.php | 84 ++- .../plg_system_t3/includes/menu/megamenu.php | 282 +++++----- .../languages/en-GB.plg_system_t3.ini | 11 +- 15 files changed, 1036 insertions(+), 459 deletions(-) create mode 100644 source/plg_system_t3/admin/megamenu/images/ajaxloader.gif diff --git a/source/plg_system_t3/admin/css/admin.css b/source/plg_system_t3/admin/css/admin.css index 6f2325389b..0501e337fb 100644 --- a/source/plg_system_t3/admin/css/admin.css +++ b/source/plg_system_t3/admin/css/admin.css @@ -765,7 +765,7 @@ button.btn-primary:active { background: #fff; border: 1px solid #aaa; border-top: 0; - top: 29px; + top: 32px; /*left: 0;*/ box-shadow: 0 4px 5px rgba(0,0,0,.15); } diff --git a/source/plg_system_t3/admin/js/admin.js b/source/plg_system_t3/admin/js/admin.js index 2390668b26..a0045ab728 100644 --- a/source/plg_system_t3/admin/js/admin.js +++ b/source/plg_system_t3/admin/js/admin.js @@ -33,13 +33,17 @@ var T3Admin = window.T3Admin || {}; if(rsp){ var json = rsp; if(rsp.charAt(0) != '[' && rsp.charAt(0) != '{'){ - json = rsp.match(/{.*?}/); + json = rsp.match(new RegExp('{[\["].*}')); if(json && json[0]){ json = json[0]; } } + if(json && typeof json == 'string'){ + + rsp = rsp.replace(json, ''); + try { json = $.parseJSON(json); } catch (e){ @@ -47,11 +51,9 @@ var T3Admin = window.T3Admin || {}; error: T3Admin.langs.unknownError } } - - if(json && (json.error || json.successful)){ - T3Admin.systemMessage(json.error || json.successful); - } } + + T3Admin.systemMessage(rsp || json.error || json.successful); } }, @@ -72,6 +74,13 @@ var T3Admin = window.T3Admin || {}; return false; }); + $('#t3-admin-tb-megamenu').on('click', function(){ + + window.location.href = T3Admin.megamenuUrl; + + return false; + }); + //for style toolbar $('#t3-admin-tb-style-save-save').on('click', function(){ Joomla.submitbutton('style.apply'); diff --git a/source/plg_system_t3/admin/megamenu/css/megamenu.css b/source/plg_system_t3/admin/megamenu/css/megamenu.css index ac178b0f32..39b18be76b 100644 --- a/source/plg_system_t3/admin/megamenu/css/megamenu.css +++ b/source/plg_system_t3/admin/megamenu/css/megamenu.css @@ -19,7 +19,8 @@ #t3-admin-megamenu { min-height: 800px; background: url(../images/grid-bg.jpg) top left; - margin: 0 -20px; + /*margin: 0 -20px;*/ + position: relative; } .admin-inline-toolbox h3 { @@ -27,6 +28,10 @@ line-height: 20px; } +.t3-admin-header .btn-toolbar { + margin: 15px 0; +} + /* Intro ---------------------*/ @@ -57,11 +62,11 @@ } #t3-admin-megamenu .admin-inline-toolbox { - height: 119px; + height: 128px; } #t3-admin-mm-tb .admin-toolbox { - height: 119px; + height: 128px; padding: 20px; display: none; box-sizing: border-box; @@ -92,9 +97,9 @@ /* Toolbox Actions ---- */ .t3-admin-mm-row .toolbox-actions-group { - height: 100px; position: absolute; right: 20px; + top: 20px; } .t3-admin-mm-row .toolbox-actions-group button { @@ -113,7 +118,11 @@ ---------------------*/ #t3-admin-mm-container { float: left; - margin-left: 20px; + transition: opacity .4s ease-out; + -o-transition: opacity .4s ease-out; + -moz-transition: opacity .4s ease-out; + -webkit-transition: opacity .4s ease-out; + /*margin-left: 20px;*/ } @@ -422,6 +431,10 @@ float: none; } +.chzn-container-multi .chzn-choices { + padding: 1px 0; +} + /* Fix submenu auto open on hover */ #t3-admin-megamenu .dropdown-submenu:hover .dropdown-menu { display: none; @@ -430,3 +443,89 @@ #t3-admin-megamenu .dropdown-submenu:hover > .dropdown-menu { display: block; } + + +/* Header Form Control ---*/ +.t3-admin-header .control-group { + width: auto !important; + display: block; + float: left; + margin: 15px 40px 15px 0; + padding: 0; + border: 0; + background: none; + box-shadow: none; + min-height: 30px; +} + +.t3-admin-header .control-group.hide { + display: none; +} + +.t3-admin-header .control-label { + width: auto !important; + display: block; + float: left; + padding: 8px 0 0 0; +} + +.t3-admin-header .controls { + margin: 0 0 0 10px; + width: auto !important; + display: block; + float: left; + padding: 0; + background: none; +} + +.t3-admin-header .inputbox, +.t3-admin-header .input { + width: 250px; + font-weight: bold; +} + + +/* Ajax loader ---*/ +#t3-admin-megamenu .ajaxloader { + width: 72px; + height: 72px; + position: absolute; + top: 100px; + left: 50%; + margin-left: -36px; + background: white url(../images/ajaxloader.gif) 50% 50% no-repeat; + border-radius: 3px; + display: none; +} + +#t3-admin-megamenu.loading .ajaxloader { + display: block; +} + +#t3-admin-megamenu.loading #t3-admin-mm-container { + opacity: 0.4; +} + +/* Modal ---*/ +.ajax-message { + position: fixed; + top: -100px; + opacity: 0; + left: 50%; + z-index: 1050; + overflow: auto; + width: 400px; + margin-left: -200px; + background-color: #fff; + border-radius: 3px; + + transition: all 2s cubic-bezier(0.215, 0.610, 0.355, 1.000); + -o-transition: all 2s cubic-bezier(0.215, 0.610, 0.355, 1.000); + -moz-transition: all 2s cubic-bezier(0.215, 0.610, 0.355, 1.000); + -webkit-transition: all 2s cubic-bezier(0.215, 0.610, 0.355, 1.000); +} + +.ajax-message.in { + top: 100px; + opacity: 1; +} \ No newline at end of file diff --git a/source/plg_system_t3/admin/megamenu/images/ajaxloader.gif b/source/plg_system_t3/admin/megamenu/images/ajaxloader.gif new file mode 100644 index 0000000000000000000000000000000000000000..f72113027a88edb8e840fa5c8741d5f3cdd1654c GIT binary patch literal 21303 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

UF1Nz5ZcksW$QJ5 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 literal 0 HcmV?d00001 diff --git a/source/plg_system_t3/admin/megamenu/js/megamenu.js b/source/plg_system_t3/admin/megamenu/js/megamenu.js index 157833afc6..7d980925ec 100644 --- a/source/plg_system_t3/admin/megamenu/js/megamenu.js +++ b/source/plg_system_t3/admin/megamenu/js/megamenu.js @@ -15,7 +15,7 @@ var T3AdminMegamenu = window.T3AdminMegamenu || {}; !function ($) { var currentSelected = null, - megamenu, nav_items, nav_subs, nav_cols, nav_all; + megamenu, nav_items, nav_subs, nav_cols, nav_all; $.fn.megamenuAdmin = function (options) { var defaultOptions = { @@ -380,6 +380,14 @@ var T3AdminMegamenu = window.T3AdminMegamenu || {}; } actions.saveConfig = function (e) { + + //blocking + var savebtn = $(this); + if(savebtn.hasClass('loading')){ + return false; + } + savebtn.addClass('loading'); + var config = {}, items = megamenu.find('ul[class*="level"] > li'); items.each (function(){ @@ -435,24 +443,62 @@ var T3AdminMegamenu = window.T3AdminMegamenu || {}; } } - if (Object.keys(item).length) config[id] = item; + if (!$.isEmptyObject(item)){ + config[id] = item; + } }); var menutype = $('#jform_params_mm_type').val(), - jmmconfig = $('#jform_params_mm_config'), - curconfig = null; + //jmmconfig = $('#jform_params_mm_config'), + curconfig = T3AdminMegamenu.config; - try { - curconfig = jmmconfig.val() ? $.parseJSON(jmmconfig.val()) : {}; - } catch(e){ - curconfig = {}; - } + //try { + //curconfig = jmmconfig.val() ? $.parseJSON(jmmconfig.val()) : {}; + //} catch(e){ + // curconfig = {}; + //} if($.isArray(curconfig) && curconfig.length == 0){ curconfig = {}; } + curconfig[menutype] = config; - jmmconfig.val(JSON.stringify(curconfig)); + //jmmconfig.val(JSON.stringify(curconfig)); + + $.ajax({ + url: T3AdminMegamenu.referer, + type: 'post', + data: { + t3action: 'megamenu', + t3task: 'save', + + mmkey: $('#megamenu-key').val(), + config: JSON.stringify(config) + } + }).done(function(rsp){ + + try { + rsp = $.parseJSON(rsp); + } catch(e){ + rsp = false; + } + + if(rsp){ + clearTimeout($('#ajax-message').data('sid')); + $('#ajax-message') + .removeClass('alert-error alert-success') + .addClass(rsp.status ? 'alert-success' : 'alert-error') + .addClass('in') + .data('sid', setTimeout(function(){ + $('#ajax-message').removeClass('in') + }, 5000)) + .find('strong') + .html(rsp.message); + } + + }).always(function(){ + savebtn.removeClass('loading') + }) } toolbox_type = function () { @@ -661,8 +707,11 @@ var T3AdminMegamenu = window.T3AdminMegamenu || {}; // get module content if (value) { $.ajax({ - url: T3Admin.rooturl, - data:{'t3action':'module', 'mid': value} + url: T3AdminMegamenu.referer, + data: { + t3action: 'module', + mid: value + } }).done(function ( data ) { currentSelected.find('.mega-inner').html(data).find(':input').removeAttr('name'); }); @@ -726,53 +775,12 @@ var T3AdminMegamenu = window.T3AdminMegamenu || {}; !function($){ $.extend(T3AdminMegamenu, { // put megamenu admin panel into right place - prepare: function(){ - // var panel = $('#jform_params_mm_panel-lbl').closest ('.control-group').find('.controls'); - var panel = $('#jform_params_mm_type').closest ('.controls'); - panel.append ($('#t3-admin-megamenu').removeClass('hidden')); - - // first load - if ($('#jform_params_navigation_type').val() == 'megamenu') { - setTimeout(function(){ //wait for page ready - $('#jform_params_mm_type').trigger('change.less'); - }, 500); - } else { - - // handle event for enable megamenu - $('#jform_params_navigation_type').on('change', function(e) { - if ($(this).val() == 'megamenu'){ - $('#jform_params_mm_type').trigger('change.less'); - } - }); - } - }, - - t3megamenu: function(form, ctrlelm, ctrl, rsp){ + + t3megamenu: function(rsp){ $('#t3-admin-mm-container').html(rsp).megamenuAdmin().find(':input').removeAttr('name'); }, - initPanel: function(){ - $('#jform_params_mm_panel').hide(); - }, - - initPreSubmit: function(){ - - var form = document.adminForm; - if(!form){ - return false; - } - - var onsubmit = form.onsubmit; - - form.onsubmit = function(e){ - $('.toolbox-saveConfig').trigger('click'); - if($.isFunction(onsubmit)){ - onsubmit(); - } - }; - }, - - initRadioGroup: function(){ + initCustomForm: function(){ //copy from J3.0 // Turn radios into btn-group if(typeof T3Admin != 'undefined'){ @@ -816,17 +824,77 @@ var T3AdminMegamenu = window.T3AdminMegamenu || {}; $('label[for=' + $(this).attr('id') + ']').addClass('active btn-success'); } }); - } - }); - $(window).load(function(){ - T3AdminMegamenu.prepare(); + + //init chosen + $('select').chosen({ + allow_single_deselect: true, + disable_search_threshold : 10 + }); + + $('#access-level').val(1).trigger('liszt:updated'); + }, + + initAjaxmenu: function(){ + + var ajax = null, + ajaxing = false, + doajax = function(){ + + if(ajaxing && ajax){ + ajax.abort(); + } + + ajax = $.ajax({ + url: T3AdminMegamenu.referer, + data: { + t3action: 'megamenu', + t3task: 'display', + t3menu: $('#menu-type').val(), + t3acl: $('#access-level').val(), + t3lang: $('#menu-type :selected').attr('data-language') || '*' + }, + + beforeSend: function(){ + $('#t3-admin-megamenu').addClass('loading'); + } + }).done(function(rsp){ + T3AdminMegamenu.t3megamenu(rsp); + }).fail(function(){ + + }).always(function(){ + $('#t3-admin-megamenu').removeClass('loading');; + }) + }; + + $('#menu-type, #access-level').on('change.mm', doajax); + + //init once + doajax(); + }, + + initToolbar: function(){ + $('#t3-admin-mm-save').off('click.mm').on('click.mm', function(){ + $('.toolbox-saveConfig').trigger('click'); + }); + + $('#t3-admin-mm-close').off('click.mm').on('click.mm', function(){ + window.location.href = T3AdminMegamenu.referer; + }); + }, + + initAjaxMessage: function(){ + $('#ajax-message').on('click', '.close', function(){ + clearTimeout($('#ajax-message').removeClass('in').data('sid')); + }); + } }); $(document).ready(function(){ - T3AdminMegamenu.initPanel(); - T3AdminMegamenu.initPreSubmit(); - T3AdminMegamenu.initRadioGroup(); + T3AdminMegamenu.initCustomForm(); + T3AdminMegamenu.initToolbar(); + T3AdminMegamenu.initAjaxmenu(); + T3AdminMegamenu.initAjaxMessage(); }); }(jQuery); \ No newline at end of file diff --git a/source/plg_system_t3/admin/megamenu/megamenu.tpl.php b/source/plg_system_t3/admin/megamenu/megamenu.tpl.php index 1a4e8abd1d..b07b125265 100644 --- a/source/plg_system_t3/admin/megamenu/megamenu.tpl.php +++ b/source/plg_system_t3/admin/megamenu/megamenu.tpl.php @@ -12,226 +12,290 @@ *------------------------------------------------------------------------------ */ +defined('_JEXEC') or die; -$db = JFactory::getDbo(); -$query = $db->getQuery(true); -$query->select('id, title, module, position'); -$query->from('#__modules'); -$query->where('published = 1'); -$query->where('client_id = 0'); -$query->order('title'); -$db->setQuery($query); -$modules = $db->loadObjectList(); ?> + + + + + <?php echo JText::_('T3_NAVIGATION_MM_TITLE'); ?> + + + + + -