main.js 3.47 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'));

            //draw svg
            // $('.home-line-card', '#home-main-content').each(function(){
            //     var wrap = $('.svg-chart-wrap', this);
            //     console.log(wrap, wrap.actual('outerWidth'), wrap.actual('outerHeight'), wrap.parent().actual('outerHeight'));
            // });
            //gb_svg_chart.draw_line(line.lineCode, $('.svg-chart-wrap', this));
        });

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

        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 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 show_modal = function(id, dom){
  $(document.body).append(dom);
  return UIkit.modal(id, {bgclose: false}).show();
}

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

    $(document.body).append(dom);
    UIkit.modal(id, {bgclose: false, center:true}).show();

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