/** * [ONEMAP.M.gcmsNav] * @return {[object]} */ define([ 'html!templates/gcms/gcmsNav', 'modDir/gcms/gcmsEvents', 'css!styles/gcms/gcmsNavChange' ], function(tplLayout, gcmsEvents) { //console.log(tplLayout); /** * 模块数据 用于数据存储和外部调用 * @type {Object} * 数据存放 */ var modValue = { navData:null }; /** * 状态值 * @type {Boolean} * @default false * @private */ var status = { initialized:false }; /** * 模块初始化 * @return {[type]} [description] */ function init() { //console.log("init"); //当前栏目信息 ONEMAP.D.gcmsCurColumnData = {}; //当前栏目内容列表 ONEMAP.D.gcmsCurColumnListData = {}; //当前文章详细内容 ONEMAP.D.gcmsCurArticleData = {}; //当前文章模型内容 ONEMAP.D.gcmsCurColumnModelData = {}; //未初始化,初始化布局 // if (!status.initialized) { //console.log("start"); //栏目列表 ONEMAP.D.gcmsColumnObjs = {}; //设置容器布局 setLayout(); getNavData(); //订阅推送 subscribe(); status.initialized = true; // } //设置zIndex 为最高 var zIndex = ONEMAP.M.sideBar.getZIndex(); $('#gcmsMainMenu').css({zIndex:zIndex}); // ONEMAP.D.currentSideBarMod = 'gcmsNav'; //开启侧栏 // ONEMAP.C.publisher.publish('handShow','layout::sideBar'); } /** * 初始化布局 */ function setLayout(){ $(tplLayout).appendTo($("#infoAndTrgt").next()); layoutResize(); }; /** * 窗口布局重置 * @type {Function} */ function layoutResize() { }; function bindEvent() { } /** * 获取 菜单数据 * @return {[type]} [description] */ function getNavData() { //console.log("get"); ONEMAP.V.loading.load(); $.ajax({ url: onemapUrlConfig.gcmsServiceUrl + '/showmenu', type: "GET", dataType: 'json' }) .done(function(data) { ONEMAP.V.loading.loaded(); if (data.code == 4) { ONEMAP.C.noPermission('getNavData'); return false; } if (data.code == 3) { ONEMAP.C.logout('getNavData'); } modValue.navData = data.data; buildMenuColumnObjs(data.data); setGcmsNav(); }) .fail(function() { ONEMAP.V.loading.loaded(); }); } /** * 构造菜单栏目 对象集合 * @param {[type]} options [description] * @return {[type]} [description] */ function buildMenuColumnObjs(options) { $(options).each(function(index, el) { ONEMAP.D.gcmsColumnObjs[el['name']] = el; if (el.hasOwnProperty('son_tree')) { buildMenuColumnObjs(el['son_tree']); } }); } /** * 设置栏目列表 */ function setGcmsNav() { //console.log("set"); $(modValue.navData).each(function(index, el) { switch (el['bind_type']) { case 'column': var a = $('