123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- /**
- * UI v1.1.0
- * Copyright 2017-2018 Muyao
- * Licensed under the Muyao License 1.0
- */
- (function (window, document, $) {
- 'use strict';
- // 父级dom节点
- $.parentFrame = $(window.parent.document);
- // 父级方法&属性
- var parentFrame = window.parentFrame = window.parent;
- // 项目名称
- $.ctx = parentFrame.$.ctx;
- // 配置颜色获取方法
- $.colors = parentFrame.$.colors;
- // 注册组件默认配置参数获取方法
- $.po = parentFrame.$.po;
- // 本地存储对象操作
- $.storage = parentFrame.$.storage;
- $.sessionStorage = parentFrame.$.sessionStorage;
- // 网址基础设置对象
- $.site = parentFrame.$.site;
- if ($.site && $.site.contentTabs)
- $.site.contentTabs.ifameTabs(document);
- // 配置信息存储管理
- $.configs = parentFrame.$.configs;
- // 注册组件初始化
- if (parentFrame.$.components)
- parentFrame.$.components.init(document, window);
- // 公用对象
- window.Breakpoints = parentFrame.Breakpoints;
- window.toastr = parentFrame.toastr;
- window.layer = parentFrame.layer;
- window.haoutil = parentFrame.haoutil;
- window.notifyFn = parentFrame.$.notifyFn;
- // 自定义扩展对象
- var _objExtend = _objExtend || {};
- $.extend(_objExtend, {
- _queue: {
- prepare: [],
- run: [],
- complete: []
- },
- run: function () {
- var self = this;
- this._dequeue('prepare', function () {
- self._trigger('before.run', self);
- });
- this._dequeue('run', function () {
- self._dequeue('complete', function () {
- self._trigger('after.run', self);
- });
- });
- },
- _dequeue: function (name, done) { // 队列当前状态离队,进行下一步操作
- var self = this,
- queue = this._getQueue(name),
- fn = queue.shift(),
- next = function () {
- self._dequeue(name, done);
- };
- if (fn) {
- fn.call(this, next);
- } else if ($.isFunction(done)) {
- done.call(this);
- }
- },
- _getQueue: function (name) { // 获取队列状态信息
- if (!$.isArray(this._queue[name])) {
- this._queue[name] = [];
- }
- return this._queue[name];
- },
- extend: function (obj) { // 公用模块对象扩展方法
- $.each(this._queue, function (name, queue) {
- if ($.isFunction(obj[name])) {
- queue.unshift(obj[name]);
- delete obj[name];
- }
- });
- $.extend(this, obj);
- return this;
- },
- _trigger: function (name, data, $el) { // 离队状态执行动作
- if (typeof name === 'undefined') {
- return;
- }
- if (typeof $el === 'undefined') {
- $el = $("#admui-pageContent");
- }
- $el.trigger(name + '.app', data);
- }
- });
- // 通用功能对象(可配置增加,也可扩展)
- var _app = {
- pageAside: function () { // 小屏幕下侧边栏(展开&收起)操作
- var pageAside = $(".page-aside"),
- isOpen = pageAside.hasClass('open');
- pageAside.toggleClass('open', !isOpen);
- },
- run: function (next) {
- var self = this;
- // 侧边栏开关
- $(document).on('click', '.page-aside-switch', function (e) {
- self.pageAside();
- e.stopPropagation();
- });
- next();
- }
- };
- window.App = $.extend({}, _objExtend);
- App.extend(_app);
- })(window, document, jQuery);
|