main.js 4.3 KB
/* main js  */

var gb_main_ep = new EventProxy(),
    res_load_ep = EventProxy.create('load_data_basic', 'load_tab', 'load_home_layout', 'load_home_line_panel', function() {
        var eq = gb_main_ep;
        // basic data end
        eq.once('data-basic', g_emit('tab'));
        // tabs
        eq.once('tab', function() {
            gb_tabs.init(
                g_emit('home-layout')
            );
        });
        //home layout
        eq.once('home-layout', function() {
            gb_home_layout.layout(
                g_emit('home-line-panel')
            );
        });
        //home line panel
        eq.once('home-line-panel', function() {
            gb_home_line_panel.init(g_emit('gps-time-refresh'));
        });

        //start fixed time refresh gps
        eq.once('gps-time-refresh', function() {
            gb_data_gps.fixedTimeRefresh();
            g_emit('line-schedule-layout')();
        });

        //line schedule layout
        eq.once('line-schedule-layout', function() {
            gb_line_layout.layout(g_emit('render-sch-table'));
        });

        //render schedule table
        eq.once('render-sch-table', function() {
            gb_schedule_table.show(function(){
              //搜索框
              //gb_sch_search.init();
            });

            //嵌入地图页面
			      $('li.map-panel','#main-tab-content').load('/real_control_v2/mapmonitor/real_monitor/real.html');
        });

        function g_emit(id) {
            console.log('g_emit [' + id + ']');
            return function() {
                console.log('eq.emitLater(' + id + ')');
                return eq.emitLater(id);
            };
        }
    });

//modal hide remove dom
$(document).on('hide.uk.modal', '.uk-modal', function() {
    $(this).remove();
});

function connectArr(arr, separator, transFun) {
    var rs = '';
    $.each(arr, function(i, item) {
        if (transFun)
            item = transFun(item);
        rs += (separator + item);
    });
    return rs.substr(separator.length);
}

var gb_form_validation_opts = {
    framework: 'uikit',
    locale: 'zh_CN',
    icon: {
        valid: 'uk-icon-check',
        invalid: 'uk-icon-times',
        validating: 'uk-icon-refresh'
    }
};


var notify_wait = function(t) {
    UIkit.notify("<i class='uk-icon-spinner uk-icon-spin'></i> " + t, {
        status: 'info'
    });
}

var notify_succ = function(t) {
    UIkit.notify("<i class='uk-icon-check'></i> " + t, {
        status: 'success'
    });
}

var notify_err = function(t) {
    UIkit.notify("<i class='uk-icon-times'></i> " + t, {
        status: 'danger'
    });
}

var alt_confirm = function(content, succ, okBtn) {
    var modalEl = UIkit.modal.confirm(content, function() {
        succ && succ();
        modalEl.hide();
    }, {
        labels: {
            Ok: okBtn,
            Cancel: '取消'
        },
        center: true
    });
}

var isArray = function(obj) {
    return Object.prototype.toString.call(obj) === '[object Array]';
}

var notify_err_form = function(t, form) {
    $('.uk-alert-danger', form).remove();
    $('.uk-modal-footer', form).before('<div class="uk-alert uk-alert-danger" data-uk-alert="">' +
        '<a href="" class="uk-alert-close uk-close"></a>' +
        '<p>' + t + '</p>' +
        '</div>');

    enable_submit_btn(form);
}

var enable_submit_btn = function(form) {
    var subBtn = $('button[type=submit]', form);
    if (subBtn) {
        subBtn.removeClass('disabled').removeAttr('disabled');
    }
}

var disabled_submit_btn = function(form) {
    var subBtn = $('button[type=submit]', form);
    if (subBtn) {
        subBtn.addClass('disabled').attr('disabled','disabled');
    }
}

var show_modal = function(id, dom) {
    $(document.body).append(dom);
    return UIkit.modal(id, {
        bgclose: false
    }).show();
}

var open_modal = function(pageUrl, data, opt) {
    $.get(pageUrl, function(dom) {
        if (!$(dom).hasClass('uk-modal')) {
            alert('无效的dom片段!');
            return;
        }
        var id = '#' + $(dom).attr('id');

        $(document.body).append(dom);

        UIkit.modal(id, opt).show();

        if (data)
            $(id).trigger('init', data);
    });
}