UNPKG

fuelux

Version:

Base Fuel UX styles and controls

85 lines (71 loc) 2.25 kB
/* global jQuery:true */ /* * Fuel UX Utilities * https://github.com/ExactTarget/fuelux * * Copyright (c) 2016 ExactTarget * Licensed under the BSD New license. */ // -- BEGIN UMD WRAPPER PREFACE -- // For more information on UMD visit: // https://github.com/umdjs/umd/blob/master/templates/jqueryPlugin.js // Uses CommonJS, AMD or browser globals to create a jQuery plugin. (function umdFactory (factory) { if (typeof define === 'function' && define.amd) { // if AMD loader is available, register as an anonymous module. define(['jquery'], factory); } else if (typeof exports === 'object') { // Node/CommonJS module.exports = factory(require('jquery')); } else { // OR use browser globals if AMD is not present factory(jQuery); } }(function utilitiesWrapper ($) { // -- END UMD WRAPPER PREFACE -- // -- BEGIN MODULE CODE HERE -- var CONST = { BACKSPACE_KEYCODE: 8, COMMA_KEYCODE: 188, // `,` & `<` DELETE_KEYCODE: 46, DOWN_ARROW_KEYCODE: 40, ENTER_KEYCODE: 13, TAB_KEYCODE: 9, UP_ARROW_KEYCODE: 38 }; var isShiftHeld = function isShiftHeld (e) { return e.shiftKey === true; }; var isKey = function isKey (keyCode) { return function compareKeycodes (e) { return e.keyCode === keyCode; }; }; var isBackspaceKey = isKey(CONST.BACKSPACE_KEYCODE); var isDeleteKey = isKey(CONST.DELETE_KEYCODE); var isTabKey = isKey(CONST.TAB_KEYCODE); var isUpArrow = isKey(CONST.UP_ARROW_KEYCODE); var isDownArrow = isKey(CONST.DOWN_ARROW_KEYCODE); var ENCODED_REGEX = /&[^\s]*;/; /* * to prevent double encoding decodes content in loop until content is encoding free */ var cleanInput = function cleanInput (questionableMarkup) { // check for encoding and decode while (ENCODED_REGEX.test(questionableMarkup)) { questionableMarkup = $('<i>').html(questionableMarkup).text(); } // string completely decoded now encode it return $('<i>').text(questionableMarkup).html(); }; $.fn.utilities = { CONST: CONST, cleanInput: cleanInput, isBackspaceKey: isBackspaceKey, isDeleteKey: isDeleteKey, isShiftHeld: isShiftHeld, isTabKey: isTabKey, isUpArrow: isUpArrow, isDownArrow: isDownArrow }; // -- BEGIN UMD WRAPPER AFTERWORD -- })); // -- END UMD WRAPPER AFTERWORD --