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.UsefulLinks.js

/**
 *  UsefulLinks Module
 *  It shows hint box with links form msg
 *  @param {object} window  global object
 *  @param {function} $ jQuery library
 *  @param {object} EventMgr EventMgr library
 *  @param {object} App Application
 *  @return {object} api
 */
App.UsefulLinks = function(window, $, EventMgr, App) {
  'use strict';

  var usefulLinksCrossSelector = '.i-userful-links-collapse',
      usefulLinksIcon = '.b-usefulLinks__icon';

  function $body() {
    return App.u.selectorCache('#main-wrapper');
  }

  function checkForLinks(e, data) {
    if (data && data.srcData && data.srcData.usefulLinks) {
      var content = data.srcData.usefulLinks,
          title = pageInfo.messages.usefulLinksTitle,
          tabId = data.tabId,
          type = data.srcData.type,
          html = templates.usefulLinks({
              content: window.htmlDecode(content),
              title: title }),
          targetWrapper,
          elem = window.document.createElement('div');
      $('#cont-' + tabId).addClass('tab-content_has_usefullinks');
      if (type === 'list') {
        targetWrapper = App.Dom.byId('ltwr-' + tabId);
      } else if (type === 'form') {
        targetWrapper = App.Dom.byId('form-scroll-in-' + tabId);
      }
      if (targetWrapper) {
        elem.innerHTML = html;
        targetWrapper.appendChild(elem);
      }
    }
  }

  function closeUsefulLinksByCross(e) {
    if (e) { e.preventDefault(); }
    //set cookie, remove :
    $('#content').addClass('b-useful-links-flag_is_collapsed');
    if (window.localStorage) {
      window.localStorage.setItem('useful-links-flag-collapsed', true);
    }
  }

  function expandUsefulLinks(e) {
    if (e) { e.preventDefault(); }
    $('#content').removeClass('b-useful-links-flag_is_collapsed');
    if (window.localStorage) {
      window.localStorage.setItem('useful-links-flag-collapsed', false);
    }
  }

  function init() {
    if (window.localStorage) {
      if (window.localStorage.getItem('useful-links-flag-collapsed') === 'true') {
        closeUsefulLinksByCross();
      }
    }
    EventMgr.bind('appendForm,appendList', checkForLinks);
    EventMgr.on($body(), usefulLinksCrossSelector, 'click', closeUsefulLinksByCross);
    EventMgr.on($body(), usefulLinksIcon, 'click', expandUsefulLinks);
  }


  var api = {
    init: init
  };

  return api;

} (window, $, EventMgr, App);