UNPKG

sbis3-node-ws

Version:

Модуль позволяет использовать ядро интерфейсного фреймворка sbis3-ws(`core.js`) и модуль работы с данными (`Source.js`) в приложении на nodejs.

68 lines (64 loc) 2.14 kB
/** * Created by Яковлев В.В. on 18.04.14. */ define('Core/BackgroundMapper', function() { "use strict"; /** * Класс, используемый для выделения классов под изображения * @class $ws.single.BackgroundMapper * @singleton */ var imageCounter = 0, imageMapping = {}; /** * Возвращает класс для изображения * @param {String} image Путь до изображения. * @return {String|undefined} */ function imageClass(image){ return imageMapping[image]; } /** * Добавляет путь в хранилище * @param {String} image Путь до изображения. * @return {String} */ function addImage(image){ return imageMapping[image] = ('ws-background-' + (imageCounter++)); } /** * Возвращает, имеет ли указанное изображение какой-либо сохранённый класс * @param {String} image Путь до изображения. */ function hasImage(image){ return imageMapping[image] !== undefined; } /** * Очищает фон у элемента * @param {jQuery} element Элемент, у которого нужно очистить фон. * @returns {jQuery} */ function clearBackground(element){ BOOMR.plugins.WS.reportEvent("ws.helpers", "clearBackground"); var attr = element.attr('ws-background'); if(attr){ element.removeClass(attr); } return element; } function makeBackground(element, image){ BOOMR.plugins.WS.reportEvent("ws.helpers", "makeBackground"); clearBackground(element); var className = imageClass(image); if(className === undefined){ className = addImage(image); $ws.helpers.insertCss('.' + className + '{background-image: url("' + image + '");}'); } element.addClass(className); element.attr('ws-background', className); return element; } return { makeBackground: makeBackground } });