PHP Classes

File: vendors/parsleyjs/src/parsley/utils.js

Recommend this page to a friend!
  Classes of Jorge Castro   Gentelella BladeOne   vendors/parsleyjs/src/parsley/utils.js   Download  
File: vendors/parsleyjs/src/parsley/utils.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Gentelella BladeOne
Render templates using Bootstrap for presentation
Author: By
Last change:
Date: 3 years ago
Size: 3,395 bytes
 

Contents

Class file image Download
import $ from 'jquery'; var globalID = 1; var pastWarnings = {}; var ParsleyUtils = { // Parsley DOM-API // returns object from dom attributes and values attr: function ($element, namespace, obj) { var i; var attribute; var attributes; var regex = new RegExp('^' + namespace, 'i'); if ('undefined' === typeof obj) obj = {}; else { // Clear all own properties. This won't affect prototype's values for (i in obj) { if (obj.hasOwnProperty(i)) delete obj[i]; } } if ('undefined' === typeof $element || 'undefined' === typeof $element[0]) return obj; attributes = $element[0].attributes; for (i = attributes.length; i--; ) { attribute = attributes[i]; if (attribute && attribute.specified && regex.test(attribute.name)) { obj[this.camelize(attribute.name.slice(namespace.length))] = this.deserializeValue(attribute.value); } } return obj; }, checkAttr: function ($element, namespace, checkAttr) { return $element.is('[' + namespace + checkAttr + ']'); }, setAttr: function ($element, namespace, attr, value) { $element[0].setAttribute(this.dasherize(namespace + attr), String(value)); }, generateID: function () { return '' + globalID++; }, /** Third party functions **/ // Zepto deserialize function deserializeValue: function (value) { var num; try { return value ? value == "true" || (value == "false" ? false : value == "null" ? null : !isNaN(num = Number(value)) ? num : /^[\[\{]/.test(value) ? $.parseJSON(value) : value) : value; } catch (e) { return value; } }, // Zepto camelize function camelize: function (str) { return str.replace(/-+(.)?/g, function (match, chr) { return chr ? chr.toUpperCase() : ''; }); }, // Zepto dasherize function dasherize: function (str) { return str.replace(/::/g, '/') .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') .replace(/([a-z\d])([A-Z])/g, '$1_$2') .replace(/_/g, '-') .toLowerCase(); }, warn: function () { if (window.console && 'function' === typeof window.console.warn) window.console.warn(...arguments); }, warnOnce: function(msg) { if (!pastWarnings[msg]) { pastWarnings[msg] = true; this.warn(...arguments); } }, _resetWarnings: function () { pastWarnings = {}; }, trimString: function(string) { return string.replace(/^\s+|\s+$/g, ''); }, namespaceEvents: function(events, namespace) { events = this.trimString(events || '').split(/\s+/); if (!events[0]) return ''; return $.map(events, evt => { return `${evt}.${namespace}`; }).join(' '); }, // Object.create polyfill, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create#Polyfill objectCreate: Object.create || (function () { var Object = function () {}; return function (prototype) { if (arguments.length > 1) { throw Error('Second argument not supported'); } if (typeof prototype != 'object') { throw TypeError('Argument must be an object'); } Object.prototype = prototype; var result = new Object(); Object.prototype = null; return result; }; })() }; export default ParsleyUtils;