Your IP : 3.135.223.175


Current Path : /usr/local/mgr5/skins/orion/src/
Upload File :
Current File : //usr/local/mgr5/skins/orion/src/App.Deview.js

/**
 * App.Deview модуль позволяет выводить ошибки или отладочную информацию, в виде небольшого блока сверху
 *
 * Использование:
 * EventMgr.trigger('pullMsg', {@String});
 *
 */
App.Deview = function () {
  'use strict';
  var init = function () {
      EventMgr.bind('pullMsg', pullMsg);
      EventMgr.bind('loadPage', appendWrapper);
      EventMgr.on(mainWrapperSelector, msgCloseSelector, 'click', removeMsg);
      EventMgr.on(mainWrapperSelector, msgActionSelector, 'click', doAction);
    },

    i = 0,

    $msg = function () {
      return $('.i-warning-banner__msg');
    },

    $msginner = function () {
      return $('.i-warning-banner__inner');
    },

    mainWrapperSelector = 'body',

    msgCloseSelector = '.i-warning-banner__close',

    msgActionSelector = '.i-warning-banner_has_action',
    //hide message
    removeMsg = function (e, data) {
      clearTimeout(timeId);
      $msg().animate({
        opacity : '0.25',
        marginTop: '-50'
      });
      $msginner()
        .removeClass('i-warning-banner_has_action b-warning-banner_has_action b-menu-item newtab')
        .attr('data-url', '');
    },

    timeId = null,
    //show message
    pullMsg = function (e, d) {
      i++;
      var msg = d.msg,
          timeOut = d.timeout || 9000,
          func = d.func || false,
          theme = d.theme || false;
      $msginner().html(msg);
      if (func) {
        $msginner()
         .addClass('i-warning-banner_has_action b-warning-banner_has_action b-menu-item newtab')
         .attr('data-url', '?func=' + func);
      }
      if (theme) {
        $msginner()
         .addClass('b-warning-banner_has_action b-warning-banner_was_link')
         .attr('href', '?theme=' + theme);
      }
      $msg().animate({
        opacity : '1',
        marginTop: '0'
      });
      clearTimeout(timeId);
      timeId = setTimeout(function() {
        $msg().animate({
          opacity : '0.25',
          marginTop: '-50'
        });
      }, timeOut);
    },

    doAction = function(e) {
      removeMsg();
    },
    //append html wrapper for block
    appendWrapper = function () {
      var wrapper = '<div id="deviewer">' +
          '<div class="msg i-warning-banner__msg" style="margin-top: -50px;">' +
          '<a class="msginner i-warning-banner__inner"></a>' +
          '<img src="' + pageInfo.theme + 'img/tab_close.png" class="msgclose i-warning-banner__close"/>' +
          '</div>' +
          '</div>';
      $('#wrapper').append(wrapper);

      if (pageInfo && pageInfo.warning_notify) {
        EventMgr.trigger('pullMsg', pageInfo.warning_notify);
      }
    }
    ;
  return {
    init: init
  };
}();