123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- /**
- @Name:layuiAdmin iframe版主入口
- @Author:贤心
- @Site:http://www.layui.com/admin/
- @License:LPPL
-
- */
-
- layui.extend({
- setter: 'config' //配置模块
- ,admin: 'lib/admin' //核心模块
- ,view: 'lib/view' //视图渲染模块
- }).define(['setter', 'admin'], function(exports){
- var setter = layui.setter
- ,element = layui.element
- ,admin = layui.admin
- ,tabsPage = admin.tabsPage
- ,view = layui.view
-
- //打开标签页
- ,openTabsPage = function(url, text){
- //遍历页签选项卡
- var matchTo
- ,tabs = $('#LAY_app_tabsheader>li')
- ,path = url.replace(/(^http(s*):)|(\?[\s\S]*$)/g, '');
-
- tabs.each(function(index){
- var li = $(this)
- ,layid = li.attr('lay-id');
-
- if(layid === url){
- matchTo = true;
- tabsPage.index = index;
- }
- });
-
- text = text || '新标签页';
-
- if(setter.pageTabs){
- //如果未在选项卡中匹配到,则追加选项卡
- if(!matchTo){
- $(APP_BODY).append([
- '<div class="layadmin-tabsbody-item layui-show">'
- ,'<iframe src="'+ url +'" frameborder="0" class="layadmin-iframe"></iframe>'
- ,'</div>'
- ].join(''));
- tabsPage.index = tabs.length;
- element.tabAdd(FILTER_TAB_TBAS, {
- title: '<span>'+ text +'</span>'
- ,id: url
- ,attr: path
- });
- }
- } else {
- var iframe = admin.tabsBody(admin.tabsPage.index).find('.layadmin-iframe');
- iframe[0].contentWindow.location.href = url;
- }
- //定位当前tabs
- element.tabChange(FILTER_TAB_TBAS, url);
- admin.tabsBodyChange(tabsPage.index, {
- url: url
- ,text: text
- });
- }
- //权限处理
- ,removeNoPermButtons = function(){
- var permissions = layui.data(layui.setter.tableName)['permissions'];
- $('.layui-btn').each(function () {
- var perm = $(this).data("permission");
- var is_has = judgePermissions(permissions, perm);
- if (!is_has) {
- $(this).remove();
- }
- });
- $('.LAY-btns .layui-nav').each(function () {
- var perm = $(this).data("permission");
- var is_has = judgePermissions(permissions, perm);
- if (!is_has) {
- $(this).remove();
- }
- });
- }
- ,APP_BODY = '#LAY_app_body', FILTER_TAB_TBAS = 'layadmin-layout-tabs'
- ,$ = layui.$, $win = $(window);
- function judgePermissions(permissions, perm) {
- if (!perm) {
- return true;
- }
- var perms = perm.split('|');
- var is_has = false;
- for (var i in perms){
- if(permissions.indexOf(perms[i]) != -1){
- is_has = true;
- break;
- }
- }
- return is_has;
- }
-
- //初始
- if(admin.screen() < 2) admin.sideFlexible();
-
- //将模块根路径设置为 controller 目录
- layui.config({
- base: setter.base + 'modules/'
- });
-
- //扩展 lib 目录下的其它模块
- layui.each(setter.extend, function(index, item){
- var mods = {};
- mods[item] = '{/}' + setter.base + 'lib/extend/' + item;
- layui.extend(mods);
- });
- removeNoPermButtons();
-
- view().autoRender();
-
- //加载公共模块
- layui.use('common');
- //对外输出
- exports('index', {
- openTabsPage: openTabsPage
- ,removeNoPermButtons: removeNoPermButtons
- });
- });
|