diff --git a/.eslintrc.js b/.eslintrc.js
index a82afbceab..1efb33893c 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -43,12 +43,6 @@ module.exports = {
'no-console': 'off',
'no-continue': 'off',
'no-lonely-if': 'off',
- 'no-multi-spaces': ['error', {
- exceptions: {
- Property: true,
- VariableDeclarator: true,
- },
- }],
'no-nested-ternary': 'off',
'no-param-reassign': 'off',
'no-plusplus': 'off',
@@ -93,17 +87,14 @@ module.exports = {
'no-restricted-globals': 'off',
'no-restricted-properties': 'off',
'no-var': 'off', // https://github.com/fomantic/Fomantic-UI/pull/2584
- 'one-var': 'off',
'prefer-const': 'off',
'prefer-exponentiation-operator': 'off',
'prefer-rest-params': 'off',
'prefer-spread': 'off',
- 'semi-style': 'off',
'unicorn/no-array-for-each': 'off',
'unicorn/no-for-loop': 'off', // autofixes to "for of"
'unicorn/prefer-code-point': 'off',
'unicorn/prefer-includes': 'off',
- 'unicorn/prefer-node-protocol': 'off', // needs Node 14+
'unicorn/prefer-number-properties': 'off',
'unicorn/prefer-optional-catch-binding': 'off',
'unicorn/prefer-prototype-methods': 'off',
diff --git a/changelog-setup.js b/changelog-setup.js
index e53c407780..6734c8983b 100644
--- a/changelog-setup.js
+++ b/changelog-setup.js
@@ -1,9 +1,8 @@
const semver = require('semver'); // eslint-disable-line import/no-extraneous-dependencies
-let changelogDeps = {},
- loopVersion = '',
- uniqueCommits = []
-;
+let changelogDeps = {};
+let loopVersion = '';
+let uniqueCommits = [];
const issueLinks = function (item) {
if (typeof loopVersion !== 'string') {
return item;
@@ -113,79 +112,74 @@ module.exports = function (Handlebars) {
loopVersion = options.data.root.releases[options.data.index].tag;
changelogDeps = {};
- const
- depsRegex = /(?:build\(deps[A-Za-z-]*\):|\[Snyk]) (?:\[?[Ss]ecurity]? )?(?:bump|upgrade) ([\w./@-]+) from (\d+\.\d+\.\d+) to (\d+\.\d+\.\d+)/,
- detectVersionRange = function (item) {
- let subjectDetails = item.subject.match(depsRegex);
- if (!subjectDetails) {
- return true;
- }
-
- let depPackage = subjectDetails[1],
- depVersionFrom = subjectDetails[2],
- depVersionTo = subjectDetails[3]
- ;
- if (!changelogDeps[depPackage]) {
- changelogDeps[depPackage] = {
- from: '999.999.999',
- to: '0.0.0',
- };
- }
- if (semver.lt(depVersionFrom, changelogDeps[depPackage].from)) {
- changelogDeps[depPackage].from = depVersionFrom;
- }
- if (semver.gte(depVersionTo, changelogDeps[depPackage].to)) {
- changelogDeps[depPackage].to = depVersionTo;
-
- return true;
- }
+ const depsRegex = /(?:build\(deps[A-Za-z-]*\):|\[Snyk]) (?:\[?[Ss]ecurity]? )?(?:bump|upgrade) ([\w./@-]+) from (\d+\.\d+\.\d+) to (\d+\.\d+\.\d+)/;
+ const detectVersionRange = function (item) {
+ let subjectDetails = item.subject.match(depsRegex);
+ if (!subjectDetails) {
+ return true;
+ }
+
+ let depPackage = subjectDetails[1];
+ let depVersionFrom = subjectDetails[2];
+ let depVersionTo = subjectDetails[3];
+ if (!changelogDeps[depPackage]) {
+ changelogDeps[depPackage] = {
+ from: '999.999.999',
+ to: '0.0.0',
+ };
+ }
+ if (semver.lt(depVersionFrom, changelogDeps[depPackage].from)) {
+ changelogDeps[depPackage].from = depVersionFrom;
+ }
+ if (semver.gte(depVersionTo, changelogDeps[depPackage].to)) {
+ changelogDeps[depPackage].to = depVersionTo;
- return false;
- },
- list = context
- .filter((item) => {
- const commit = item.commit || item;
- if (exclude) {
- const pattern = new RegExp(exclude, 'm');
- if (pattern.test(commit.message)) {
- return false;
- }
- }
- if (message) {
- const pattern = new RegExp(message, 'm');
+ return true;
+ }
- return pattern.test(commit.message);
+ return false;
+ };
+ const list = context
+ .filter((item) => {
+ const commit = item.commit || item;
+ if (exclude) {
+ const pattern = new RegExp(exclude, 'm');
+ if (pattern.test(commit.message)) {
+ return false;
}
- if (subject) {
- const pattern = new RegExp(subject);
+ }
+ if (message) {
+ const pattern = new RegExp(message, 'm');
- return pattern.test(commit.subject);
- }
+ return pattern.test(commit.message);
+ }
+ if (subject) {
+ const pattern = new RegExp(subject);
- return true;
- })
- .filter(detectVersionRange)
- // second round as the previous list came unordered from git
- .filter(detectVersionRange)
- // adjust from version to create the whole range in one line (linked to the latest commit)
- .map((item) => {
- let subjectDetails = item.subject.match(depsRegex);
- if (!subjectDetails) {
- return item;
- }
- let
- depPackage = subjectDetails[1],
- depVersionFrom = subjectDetails[2]
- ;
- item.subject = item.subject.replace(depVersionFrom, changelogDeps[depPackage].from);
+ return pattern.test(commit.subject);
+ }
+ return true;
+ })
+ .filter(detectVersionRange)
+ // second round as the previous list came unordered from git
+ .filter(detectVersionRange)
+ // adjust from version to create the whole range in one line (linked to the latest commit)
+ .map((item) => {
+ let subjectDetails = item.subject.match(depsRegex);
+ if (!subjectDetails) {
return item;
- })
- .map(issueLinks)
- .map((item) => options.fn(item))
- .sort()
- .join('')
- ;
+ }
+ let depPackage = subjectDetails[1];
+ let depVersionFrom = subjectDetails[2];
+ item.subject = item.subject.replace(depVersionFrom, changelogDeps[depPackage].from);
+
+ return item;
+ })
+ .map(issueLinks)
+ .map((item) => options.fn(item))
+ .sort()
+ .join('');
if (!list) {
return '';
}
diff --git a/examples/assets/show-examples.js b/examples/assets/show-examples.js
index 2b9b9cca6d..e9b106e890 100644
--- a/examples/assets/show-examples.js
+++ b/examples/assets/show-examples.js
@@ -8,8 +8,6 @@ $(document)
variation: 'small inverted',
exclusive: true,
content: $(this).attr('class'),
- })
- ;
+ });
});
- })
-;
+ });
diff --git a/gulpfile.js b/gulpfile.js
index 372b1ffc42..87516604ee 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -2,15 +2,13 @@
* Set-up
*******************************/
-const
- gulp = require('gulp'),
+const gulp = require('gulp');
- // read user config to know what task to load
- config = require('./tasks/config/user'),
+// read user config to know what task to load
+const config = require('./tasks/config/user');
- admin = require('./tasks/collections/admin'),
- rtl = require('./tasks/collections/rtl')
-;
+const admin = require('./tasks/collections/admin');
+const rtl = require('./tasks/collections/rtl');
/*******************************
* Tasks
diff --git a/scripts/nightly-version.js b/scripts/nightly-version.js
index 433122ab57..799a10589e 100644
--- a/scripts/nightly-version.js
+++ b/scripts/nightly-version.js
@@ -1,9 +1,9 @@
// node
-const fs = require('fs');
-const path = require('path');
-const childProcess = require('child_process');
+const fs = require('node:fs');
+const path = require('node:path');
+const childProcess = require('node:child_process');
-const process = require('process');
+const process = require('node:process');
// npm
const fetch = require('node-fetch'); // eslint-disable-line import/no-extraneous-dependencies
@@ -20,16 +20,14 @@ const currentRev = childProcess // get the current rev from the repo
.execSync('git rev-parse HEAD')
.toString()
.trim()
- .slice(0, 7)
-;
+ .slice(0, 7);
const getNextVersion = async function () {
const versions = await fetch(`${ghBase}/repos/${repoUrlPath}/milestones`)
.then((r) => r.json())
.then((milestones) => milestones.filter((m) => m.title.indexOf('x') === -1)) // remove all versions with `x` in it
.then((versions) => versions.map((m) => m.title)) // create array of versions
- .then((versions) => semver.sort(versions))
- ;
+ .then((versions) => semver.sort(versions));
// Return first entry aka the smallest version in milestones which would therefore
// be the next version
@@ -95,5 +93,4 @@ getNightlyVersion()
JSON.stringify(pkg, null, 2)
);
})
- .then(() => console.log(`Done (${pkg.version})`))
-;
+ .then(() => console.log(`Done (${pkg.version})`));
diff --git a/src/definitions/behaviors/api.js b/src/definitions/behaviors/api.js
index 3e029e0525..11daef549d 100644
--- a/src/definitions/behaviors/api.js
+++ b/src/definitions/behaviors/api.js
@@ -24,72 +24,68 @@
: globalThis;
$.fn.api = function (parameters) {
- var
- // use window context if none specified
- $allModules = isFunction(this)
- ? $(window)
- : $(this),
- time = Date.now(),
- performance = [],
-
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- contextCheck = function (context, win) {
- var $context;
- if ([window, document].indexOf(context) >= 0) {
- $context = $(context);
- } else {
- $context = $(win.document).find(context);
- if ($context.length === 0) {
- $context = win.frameElement ? contextCheck(context, win.parent) : window;
- }
+ // use window context if none specified
+ var $allModules = isFunction(this)
+ ? $(window)
+ : $(this);
+ var time = Date.now();
+ var performance = [];
+
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var contextCheck = function (context, win) {
+ var $context;
+ if ([window, document].indexOf(context) >= 0) {
+ $context = $(context);
+ } else {
+ $context = $(win.document).find(context);
+ if ($context.length === 0) {
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
}
+ }
- return $context;
- },
- returnedValue
- ;
+ return $context;
+ };
+ var returnedValue;
$allModules.each(function () {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.api.settings, parameters)
- : $.extend({}, $.fn.api.settings),
-
- // internal aliases
- regExp = settings.regExp,
- namespace = settings.namespace,
- metadata = settings.metadata,
- selector = settings.selector,
- error = settings.error,
- className = settings.className,
-
- // define namespaces for modules
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
-
- // element that creates request
- $module = $(this),
- $form = $module.closest(selector.form),
-
- // context used for state
- $context = settings.stateContext ? contextCheck(settings.stateContext, window) : $module,
-
- // request details
- ajaxSettings,
- requestSettings,
- url,
- data,
- requestStartTime,
- originalData,
-
- // standard module
- element = this,
- context = $context[0],
- instance = $module.data(moduleNamespace),
- module
- ;
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.api.settings, parameters)
+ : $.extend({}, $.fn.api.settings);
+
+ // internal aliases
+ var regExp = settings.regExp;
+ var namespace = settings.namespace;
+ var metadata = settings.metadata;
+ var selector = settings.selector;
+ var error = settings.error;
+ var className = settings.className;
+
+ // define namespaces for modules
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
+
+ // element that creates request
+ var $module = $(this);
+ var $form = $module.closest(selector.form);
+
+ // context used for state
+ var $context = settings.stateContext ? contextCheck(settings.stateContext, window) : $module;
+
+ // request details
+ var ajaxSettings;
+ var requestSettings;
+ var url;
+ var data;
+ var requestStartTime;
+ var originalData;
+
+ // standard module
+ var element = this;
+ var context = $context[0];
+ var instance = $module.data(moduleNamespace);
+ var module;
module = {
@@ -105,28 +101,23 @@
module.verbose('Storing instance of module', module);
instance = module;
$module
- .data(moduleNamespace, instance)
- ;
+ .data(moduleNamespace, instance);
},
destroy: function () {
module.verbose('Destroying previous module for', element);
$module
.removeData(moduleNamespace)
- .off(eventNamespace)
- ;
+ .off(eventNamespace);
},
bind: {
events: function () {
- var
- triggerEvent = module.get.event()
- ;
+ var triggerEvent = module.get.event();
if (triggerEvent) {
module.verbose('Attaching API events to element', triggerEvent);
$module
- .on(triggerEvent + eventNamespace, module.event.trigger)
- ;
+ .on(triggerEvent + eventNamespace, module.event.trigger);
} else if (settings.on === 'now') {
module.debug('Querying API endpoint immediately');
module.query();
@@ -150,9 +141,7 @@
read: {
cachedResponse: function (url) {
- var
- response
- ;
+ var response;
if (window.Storage === undefined) {
module.error(error.noStorage);
@@ -356,10 +345,8 @@
add: {
urlData: function (url, urlData) {
- var
- requiredVariables,
- optionalVariables
- ;
+ var requiredVariables;
+ var optionalVariables;
if (url) {
requiredVariables = url.match(regExp.required);
optionalVariables = url.match(regExp.optional);
@@ -367,19 +354,17 @@
if (requiredVariables) {
module.debug('Looking for required URL variables', requiredVariables);
$.each(requiredVariables, function (index, templatedString) {
- var
- // allow legacy {$var} style
- variable = templatedString.indexOf('$') !== -1
- ? templatedString.slice(2, -1)
- : templatedString.slice(1, -1),
- value = $.isPlainObject(urlData) && urlData[variable] !== undefined
- ? urlData[variable]
- : ($module.data(variable) !== undefined
- ? $module.data(variable)
- : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
- ? $context.data(variable)
- : urlData[variable]))
- ;
+ // allow legacy {$var} style
+ var variable = templatedString.indexOf('$') !== -1
+ ? templatedString.slice(2, -1)
+ : templatedString.slice(1, -1);
+ var value = $.isPlainObject(urlData) && urlData[variable] !== undefined
+ ? urlData[variable]
+ : ($module.data(variable) !== undefined
+ ? $module.data(variable)
+ : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
+ ? $context.data(variable)
+ : urlData[variable]));
// remove value
if (value === undefined) {
module.error(error.requiredParameter, variable, url);
@@ -398,19 +383,17 @@
if (optionalVariables) {
module.debug('Looking for optional URL variables', requiredVariables);
$.each(optionalVariables, function (index, templatedString) {
- var
- // allow legacy {/$var} style
- variable = templatedString.indexOf('$') !== -1
- ? templatedString.slice(3, -1)
- : templatedString.slice(2, -1),
- value = $.isPlainObject(urlData) && urlData[variable] !== undefined
- ? urlData[variable]
- : ($module.data(variable) !== undefined
- ? $module.data(variable)
- : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
- ? $context.data(variable)
- : urlData[variable]))
- ;
+ // allow legacy {/$var} style
+ var variable = templatedString.indexOf('$') !== -1
+ ? templatedString.slice(3, -1)
+ : templatedString.slice(2, -1);
+ var value = $.isPlainObject(urlData) && urlData[variable] !== undefined
+ ? urlData[variable]
+ : ($module.data(variable) !== undefined
+ ? $module.data(variable)
+ : ($context.data(variable) !== undefined // eslint-disable-line unicorn/no-nested-ternary
+ ? $context.data(variable)
+ : urlData[variable]));
// optional replacement
if (value !== undefined) {
module.verbose('Optional variable Found', variable, value);
@@ -429,11 +412,9 @@
return url;
},
formData: function (data) {
- var
- formData = {},
- hasOtherData,
- useFormDataApi = settings.serializeForm === 'formdata'
- ;
+ var formData = {};
+ var hasOtherData;
+ var useFormDataApi = settings.serializeForm === 'formdata';
data = data || originalData || settings.data;
hasOtherData = $.isPlainObject(data);
@@ -442,16 +423,14 @@
settings.processData = settings.processData !== undefined ? settings.processData : false;
settings.contentType = settings.contentType !== undefined ? settings.contentType : false;
} else {
- var
- formArray = $form.serializeArray(),
- pushes = {},
- pushValues = {},
- build = function (base, key, value) {
- base[key] = value;
-
- return base;
- }
- ;
+ var formArray = $form.serializeArray();
+ var pushes = {};
+ var pushValues = {};
+ var build = function (base, key, value) {
+ base[key] = value;
+
+ return base;
+ };
// add files
$.each($('input[type="file"]', $form), function (i, tag) {
$.each($(tag)[0].files, function (j, file) {
@@ -462,17 +441,15 @@
if (!regExp.validate.test(el.name)) {
return;
}
- var
- isCheckbox = $('[name="' + el.name + '"]', $form).attr('type') === 'checkbox',
- floatValue = parseFloat(el.value),
- value = (isCheckbox && el.value === 'on')
+ var isCheckbox = $('[name="' + el.name + '"]', $form).attr('type') === 'checkbox';
+ var floatValue = parseFloat(el.value);
+ var value = (isCheckbox && el.value === 'on')
|| el.value === 'true'
|| (String(floatValue) === el.value
? floatValue
- : (el.value === 'false' ? false : el.value)),
- nameKeys = el.name.match(regExp.key) || [],
- pushKey = el.name.replace(/\[]$/, '')
- ;
+ : (el.value === 'false' ? false : el.value));
+ var nameKeys = el.name.match(regExp.key) || [];
+ var pushKey = el.name.replace(/\[]$/, '');
if (!(pushKey in pushes)) {
pushes[pushKey] = 0;
pushValues[pushKey] = value;
@@ -544,16 +521,14 @@
// nothing special
},
done: function (response, textStatus, xhr) {
- var
- context = this,
- elapsedTime = Date.now() - requestStartTime,
- timeLeft = settings.loadingDuration - elapsedTime,
- translatedResponse = isFunction(settings.onResponse)
- ? (module.is.expectingJSON() && !settings.rawResponse
- ? settings.onResponse.call(context, $.extend(true, {}, response))
- : settings.onResponse.call(context, response))
- : false
- ;
+ var context = this;
+ var elapsedTime = Date.now() - requestStartTime;
+ var timeLeft = settings.loadingDuration - elapsedTime;
+ var translatedResponse = isFunction(settings.onResponse)
+ ? (module.is.expectingJSON() && !settings.rawResponse
+ ? settings.onResponse.call(context, $.extend(true, {}, response))
+ : settings.onResponse.call(context, response))
+ : false;
timeLeft = timeLeft > 0
? timeLeft
: 0;
@@ -573,11 +548,9 @@
}, timeLeft);
},
fail: function (xhr, status, httpMessage) {
- var
- context = this,
- elapsedTime = Date.now() - requestStartTime,
- timeLeft = settings.loadingDuration - elapsedTime
- ;
+ var context = this;
+ var elapsedTime = Date.now() - requestStartTime;
+ var timeLeft = settings.loadingDuration - elapsedTime;
timeLeft = timeLeft > 0
? timeLeft
: 0;
@@ -603,10 +576,8 @@
settings.onSuccess.call(context, response, $module, xhr);
},
complete: function (firstParameter, secondParameter) {
- var
- xhr,
- response
- ;
+ var xhr;
+ var response;
// have to guess callback parameters based on request success
if (module.was.successful()) {
response = firstParameter;
@@ -619,11 +590,9 @@
settings.onComplete.call(context, response, $module, xhr);
},
fail: function (xhr, status, httpMessage) {
- var
- // pull response from xhr if available
- response = module.get.responseFromXHR(xhr),
- errorMessage = module.get.errorFromRequest(response, status, httpMessage)
- ;
+ // pull response from xhr if available
+ var response = module.get.responseFromXHR(xhr);
+ var errorMessage = module.get.errorFromRequest(response, status, httpMessage);
if (status === 'aborted') {
module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
settings.onAbort.call(context, status, $module, xhr);
@@ -665,28 +634,24 @@
return $.Deferred()
.always(module.event.request.complete)
.done(module.event.request.done)
- .fail(module.event.request.fail)
- ;
+ .fail(module.event.request.fail);
},
mockedXHR: function () {
- var
- // xhr does not simulate these properties of xhr but must return them
- textStatus = false,
- status = false,
- httpMessage = false,
- responder = settings.mockResponse || settings.response,
- asyncResponder = settings.mockResponseAsync || settings.responseAsync,
- asyncCallback,
- response,
- mockedXHR
- ;
+ // xhr does not simulate these properties of xhr but must return them
+ var textStatus = false;
+ var status = false;
+ var httpMessage = false;
+ var responder = settings.mockResponse || settings.response;
+ var asyncResponder = settings.mockResponseAsync || settings.responseAsync;
+ var asyncCallback;
+ var response;
+ var mockedXHR;
mockedXHR = $.Deferred()
.always(module.event.xhr.complete)
.done(module.event.xhr.done)
- .fail(module.event.xhr.fail)
- ;
+ .fail(module.event.xhr.fail);
if (responder) {
if (isFunction(responder)) {
@@ -716,15 +681,12 @@
},
xhr: function () {
- var
- xhr
- ;
+ var xhr;
// ajax request promise
xhr = $.ajax(ajaxSettings)
.always(module.event.xhr.always)
.done(module.event.xhr.done)
- .fail(module.event.xhr.fail)
- ;
+ .fail(module.event.xhr.fail);
module.verbose('Created server request', xhr, ajaxSettings);
return xhr;
@@ -779,9 +741,7 @@
return module.xhr || false;
},
settings: function () {
- var
- runSettings
- ;
+ var runSettings;
runSettings = settings.beforeSend.call($module, settings);
if (runSettings) {
if (runSettings.success !== undefined) {
@@ -812,11 +772,9 @@
: $.extend(true, {}, settings);
},
urlEncodedValue: function (value) {
- var
- decodedValue = window.decodeURIComponent(value),
- encodedValue = window.encodeURIComponent(value),
- alreadyEncoded = decodedValue !== value
- ;
+ var decodedValue = window.decodeURIComponent(value);
+ var encodedValue = window.encodeURIComponent(value);
+ var alreadyEncoded = decodedValue !== value;
if (alreadyEncoded) {
module.debug('URL value is already encoded, avoiding double encoding', value);
@@ -827,9 +785,7 @@
return encodedValue;
},
defaultData: function () {
- var
- data = {}
- ;
+ var data = {};
if (!isWindow(element)) {
if (module.is.input()) {
data.value = $module.val();
@@ -889,9 +845,7 @@
},
abort: function () {
- var
- xhr = module.get.xhr()
- ;
+ var xhr = module.get.xhr();
if (xhr && xhr.state() !== 'resolved') {
module.debug('Cancelling API request');
xhr.abort();
@@ -955,11 +909,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -978,10 +930,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -1003,12 +953,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -1017,8 +965,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
diff --git a/src/definitions/behaviors/form.js b/src/definitions/behaviors/form.js
index 38461126f0..436294820e 100644
--- a/src/definitions/behaviors/form.js
+++ b/src/definitions/behaviors/form.js
@@ -20,58 +20,54 @@
: globalThis;
$.fn.form = function (parameters) {
- var
- $allModules = $(this),
- $window = $(window),
-
- time = Date.now(),
- performance = [],
-
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- returnedValue
- ;
+ var $allModules = $(this);
+ var $window = $(window);
+
+ var time = Date.now();
+ var performance = [];
+
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var returnedValue;
$allModules.each(function () {
- var
- $module = $(this),
- element = this,
-
- formErrors = [],
- formErrorsTracker = {},
- keyHeldDown = false,
-
- // set at run-time
- $field,
- $group,
- $message,
- $prompt,
- $submit,
- $clear,
- $reset,
-
- settings,
- validation,
-
- metadata,
- selector,
- className,
- regExp,
- error,
-
- namespace,
- moduleNamespace,
- eventNamespace,
- attachEventsSelector,
- attachEventsAction,
-
- submitting = false,
- dirty = false,
- history = ['clean', 'clean'],
-
- instance,
- module
- ;
+ var $module = $(this);
+ var element = this;
+
+ var formErrors = [];
+ var formErrorsTracker = {};
+ var keyHeldDown = false;
+
+ // set at run-time
+ var $field;
+ var $group;
+ var $message;
+ var $prompt;
+ var $submit;
+ var $clear;
+ var $reset;
+
+ var settings;
+ var validation;
+
+ var metadata;
+ var selector;
+ var className;
+ var regExp;
+ var error;
+
+ var namespace;
+ var moduleNamespace;
+ var eventNamespace;
+ var attachEventsSelector;
+ var attachEventsAction;
+
+ var submitting = false;
+ var dirty = false;
+ var history = ['clean', 'clean'];
+
+ var instance;
+ var module;
module = {
@@ -103,16 +99,14 @@
module.verbose('Storing instance of module', module);
instance = module;
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
},
destroy: function () {
module.verbose('Destroying previous module', instance);
module.removeEvents();
$module
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
},
refresh: function () {
@@ -162,18 +156,15 @@
.on('blur' + eventNamespace, selector.field, module.event.field.blur)
.on('click' + eventNamespace, selector.submit, module.submit)
.on('click' + eventNamespace, selector.reset, module.reset)
- .on('click' + eventNamespace, selector.clear, module.clear)
- ;
+ .on('click' + eventNamespace, selector.clear, module.clear);
$field.on('invalid' + eventNamespace, module.event.field.invalid);
if (settings.keyboardShortcuts) {
$module.on('keydown' + eventNamespace, selector.field, module.event.field.keydown);
}
$field.each(function (index, el) {
- var
- $input = $(el),
- type = $input.prop('type'),
- inputEvent = module.get.changeEvent(type, $input)
- ;
+ var $input = $(el);
+ var type = $input.prop('type');
+ var inputEvent = module.get.changeEvent(type, $input);
$input.on(inputEvent + eventNamespace, module.event.field.change);
});
@@ -204,18 +195,16 @@
clear: function () {
$field.each(function (index, el) {
- var
- $field = $(el),
- $element = $field.parent(),
- $fieldGroup = $field.closest($group),
- $prompt = $fieldGroup.find(selector.prompt),
- $calendar = $field.closest(selector.uiCalendar),
- defaultValue = $field.data(metadata.defaultValue) || '',
- isCheckbox = $field.is(selector.checkbox),
- isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
- isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
- isErrored = $fieldGroup.hasClass(className.error)
- ;
+ var $field = $(el);
+ var $element = $field.parent();
+ var $fieldGroup = $field.closest($group);
+ var $prompt = $fieldGroup.find(selector.prompt);
+ var $calendar = $field.closest(selector.uiCalendar);
+ var defaultValue = $field.data(metadata.defaultValue) || '';
+ var isCheckbox = $field.is(selector.checkbox);
+ var isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown');
+ var isCalendar = $calendar.length > 0 && module.can.useElement('calendar');
+ var isErrored = $fieldGroup.hasClass(className.error);
if (isErrored) {
module.verbose('Resetting error on field', $fieldGroup);
$fieldGroup.removeClass(className.error);
@@ -238,19 +227,17 @@
reset: function () {
$field.each(function (index, el) {
- var
- $field = $(el),
- $element = $field.parent(),
- $fieldGroup = $field.closest($group),
- $calendar = $field.closest(selector.uiCalendar),
- $prompt = $fieldGroup.find(selector.prompt),
- defaultValue = $field.data(metadata.defaultValue),
- isCheckbox = $field.is(selector.checkbox),
- isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
- isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
- isFile = $field.is(selector.file),
- isErrored = $fieldGroup.hasClass(className.error)
- ;
+ var $field = $(el);
+ var $element = $field.parent();
+ var $fieldGroup = $field.closest($group);
+ var $calendar = $field.closest(selector.uiCalendar);
+ var $prompt = $fieldGroup.find(selector.prompt);
+ var defaultValue = $field.data(metadata.defaultValue);
+ var isCheckbox = $field.is(selector.checkbox);
+ var isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown');
+ var isCalendar = $calendar.length > 0 && module.can.useElement('calendar');
+ var isFile = $field.is(selector.file);
+ var isErrored = $fieldGroup.hasClass(className.error);
if (defaultValue === undefined) {
return;
}
@@ -277,14 +264,11 @@
determine: {
isValid: function () {
- var
- allValid = true
- ;
+ var allValid = true;
$field.each(function (index, el) {
- var $el = $(el),
- validation = module.get.validation($el) || {},
- identifier = module.get.identifier(validation, $el)
- ;
+ var $el = $(el);
+ var validation = module.get.validation($el) || {};
+ var identifier = module.get.identifier(validation, $el);
if (!module.validate.field(validation, identifier, true)) {
allValid = false;
}
@@ -296,11 +280,9 @@
var formIsDirty = false;
$field.each(function (index, el) {
- var
- $el = $(el),
- isCheckbox = $el.filter(selector.checkbox).length > 0,
- isDirty
- ;
+ var $el = $(el);
+ var isCheckbox = $el.filter(selector.checkbox).length > 0;
+ var isDirty;
isDirty = isCheckbox
? module.is.checkboxDirty($el)
@@ -341,9 +323,7 @@
return String($field.val()).trim() === '';
},
valid: function (field, showErrors) {
- var
- allValid = true
- ;
+ var allValid = true;
if (field) {
module.verbose('Checking if field is valid', field);
@@ -421,22 +401,19 @@
event: {
field: {
keydown: function (event) {
- var
- $field = $(this),
- key = event.which,
- isInput = $field.is(selector.input),
- isCheckbox = $field.is(selector.checkbox),
- isInDropdown = $field.closest(selector.uiDropdown).length > 0,
- keyCode = {
- enter: 13,
- escape: 27,
- }
- ;
+ var $field = $(this);
+ var key = event.which;
+ var isInput = $field.is(selector.input);
+ var isCheckbox = $field.is(selector.checkbox);
+ var isInDropdown = $field.closest(selector.uiDropdown).length > 0;
+ var keyCode = {
+ enter: 13,
+ escape: 27,
+ };
if (key === keyCode.escape) {
module.verbose('Escape key pressed blurring field');
$field[0]
- .blur()
- ;
+ .blur();
}
if (!event.ctrlKey && key === keyCode.enter && isInput && !isInDropdown && !isCheckbox) {
if (!keyHeldDown) {
@@ -454,11 +431,9 @@
event.preventDefault();
},
blur: function (event) {
- var
- $field = $(this),
- validationRules = module.get.validation($field) || {},
- identifier = module.get.identifier(validationRules, $field)
- ;
+ var $field = $(this);
+ var validationRules = module.get.validation($field) || {};
+ var identifier = module.get.identifier(validationRules, $field);
if (settings.on === 'blur' || (!$module.hasClass(className.initial) && settings.revalidate)) {
module.debug('Revalidating field', $field, validationRules);
module.validate.field(validationRules, identifier);
@@ -468,11 +443,9 @@
}
},
change: function (event) {
- var
- $field = $(this),
- validationRules = module.get.validation($field) || {},
- identifier = module.get.identifier(validationRules, $field)
- ;
+ var $field = $(this);
+ var validationRules = module.get.validation($field) || {};
+ var identifier = module.get.identifier(validationRules, $field);
if (settings.on === 'change' || (!$module.hasClass(className.initial) && settings.revalidate)) {
clearTimeout(module.timer);
module.timer = setTimeout(function () {
@@ -522,9 +495,7 @@
return ['file', 'checkbox', 'radio', 'hidden'].indexOf(type) >= 0 || $input.is('select') ? 'change' : 'input';
},
fieldsFromShorthand: function (fields) {
- var
- fullFields = {}
- ;
+ var fullFields = {};
$.each(fields, function (name, rules) {
if (!Array.isArray(rules) && typeof rules === 'object') {
fullFields[name] = rules;
@@ -554,20 +525,18 @@
return validation.identifier || $el.attr('id') || $el.attr('name') || $el.data(metadata.validate);
},
prompt: function (rule, field) {
- var
- ruleName = module.get.ruleName(rule),
- ancillary = module.get.ancillaryValue(rule),
- $field = module.get.field(field.identifier),
- value = $field.val(),
- promptCheck = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,
- prompt = String(isFunction(promptCheck)
- ? promptCheck.call($field[0], value)
- : promptCheck),
- requiresValue = prompt.search('{value}') !== -1,
- requiresName = prompt.search('{name}') !== -1,
- parts,
- suffixPrompt
- ;
+ var ruleName = module.get.ruleName(rule);
+ var ancillary = module.get.ancillaryValue(rule);
+ var $field = module.get.field(field.identifier);
+ var value = $field.val();
+ var promptCheck = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule;
+ var prompt = String(isFunction(promptCheck)
+ ? promptCheck.call($field[0], value)
+ : promptCheck);
+ var requiresValue = prompt.search('{value}') !== -1;
+ var requiresName = prompt.search('{name}') !== -1;
+ var parts;
+ var suffixPrompt;
if (ancillary && ['integer', 'decimal', 'number', 'size'].indexOf(ruleName) >= 0 && ancillary.indexOf('..') >= 0) {
parts = ancillary.split('..', 2);
if (!rule.prompt && ruleName !== 'size') {
@@ -655,9 +624,7 @@
return strict ? $() : $('');
},
fields: function (fields, strict) {
- var
- $fields = $()
- ;
+ var $fields = $();
$.each(fields, function (index, name) {
$fields = $fields.add(module.get.field(name, strict));
});
@@ -666,20 +633,17 @@
},
fieldLabel: function (identifier, useIdAsFallback) {
var $field = typeof identifier === 'string'
- ? module.get.field(identifier)
- : identifier,
- $label = $field.closest(selector.group).find('label:not(:empty)').eq(0)
- ;
+ ? module.get.field(identifier)
+ : identifier;
+ var $label = $field.closest(selector.group).find('label:not(:empty)').eq(0);
return $label.length === 1
? $label.text()
: $field.prop('placeholder') || (useIdAsFallback ? identifier : settings.text.unspecifiedField);
},
validation: function ($field) {
- var
- fieldValidation,
- identifier
- ;
+ var fieldValidation;
+ var identifier;
if (!validation) {
return false;
}
@@ -698,11 +662,9 @@
return fieldValidation || false;
},
value: function (field, strict) {
- var
- fields = [],
- results,
- resultKeys
- ;
+ var fields = [];
+ var results;
+ var resultKeys;
fields.push(field);
results = module.get.values.call(element, fields, strict);
resultKeys = Object.keys(results);
@@ -710,26 +672,22 @@
return resultKeys.length > 0 ? results[resultKeys[0]] : undefined;
},
values: function (fields, strict) {
- var
- $fields = Array.isArray(fields) && fields.length > 0
- ? module.get.fields(fields, strict)
- : $field,
- values = {}
- ;
+ var $fields = Array.isArray(fields) && fields.length > 0
+ ? module.get.fields(fields, strict)
+ : $field;
+ var values = {};
$fields.each(function (index, field) {
- var
- $field = $(field),
- $calendar = $field.closest(selector.uiCalendar),
- name = $field.prop('name') || $field.prop('id'),
- value = $field.val(),
- isCheckbox = $field.is(selector.checkbox),
- isRadio = $field.is(selector.radio),
- isMultiple = name.indexOf('[]') !== -1,
- isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
- isChecked = isCheckbox
- ? $field.is(':checked')
- : false
- ;
+ var $field = $(field);
+ var $calendar = $field.closest(selector.uiCalendar);
+ var name = $field.prop('name') || $field.prop('id');
+ var value = $field.val();
+ var isCheckbox = $field.is(selector.checkbox);
+ var isRadio = $field.is(selector.radio);
+ var isMultiple = name.indexOf('[]') !== -1;
+ var isCalendar = $calendar.length > 0 && module.can.useElement('calendar');
+ var isChecked = isCheckbox
+ ? $field.is(':checked')
+ : false;
if (name) {
if (isMultiple) {
name = name.replace('[]', '');
@@ -883,11 +841,9 @@
rules: [],
};
}
- var
- newValidation = {
- rules: [],
- }
- ;
+ var newValidation = {
+ rules: [],
+ };
if (module.is.shorthandRules(rules)) {
rules = Array.isArray(rules)
? rules
@@ -918,18 +874,15 @@
if (errors === false) {
return;
}
- var
- $field = module.get.field(identifier),
- $fieldGroup = $field.closest($group),
- $prompt = $fieldGroup.children(selector.prompt),
- promptExists = $prompt.length > 0,
- canTransition = settings.transition && module.can.useElement('transition')
- ;
+ var $field = module.get.field(identifier);
+ var $fieldGroup = $field.closest($group);
+ var $prompt = $fieldGroup.children(selector.prompt);
+ var promptExists = $prompt.length > 0;
+ var canTransition = settings.transition && module.can.useElement('transition');
module.verbose('Adding field error state', identifier);
if (!internal) {
$fieldGroup
- .addClass(className.error)
- ;
+ .addClass(className.error);
}
if (settings.inline) {
if (promptExists) {
@@ -949,12 +902,10 @@
$prompt.css('display', 'none');
}
$prompt
- .appendTo($fieldGroup.filter('.' + className.error))
- ;
+ .appendTo($fieldGroup.filter('.' + className.error));
}
$prompt
- .html(settings.templates.prompt(errors))
- ;
+ .html(settings.templates.prompt(errors));
if (!promptExists) {
if (canTransition) {
module.verbose('Displaying error with css transition', settings.transition);
@@ -962,8 +913,7 @@
} else {
module.verbose('Displaying error with fallback javascript animation');
$prompt
- .fadeIn(settings.duration)
- ;
+ .fadeIn(settings.duration);
}
}
} else {
@@ -977,9 +927,8 @@
}
module.debug('Adding form error messages', errors);
module.set.error();
- var customErrors = [],
- tempErrors
- ;
+ var customErrors = [];
+ var tempErrors;
if ($.isPlainObject(errors)) {
$.each(Object.keys(errors), function (i, id) {
if (module.checkErrors(errors[id], true) !== false) {
@@ -1002,8 +951,7 @@
}
if (customErrors.length > 0) {
$message
- .html(settings.templates.error(customErrors))
- ;
+ .html(settings.templates.error(customErrors));
}
},
},
@@ -1021,11 +969,9 @@
module.determine.isDirty();
},
rule: function (field, rule) {
- var
- rules = Array.isArray(rule)
- ? rule
- : [rule]
- ;
+ var rules = Array.isArray(rule)
+ ? rule
+ : [rule];
if (validation[field] === undefined || !Array.isArray(validation[field].rules)) {
return;
}
@@ -1047,11 +993,9 @@
});
},
field: function (field) {
- var
- fields = Array.isArray(field)
- ? field
- : [field]
- ;
+ var fields = Array.isArray(field)
+ ? field
+ : [field];
$.each(fields, function (index, field) {
module.remove.rule(field);
});
@@ -1071,14 +1015,11 @@
module.remove.field(fields);
},
prompt: function (identifier) {
- var
- $field = module.get.field(identifier),
- $fieldGroup = $field.closest($group),
- $prompt = $fieldGroup.children(selector.prompt)
- ;
+ var $field = module.get.field(identifier);
+ var $fieldGroup = $field.closest($group);
+ var $prompt = $fieldGroup.children(selector.prompt);
$fieldGroup
- .removeClass(className.error)
- ;
+ .removeClass(className.error);
if (settings.inline && $prompt.is(':visible')) {
module.verbose('Removing prompt for field', identifier);
if (settings.transition && module.can.useElement('transition')) {
@@ -1089,8 +1030,7 @@
$prompt
.fadeOut(settings.duration, function () {
$prompt.remove();
- })
- ;
+ });
}
}
},
@@ -1100,22 +1040,19 @@
success: function () {
$module
.removeClass(className.error)
- .addClass(className.success)
- ;
+ .addClass(className.success);
},
defaults: function () {
$field.each(function (index, el) {
- var
- $el = $(el),
- $parent = $el.parent(),
- isCheckbox = $el.filter(selector.checkbox).length > 0,
- isDropdown = ($parent.is(selector.uiDropdown) || $el.is(selector.uiDropdown)) && module.can.useElement('dropdown'),
- $calendar = $el.closest(selector.uiCalendar),
- isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
- value = isCheckbox
- ? $el.is(':checked')
- : $el.val()
- ;
+ var $el = $(el);
+ var $parent = $el.parent();
+ var isCheckbox = $el.filter(selector.checkbox).length > 0;
+ var isDropdown = ($parent.is(selector.uiDropdown) || $el.is(selector.uiDropdown)) && module.can.useElement('dropdown');
+ var $calendar = $el.closest(selector.uiCalendar);
+ var isCalendar = $calendar.length > 0 && module.can.useElement('calendar');
+ var value = isCheckbox
+ ? $el.is(':checked')
+ : $el.val();
if (isDropdown) {
if ($parent.is(selector.uiDropdown)) {
$parent.dropdown('save defaults');
@@ -1132,13 +1069,10 @@
error: function () {
$module
.removeClass(className.success)
- .addClass(className.error)
- ;
+ .addClass(className.error);
},
value: function (field, value) {
- var
- fields = {}
- ;
+ var fields = {};
fields[field] = value;
return module.set.values.call(element, fields);
@@ -1148,19 +1082,17 @@
return;
}
$.each(fields, function (key, value) {
- var
- $field = module.get.field(key),
- $element = $field.parent(),
- $calendar = $field.closest(selector.uiCalendar),
- isFile = $field.is(selector.file),
- isMultiple = Array.isArray(value),
- isCheckbox = $element.is(selector.uiCheckbox) && module.can.useElement('checkbox'),
- isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown'),
- isRadio = $field.is(selector.radio) && isCheckbox,
- isCalendar = $calendar.length > 0 && module.can.useElement('calendar'),
- fieldExists = $field.length > 0,
- $multipleField
- ;
+ var $field = module.get.field(key);
+ var $element = $field.parent();
+ var $calendar = $field.closest(selector.uiCalendar);
+ var isFile = $field.is(selector.file);
+ var isMultiple = Array.isArray(value);
+ var isCheckbox = $element.is(selector.uiCheckbox) && module.can.useElement('checkbox');
+ var isDropdown = $element.is(selector.uiDropdown) && module.can.useElement('dropdown');
+ var isRadio = $field.is(selector.radio) && isCheckbox;
+ var isCalendar = $calendar.length > 0 && module.can.useElement('calendar');
+ var fieldExists = $field.length > 0;
+ var $multipleField;
if (fieldExists) {
if (isMultiple && isCheckbox) {
module.verbose('Selecting multiple', value, $field);
@@ -1176,8 +1108,7 @@
module.verbose('Selecting radio value', value, $field);
$field.filter('[value="' + value + '"]')
.parent(selector.uiCheckbox)
- .checkbox('check')
- ;
+ .checkbox('check');
} else if (isCheckbox) {
module.verbose('Setting checkbox value', value, $element);
if (value === true || value === 1 || value === 'on') {
@@ -1239,20 +1170,18 @@
});
}
$field.each(function (_index, el) {
- var
- $el = $(el),
- $elGroup = $el.closest($group),
- isCheckbox = $el.filter(selector.checkbox).length > 0,
- isRequired = $el.prop('required') || $elGroup.hasClass(className.required) || $elGroup.parent().hasClass(className.required),
- isDisabled = $el.is(':disabled') || $elGroup.hasClass(className.disabled) || $elGroup.parent().hasClass(className.disabled),
- validation = module.get.validation($el),
- hasNotEmptyRule = validation
- ? $.grep(validation.rules, function (rule) {
- return ['notEmpty', 'checked', 'empty'].indexOf(rule.type) >= 0;
- }).length > 0
- : false,
- identifier = module.get.identifier(validation, $el)
- ;
+ var $el = $(el);
+ var $elGroup = $el.closest($group);
+ var isCheckbox = $el.filter(selector.checkbox).length > 0;
+ var isRequired = $el.prop('required') || $elGroup.hasClass(className.required) || $elGroup.parent().hasClass(className.required);
+ var isDisabled = $el.is(':disabled') || $elGroup.hasClass(className.disabled) || $elGroup.parent().hasClass(className.disabled);
+ var validation = module.get.validation($el);
+ var hasNotEmptyRule = validation
+ ? $.grep(validation.rules, function (rule) {
+ return ['notEmpty', 'checked', 'empty'].indexOf(rule.type) >= 0;
+ }).length > 0
+ : false;
+ var identifier = module.get.identifier(validation, $el);
if (isRequired && !isDisabled && !hasNotEmptyRule && identifier !== undefined) {
if (isCheckbox) {
module.verbose("Adding 'checked' rule on field", identifier);
@@ -1308,10 +1237,8 @@
event.stopImmediatePropagation();
}
if (settings.errorFocus && ignoreCallbacks !== true) {
- var
- $focusElement,
- hasTabIndex = true
- ;
+ var $focusElement;
+ var hasTabIndex = true;
if (typeof settings.errorFocus === 'string') {
$focusElement = $(document).find(settings.errorFocus);
hasTabIndex = $focusElement.is('[tabindex]');
@@ -1349,20 +1276,18 @@
return true;
}
- var
- identifier = field.identifier || fieldName,
- $field = module.get.field(identifier),
- $fieldGroup = $field.closest($group),
- $dependsField = field.depends
- ? module.get.field(field.depends)
- : false,
- fieldValid = true,
- fieldErrors = [],
- isDisabled = $field.filter(':not(:disabled)').length === 0 || $fieldGroup.hasClass(className.disabled) || $fieldGroup.parent().hasClass(className.disabled),
- validationMessage = $field[0].validationMessage,
- noNativeValidation = field.noNativeValidation || settings.noNativeValidation || $field.filter('[formnovalidate],[novalidate]').length > 0 || $module.filter('[novalidate]').length > 0,
- errorLimit
- ;
+ var identifier = field.identifier || fieldName;
+ var $field = module.get.field(identifier);
+ var $fieldGroup = $field.closest($group);
+ var $dependsField = field.depends
+ ? module.get.field(field.depends)
+ : false;
+ var fieldValid = true;
+ var fieldErrors = [];
+ var isDisabled = $field.filter(':not(:disabled)').length === 0 || $fieldGroup.hasClass(className.disabled) || $fieldGroup.parent().hasClass(className.disabled);
+ var validationMessage = $field[0].validationMessage;
+ var noNativeValidation = field.noNativeValidation || settings.noNativeValidation || $field.filter('[formnovalidate],[novalidate]').length > 0 || $module.filter('[novalidate]').length > 0;
+ var errorLimit;
if (!field.identifier) {
module.debug('Using field name as identifier', identifier);
field.identifier = identifier;
@@ -1434,25 +1359,23 @@
// takes validation rule and returns whether field passes rule
rule: function (field, rule, internal) {
- var
- $field = module.get.field(field.identifier),
- ancillary = module.get.ancillaryValue(rule),
- ruleName = module.get.ruleName(rule),
- ruleFunction = settings.rules[ruleName],
- invalidFields = [],
- isCheckbox = $field.is(selector.checkbox),
- isValid = function (field) {
- var value = isCheckbox ? $(field).filter(':checked').val() : $(field).val();
- // cast to string avoiding encoding special values
- value = value === undefined || value === '' || value === null
- ? ''
- : ((settings.shouldTrim && rule.shouldTrim !== false) || rule.shouldTrim
- ? String(value + '').trim()
- : String(value + ''));
-
- return ruleFunction.call(field, value, ancillary, module);
- }
- ;
+ var $field = module.get.field(field.identifier);
+ var ancillary = module.get.ancillaryValue(rule);
+ var ruleName = module.get.ruleName(rule);
+ var ruleFunction = settings.rules[ruleName];
+ var invalidFields = [];
+ var isCheckbox = $field.is(selector.checkbox);
+ var isValid = function (field) {
+ var value = isCheckbox ? $(field).filter(':checked').val() : $(field).val();
+ // cast to string avoiding encoding special values
+ value = value === undefined || value === '' || value === null
+ ? ''
+ : ((settings.shouldTrim && rule.shouldTrim !== false) || rule.shouldTrim
+ ? String(value + '').trim()
+ : String(value + ''));
+
+ return ruleFunction.call(field, value, ancillary, module);
+ };
if (!isFunction(ruleFunction)) {
module.error(error.noRule, ruleName);
@@ -1526,11 +1449,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -1549,10 +1470,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -1577,12 +1496,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -1774,9 +1691,7 @@
// template that produces error message
error: function (errors) {
- var
- html = '
'
- ;
+ var html = '';
$.each(errors, function (index, value) {
html += '- ' + value + '
';
});
@@ -1790,9 +1705,7 @@
if (errors.length === 1) {
return errors[0];
}
- var
- html = ''
- ;
+ var html = '';
$.each(errors, function (index, value) {
html += '- ' + value + '
';
});
@@ -1863,10 +1776,8 @@
if (regExp instanceof RegExp) {
return value.match(regExp);
}
- var
- regExpParts = regExp.match($.fn.form.settings.regExp.flags),
- flags
- ;
+ var regExpParts = regExp.match($.fn.form.settings.regExp.flags);
+ var flags;
// regular expression specified as /baz/gi (flags)
if (regExpParts) {
regExp = regExpParts.length >= 2
@@ -1896,11 +1807,9 @@
if (!(regExp instanceof RegExp)) {
regExp = $.fn.form.settings.regExp.integer;
}
- var
- min,
- max,
- parts
- ;
+ var min;
+ var max;
+ var parts;
if (!range || ['', '..'].indexOf(range) !== -1) {
// do nothing
@@ -2043,57 +1952,55 @@
},
creditCard: function (cardNumber, cardTypes) {
- var
- cards = {
- visa: {
- pattern: /^4/,
- length: [16],
- },
- amex: {
- pattern: /^3[47]/,
- length: [15],
- },
- mastercard: {
- pattern: /^5[1-5]/,
- length: [16],
- },
- discover: {
- pattern: /^(6011|622(12[6-9]|1[3-9]\d|[2-8]\d{2}|9[01]\d|92[0-5]|64[4-9])|65)/,
- length: [16],
- },
- unionPay: {
- pattern: /^(62|88)/,
- length: [16, 17, 18, 19],
- },
- jcb: {
- pattern: /^35(2[89]|[3-8]\d)/,
- length: [16],
- },
- maestro: {
- pattern: /^(5018|5020|5038|6304|6759|676[1-3])/,
- length: [12, 13, 14, 15, 16, 17, 18, 19],
- },
- dinersClub: {
- pattern: /^(30[0-5]|^36)/,
- length: [14],
- },
- laser: {
- pattern: /^(6304|670[69]|6771)/,
- length: [16, 17, 18, 19],
- },
- visaElectron: {
- pattern: /^(4026|417500|4508|4844|491(3|7))/,
- length: [16],
- },
+ var cards = {
+ visa: {
+ pattern: /^4/,
+ length: [16],
+ },
+ amex: {
+ pattern: /^3[47]/,
+ length: [15],
+ },
+ mastercard: {
+ pattern: /^5[1-5]/,
+ length: [16],
+ },
+ discover: {
+ pattern: /^(6011|622(12[6-9]|1[3-9]\d|[2-8]\d{2}|9[01]\d|92[0-5]|64[4-9])|65)/,
+ length: [16],
+ },
+ unionPay: {
+ pattern: /^(62|88)/,
+ length: [16, 17, 18, 19],
},
- valid = {},
- validCard = false,
- requiredTypes = typeof cardTypes === 'string'
- ? cardTypes.split(',')
- : false,
- unionPay,
- validation
- ;
+ jcb: {
+ pattern: /^35(2[89]|[3-8]\d)/,
+ length: [16],
+ },
+ maestro: {
+ pattern: /^(5018|5020|5038|6304|6759|676[1-3])/,
+ length: [12, 13, 14, 15, 16, 17, 18, 19],
+ },
+ dinersClub: {
+ pattern: /^(30[0-5]|^36)/,
+ length: [14],
+ },
+ laser: {
+ pattern: /^(6304|670[69]|6771)/,
+ length: [16, 17, 18, 19],
+ },
+ visaElectron: {
+ pattern: /^(4026|417500|4508|4844|491(3|7))/,
+ length: [16],
+ },
+ };
+ var valid = {};
+ var validCard = false;
+ var requiredTypes = typeof cardTypes === 'string'
+ ? cardTypes.split(',')
+ : false;
+ var unionPay;
+ var validation;
if (typeof cardNumber !== 'string' || cardNumber.length === 0) {
return;
@@ -2133,15 +2040,13 @@
}
// verify luhn, adapted from
- var
- length = cardNumber.length,
- multiple = 0,
- producedValue = [
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
- [0, 2, 4, 6, 8, 1, 3, 5, 7, 9],
- ],
- sum = 0
- ;
+ var length = cardNumber.length;
+ var multiple = 0;
+ var producedValue = [
+ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
+ [0, 2, 4, 6, 8, 1, 3, 5, 7, 9],
+ ];
+ var sum = 0;
while (length--) {
sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];
multiple ^= 1; // eslint-disable-line no-bitwise
diff --git a/src/definitions/behaviors/state.js b/src/definitions/behaviors/state.js
index c8c29ea0f7..65ca3ad7d1 100644
--- a/src/definitions/behaviors/state.js
+++ b/src/definitions/behaviors/state.js
@@ -20,54 +20,50 @@
: globalThis;
$.fn.state = function (parameters) {
- var
- $allModules = $(this),
-
- time = Date.now(),
- performance = [],
-
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- contextCheck = function (context, win) {
- var $context;
- if ([window, document].indexOf(context) >= 0) {
- $context = $(context);
- } else {
- $context = $(win.document).find(context);
- if ($context.length === 0) {
- $context = win.frameElement ? contextCheck(context, win.parent) : window;
- }
+ var $allModules = $(this);
+
+ var time = Date.now();
+ var performance = [];
+
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var contextCheck = function (context, win) {
+ var $context;
+ if ([window, document].indexOf(context) >= 0) {
+ $context = $(context);
+ } else {
+ $context = $(win.document).find(context);
+ if ($context.length === 0) {
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
}
+ }
- return $context;
- },
- returnedValue
- ;
+ return $context;
+ };
+ var returnedValue;
$allModules.each(function () {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.state.settings, parameters)
- : $.extend({}, $.fn.state.settings),
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.state.settings, parameters)
+ : $.extend({}, $.fn.state.settings);
- error = settings.error,
- metadata = settings.metadata,
- className = settings.className,
- namespace = settings.namespace,
- states = settings.states,
- text = settings.text,
+ var error = settings.error;
+ var metadata = settings.metadata;
+ var className = settings.className;
+ var namespace = settings.namespace;
+ var states = settings.states;
+ var text = settings.text;
- eventNamespace = '.' + namespace,
- moduleNamespace = namespace + '-module',
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = namespace + '-module';
- $module = $(this),
- $context = settings.context ? contextCheck(settings.context, window) : $module,
+ var $module = $(this);
+ var $context = settings.context ? contextCheck(settings.context, window) : $module;
- element = this,
- instance = $module.data(moduleNamespace),
+ var element = this;
+ var instance = $module.data(moduleNamespace);
- module
- ;
+ var module;
module = {
initialize: function () {
@@ -82,8 +78,7 @@
$context
.on('mouseenter' + eventNamespace, module.change.text)
.on('mouseleave' + eventNamespace, module.reset.text)
- .on('click' + eventNamespace, module.toggle.state)
- ;
+ .on('click' + eventNamespace, module.toggle.state);
module.instantiate();
},
@@ -91,19 +86,16 @@
module.verbose('Storing instance of module', module);
instance = module;
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
},
destroy: function () {
module.verbose('Destroying previous module', instance);
$context
- .off(eventNamespace)
- ;
+ .off(eventNamespace);
$module
.removeData(metadata.storedText)
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
},
refresh: function () {
@@ -113,11 +105,9 @@
add: {
defaults: function () {
- var
- userStates = parameters && $.isPlainObject(parameters.states)
- ? parameters.states
- : {}
- ;
+ var userStates = parameters && $.isPlainObject(parameters.states)
+ ? parameters.states
+ : {};
$.each(settings.defaults, function (type, typeStates) {
if (module.is[type] !== undefined && module.is[type]()) {
module.verbose('Adding default states', type, element);
@@ -203,10 +193,8 @@
toggle: {
state: function () {
- var
- apiRequest,
- requestCancelled
- ;
+ var apiRequest;
+ var requestCancelled;
if (module.allows('active') && module.is.enabled()) {
module.refresh();
if ($.fn.api !== undefined) {
@@ -257,8 +245,7 @@
};
}
module.change.state();
- })
- ;
+ });
}
},
@@ -310,8 +297,7 @@
if (settings.activateTest.call(element)) {
module.debug('Setting state to active');
$module
- .addClass(className.active)
- ;
+ .addClass(className.active);
module.update.text(text.active);
settings.onActivate.call(element);
}
@@ -321,8 +307,7 @@
if (settings.deactivateTest.call(element)) {
module.debug('Setting state to inactive');
$module
- .removeClass(className.active)
- ;
+ .removeClass(className.active);
module.update.text(text.inactive);
settings.onDeactivate.call(element);
}
@@ -333,13 +318,11 @@
if (module.is.active()) {
$allModules
.not($module)
- .state('activate')
- ;
+ .state('activate');
} else {
$allModules
.not($module)
- .state('deactivate')
- ;
+ .state('deactivate');
}
},
@@ -356,8 +339,7 @@
flash: {
text: function (text, duration, callback) {
- var
- previousText = module.get.text();
+ var previousText = module.get.text();
module.debug('Flashing text message', text, duration);
text = text || settings.text.flash;
duration = duration || settings.flashDuration;
@@ -373,10 +355,8 @@
reset: {
// on mouseout sets text to previous value
text: function () {
- var
- activeText = text.active || $module.data(metadata.storedText),
- inactiveText = text.inactive || $module.data(metadata.storedText)
- ;
+ var activeText = text.active || $module.data(metadata.storedText);
+ var inactiveText = text.inactive || $module.data(metadata.storedText);
if (module.is.textEnabled()) {
if (module.is.active() && activeText) {
module.verbose('Resetting active text', activeText);
@@ -391,21 +371,18 @@
update: {
text: function (text) {
- var
- currentText = module.get.text();
+ var currentText = module.get.text();
if (text && text !== currentText) {
module.debug('Updating text', text);
if (settings.selector.text) {
$module
.data(metadata.storedText, text)
.find(settings.selector.text)
- .text(text)
- ;
+ .text(text);
} else {
$module
.data(metadata.storedText, text)
- .html(text)
- ;
+ .html(text);
}
} else {
module.debug('Text is already set, ignoring update', text);
@@ -464,11 +441,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -487,10 +462,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -512,12 +485,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -526,8 +497,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
diff --git a/src/definitions/behaviors/visibility.js b/src/definitions/behaviors/visibility.js
index f17cf07e8c..c08d887792 100755
--- a/src/definitions/behaviors/visibility.js
+++ b/src/definitions/behaviors/visibility.js
@@ -20,64 +20,60 @@
: globalThis;
$.fn.visibility = function (parameters) {
- var
- $allModules = $(this),
-
- time = Date.now(),
- performance = [],
-
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- contextCheck = function (context, win) {
- var $context;
- if ([window, document].indexOf(context) >= 0) {
- $context = $(context);
- } else {
- $context = $(win.document).find(context);
- if ($context.length === 0) {
- $context = win.frameElement ? contextCheck(context, win.parent) : window;
- }
+ var $allModules = $(this);
+
+ var time = Date.now();
+ var performance = [];
+
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var contextCheck = function (context, win) {
+ var $context;
+ if ([window, document].indexOf(context) >= 0) {
+ $context = $(context);
+ } else {
+ $context = $(win.document).find(context);
+ if ($context.length === 0) {
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
}
+ }
- return $context;
- },
- returnedValue,
+ return $context;
+ };
+ var returnedValue;
- moduleCount = $allModules.length,
- loadedCount = 0
- ;
+ var moduleCount = $allModules.length;
+ var loadedCount = 0;
$allModules.each(function () {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.visibility.settings, parameters)
- : $.extend({}, $.fn.visibility.settings),
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.visibility.settings, parameters)
+ : $.extend({}, $.fn.visibility.settings);
- className = settings.className,
- namespace = settings.namespace,
- error = settings.error,
- metadata = settings.metadata,
+ var className = settings.className;
+ var namespace = settings.namespace;
+ var error = settings.error;
+ var metadata = settings.metadata;
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
- $window = $(window),
+ var $window = $(window);
- $module = $(this),
- $context = contextCheck(settings.context, window),
+ var $module = $(this);
+ var $context = contextCheck(settings.context, window);
- $placeholder,
+ var $placeholder;
- instance = $module.data(moduleNamespace),
+ var instance = $module.data(moduleNamespace);
- element = this,
- disabled = false,
+ var element = this;
+ var disabled = false;
- contextObserver,
- observer,
- module
- ;
+ var contextObserver;
+ var observer;
+ var module;
module = {
@@ -114,8 +110,7 @@
instantiate: function () {
module.debug('Storing instance', module);
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
instance = module;
},
@@ -129,20 +124,17 @@
}
$window
.off('load' + eventNamespace, module.event.load)
- .off('resize' + eventNamespace, module.event.resize)
- ;
+ .off('resize' + eventNamespace, module.event.resize);
$context
.off('scroll' + eventNamespace, module.event.scroll)
- .off('scrollchange' + eventNamespace, module.event.scrollchange)
- ;
+ .off('scrollchange' + eventNamespace, module.event.scrollchange);
if (settings.type === 'fixed') {
module.resetFixed();
module.remove.placeholder();
}
$module
.off(eventNamespace)
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
},
observeChanges: function () {
@@ -166,18 +158,15 @@
module.verbose('Binding visibility events to scroll and resize');
if (settings.refreshOnLoad) {
$window
- .on('load' + eventNamespace, module.event.load)
- ;
+ .on('load' + eventNamespace, module.event.load);
}
$window
- .on('resize' + eventNamespace, module.event.resize)
- ;
+ .on('resize' + eventNamespace, module.event.resize);
// pub/sub pattern
$context
.off('scroll' + eventNamespace)
.on('scroll' + eventNamespace, module.event.scroll)
- .on('scrollchange' + eventNamespace, module.event.scrollchange)
- ;
+ .on('scrollchange' + eventNamespace, module.event.scrollchange);
},
},
@@ -234,20 +223,18 @@
if (!Array.isArray(images)) {
images = [images];
}
- var
- imagesLength = images.length,
- loadedCounter = 0,
- cache = [],
- cacheImage = document.createElement('img'),
- handleLoad = function () {
- loadedCounter++;
- if (loadedCounter >= images.length) {
- if (isFunction(callback)) {
- callback();
- }
+ var imagesLength = images.length;
+ var loadedCounter = 0;
+ var cache = [];
+ var cacheImage = document.createElement('img');
+ var handleLoad = function () {
+ loadedCounter++;
+ if (loadedCounter >= images.length) {
+ if (isFunction(callback)) {
+ callback();
}
}
- ;
+ };
while (imagesLength--) {
cacheImage = document.createElement('img');
cacheImage.addEventListener('load', handleLoad);
@@ -289,9 +276,7 @@
};
},
image: function () {
- var
- src = $module.data(metadata.src)
- ;
+ var src = $module.data(metadata.src);
if (src) {
module.verbose('Lazy loading image', src);
settings.once = true;
@@ -348,8 +333,7 @@
.clone(false)
.css('display', 'none')
.addClass(className.placeholder)
- .insertAfter($module)
- ;
+ .insertAfter($module);
},
},
@@ -358,8 +342,7 @@
module.verbose('Showing placeholder');
$placeholder
.css('display', 'block')
- .css('visibility', 'hidden')
- ;
+ .css('visibility', 'hidden');
},
},
hide: {
@@ -367,8 +350,7 @@
module.verbose('Hiding placeholder');
$placeholder
.css('display', 'none')
- .css('visibility', '')
- ;
+ .css('visibility', '');
},
},
@@ -382,14 +364,12 @@
top: settings.offset + 'px',
left: 'auto',
zIndex: settings.zIndex,
- })
- ;
+ });
settings.onFixed.call(element);
},
image: function (src, callback) {
$module
- .attr('src', src)
- ;
+ .attr('src', src);
if (settings.transition) {
if ($.fn.transition !== undefined) {
if ($module.hasClass(className.visible)) {
@@ -409,16 +389,12 @@
is: {
onScreen: function () {
- var
- calculations = module.get.elementCalculations()
- ;
+ var calculations = module.get.elementCalculations();
return calculations.onScreen;
},
offScreen: function () {
- var
- calculations = module.get.elementCalculations()
- ;
+ var calculations = module.get.elementCalculations();
return calculations.offScreen;
},
@@ -430,20 +406,16 @@
return false;
},
verticallyScrollableContext: function () {
- var
- overflowY = $context[0] !== window
- ? $context.css('overflow-y')
- : false
- ;
+ var overflowY = $context[0] !== window
+ ? $context.css('overflow-y')
+ : false;
return overflowY === 'auto' || overflowY === 'scroll';
},
horizontallyScrollableContext: function () {
- var
- overflowX = $context[0] !== window
- ? $context.css('overflow-x')
- : false
- ;
+ var overflowX = $context[0] !== window
+ ? $context.css('overflow-x')
+ : false;
return overflowX === 'auto' || overflowX === 'scroll';
},
@@ -512,9 +484,7 @@
},
passed: function (amount, newCallback) {
- var
- calculations = module.get.elementCalculations()
- ;
+ var calculations = module.get.elementCalculations();
// assign callback
if (amount && newCallback) {
settings.onPassed[amount] = newCallback;
@@ -532,11 +502,9 @@
},
onScreen: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onOnScreen,
- callbackName = 'onScreen'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onOnScreen;
+ var callbackName = 'onScreen';
if (newCallback) {
module.debug('Adding callback for onScreen', newCallback);
settings.onOnScreen = newCallback;
@@ -552,11 +520,9 @@
},
offScreen: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onOffScreen,
- callbackName = 'offScreen'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onOffScreen;
+ var callbackName = 'offScreen';
if (newCallback) {
module.debug('Adding callback for offScreen', newCallback);
settings.onOffScreen = newCallback;
@@ -572,11 +538,9 @@
},
passing: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onPassing,
- callbackName = 'passing'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onPassing;
+ var callbackName = 'passing';
if (newCallback) {
module.debug('Adding callback for passing', newCallback);
settings.onPassing = newCallback;
@@ -592,11 +556,9 @@
},
topVisible: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onTopVisible,
- callbackName = 'topVisible'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onTopVisible;
+ var callbackName = 'topVisible';
if (newCallback) {
module.debug('Adding callback for top visible', newCallback);
settings.onTopVisible = newCallback;
@@ -612,11 +574,9 @@
},
bottomVisible: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onBottomVisible,
- callbackName = 'bottomVisible'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onBottomVisible;
+ var callbackName = 'bottomVisible';
if (newCallback) {
module.debug('Adding callback for bottom visible', newCallback);
settings.onBottomVisible = newCallback;
@@ -632,11 +592,9 @@
},
topPassed: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onTopPassed,
- callbackName = 'topPassed'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onTopPassed;
+ var callbackName = 'topPassed';
if (newCallback) {
module.debug('Adding callback for top passed', newCallback);
settings.onTopPassed = newCallback;
@@ -652,11 +610,9 @@
},
bottomPassed: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onBottomPassed,
- callbackName = 'bottomPassed'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onBottomPassed;
+ var callbackName = 'bottomPassed';
if (newCallback) {
module.debug('Adding callback for bottom passed', newCallback);
settings.onBottomPassed = newCallback;
@@ -672,11 +628,9 @@
},
passingReverse: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onPassingReverse,
- callbackName = 'passingReverse'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onPassingReverse;
+ var callbackName = 'passingReverse';
if (newCallback) {
module.debug('Adding callback for passing reverse', newCallback);
settings.onPassingReverse = newCallback;
@@ -694,11 +648,9 @@
},
topVisibleReverse: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onTopVisibleReverse,
- callbackName = 'topVisibleReverse'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onTopVisibleReverse;
+ var callbackName = 'topVisibleReverse';
if (newCallback) {
module.debug('Adding callback for top visible reverse', newCallback);
settings.onTopVisibleReverse = newCallback;
@@ -716,11 +668,9 @@
},
bottomVisibleReverse: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onBottomVisibleReverse,
- callbackName = 'bottomVisibleReverse'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onBottomVisibleReverse;
+ var callbackName = 'bottomVisibleReverse';
if (newCallback) {
module.debug('Adding callback for bottom visible reverse', newCallback);
settings.onBottomVisibleReverse = newCallback;
@@ -738,11 +688,9 @@
},
topPassedReverse: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onTopPassedReverse,
- callbackName = 'topPassedReverse'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onTopPassedReverse;
+ var callbackName = 'topPassedReverse';
if (newCallback) {
module.debug('Adding callback for top passed reverse', newCallback);
settings.onTopPassedReverse = newCallback;
@@ -760,11 +708,9 @@
},
bottomPassedReverse: function (newCallback) {
- var
- calculations = module.get.elementCalculations(),
- callback = newCallback || settings.onBottomPassedReverse,
- callbackName = 'bottomPassedReverse'
- ;
+ var calculations = module.get.elementCalculations();
+ var callback = newCallback || settings.onBottomPassedReverse;
+ var callbackName = 'bottomPassedReverse';
if (newCallback) {
module.debug('Adding callback for bottom passed reverse', newCallback);
settings.onBottomPassedReverse = newCallback;
@@ -782,10 +728,8 @@
},
execute: function (callback, callbackName) {
- var
- calculations = module.get.elementCalculations(),
- screen = module.get.screenCalculations()
- ;
+ var calculations = module.get.elementCalculations();
+ var screen = module.get.screenCalculations();
callback = callback || false;
if (callback) {
if (settings.continuous) {
@@ -809,8 +753,7 @@
top: '',
left: '',
zIndex: '',
- })
- ;
+ });
settings.onUnfixed.call(element);
},
placeholder: function () {
@@ -821,9 +764,7 @@
},
occurred: function (callback) {
if (callback) {
- var
- occurred = module.cache.occurred
- ;
+ var occurred = module.cache.occurred;
if (occurred[callback] !== undefined && occurred[callback] === true) {
module.debug('Callback can now be called again', callback);
module.cache.occurred[callback] = false;
@@ -854,11 +795,9 @@
module.cache.scroll = scrollPosition;
},
direction: function () {
- var
- scroll = module.get.scroll(),
- lastScroll = module.get.lastScroll(),
- direction
- ;
+ var scroll = module.get.scroll();
+ var lastScroll = module.get.lastScroll();
+ var direction;
if (scroll > lastScroll && lastScroll) {
direction = 'down';
} else if (scroll < lastScroll && lastScroll) {
@@ -871,10 +810,8 @@
return module.cache.direction;
},
elementPosition: function () {
- var
- element = module.cache.element,
- screen = module.get.screenSize()
- ;
+ var element = module.cache.element;
+ var screen = module.get.screenSize();
module.verbose('Saving element position');
// (quicker than $.extend)
element.fits = element.height < screen.height;
@@ -894,10 +831,8 @@
return element;
},
elementCalculations: function () {
- var
- screen = module.get.screenCalculations(),
- element = module.get.elementPosition()
- ;
+ var screen = module.get.screenCalculations();
+ var element = module.get.elementPosition();
// offset
if (settings.includeMargin) {
element.margin = {};
@@ -934,9 +869,7 @@
return element;
},
screenCalculations: function () {
- var
- scroll = module.get.scroll()
- ;
+ var scroll = module.get.scroll();
module.save.direction();
module.cache.screen.top = scroll;
module.cache.screen.bottom = scroll + module.cache.screen.height;
@@ -957,9 +890,7 @@
get: {
pixelsPassed: function (amount) {
- var
- element = module.get.elementCalculations()
- ;
+ var element = module.get.elementCalculations();
if (amount.search('%') > -1) {
return element.height * (parseInt(amount, 10) / 100);
}
@@ -1070,11 +1001,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -1093,10 +1022,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -1118,12 +1045,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -1132,8 +1057,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
diff --git a/src/definitions/globals/site.js b/src/definitions/globals/site.js
index a86fbd653b..c8ad4be23b 100644
--- a/src/definitions/globals/site.js
+++ b/src/definitions/globals/site.js
@@ -20,31 +20,29 @@
: globalThis;
$.fn.site = function (parameters) {
- var
- time = Date.now(),
- performance = [],
+ var time = Date.now();
+ var performance = [];
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.site.settings, parameters)
- : $.extend({}, $.site.settings),
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.site.settings, parameters)
+ : $.extend({}, $.site.settings);
- namespace = settings.namespace,
- error = settings.error,
+ var namespace = settings.namespace;
+ var error = settings.error;
- moduleNamespace = 'module-' + namespace,
+ var moduleNamespace = 'module-' + namespace;
- $document = $(document),
- $module = $document,
- element = this,
- instance = $module.data(moduleNamespace),
+ var $document = $(document);
+ var $module = $document;
+ var element = this;
+ var instance = $module.data(moduleNamespace);
- module,
- returnedValue
- ;
+ var module;
+ var returnedValue;
module = {
initialize: function () {
@@ -55,8 +53,7 @@
module.verbose('Storing instance of site', module);
instance = module;
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
},
normalize: function () {
@@ -78,9 +75,7 @@
enabled: {
modules: function (modules) {
- var
- enabledModules = []
- ;
+ var enabledModules = [];
modules = modules || settings.modules;
$.each(modules, function (index, name) {
if (module.moduleExists(name)) {
@@ -94,9 +89,7 @@
disabled: {
modules: function (modules) {
- var
- disabledModules = []
- ;
+ var disabledModules = [];
modules = modules || settings.modules;
$.each(modules, function (index, name) {
if (!module.moduleExists(name)) {
@@ -119,12 +112,10 @@
? modifyExisting
: true;
$.each(modules, function (index, name) {
- var
- namespace = module.moduleExists(name)
- ? $.fn[name].settings.namespace || false
- : true,
- $existingModules
- ;
+ var namespace = module.moduleExists(name)
+ ? $.fn[name].settings.namespace || false
+ : true;
+ var $existingModules;
if (module.moduleExists(name)) {
module.verbose('Changing default setting', setting, value, name);
$.fn[name].settings[setting] = value;
@@ -146,9 +137,7 @@
? modifyExisting
: true;
$.each(modules, function (index, name) {
- var
- $existingModules
- ;
+ var $existingModules;
if (module.moduleExists(name)) {
module.verbose('Changing default setting', newSettings, name);
$.extend(true, $.fn[name].settings, newSettings);
@@ -224,8 +213,7 @@
destroy: function () {
module.verbose('Destroying previous site for', $module);
$module
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
},
cache: {},
@@ -274,11 +262,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -297,10 +283,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -322,12 +306,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -336,8 +318,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
diff --git a/src/definitions/modules/accordion.js b/src/definitions/modules/accordion.js
index 2cc1186562..ec301a6555 100644
--- a/src/definitions/modules/accordion.js
+++ b/src/definitions/modules/accordion.js
@@ -20,41 +20,37 @@
: globalThis;
$.fn.accordion = function (parameters) {
- var
- $allModules = $(this),
+ var $allModules = $(this);
- time = Date.now(),
- performance = [],
+ var time = Date.now();
+ var performance = [];
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
- returnedValue
- ;
+ var returnedValue;
$allModules.each(function () {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.accordion.settings, parameters)
- : $.extend({}, $.fn.accordion.settings),
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.accordion.settings, parameters)
+ : $.extend({}, $.fn.accordion.settings);
- className = settings.className,
- namespace = settings.namespace,
- selector = settings.selector,
- error = settings.error,
+ var className = settings.className;
+ var namespace = settings.namespace;
+ var selector = settings.selector;
+ var error = settings.error;
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
- $module = $(this),
- $title = $module.find(selector.title),
- $content = $module.find(selector.content),
+ var $module = $(this);
+ var $title = $module.find(selector.title);
+ var $content = $module.find(selector.content);
- element = this,
- instance = $module.data(moduleNamespace),
- observer,
- module
- ;
+ var element = this;
+ var instance = $module.data(moduleNamespace);
+ var observer;
+ var module;
module = {
@@ -70,16 +66,14 @@
instantiate: function () {
instance = module;
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
},
destroy: function () {
module.debug('Destroying previous instance', $module);
$module
.off(eventNamespace)
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
},
refresh: function () {
@@ -105,8 +99,7 @@
events: function () {
module.debug('Binding delegated events');
$module
- .on(settings.on + eventNamespace, selector.trigger, module.event.click)
- ;
+ .on(settings.on + eventNamespace, selector.trigger, module.event.click);
},
},
@@ -119,18 +112,16 @@
},
toggle: function (query) {
- var
- $activeTitle = query !== undefined
- ? (typeof query === 'number'
- ? $title.eq(query)
- : $(query).closest(selector.title))
- : $(this).closest(selector.title),
- $activeContent = $activeTitle.next($content),
- isAnimating = $activeContent.hasClass(className.animating),
- isActive = $activeContent.hasClass(className.active),
- isOpen = isActive && !isAnimating,
- isOpening = !isActive && isAnimating
- ;
+ var $activeTitle = query !== undefined
+ ? (typeof query === 'number'
+ ? $title.eq(query)
+ : $(query).closest(selector.title))
+ : $(this).closest(selector.title);
+ var $activeContent = $activeTitle.next($content);
+ var isAnimating = $activeContent.hasClass(className.animating);
+ var isActive = $activeContent.hasClass(className.active);
+ var isOpen = isActive && !isAnimating;
+ var isOpening = !isActive && isAnimating;
module.debug('Toggling visibility of content', $activeTitle);
if (isOpen || isOpening) {
if (settings.collapsible) {
@@ -144,17 +135,15 @@
},
open: function (query) {
- var
- $activeTitle = query !== undefined
- ? (typeof query === 'number'
- ? $title.eq(query)
- : $(query).closest(selector.title))
- : $(this).closest(selector.title),
- $activeContent = $activeTitle.next($content),
- isAnimating = $activeContent.hasClass(className.animating),
- isActive = $activeContent.hasClass(className.active),
- isOpen = isActive || isAnimating
- ;
+ var $activeTitle = query !== undefined
+ ? (typeof query === 'number'
+ ? $title.eq(query)
+ : $(query).closest(selector.title))
+ : $(this).closest(selector.title);
+ var $activeContent = $activeTitle.next($content);
+ var isAnimating = $activeContent.hasClass(className.animating);
+ var isActive = $activeContent.hasClass(className.active);
+ var isOpen = isActive || isAnimating;
if (isOpen) {
module.debug('Accordion already open, skipping', $activeContent);
@@ -167,12 +156,10 @@
module.closeOthers.call($activeTitle);
}
$activeTitle
- .addClass(className.active)
- ;
+ .addClass(className.active);
$activeContent
.stop(true, true)
- .addClass(className.animating)
- ;
+ .addClass(className.animating);
if (settings.animateChildren) {
if ($.fn.transition !== undefined) {
$activeContent
@@ -189,8 +176,7 @@
onComplete: function () {
$activeContent.children().removeClass(className.transition);
},
- })
- ;
+ });
} else {
$activeContent
.children()
@@ -204,39 +190,33 @@
.slideDown(settings.duration, settings.easing, function () {
$activeContent
.removeClass(className.animating)
- .addClass(className.active)
- ;
+ .addClass(className.active);
module.reset.display.call(this);
settings.onOpen.call(this);
settings.onChange.call(this);
- })
- ;
+ });
},
close: function (query) {
- var
- $activeTitle = query !== undefined
- ? (typeof query === 'number'
- ? $title.eq(query)
- : $(query).closest(selector.title))
- : $(this).closest(selector.title),
- $activeContent = $activeTitle.next($content),
- isAnimating = $activeContent.hasClass(className.animating),
- isActive = $activeContent.hasClass(className.active),
- isOpening = !isActive && isAnimating,
- isClosing = isActive && isAnimating
- ;
+ var $activeTitle = query !== undefined
+ ? (typeof query === 'number'
+ ? $title.eq(query)
+ : $(query).closest(selector.title))
+ : $(this).closest(selector.title);
+ var $activeContent = $activeTitle.next($content);
+ var isAnimating = $activeContent.hasClass(className.animating);
+ var isActive = $activeContent.hasClass(className.active);
+ var isOpening = !isActive && isAnimating;
+ var isClosing = isActive && isAnimating;
if ((isActive || isOpening) && !isClosing) {
module.debug('Closing accordion content', $activeContent);
settings.onClosing.call($activeContent);
settings.onChanging.call($activeContent);
$activeTitle
- .removeClass(className.active)
- ;
+ .removeClass(className.active);
$activeContent
.stop(true, true)
- .addClass(className.animating)
- ;
+ .addClass(className.animating);
if (settings.animateChildren) {
if ($.fn.transition !== undefined) {
$activeContent
@@ -250,8 +230,7 @@
silent: settings.silent,
duration: settings.duration,
skipInlineHidden: true,
- })
- ;
+ });
} else {
$activeContent
.children()
@@ -265,29 +244,25 @@
.slideUp(settings.duration, settings.easing, function () {
$activeContent
.removeClass(className.animating)
- .removeClass(className.active)
- ;
+ .removeClass(className.active);
module.reset.display.call(this);
settings.onClose.call(this);
settings.onChange.call(this);
- })
- ;
+ });
}
},
closeOthers: function (index) {
- var
- $activeTitle = index !== undefined
- ? $title.eq(index)
- : $(this).closest(selector.title),
- $parentTitles = $activeTitle.parents(selector.content).prev(selector.title),
- $activeAccordion = $activeTitle.closest(selector.accordion),
- activeSelector = selector.title + '.' + className.active + ':visible',
- activeContent = selector.content + '.' + className.active + ':visible',
- $openTitles,
- $nestedTitles,
- $openContents
- ;
+ var $activeTitle = index !== undefined
+ ? $title.eq(index)
+ : $(this).closest(selector.title);
+ var $parentTitles = $activeTitle.parents(selector.content).prev(selector.title);
+ var $activeAccordion = $activeTitle.closest(selector.accordion);
+ var activeSelector = selector.title + '.' + className.active + ':visible';
+ var activeContent = selector.content + '.' + className.active + ':visible';
+ var $openTitles;
+ var $nestedTitles;
+ var $openContents;
if (settings.closeNested) {
$openTitles = $activeAccordion.find(activeSelector).not($parentTitles);
$openContents = $openTitles.next($content);
@@ -300,12 +275,10 @@
if ($openTitles.length > 0) {
module.debug('Exclusive enabled, closing other content', $openTitles);
$openTitles
- .removeClass(className.active)
- ;
+ .removeClass(className.active);
$openContents
.removeClass(className.animating)
- .stop(true, true)
- ;
+ .stop(true, true);
if (settings.animateChildren) {
if ($.fn.transition !== undefined) {
$openContents
@@ -318,8 +291,7 @@
silent: settings.silent,
duration: settings.duration,
skipInlineHidden: true,
- })
- ;
+ });
} else {
$openContents
.children()
@@ -333,8 +305,7 @@
.slideUp(settings.duration, settings.easing, function () {
$(this).removeClass(className.active);
module.reset.display.call(this);
- })
- ;
+ });
}
},
@@ -347,8 +318,7 @@
if ($element.attr('style') === '') {
$element
.attr('style', '')
- .removeAttr('style')
- ;
+ .removeAttr('style');
}
},
@@ -359,8 +329,7 @@
if ($element.attr('style') === '') {
$element
.attr('style', '')
- .removeAttr('style')
- ;
+ .removeAttr('style');
}
},
@@ -420,11 +389,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -443,10 +410,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -468,12 +433,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
diff --git a/src/definitions/modules/calendar.js b/src/definitions/modules/calendar.js
index d1e6f41919..9f38ef1ab5 100644
--- a/src/definitions/modules/calendar.js
+++ b/src/definitions/modules/calendar.js
@@ -20,61 +20,57 @@
: globalThis;
$.fn.calendar = function (parameters) {
- var
- $allModules = $(this),
- $document = $(document),
-
- time = Date.now(),
- performance = [],
-
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- returnedValue,
- timeGapTable = {
- 5: { row: 4, column: 3 },
- 10: { row: 3, column: 2 },
- 15: { row: 2, column: 2 },
- 20: { row: 3, column: 1 },
- 30: { row: 2, column: 1 },
- },
- numberText = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight']
- ;
+ var $allModules = $(this);
+ var $document = $(document);
+
+ var time = Date.now();
+ var performance = [];
+
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var returnedValue;
+ var timeGapTable = {
+ 5: { row: 4, column: 3 },
+ 10: { row: 3, column: 2 },
+ 15: { row: 2, column: 2 },
+ 20: { row: 3, column: 1 },
+ 30: { row: 2, column: 1 },
+ };
+ var numberText = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'];
$allModules.each(function () {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.calendar.settings, parameters)
- : $.extend({}, $.fn.calendar.settings),
-
- className = settings.className,
- namespace = settings.namespace,
- selector = settings.selector,
- formatter = settings.formatter,
- parser = settings.parser,
- metadata = settings.metadata,
- timeGap = timeGapTable[settings.minTimeGap],
- error = settings.error,
-
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
-
- $module = $(this),
- $input = $module.find(selector.input),
- $activator = $module.find(selector.activator),
-
- element = this,
- instance = $module.data(moduleNamespace),
- $container = instance && instance.popupId ? $document.find('#' + instance.popupId) : $module.find(selector.popup),
-
- isTouch,
- isTouchDown = false,
- isInverted = $module.hasClass(className.inverted),
- focusDateUsedForRange = false,
- selectionComplete = false,
- classObserver,
- module
- ;
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.calendar.settings, parameters)
+ : $.extend({}, $.fn.calendar.settings);
+
+ var className = settings.className;
+ var namespace = settings.namespace;
+ var selector = settings.selector;
+ var formatter = settings.formatter;
+ var parser = settings.parser;
+ var metadata = settings.metadata;
+ var timeGap = timeGapTable[settings.minTimeGap];
+ var error = settings.error;
+
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
+
+ var $module = $(this);
+ var $input = $module.find(selector.input);
+ var $activator = $module.find(selector.activator);
+
+ var element = this;
+ var instance = $module.data(moduleNamespace);
+ var $container = instance && instance.popupId ? $document.find('#' + instance.popupId) : $module.find(selector.popup);
+
+ var isTouch;
+ var isTouchDown = false;
+ var isInverted = $module.hasClass(className.inverted);
+ var focusDateUsedForRange = false;
+ var selectionComplete = false;
+ var classObserver;
+ var module;
module = {
@@ -150,10 +146,8 @@
} else {
// prepend the popup element to the activator's parent so that it has less chance of messing with
// the styling (e.g., input action button needs to be the last child to have the correct border radius)
- var
- $activatorParent = $activator.parent(),
- domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo'
- ;
+ var $activatorParent = $activator.parent();
+ var domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo';
$container = $('').addClass(className.popup)[domPositionFunction]($activatorParent);
}
}
@@ -234,9 +228,7 @@
trigger: {
change: function () {
- var
- inputElement = $input[0]
- ;
+ var inputElement = $input[0];
if (inputElement) {
var events = document.createEvent('HTMLEvents');
module.verbose('Triggering native change event');
@@ -248,48 +240,40 @@
create: {
calendar: function () {
- var
- i,
- r,
- c,
- p,
- row,
- cell,
- pageGrid
- ;
-
- var
- mode = module.get.mode(),
- today = new Date(),
- date = module.get.date(),
- focusDate = module.get.focusDate(),
- display = module.helper.dateInRange(focusDate || date || parser.date(settings.initialDate, settings) || today)
- ;
+ var i;
+ var r;
+ var c;
+ var p;
+ var row;
+ var cell;
+ var pageGrid;
+
+ var mode = module.get.mode();
+ var today = new Date();
+ var date = module.get.date();
+ var focusDate = module.get.focusDate();
+ var display = module.helper.dateInRange(focusDate || date || parser.date(settings.initialDate, settings) || today);
if (!focusDate) {
focusDate = display;
module.set.focusDate(focusDate, false, false);
}
- var
- isYear = mode === 'year',
- isMonth = mode === 'month',
- isDay = mode === 'day',
- isHour = mode === 'hour',
- isMinute = mode === 'minute',
- isTimeOnly = settings.type === 'time'
- ;
+ var isYear = mode === 'year';
+ var isMonth = mode === 'month';
+ var isDay = mode === 'day';
+ var isHour = mode === 'hour';
+ var isMinute = mode === 'minute';
+ var isTimeOnly = settings.type === 'time';
var multiMonth = Math.max(settings.multiMonth, 1);
var monthOffset = !isDay ? 0 : module.get.monthOffset();
- var
- minute = display.getMinutes(),
- hour = display.getHours(),
- day = display.getDate(),
- startMonth = display.getMonth() + monthOffset,
- year = display.getFullYear()
- ;
+ var minute = display.getMinutes();
+ var hour = display.getHours();
+ var day = display.getDate();
+ var startMonth = display.getMonth() + monthOffset;
+ var year = display.getFullYear();
var columns = isDay
? (settings.showWeekNumbers ? 8 : 7)
@@ -317,28 +301,26 @@
rows = Math.ceil(requiredCells / 7);
}
- var
- yearChange = isYear ? 10 : (isMonth ? 1 : 0),
- monthChange = isDay ? 1 : 0,
- dayChange = isHour || isMinute ? 1 : 0,
- prevNextDay = isHour || isMinute ? day : 1,
- prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour),
- nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour),
- prevLast = isYear
- ? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0)
- : (isMonth
- ? new Date(year, 0, 0)
- : (isDay // eslint-disable-line unicorn/no-nested-ternary
- ? new Date(year, month, 0)
- : new Date(year, month, day, -1))),
- nextFirst = isYear
- ? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1)
- : (isMonth
- ? new Date(year + 1, 0, 1)
- : (isDay // eslint-disable-line unicorn/no-nested-ternary
- ? new Date(year, month + 1, 1)
- : new Date(year, month, day + 1)))
- ;
+ var yearChange = isYear ? 10 : (isMonth ? 1 : 0);
+ var monthChange = isDay ? 1 : 0;
+ var dayChange = isHour || isMinute ? 1 : 0;
+ var prevNextDay = isHour || isMinute ? day : 1;
+ var prevDate = new Date(year - yearChange, month - monthChange, prevNextDay - dayChange, hour);
+ var nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour);
+ var prevLast = isYear
+ ? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0)
+ : (isMonth
+ ? new Date(year, 0, 0)
+ : (isDay // eslint-disable-line unicorn/no-nested-ternary
+ ? new Date(year, month, 0)
+ : new Date(year, month, day, -1)));
+ var nextFirst = isYear
+ ? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1)
+ : (isMonth
+ ? new Date(year + 1, 0, 1)
+ : (isDay // eslint-disable-line unicorn/no-nested-ternary
+ ? new Date(year, month + 1, 1)
+ : new Date(year, month, day + 1)));
var tempMode = mode;
if (isDay && settings.showWeekNumbers) {
@@ -790,12 +772,11 @@
get: {
weekOfYear: function (weekYear, weekMonth, weekDay) {
// adapted from http://www.merlyn.demon.co.uk/weekcalc.htm
- var ms1d = 24 * 3600 * 1000,
- ms7d = 7 * ms1d,
- DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d, // an absolute day number
- AWN = Math.floor(DC3 / 7), // an absolute week number
- Wyr = new Date(AWN * ms7d).getUTCFullYear()
- ;
+ var ms1d = 24 * 3600 * 1000;
+ var ms7d = 7 * ms1d;
+ var DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d; // an absolute day number
+ var AWN = Math.floor(DC3 / 7); // an absolute week number
+ var Wyr = new Date(AWN * ms7d).getUTCFullYear();
return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1;
},
@@ -1094,46 +1075,44 @@
return format.call(module, date, settings);
}
- var
- D = date.getDate(),
- M = date.getMonth(),
- Y = date.getFullYear(),
- d = date.getDay(),
- H = date.getHours(),
- m = date.getMinutes(),
- s = date.getSeconds(),
- w = module.get.weekOfYear(Y, M, D + 1 - settings.firstDayOfWeek),
- h = H % 12 || 12,
- a = H < 12 ? settings.text.am.toLowerCase() : settings.text.pm.toLowerCase(),
- tokens = {
- D: D,
- DD: ('0' + D).slice(-2),
- M: M + 1,
- MM: ('0' + (M + 1)).slice(-2),
- MMM: settings.text.monthsShort[M],
- MMMM: settings.text.months[M],
- Y: Y,
- YY: String(Y).slice(2),
- YYYY: Y,
- d: d,
- dd: settings.text.dayNamesShort[d].slice(0, 2),
- ddd: settings.text.dayNamesShort[d],
- dddd: settings.text.dayNames[d],
- h: h,
- hh: ('0' + h).slice(-2),
- H: H,
- HH: ('0' + H).slice(-2),
- m: m,
- mm: ('0' + m).slice(-2),
- s: s,
- ss: ('0' + s).slice(-2),
- a: a,
- A: a.toUpperCase(),
- S: ['th', 'st', 'nd', 'rd'][(D % 10) > 3 ? 0 : ((D % 100) - (D % 10) === 10 ? 0 : D % 10)],
- w: w,
- ww: ('0' + w).slice(-2),
- }
- ;
+ var D = date.getDate();
+ var M = date.getMonth();
+ var Y = date.getFullYear();
+ var d = date.getDay();
+ var H = date.getHours();
+ var m = date.getMinutes();
+ var s = date.getSeconds();
+ var w = module.get.weekOfYear(Y, M, D + 1 - settings.firstDayOfWeek);
+ var h = H % 12 || 12;
+ var a = H < 12 ? settings.text.am.toLowerCase() : settings.text.pm.toLowerCase();
+ var tokens = {
+ D: D,
+ DD: ('0' + D).slice(-2),
+ M: M + 1,
+ MM: ('0' + (M + 1)).slice(-2),
+ MMM: settings.text.monthsShort[M],
+ MMMM: settings.text.months[M],
+ Y: Y,
+ YY: String(Y).slice(2),
+ YYYY: Y,
+ d: d,
+ dd: settings.text.dayNamesShort[d].slice(0, 2),
+ ddd: settings.text.dayNamesShort[d],
+ dddd: settings.text.dayNames[d],
+ h: h,
+ hh: ('0' + h).slice(-2),
+ H: H,
+ HH: ('0' + H).slice(-2),
+ m: m,
+ mm: ('0' + m).slice(-2),
+ s: s,
+ ss: ('0' + s).slice(-2),
+ a: a,
+ A: a.toUpperCase(),
+ S: ['th', 'st', 'nd', 'rd'][(D % 10) > 3 ? 0 : ((D % 100) - (D % 10) === 10 ? 0 : D % 10)],
+ w: w,
+ ww: ('0' + w).slice(-2),
+ };
return format.replace(settings.regExp.token, function (match) {
if (match in tokens) {
@@ -1493,11 +1472,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -1516,10 +1493,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -1541,12 +1516,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -1555,8 +1528,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
@@ -1727,31 +1699,23 @@
}
text = text.toLowerCase();
- var
- i,
- j,
- k
- ;
- var
- minute = -1,
- hour = -1,
- day = -1,
- month = -1,
- year = -1
- ;
+ var i;
+ var j;
+ var k;
+ var minute = -1;
+ var hour = -1;
+ var day = -1;
+ var month = -1;
+ var year = -1;
var isAm;
var isTimeOnly = settings.type === 'time';
var isDateOnly = settings.type.indexOf('time') < 0;
- var
- words = text.split(settings.regExp.dateWords),
- word
- ;
- var
- numbers = text.split(settings.regExp.dateNumbers),
- number
- ;
+ var words = text.split(settings.regExp.dateWords);
+ var word;
+ var numbers = text.split(settings.regExp.dateNumbers);
+ var number;
var parts;
var monthString;
diff --git a/src/definitions/modules/checkbox.js b/src/definitions/modules/checkbox.js
index 875f2cd71e..fb02c0d1c4 100644
--- a/src/definitions/modules/checkbox.js
+++ b/src/definitions/modules/checkbox.js
@@ -20,43 +20,39 @@
: globalThis;
$.fn.checkbox = function (parameters) {
- var
- $allModules = $(this),
+ var $allModules = $(this);
- time = Date.now(),
- performance = [],
+ var time = Date.now();
+ var performance = [];
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- returnedValue
- ;
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var returnedValue;
$allModules.each(function () {
- var
- settings = $.extend(true, {}, $.fn.checkbox.settings, parameters),
+ var settings = $.extend(true, {}, $.fn.checkbox.settings, parameters);
- className = settings.className,
- namespace = settings.namespace,
- selector = settings.selector,
- error = settings.error,
+ var className = settings.className;
+ var namespace = settings.namespace;
+ var selector = settings.selector;
+ var error = settings.error;
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
- $module = $(this),
- $label = $(this).children(selector.label),
- $input = $(this).children(selector.input),
- input = $input[0],
+ var $module = $(this);
+ var $label = $(this).children(selector.label);
+ var $input = $(this).children(selector.input);
+ var input = $input[0];
- initialLoad = false,
- shortcutPressed = false,
- instance = $module.data(moduleNamespace),
+ var initialLoad = false;
+ var shortcutPressed = false;
+ var instance = $module.data(moduleNamespace);
- observer,
- element = this,
- module
- ;
+ var observer;
+ var element = this;
+ var module;
module = {
@@ -78,8 +74,7 @@
module.verbose('Storing instance of module', module);
instance = module;
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
},
destroy: function () {
@@ -148,17 +143,14 @@
},
attachEvents: function (selector, event) {
- var
- $element = $(selector)
- ;
+ var $element = $(selector);
event = isFunction(module[event])
? module[event]
: module.toggle;
if ($element.length > 0) {
module.debug('Attaching checkbox events to element', selector, event);
$element
- .on('click' + eventNamespace, event)
- ;
+ .on('click' + eventNamespace, event);
} else {
module.error(error.notFound);
}
@@ -178,9 +170,7 @@
}
},
click: function (event) {
- var
- $target = $(event.target)
- ;
+ var $target = $(event.target);
if ($target.is(selector.input)) {
module.verbose('Using default check action on initialized checkbox');
@@ -196,25 +186,21 @@
event.preventDefault();
},
keydown: function (event) {
- var
- key = event.which,
- keyCode = {
- enter: 13,
- space: 32,
- escape: 27,
- left: 37,
- up: 38,
- right: 39,
- down: 40,
- }
- ;
-
- var
- r = module.get.radios().not(selector.disabled),
- rIndex = r.index($module),
- rLen = r.length,
- checkIndex = false
- ;
+ var key = event.which;
+ var keyCode = {
+ enter: 13,
+ space: 32,
+ escape: 27,
+ left: 37,
+ up: 38,
+ right: 39,
+ down: 40,
+ };
+
+ var r = module.get.radios().not(selector.disabled);
+ var rIndex = r.index($module);
+ var rLen = r.length;
+ var checkIndex = false;
if (key === keyCode.left || key === keyCode.up) {
checkIndex = (rIndex === 0 ? rLen : rIndex) - 1;
@@ -228,9 +214,9 @@
return false;
}
- var nextOption = $(r[checkIndex]),
- nextInput = nextOption.children(selector.input),
- disallowOption = nextOption.hasClass(className.readOnly) || nextInput.prop('readonly');
+ var nextOption = $(r[checkIndex]);
+ var nextInput = nextOption.children(selector.input);
+ var disallowOption = nextOption.hasClass(className.readOnly) || nextInput.prop('readonly');
if (disallowOption || settings.beforeChecked.apply(nextInput[0]) === false) {
module.verbose('Next option should not allow check, cancelling key navigation');
@@ -351,9 +337,7 @@
get: {
radios: function () {
- var
- name = module.get.name()
- ;
+ var name = module.get.name();
return $('input[name="' + name + '"]').closest(selector.checkbox);
},
@@ -473,8 +457,7 @@
module.verbose('Setting class to checked');
$module
.removeClass(className.indeterminate)
- .addClass(className.checked)
- ;
+ .addClass(className.checked);
if (module.is.radio()) {
module.uncheckOthers();
}
@@ -486,15 +469,13 @@
module.verbose('Setting state to checked', input);
$input
.prop('indeterminate', false)
- .prop('checked', true)
- ;
+ .prop('checked', true);
},
unchecked: function () {
module.verbose('Removing checked class');
$module
.removeClass(className.indeterminate)
- .removeClass(className.checked)
- ;
+ .removeClass(className.checked);
if (!module.is.indeterminate() && module.is.unchecked()) {
module.debug('Input is already unchecked');
@@ -503,14 +484,12 @@
module.debug('Setting state to unchecked');
$input
.prop('indeterminate', false)
- .prop('checked', false)
- ;
+ .prop('checked', false);
},
indeterminate: function () {
module.verbose('Setting class to indeterminate');
$module
- .addClass(className.indeterminate)
- ;
+ .addClass(className.indeterminate);
if (module.is.indeterminate()) {
module.debug('Input is already indeterminate, skipping input property change');
@@ -518,14 +497,12 @@
}
module.debug('Setting state to indeterminate');
$input
- .prop('indeterminate', true)
- ;
+ .prop('indeterminate', true);
},
determinate: function () {
module.verbose('Removing indeterminate class');
$module
- .removeClass(className.indeterminate)
- ;
+ .removeClass(className.indeterminate);
if (module.is.determinate()) {
module.debug('Input is already determinate, skipping input property change');
@@ -533,14 +510,12 @@
}
module.debug('Setting state to determinate');
$input
- .prop('indeterminate', false)
- ;
+ .prop('indeterminate', false);
},
disabled: function () {
module.verbose('Setting class to disabled');
$module
- .addClass(className.disabled)
- ;
+ .addClass(className.disabled);
if (module.is.disabled()) {
module.debug('Input is already disabled, skipping input property change');
@@ -548,8 +523,7 @@
}
module.debug('Setting state to disabled');
$input
- .prop('disabled', 'disabled')
- ;
+ .prop('disabled', 'disabled');
},
enabled: function () {
module.verbose('Removing disabled class');
@@ -561,8 +535,7 @@
}
module.debug('Setting state to enabled');
$input
- .prop('disabled', false)
- ;
+ .prop('disabled', false);
},
tabbable: function () {
module.verbose('Adding tabindex to checkbox');
@@ -580,9 +553,7 @@
trigger: {
change: function () {
- var
- inputElement = $input[0]
- ;
+ var inputElement = $input[0];
if (inputElement) {
var events = document.createEvent('HTMLEvents');
module.verbose('Triggering native change event');
@@ -617,8 +588,7 @@
.on('click' + eventNamespace, module.event.click)
.on('change' + eventNamespace, module.event.change)
.on('keydown' + eventNamespace, selector.input, module.event.keydown)
- .on('keyup' + eventNamespace, selector.input, module.event.keyup)
- ;
+ .on('keyup' + eventNamespace, selector.input, module.event.keyup);
},
},
@@ -626,15 +596,12 @@
events: function () {
module.debug('Removing events');
$module
- .off(eventNamespace)
- ;
+ .off(eventNamespace);
},
},
uncheckOthers: function () {
- var
- $radios = module.get.otherRadios()
- ;
+ var $radios = module.get.otherRadios();
module.debug('Unchecking other radios', $radios);
$radios.removeClass(className.checked);
},
@@ -706,11 +673,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -729,10 +694,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -754,12 +717,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -768,8 +729,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
diff --git a/src/definitions/modules/dimmer.js b/src/definitions/modules/dimmer.js
index 6fa3d310c8..6d8ddd66dd 100755
--- a/src/definitions/modules/dimmer.js
+++ b/src/definitions/modules/dimmer.js
@@ -20,45 +20,41 @@
: globalThis;
$.fn.dimmer = function (parameters) {
- var
- $allModules = $(this),
+ var $allModules = $(this);
- time = Date.now(),
- performance = [],
+ var time = Date.now();
+ var performance = [];
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
- returnedValue
- ;
+ var returnedValue;
$allModules.each(function () {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.dimmer.settings, parameters)
- : $.extend({}, $.fn.dimmer.settings),
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.dimmer.settings, parameters)
+ : $.extend({}, $.fn.dimmer.settings);
- selector = settings.selector,
- namespace = settings.namespace,
- className = settings.className,
- error = settings.error,
+ var selector = settings.selector;
+ var namespace = settings.namespace;
+ var className = settings.className;
+ var error = settings.error;
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
- clickEvent = 'ontouchstart' in document.documentElement
- ? 'touchstart'
- : 'click',
+ var clickEvent = 'ontouchstart' in document.documentElement
+ ? 'touchstart'
+ : 'click';
- $module = $(this),
- $dimmer,
- $dimmable,
+ var $module = $(this);
+ var $dimmer;
+ var $dimmable;
- element = this,
- instance = $module.data(moduleNamespace),
- module
- ;
+ var element = this;
+ var instance = $module.data(moduleNamespace);
+ var module;
module = {
@@ -90,8 +86,7 @@
module.verbose('Storing instance of module', module);
instance = module;
$module
- .data(moduleNamespace, instance)
- ;
+ .data(moduleNamespace, instance);
},
destroy: function () {
@@ -99,8 +94,7 @@
module.unbind.events();
module.remove.variation();
$dimmable
- .off(eventNamespace)
- ;
+ .off(eventNamespace);
},
bind: {
@@ -108,12 +102,10 @@
if (settings.on === 'hover') {
$dimmable
.on('mouseenter' + eventNamespace, module.show)
- .on('mouseleave' + eventNamespace, module.hide)
- ;
+ .on('mouseleave' + eventNamespace, module.hide);
} else if (settings.on === 'click') {
$dimmable
- .on(clickEvent + eventNamespace, module.toggle)
- ;
+ .on(clickEvent + eventNamespace, module.toggle);
}
if (module.is.page()) {
module.debug('Setting as a page dimmer', $dimmable);
@@ -123,8 +115,7 @@
if (module.is.closable()) {
module.verbose('Adding dimmer close event', $dimmer);
$dimmable
- .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)
- ;
+ .on(clickEvent + eventNamespace, selector.dimmer, module.event.click);
}
},
},
@@ -132,11 +123,9 @@
unbind: {
events: function () {
$module
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
$dimmable
- .off(eventNamespace)
- ;
+ .off(eventNamespace);
},
},
@@ -151,9 +140,7 @@
},
addContent: function (element) {
- var
- $content = $(element)
- ;
+ var $content = $(element);
module.debug('Add content to dimmer', $content);
if ($content.parent()[0] !== $dimmer[0]) {
$content.detach().appendTo($dimmer);
@@ -161,16 +148,13 @@
},
create: function () {
- var
- $element = $(settings.template.dimmer(settings))
- ;
+ var $element = $(settings.template.dimmer(settings));
if (settings.dimmerName) {
module.debug('Creating named dimmer', settings.dimmerName);
$element.addClass(settings.dimmerName);
}
$element
- .appendTo($dimmable)
- ;
+ .appendTo($dimmable);
return $element;
},
@@ -259,8 +243,7 @@
settings.onVisible.call($dimmer);
callback();
},
- })
- ;
+ });
} else {
module.verbose('Showing dimmer animation with javascript');
module.set.dimmed();
@@ -279,8 +262,7 @@
module.set.active();
settings.onVisible.call($dimmer);
callback();
- })
- ;
+ });
}
},
hide: function (callback) {
@@ -308,8 +290,7 @@
settings.onHidden.call($dimmer);
callback();
},
- })
- ;
+ });
} else {
module.verbose('Hiding dimmer with javascript');
$dimmer
@@ -320,8 +301,7 @@
$dimmer.removeAttr('style');
settings.onHidden.call($dimmer);
callback();
- })
- ;
+ });
}
},
},
@@ -394,11 +374,9 @@
set: {
opacity: function (opacity) {
- var
- color = $dimmer.css('background-color'),
- colorArray = color.split(','),
- isRGB = colorArray && colorArray.length >= 3
- ;
+ var color = $dimmer.css('background-color');
+ var colorArray = color.split(',');
+ var isRGB = colorArray && colorArray.length >= 3;
opacity = settings.opacity === 0 ? 0 : settings.opacity || opacity;
if (isRGB) {
colorArray[2] = colorArray[2].replace(')', '');
@@ -439,8 +417,7 @@
remove: {
active: function () {
$dimmer
- .removeClass(className.active)
- ;
+ .removeClass(className.active);
},
legacy: function () {
$dimmer.removeClass(className.legacy);
@@ -510,11 +487,9 @@
},
performance: {
log: function (message) {
- var
- currentTime,
- executionTime,
- previousTime
- ;
+ var currentTime;
+ var executionTime;
+ var previousTime;
if (settings.performance) {
currentTime = Date.now();
previousTime = time || currentTime;
@@ -533,10 +508,8 @@
}, 500);
},
display: function () {
- var
- title = settings.name + ':',
- totalTime = 0
- ;
+ var title = settings.name + ':';
+ var totalTime = 0;
time = false;
clearTimeout(module.performance.timer);
$.each(performance, function (index, data) {
@@ -561,12 +534,10 @@
},
},
invoke: function (query, passedArguments, context) {
- var
- object = instance,
- maxDepth,
- found,
- response
- ;
+ var object = instance;
+ var maxDepth;
+ var found;
+ var response;
passedArguments = passedArguments || queryArguments;
context = context || element;
if (typeof query === 'string' && object !== undefined) {
@@ -575,8 +546,7 @@
$.each(query, function (depth, value) {
var camelCaseValue = depth !== maxDepth
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
- : query
- ;
+ : query;
if ($.isPlainObject(object[camelCaseValue]) && (depth !== maxDepth)) {
object = object[camelCaseValue];
} else if (object[camelCaseValue] !== undefined) {
@@ -708,15 +678,12 @@
template: {
dimmer: function (settings) {
- var
- d = $('').addClass('ui dimmer'),
- l
- ;
+ var d = $('').addClass('ui dimmer');
+ var l;
if (settings.displayLoader) {
l = $('')
.addClass(settings.className.loader)
- .addClass(settings.loaderVariation)
- ;
+ .addClass(settings.loaderVariation);
if (settings.loaderText) {
l.text(settings.loaderText);
l.addClass('text');
diff --git a/src/definitions/modules/dropdown.js b/src/definitions/modules/dropdown.js
index b36543ff6b..dc7cb52656 100644
--- a/src/definitions/modules/dropdown.js
+++ b/src/definitions/modules/dropdown.js
@@ -20,91 +20,87 @@
: globalThis;
$.fn.dropdown = function (parameters) {
- var
- $allModules = $(this),
- $document = $(document),
-
- time = Date.now(),
- performance = [],
-
- query = arguments[0],
- methodInvoked = typeof query === 'string',
- queryArguments = [].slice.call(arguments, 1),
- contextCheck = function (context, win) {
- var $context;
- if ([window, document].indexOf(context) >= 0) {
- $context = $(context);
- } else {
- $context = $(win.document).find(context);
- if ($context.length === 0) {
- $context = win.frameElement ? contextCheck(context, win.parent) : window;
- }
+ var $allModules = $(this);
+ var $document = $(document);
+
+ var time = Date.now();
+ var performance = [];
+
+ var query = arguments[0];
+ var methodInvoked = typeof query === 'string';
+ var queryArguments = [].slice.call(arguments, 1);
+ var contextCheck = function (context, win) {
+ var $context;
+ if ([window, document].indexOf(context) >= 0) {
+ $context = $(context);
+ } else {
+ $context = $(win.document).find(context);
+ if ($context.length === 0) {
+ $context = win.frameElement ? contextCheck(context, win.parent) : window;
}
+ }
- return $context;
- },
- returnedValue
- ;
+ return $context;
+ };
+ var returnedValue;
$allModules.each(function (elementIndex) {
- var
- settings = $.isPlainObject(parameters)
- ? $.extend(true, {}, $.fn.dropdown.settings, parameters)
- : $.extend({}, $.fn.dropdown.settings),
-
- className = settings.className,
- message = settings.message,
- fields = settings.fields,
- keys = settings.keys,
- metadata = settings.metadata,
- namespace = settings.namespace,
- regExp = settings.regExp,
- selector = settings.selector,
- error = settings.error,
- templates = settings.templates,
-
- eventNamespace = '.' + namespace,
- moduleNamespace = 'module-' + namespace,
-
- $module = $(this),
- $context = contextCheck(settings.context, window),
- $text = $module.find(selector.text),
- $search = $module.find(selector.search),
- $sizer = $module.find(selector.sizer),
- $input = $module.find(selector.input),
- $icon = $module.find(selector.icon),
- $clear = $module.find(selector.clearIcon),
-
- $combo = $module.prev().find(selector.text).length > 0
- ? $module.prev().find(selector.text)
- : $module.prev(),
-
- $menu = $module.children(selector.menu),
- $item = $menu.find(selector.item),
- $divider = settings.hideDividers
- ? $item.parent().children(selector.divider)
- : $(),
-
- activated = false,
- itemActivated = false,
- internalChange = false,
- iconClicked = false,
- element = this,
- focused = false,
- instance = $module.data(moduleNamespace),
-
- selectActionActive,
- initialLoad,
- pageLostFocus,
- willRefocus,
- elementNamespace,
- id,
- selectObserver,
- menuObserver,
- classObserver,
- module,
- tempDisableApiCache = false
- ;
+ var settings = $.isPlainObject(parameters)
+ ? $.extend(true, {}, $.fn.dropdown.settings, parameters)
+ : $.extend({}, $.fn.dropdown.settings);
+
+ var className = settings.className;
+ var message = settings.message;
+ var fields = settings.fields;
+ var keys = settings.keys;
+ var metadata = settings.metadata;
+ var namespace = settings.namespace;
+ var regExp = settings.regExp;
+ var selector = settings.selector;
+ var error = settings.error;
+ var templates = settings.templates;
+
+ var eventNamespace = '.' + namespace;
+ var moduleNamespace = 'module-' + namespace;
+
+ var $module = $(this);
+ var $context = contextCheck(settings.context, window);
+ var $text = $module.find(selector.text);
+ var $search = $module.find(selector.search);
+ var $sizer = $module.find(selector.sizer);
+ var $input = $module.find(selector.input);
+ var $icon = $module.find(selector.icon);
+ var $clear = $module.find(selector.clearIcon);
+
+ var $combo = $module.prev().find(selector.text).length > 0
+ ? $module.prev().find(selector.text)
+ : $module.prev();
+
+ var $menu = $module.children(selector.menu);
+ var $item = $menu.find(selector.item);
+ var $divider = settings.hideDividers
+ ? $item.parent().children(selector.divider)
+ : $();
+
+ var activated = false;
+ var itemActivated = false;
+ var internalChange = false;
+ var iconClicked = false;
+ var element = this;
+ var focused = false;
+ var instance = $module.data(moduleNamespace);
+
+ var selectActionActive;
+ var initialLoad;
+ var pageLostFocus;
+ var willRefocus;
+ var elementNamespace;
+ var id;
+ var selectObserver;
+ var menuObserver;
+ var classObserver;
+ var module;
+ var tempDisableApiCache = false;
module = {
@@ -142,8 +138,7 @@
module.verbose('Storing instance of dropdown', module);
instance = module;
$module
- .data(moduleNamespace, module)
- ;
+ .data(moduleNamespace, module);
},
destroy: function () {
@@ -154,14 +149,11 @@
$menu.removeClass(className.visible).addClass(className.hidden);
$module
.off(eventNamespace)
- .removeData(moduleNamespace)
- ;
+ .removeData(moduleNamespace);
$menu
- .off(eventNamespace)
- ;
+ .off(eventNamespace);
$document
- .off(elementNamespace)
- ;
+ .off(elementNamespace);
module.disconnect.menuObserver();
module.disconnect.selectObserver();
module.disconnect.classObserver();
@@ -230,11 +222,9 @@
module.verbose('Creating unique id for element', id);
},
userChoice: function (values) {
- var
- $userChoices,
- $userChoice,
- html
- ;
+ var $userChoices;
+ var $userChoice;
+ var html;
values = values || module.get.userValues();
if (!values) {
return false;
@@ -250,8 +240,7 @@
.attr('data-' + metadata.value, value)
.attr('data-' + metadata.text, value)
.addClass(className.addition)
- .addClass(className.item)
- ;
+ .addClass(className.item);
if (settings.hideAdditions) {
$userChoice.addClass(className.hidden);
}
@@ -265,9 +254,7 @@
return $userChoices;
},
userLabels: function (value) {
- var
- userValues = module.get.userValues()
- ;
+ var userValues = module.get.userValues();
if (userValues) {
module.debug('Adding user labels', userValues);
$.each(userValues, function (index, value) {
@@ -279,14 +266,12 @@
menu: function () {
$menu = $('')
.addClass(className.menu)
- .appendTo($module)
- ;
+ .appendTo($module);
},
sizer: function () {
$sizer = $('')
.addClass(className.sizer)
- .insertAfter($search)
- ;
+ .insertAfter($search);
},
},
@@ -312,16 +297,13 @@
.not(selector.unselectable)
.not(selector.addition + selector.hidden)
.eq(0)
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
},
nextAvailable: function ($selected) {
$selected = $selected.eq(0);
- var
- $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0),
- $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0),
- hasNext = $nextAvailable.length > 0
- ;
+ var $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0);
+ var $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0);
+ var hasNext = $nextAvailable.length > 0;
if (hasNext) {
module.verbose('Moving selection to', $nextAvailable);
$nextAvailable.addClass(className.selected);
@@ -334,20 +316,17 @@
setup: {
api: function () {
- var
- apiSettings = {
- debug: settings.debug,
- urlData: {
- value: module.get.value(),
- query: module.get.query(),
- },
- on: false,
- }
- ;
+ var apiSettings = {
+ debug: settings.debug,
+ urlData: {
+ value: module.get.value(),
+ query: module.get.query(),
+ },
+ on: false,
+ };
module.verbose('First request, initializing API');
$module
- .api(apiSettings)
- ;
+ .api(apiSettings);
},
layout: function () {
if ($module.is('select')) {
@@ -361,18 +340,14 @@
module.verbose('Adding clear icon');
$clear = $('')
.addClass('remove icon')
- .insertAfter($icon)
- ;
+ .insertAfter($icon);
}
if (module.is.search() && !module.has.search()) {
module.verbose('Adding search input');
- var
- labelNode = $module.prev('label')
- ;
+ var labelNode = $module.prev('label');
$search = $('')
.addClass(className.search)
- .prop('autocomplete', module.is.chrome() ? 'fomantic-search' : 'off')
- ;
+ .prop('autocomplete', module.is.chrome() ? 'fomantic-search' : 'off');
if (labelNode.length > 0) {
if (!labelNode.attr('id')) {
labelNode.attr('id', '_' + module.get.id() + '_formLabel');
@@ -389,9 +364,7 @@
}
},
select: function () {
- var
- selectValues = module.get.selectValues()
- ;
+ var selectValues = module.get.selectValues();
module.debug('Dropdown initialized on a select', selectValues);
if ($module.is('select')) {
$input = $module;
@@ -412,8 +385,7 @@
.addClass(className.selection)
.addClass(className.dropdown)
.html(templates.dropdown(selectValues, settings))
- .insertBefore($input)
- ;
+ .insertBefore($input);
if ($input.hasClass(className.multiple) && $input.prop('multiple') === false) {
module.error(error.missingMultiple);
$input.prop('multiple', true);
@@ -435,8 +407,7 @@
.prop('required', false)
.removeAttr('class')
.detach()
- .prependTo($module)
- ;
+ .prependTo($module);
}
module.refresh();
},
@@ -455,10 +426,8 @@
module.setup.returnedObject();
},
returnedObject: function () {
- var
- $firstModules = $allModules.slice(0, elementIndex),
- $lastModules = $allModules.slice(elementIndex + 1)
- ;
+ var $firstModules = $allModules.slice(0, elementIndex);
+ var $lastModules = $allModules.slice(elementIndex + 1);
// adjust all modules to use the correct reference
$allModules = $firstModules.add($module).add($lastModules);
},
@@ -492,21 +461,18 @@
module.verbose('Refreshing cached metadata');
$item
.removeData(metadata.text)
- .removeData(metadata.value)
- ;
+ .removeData(metadata.value);
},
clearData: function () {
module.verbose('Clearing metadata');
$item
.removeData(metadata.text)
- .removeData(metadata.value)
- ;
+ .removeData(metadata.value);
$module
.removeData(metadata.defaultText)
.removeData(metadata.defaultValue)
- .removeData(metadata.placeholderText)
- ;
+ .removeData(metadata.placeholderText);
},
clearItems: function () {
@@ -596,8 +562,7 @@
$allModules
.not($module)
.has(selector.menu + '.' + className.visible)
- .dropdown('hide')
- ;
+ .dropdown('hide');
},
hideMenu: function () {
@@ -608,9 +573,7 @@
},
hideSubMenus: function () {
- var
- $subMenus = $menu.children(selector.item).find(selector.menu)
- ;
+ var $subMenus = $menu.children(selector.item).find(selector.menu);
module.verbose('Hiding sub menus', $subMenus);
$subMenus.transition('hide');
},
@@ -624,28 +587,23 @@
keyboardEvents: function () {
module.verbose('Binding keyboard events');
$module
- .on('keydown' + eventNamespace, module.event.keydown)
- ;
+ .on('keydown' + eventNamespace, module.event.keydown);
if (module.has.search()) {
$module
- .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input)
- ;
+ .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input);
}
if (module.is.multiple()) {
$document
- .on('keydown' + elementNamespace, module.event.document.keydown)
- ;
+ .on('keydown' + elementNamespace, module.event.document.keydown);
}
},
inputEvents: function () {
module.verbose('Binding input change events');
$module
- .on('change' + eventNamespace, selector.input, module.event.change)
- ;
+ .on('change' + eventNamespace, selector.input, module.event.change);
if (module.is.multiple() && module.is.searchSelection()) {
$module
- .on('paste' + eventNamespace, selector.search, module.event.paste)
- ;
+ .on('paste' + eventNamespace, selector.search, module.event.paste);
}
},
mouseEvents: function () {
@@ -653,8 +611,7 @@
if (module.is.multiple()) {
$module
.on('click' + eventNamespace, selector.label, module.event.label.click)
- .on('click' + eventNamespace, selector.remove, module.event.remove.click)
- ;
+ .on('click' + eventNamespace, selector.remove, module.event.remove.click);
}
if (module.is.searchSelection()) {
$module
@@ -667,60 +624,50 @@
.on('focus' + eventNamespace, selector.search, module.event.search.focus)
.on('click' + eventNamespace, selector.search, module.event.search.focus)
.on('blur' + eventNamespace, selector.search, module.event.search.blur)
- .on('click' + eventNamespace, selector.text, module.event.text.focus)
- ;
+ .on('click' + eventNamespace, selector.text, module.event.text.focus);
if (module.is.multiple()) {
$module
.on('click' + eventNamespace, module.event.click)
- .on('click' + eventNamespace, module.event.search.focus)
- ;
+ .on('click' + eventNamespace, module.event.search.focus);
}
} else {
if (settings.on === 'click') {
$module
.on('click' + eventNamespace, selector.icon, module.event.icon.click)
- .on('click' + eventNamespace, module.event.test.toggle)
- ;
+ .on('click' + eventNamespace, module.event.test.toggle);
} else if (settings.on === 'hover') {
$module
.on('mouseenter' + eventNamespace, module.delay.show)
.on('mouseleave' + eventNamespace, module.delay.hide)
.on('touchstart' + eventNamespace, module.event.test.toggle)
- .on('touchstart' + eventNamespace, selector.icon, module.event.icon.click)
- ;
+ .on('touchstart' + eventNamespace, selector.icon, module.event.icon.click);
} else {
$module
- .on(settings.on + eventNamespace, module.toggle)
- ;
+ .on(settings.on + eventNamespace, module.toggle);
}
$module
.on('mousedown' + eventNamespace, module.event.mousedown)
.on('mouseup' + eventNamespace, module.event.mouseup)
.on('focus' + eventNamespace, module.event.focus)
- .on('click' + eventNamespace, selector.clearIcon, module.event.clearIcon.click)
- ;
+ .on('click' + eventNamespace, selector.clearIcon, module.event.clearIcon.click);
if (module.has.menuSearch()) {
$module
- .on('blur' + eventNamespace, selector.search, module.event.search.blur)
- ;
+ .on('blur' + eventNamespace, selector.search, module.event.search.blur);
} else {
$module
- .on('blur' + eventNamespace, module.event.blur)
- ;
+ .on('blur' + eventNamespace, module.event.blur);
}
}
$menu
.on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)
.on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)
.on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)
- .on('click' + eventNamespace, selector.item, module.event.item.click)
- ;
+ .on('click' + eventNamespace, selector.item, module.event.item.click);
},
intent: function () {
module.verbose('Binding hide intent event to document');
$document
- .on('click' + elementNamespace, module.event.test.hide)
- ;
+ .on('click' + elementNamespace, module.event.test.hide);
},
},
@@ -728,52 +675,49 @@
intent: function () {
module.verbose('Removing hide intent event from document');
$document
- .off('click' + elementNamespace)
- ;
+ .off('click' + elementNamespace);
},
},
filter: function (query) {
- var
- searchTerm = query !== undefined
- ? query
- : module.get.query(),
- afterFiltered = function () {
- if (module.is.multiple()) {
- module.filterActive();
- }
- if (query || (!query && module.get.activeItem().length === 0)) {
- module.select.firstUnfiltered();
- }
- if (module.has.allResultsFiltered()) {
- if (settings.onNoResults.call(element, searchTerm)) {
- if (settings.allowAdditions) {
- if (settings.hideAdditions) {
- module.verbose('User addition with no menu, setting empty style');
- module.set.empty();
- module.hideMenu();
- }
- } else {
- module.verbose('All items filtered, showing message', searchTerm);
- module.add.message(message.noResults);
+ var searchTerm = query !== undefined
+ ? query
+ : module.get.query();
+ var afterFiltered = function () {
+ if (module.is.multiple()) {
+ module.filterActive();
+ }
+ if (query || (!query && module.get.activeItem().length === 0)) {
+ module.select.firstUnfiltered();
+ }
+ if (module.has.allResultsFiltered()) {
+ if (settings.onNoResults.call(element, searchTerm)) {
+ if (settings.allowAdditions) {
+ if (settings.hideAdditions) {
+ module.verbose('User addition with no menu, setting empty style');
+ module.set.empty();
+ module.hideMenu();
}
} else {
- module.verbose('All items filtered, hiding dropdown', searchTerm);
- module.set.empty();
- module.hideMenu();
+ module.verbose('All items filtered, showing message', searchTerm);
+ module.add.message(message.noResults);
}
} else {
- module.remove.empty();
- module.remove.message();
- }
- if (settings.allowAdditions) {
- module.add.userSuggestion(module.escape.htmlEntities(query));
- }
- if (module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() && !module.is.empty()) {
- module.show();
+ module.verbose('All items filtered, hiding dropdown', searchTerm);
+ module.set.empty();
+ module.hideMenu();
}
+ } else {
+ module.remove.empty();
+ module.remove.message();
}
- ;
+ if (settings.allowAdditions) {
+ module.add.userSuggestion(module.escape.htmlEntities(query));
+ }
+ if (module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() && !module.is.empty()) {
+ module.show();
+ }
+ };
if (settings.useLabels && module.has.maxSelections()) {
module.show();
@@ -792,8 +736,7 @@
if (module.is.multiple()) {
$.each(preSelected, function (index, value) {
$item.filter('[data-' + metadata.value + '="' + value + '"]')
- .addClass(className.filtered)
- ;
+ .addClass(className.filtered);
});
}
module.focusSearch(true);
@@ -812,88 +755,81 @@
if (!Array.isArray(callbackParameters)) {
callbackParameters = [callbackParameters];
}
- var
- apiSettings = {
- errorDuration: false,
- cache: 'local',
- throttle: settings.throttle,
- urlData: {
- query: query,
- },
+ var apiSettings = {
+ errorDuration: false,
+ cache: 'local',
+ throttle: settings.throttle,
+ urlData: {
+ query: query,
},
- apiCallbacks = {
- onError: function (errorMessage, $module, xhr) {
- module.add.message(message.serverError);
- iconClicked = false;
- focused = false;
- callback.apply(null, callbackParameters);
- if (typeof settings.apiSettings.onError === 'function') {
- settings.apiSettings.onError.call(this, errorMessage, $module, xhr);
- }
- },
- onFailure: function (response, $module, xhr) {
- module.add.message(message.serverError);
- iconClicked = false;
- focused = false;
- callback.apply(null, callbackParameters);
- if (typeof settings.apiSettings.onFailure === 'function') {
- settings.apiSettings.onFailure.call(this, response, $module, xhr);
- }
- },
- onSuccess: function (response, $module, xhr) {
- var
- values = response[fields.remoteValues]
- ;
- if (!Array.isArray(values)) {
- values = [];
- }
- module.remove.message();
- var menuConfig = {};
- menuConfig[fields.values] = values;
- module.setup.menu(menuConfig);
+ };
+ var apiCallbacks = {
+ onError: function (errorMessage, $module, xhr) {
+ module.add.message(message.serverError);
+ iconClicked = false;
+ focused = false;
+ callback.apply(null, callbackParameters);
+ if (typeof settings.apiSettings.onError === 'function') {
+ settings.apiSettings.onError.call(this, errorMessage, $module, xhr);
+ }
+ },
+ onFailure: function (response, $module, xhr) {
+ module.add.message(message.serverError);
+ iconClicked = false;
+ focused = false;
+ callback.apply(null, callbackParameters);
+ if (typeof settings.apiSettings.onFailure === 'function') {
+ settings.apiSettings.onFailure.call(this, response, $module, xhr);
+ }
+ },
+ onSuccess: function (response, $module, xhr) {
+ var values = response[fields.remoteValues];
+ if (!Array.isArray(values)) {
+ values = [];
+ }
+ module.remove.message();
+ var menuConfig = {};
+ menuConfig[fields.values] = values;
+ module.setup.menu(menuConfig);
- if (values.length === 0 && !settings.allowAdditions) {
- module.add.message(message.noResults);
- } else {
- var value = module.is.multiple() ? module.get.values() : module.get.value();
- if (value !== '') {
- module.verbose('Value(s) present after click icon, select value(s) in items');
- module.set.selected(value, null, true, true);
- }
- }
- iconClicked = false;
- focused = false;
- callback.apply(null, callbackParameters);
- if (typeof settings.apiSettings.onSuccess === 'function') {
- settings.apiSettings.onSuccess.call(this, response, $module, xhr);
+ if (values.length === 0 && !settings.allowAdditions) {
+ module.add.message(message.noResults);
+ } else {
+ var value = module.is.multiple() ? module.get.values() : module.get.value();
+ if (value !== '') {
+ module.verbose('Value(s) present after click icon, select value(s) in items');
+ module.set.selected(value, null, true, true);
}
- },
- }
- ;
+ }
+ iconClicked = false;
+ focused = false;
+ callback.apply(null, callbackParameters);
+ if (typeof settings.apiSettings.onSuccess === 'function') {
+ settings.apiSettings.onSuccess.call(this, response, $module, xhr);
+ }
+ },
+ };
if (!$module.api('get request')) {
module.setup.api();
}
apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings, apiCallbacks, tempDisableApiCache ? { cache: false } : {});
$module
.api('setting', apiSettings)
- .api('query')
- ;
+ .api('query');
tempDisableApiCache = false;
},
filterItems: function (query) {
- var
- searchTerm = module.remove.diacritics(
- query !== undefined
- ? query
- : module.get.query()
- ),
- results = null,
- escapedTerm = module.escape.string(searchTerm),
- regExpIgnore = settings.ignoreSearchCase ? 'i' : '',
- regExpFlags = regExpIgnore + 'gm',
- beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags)
- ;
+ var searchTerm = module.remove.diacritics(
+ query !== undefined
+ ? query
+ : module.get.query()
+ );
+ var results = null;
+ var escapedTerm = module.escape.string(searchTerm);
+ var regExpIgnore = settings.ignoreSearchCase ? 'i' : '';
+ var regExpFlags = regExpIgnore + 'gm';
+ var beginsWithRegExp = new RegExp('^' + escapedTerm, regExpFlags);
module.remove.filteredItem();
// avoid loop if we're matching nothing
if (module.has.query()) {
@@ -902,11 +838,9 @@
module.verbose('Searching for matching values', searchTerm);
$item
.each(function () {
- var
- $choice = $(this),
- text,
- value
- ;
+ var $choice = $(this);
+ var text;
+ var value;
if ($choice.hasClass(className.unfilterable)) {
results.push(this);
@@ -934,32 +868,28 @@
return true;
}
}
- })
- ;
+ });
}
module.debug('Showing only matched items', searchTerm);
if (results) {
$item
.not(results)
- .addClass(className.filtered)
- ;
+ .addClass(className.filtered);
if (settings.highlightMatches && (settings.match === 'both' || settings.match === 'text')) {
- var querySplit = query.split(''),
- diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '',
- htmlReg = '(?![^<]*>)',
- markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore),
- markedReplacer = function () {
- var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
- return i & 1 ? x : '' + x + ''; // eslint-disable-line no-bitwise
- });
+ var querySplit = query.split('');
+ var diacriticReg = settings.ignoreDiacritics ? '[\u0300-\u036F]?' : '';
+ var htmlReg = '(?![^<]*>)';
+ var markedRegExp = new RegExp(htmlReg + '(' + querySplit.join(diacriticReg + ')(.*?)' + htmlReg + '(') + diacriticReg + ')', regExpIgnore);
+ var markedReplacer = function () {
+ var args = [].slice.call(arguments, 1, querySplit.length * 2).map(function (x, i) {
+ return i & 1 ? x : '' + x + ''; // eslint-disable-line no-bitwise
+ });
- return args.join('');
- }
- ;
+ return args.join('');
+ };
$.each(results, function (index, result) {
- var $result = $(result),
- markedHTML = module.get.choiceText($result, true)
- ;
+ var $result = $(result);
+ var markedHTML = module.get.choiceText($result, true);
if (settings.ignoreDiacritics) {
markedHTML = markedHTML.normalize('NFD');
}
@@ -970,12 +900,10 @@
if (!module.has.query()) {
$divider
- .removeClass(className.hidden)
- ;
+ .removeClass(className.hidden);
} else if (settings.hideDividers === true) {
$divider
- .addClass(className.hidden)
- ;
+ .addClass(className.hidden);
} else if (settings.hideDividers === 'empty') {
$divider
.removeClass(className.hidden)
@@ -991,16 +919,13 @@
// Hide divider if no items are found
.length === 0;
})
- .addClass(className.hidden)
- ;
+ .addClass(className.hidden);
}
},
fuzzySearch: function (query, term) {
- var
- termLength = term.length,
- queryLength = query.length
- ;
+ var termLength = term.length;
+ var queryLength = query.length;
if (settings.ignoreSearchCase) {
query = query.toLowerCase();
term = term.toLowerCase();
@@ -1012,10 +937,8 @@
return query === term;
}
for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {
- var
- continueSearch = false,
- queryCharacter = query.charCodeAt(characterIndex)
- ;
+ var continueSearch = false;
+ var queryCharacter = query.charCodeAt(characterIndex);
while (nextCharacterIndex < termLength) {
if (term.charCodeAt(nextCharacterIndex++) === queryCharacter) {
continueSearch = true;
@@ -1040,8 +963,7 @@
filterActive: function () {
if (settings.useLabels) {
$item.filter('.' + className.active)
- .addClass(className.filtered)
- ;
+ .addClass(className.filtered);
}
},
@@ -1064,14 +986,12 @@
},
forceSelection: function () {
- var
- $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0),
- $activeItem = $item.not(className.filtered).filter('.' + className.active).eq(0),
- $selectedItem = $currentlySelected.length > 0
- ? $currentlySelected
- : $activeItem,
- hasSelected = $selectedItem.length > 0
- ;
+ var $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0);
+ var $activeItem = $item.not(className.filtered).filter('.' + className.active).eq(0);
+ var $selectedItem = $currentlySelected.length > 0
+ ? $currentlySelected
+ : $activeItem;
+ var hasSelected = $selectedItem.length > 0;
if (settings.allowAdditions || (hasSelected && !module.is.multiple())) {
module.debug('Forcing partial selection to selected item', $selectedItem);
module.event.item.click.call($selectedItem, {}, true);
@@ -1104,13 +1024,11 @@
$input.html('');
$input.append('');
$.each(values, function (index, item) {
- var
- value = settings.templates.escape(item[fields.value]),
- name = settings.templates.escape(
- item[fields.name] || '',
- settings
- )
- ;
+ var value = settings.templates.escape(item[fields.value]);
+ var name = settings.templates.escape(
+ item[fields.name] || '',
+ settings
+ );
$input.append('');
});
module.observe.select();
@@ -1120,11 +1038,9 @@
event: {
paste: function (event) {
- var
- pasteValue = (event.originalEvent.clipboardData || window.clipboardData).getData('text'),
- tokens = pasteValue.split(settings.delimiter),
- notFoundTokens = []
- ;
+ var pasteValue = (event.originalEvent.clipboardData || window.clipboardData).getData('text');
+ var tokens = pasteValue.split(settings.delimiter);
+ var notFoundTokens = [];
tokens.forEach(function (value) {
if (module.set.selected(module.escape.htmlEntities(value.trim()), null, false, true) === false) {
notFoundTokens.push(value.trim());
@@ -1132,13 +1048,12 @@
});
event.preventDefault();
if (notFoundTokens.length > 0) {
- var searchEl = $search[0],
- startPos = searchEl.selectionStart,
- endPos = searchEl.selectionEnd,
- orgText = searchEl.value,
- pasteText = notFoundTokens.join(settings.delimiter),
- newEndPos = startPos + pasteText.length
- ;
+ var searchEl = $search[0];
+ var startPos = searchEl.selectionStart;
+ var endPos = searchEl.selectionEnd;
+ var orgText = searchEl.value;
+ var pasteText = notFoundTokens.join(settings.delimiter);
+ var newEndPos = startPos + pasteText.length;
$search.val(orgText.slice(0, startPos) + pasteText + orgText.slice(endPos));
searchEl.selectionStart = newEndPos;
searchEl.selectionEnd = newEndPos;
@@ -1182,9 +1097,7 @@
}
},
click: function (event) {
- var
- $target = $(event.target)
- ;
+ var $target = $(event.target);
// focus search
if ($target.is($module)) {
if (!module.is.focusedOnSearch()) {
@@ -1268,16 +1181,14 @@
},
label: {
click: function (event) {
- var
- $label = $(this),
- $labels = $module.find(selector.label),
- $activeLabels = $labels.filter('.' + className.active),
- $nextActive = $label.nextAll('.' + className.active),
- $prevActive = $label.prevAll('.' + className.active),
- $range = $nextActive.length > 0
- ? $label.nextUntil($nextActive).add($activeLabels).add($label)
- : $label.prevUntil($prevActive).add($activeLabels).add($label)
- ;
+ var $label = $(this);
+ var $labels = $module.find(selector.label);
+ var $activeLabels = $labels.filter('.' + className.active);
+ var $nextActive = $label.nextAll('.' + className.active);
+ var $prevActive = $label.prevAll('.' + className.active);
+ var $range = $nextActive.length > 0
+ ? $label.nextUntil($nextActive).add($activeLabels).add($label)
+ : $label.prevUntil($prevActive).add($activeLabels).add($label);
if (event.shiftKey) {
$activeLabels.removeClass(className.active);
$range.addClass(className.active);
@@ -1293,9 +1204,7 @@
},
remove: {
click: function (event) {
- var
- $label = $(this).parent()
- ;
+ var $label = $(this).parent();
if ($label.hasClass(className.active)) {
// remove all selected labels
module.remove.activeLabels();
@@ -1308,11 +1217,9 @@
},
test: {
toggle: function (event) {
- var
- toggleBehavior = module.is.multiple()
- ? module.show
- : module.toggle
- ;
+ var toggleBehavior = module.is.multiple()
+ ? module.show
+ : module.toggle;
if (module.is.bubbledLabelClick(event) || module.is.bubbledIconClick(event)) {
return;
}
@@ -1356,18 +1263,16 @@
},
menu: {
mutation: function (mutations) {
- var
- mutation = mutations[0],
- $addedNode = mutation.addedNodes
- ? $(mutation.addedNodes[0])
- : $(false),
- $removedNode = mutation.removedNodes
- ? $(mutation.removedNodes[0])
- : $(false),
- $changedNodes = $addedNode.add($removedNode),
- isUserAddition = $changedNodes.is(selector.addition) || $changedNodes.closest(selector.addition).length > 0,
- isMessage = $changedNodes.is(selector.message) || $changedNodes.closest(selector.message).length > 0
- ;
+ var mutation = mutations[0];
+ var $addedNode = mutation.addedNodes
+ ? $(mutation.addedNodes[0])
+ : $(false);
+ var $removedNode = mutation.removedNodes
+ ? $(mutation.removedNodes[0])
+ : $(false);
+ var $changedNodes = $addedNode.add($removedNode);
+ var isUserAddition = $changedNodes.is(selector.addition) || $changedNodes.closest(selector.addition).length > 0;
+ var isMessage = $changedNodes.is(selector.message) || $changedNodes.closest(selector.message).length > 0;
if (isUserAddition || isMessage) {
module.debug('Updating item selector cache');
module.refreshItems();
@@ -1385,14 +1290,12 @@
},
item: {
mouseenter: function (event) {
- var
- $target = $(event.target),
- $item = $(this),
- $subMenu = $item.children(selector.menu),
- $otherMenus = $item.siblings(selector.item).children(selector.menu),
- hasSubMenu = $subMenu.length > 0,
- isBubbledEvent = $subMenu.find($target).length > 0
- ;
+ var $target = $(event.target);
+ var $item = $(this);
+ var $subMenu = $item.children(selector.menu);
+ var $otherMenus = $item.siblings(selector.item).children(selector.menu);
+ var hasSubMenu = $subMenu.length > 0;
+ var isBubbledEvent = $subMenu.find($target).length > 0;
if (!isBubbledEvent && hasSubMenu) {
clearTimeout(module.itemTimer);
module.itemTimer = setTimeout(function () {
@@ -1406,9 +1309,7 @@
}
},
mouseleave: function (event) {
- var
- $subMenu = $(this).find(selector.menu)
- ;
+ var $subMenu = $(this).find(selector.menu);
if ($subMenu.length > 0) {
clearTimeout(module.itemTimer);
module.itemTimer = setTimeout(function () {
@@ -1420,17 +1321,15 @@
}
},
click: function (event, skipRefocus) {
- var
- $choice = $(this),
- $target = event
- ? $(event.target || '')
- : $(''),
- $subMenu = $choice.find(selector.menu),
- text = module.get.choiceText($choice),
- value = module.get.choiceValue($choice, text),
- hasSubMenu = $subMenu.length > 0,
- isBubbledEvent = $subMenu.find($target).length > 0
- ;
+ var $choice = $(this);
+ var $target = event
+ ? $(event.target || '')
+ : $('');
+ var $subMenu = $choice.find(selector.menu);
+ var text = module.get.choiceText($choice);
+ var value = module.get.choiceValue($choice, text);
+ var hasSubMenu = $subMenu.length > 0;
+ var isBubbledEvent = $subMenu.find($target).length > 0;
if (document.activeElement.tagName.toLowerCase() !== 'input') {
$(document.activeElement).trigger('blur');
}
@@ -1464,27 +1363,23 @@
document: {
// label selection should occur even when the element has no focus
keydown: function (event) {
- var
- pressedKey = event.which,
- isShortcutKey = module.is.inObject(pressedKey, keys)
- ;
+ var pressedKey = event.which;
+ var isShortcutKey = module.is.inObject(pressedKey, keys);
if (isShortcutKey) {
- var
- $label = $module.find(selector.label),
- $activeLabel = $label.filter('.' + className.active),
- activeValue = $activeLabel.data(metadata.value),
- labelIndex = $label.index($activeLabel),
- labelCount = $label.length,
- hasActiveLabel = $activeLabel.length > 0,
- hasMultipleActive = $activeLabel.length > 1,
- isFirstLabel = labelIndex === 0,
- isLastLabel = labelIndex + 1 === labelCount,
- isSearch = module.is.searchSelection(),
- isFocusedOnSearch = module.is.focusedOnSearch(),
- isFocused = module.is.focused(),
- caretAtStart = isFocusedOnSearch && module.get.caretPosition(false) === 0,
- isSelectedSearch = caretAtStart && module.get.caretPosition(true) !== 0
- ;
+ var $label = $module.find(selector.label);
+ var $activeLabel = $label.filter('.' + className.active);
+ var activeValue = $activeLabel.data(metadata.value);
+ var labelIndex = $label.index($activeLabel);
+ var labelCount = $label.length;
+ var hasActiveLabel = $activeLabel.length > 0;
+ var hasMultipleActive = $activeLabel.length > 1;
+ var isFirstLabel = labelIndex === 0;
+ var isLastLabel = labelIndex + 1 === labelCount;
+ var isSearch = module.is.searchSelection();
+ var isFocusedOnSearch = module.is.focusedOnSearch();
+ var isFocused = module.is.focused();
+ var caretAtStart = isFocusedOnSearch && module.get.caretPosition(false) === 0;
+ var isSelectedSearch = caretAtStart && module.get.caretPosition(true) !== 0;
if (isSearch && !hasActiveLabel && !isFocusedOnSearch) {
return;
}
@@ -1507,8 +1402,7 @@
} else {
$activeLabel.prev(selector.siblingLabel)
.addClass(className.active)
- .end()
- ;
+ .end();
}
event.preventDefault();
}
@@ -1583,31 +1477,27 @@
},
keydown: function (event) {
- var
- pressedKey = event.which,
- isShortcutKey = module.is.inObject(pressedKey, keys) || event.key === settings.delimiter
- ;
+ var pressedKey = event.which;
+ var isShortcutKey = module.is.inObject(pressedKey, keys) || event.key === settings.delimiter;
if (isShortcutKey) {
- var
- $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0),
- $activeItem = $menu.children('.' + className.active).eq(0),
- $selectedItem = $currentlySelected.length > 0
- ? $currentlySelected
- : $activeItem,
- $visibleItems = $selectedItem.length > 0
- ? $selectedItem.siblings(':not(.' + className.filtered + ')').addBack()
- : $menu.children(':not(.' + className.filtered + ')'),
- $subMenu = $selectedItem.children(selector.menu),
- $parentMenu = $selectedItem.closest(selector.menu),
- inVisibleMenu = $parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0,
- hasSubMenu = $subMenu.length > 0,
- hasSelectedItem = $selectedItem.length > 0,
- selectedIsSelectable = $selectedItem.not(selector.unselectable).length > 0,
- delimiterPressed = event.key === settings.delimiter && module.is.multiple(),
- isAdditionWithoutMenu = settings.allowAdditions && (pressedKey === keys.enter || delimiterPressed),
- $nextItem,
- isSubMenuItem
- ;
+ var $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0);
+ var $activeItem = $menu.children('.' + className.active).eq(0);
+ var $selectedItem = $currentlySelected.length > 0
+ ? $currentlySelected
+ : $activeItem;
+ var $visibleItems = $selectedItem.length > 0
+ ? $selectedItem.siblings(':not(.' + className.filtered + ')').addBack()
+ : $menu.children(':not(.' + className.filtered + ')');
+ var $subMenu = $selectedItem.children(selector.menu);
+ var $parentMenu = $selectedItem.closest(selector.menu);
+ var inVisibleMenu = $parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0;
+ var hasSubMenu = $subMenu.length > 0;
+ var hasSelectedItem = $selectedItem.length > 0;
+ var selectedIsSelectable = $selectedItem.not(selector.unselectable).length > 0;
+ var delimiterPressed = event.key === settings.delimiter && module.is.multiple();
+ var isAdditionWithoutMenu = settings.allowAdditions && (pressedKey === keys.enter || delimiterPressed);
+ var $nextItem;
+ var isSubMenuItem;
// allow selection with the menu closed
if (isAdditionWithoutMenu) {
if (selectedIsSelectable && settings.hideAdditions) {
@@ -1653,12 +1543,10 @@
module.verbose('Left key pressed, closing sub-menu');
module.animate.hide(false, $parentMenu);
$selectedItem
- .removeClass(className.selected)
- ;
+ .removeClass(className.selected);
$parentMenu
.closest(selector.item)
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
event.preventDefault();
}
}
@@ -1669,12 +1557,10 @@
module.verbose('Right key pressed, opening sub-menu');
module.animate.show(false, $subMenu);
$selectedItem
- .removeClass(className.selected)
- ;
+ .removeClass(className.selected);
$subMenu
.find(selector.item).eq(0)
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
event.preventDefault();
}
}
@@ -1694,11 +1580,9 @@
module.verbose('Up key pressed, changing active item');
$selectedItem
- .removeClass(className.selected)
- ;
+ .removeClass(className.selected);
$nextItem
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
module.set.scrollPosition($nextItem);
if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
module.set.selectedItem($nextItem);
@@ -1721,11 +1605,9 @@
module.verbose('Down key pressed, changing active item');
$item
- .removeClass(className.selected)
- ;
+ .removeClass(className.selected);
$nextItem
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
module.set.scrollPosition($nextItem);
if (settings.selectOnKeydown && module.is.single() && !$nextItem.hasClass(className.actionable)) {
module.set.selectedItem($nextItem);
@@ -1773,9 +1655,7 @@
trigger: {
change: function () {
- var
- inputElement = $input[0]
- ;
+ var inputElement = $input[0];
if (inputElement) {
var events = document.createEvent('HTMLEvents');
module.verbose('Triggering native change event');
@@ -1801,11 +1681,9 @@
selectActionActive = false;
},
eventInModule: function (event, callback) {
- var
- $target = $(event.target),
- inDocument = $target.closest(document.documentElement).length > 0,
- inModule = $target.closest($module).length > 0
- ;
+ var $target = $(event.target);
+ var inDocument = $target.closest(document.documentElement).length > 0;
+ var inModule = $target.closest($module).length > 0;
callback = isFunction(callback)
? callback
: function () {};
@@ -1821,13 +1699,11 @@
return false;
},
eventOnElement: function (event, callback) {
- var
- $target = $(event.target),
- $label = $target.closest(selector.siblingLabel),
- inVisibleDOM = document.body.contains(event.target),
- notOnLabel = $module.find($label).length === 0 || !(module.is.multiple() && settings.useLabels),
- notInMenu = $target.closest($menu).length === 0
- ;
+ var $target = $(event.target);
+ var $label = $target.closest(selector.siblingLabel);
+ var inVisibleDOM = document.body.contains(event.target);
+ var notOnLabel = $module.find($label).length === 0 || !(module.is.multiple() && settings.useLabels);
+ var notInMenu = $target.closest($menu).length === 0;
callback = isFunction(callback)
? callback
: function () {};
@@ -1920,10 +1796,8 @@
return Math.ceil($sizer.width() + 1);
},
selectionCount: function () {
- var
- values = module.get.values(),
- count
- ;
+ var values = module.get.values();
+ var count;
count = module.is.multiple()
? (Array.isArray(values) ? values.length : 0)
: (module.get.value() !== '' ? 1 : 0);
@@ -1936,9 +1810,7 @@
: settings.transition;
},
userValues: function () {
- var
- values = module.get.values(true)
- ;
+ var values = module.get.values(true);
if (!values) {
return false;
}
@@ -1956,11 +1828,9 @@
});
},
caretPosition: function (returnEndPos) {
- var
- input = $search[0],
- range,
- rangeLength
- ;
+ var input = $search[0];
+ var range;
+ var rangeLength;
if (returnEndPos && 'selectionEnd' in input) {
return input.selectionEnd;
}
@@ -1980,12 +1850,10 @@
}
},
value: function () {
- var
- value = $input.length > 0
- ? $input.val()
- : $module.data(metadata.value),
- isEmptyMultiselect = Array.isArray(value) && value.length === 1 && value[0] === ''
- ;
+ var value = $input.length > 0
+ ? $input.val()
+ : $module.data(metadata.value);
+ var isEmptyMultiselect = Array.isArray(value) && value.length === 1 && value[0] === '';
// prevents the placeholder element from being selected when multiple
return value === undefined || isEmptyMultiselect
@@ -1993,9 +1861,7 @@
: value;
},
values: function (raw) {
- var
- value = module.get.value()
- ;
+ var value = module.get.value();
if (value === '') {
return '';
}
@@ -2009,18 +1875,14 @@
: value;
},
remoteValues: function () {
- var
- values = module.get.values(),
- remoteValues = false
- ;
+ var values = module.get.values();
+ var remoteValues = false;
if (values) {
if (typeof values === 'string') {
values = [values];
}
$.each(values, function (index, value) {
- var
- name = module.read.remoteData(value)
- ;
+ var name = module.read.remoteData(value);
module.verbose('Restoring value from session data', name, value);
if (name) {
if (!remoteValues) {
@@ -2069,9 +1931,7 @@
: String(choiceText));
},
inputEvent: function () {
- var
- input = $search[0]
- ;
+ var input = $search[0];
if (input) {
return input.oninput !== undefined
? 'input'
@@ -2083,26 +1943,22 @@
return false;
},
selectValues: function () {
- var
- select = {},
- oldGroup = [],
- values = []
- ;
+ var select = {};
+ var oldGroup = [];
+ var values = [];
$module
.find('option')
.each(function () {
- var
- $option = $(this),
- name = $option.html(),
- disabled = $option.attr('disabled'),
- value = $option.attr('value') !== undefined
- ? $option.attr('value')
- : name,
- text = $option.data(metadata.text) !== undefined
- ? $option.data(metadata.text)
- : name,
- group = $option.parent('optgroup')
- ;
+ var $option = $(this);
+ var name = $option.html();
+ var disabled = $option.attr('disabled');
+ var value = $option.attr('value') !== undefined
+ ? $option.attr('value')
+ : name;
+ var text = $option.data(metadata.text) !== undefined
+ ? $option.data(metadata.text)
+ : name;
+ var group = $option.parent('optgroup');
if (settings.placeholder === 'auto' && value === '') {
select.placeholder = name;
} else {
@@ -2121,8 +1977,7 @@
disabled: disabled,
});
}
- })
- ;
+ });
if (settings.placeholder && settings.placeholder !== 'auto') {
module.debug('Setting placeholder value to', settings.placeholder);
select.placeholder = settings.placeholder;
@@ -2152,20 +2007,16 @@
return $item.filter('.' + className.active);
},
selectedItem: function () {
- var
- $selectedItem = $item.not(selector.unselectable).filter('.' + className.selected)
- ;
+ var $selectedItem = $item.not(selector.unselectable).filter('.' + className.selected);
return $selectedItem.length > 0
? $selectedItem
: $item.eq(0);
},
itemWithAdditions: function (value) {
- var
- $items = module.get.item(value),
- $userItems = module.create.userChoice(value),
- hasUserItems = $userItems && $userItems.length > 0
- ;
+ var $items = module.get.item(value);
+ var $userItems = module.create.userChoice(value);
+ var hasUserItems = $userItems && $userItems.length > 0;
if (hasUserItems) {
$items = $items.length > 0
? $items.add($userItems)
@@ -2175,11 +2026,9 @@
return $items;
},
item: function (value, strict) {
- var
- $selectedItem = false,
- shouldSearch,
- isMultiple
- ;
+ var $selectedItem = false;
+ var shouldSearch;
+ var isMultiple;
value = value !== undefined
? value
: (module.get.values() !== undefined
@@ -2195,11 +2044,9 @@
if (shouldSearch) {
$item
.each(function () {
- var
- $choice = $(this),
- optionText = module.get.choiceText($choice),
- optionValue = module.get.choiceValue($choice, optionText)
- ;
+ var $choice = $(this);
+ var optionText = module.get.choiceText($choice);
+ var optionValue = module.get.choiceValue($choice, optionText);
// safe early exit
if (optionValue === null || optionValue === undefined) {
return;
@@ -2229,8 +2076,7 @@
return true;
}
}
- })
- ;
+ });
}
return $selectedItem;
@@ -2280,10 +2126,8 @@
module.restore.defaultValue();
},
defaultText: function () {
- var
- defaultText = module.get.defaultText(),
- placeholderText = module.get.placeholderText
- ;
+ var defaultText = module.get.defaultText();
+ var placeholderText = module.get.placeholderText;
if (defaultText === placeholderText) {
module.debug('Restoring default placeholder text', defaultText);
module.set.placeholderText(defaultText);
@@ -2296,9 +2140,7 @@
module.set.placeholderText();
},
defaultValue: function () {
- var
- defaultValue = module.get.defaultValue()
- ;
+ var defaultValue = module.get.defaultValue();
if (defaultValue !== undefined) {
module.debug('Restoring default value', defaultValue);
if (defaultValue !== '') {
@@ -2347,9 +2189,7 @@
module.remove.initialLoad();
},
remoteValues: function () {
- var
- values = module.get.remoteValues()
- ;
+ var values = module.get.remoteValues();
module.debug('Recreating selected from session data', values);
if (values) {
if (module.is.single()) {
@@ -2367,9 +2207,7 @@
read: {
remoteData: function (value) {
- var
- name
- ;
+ var name;
if (window.Storage === undefined) {
module.error(error.noStorage);
@@ -2390,23 +2228,17 @@
module.save.defaultValue();
},
defaultValue: function () {
- var
- value = module.get.value()
- ;
+ var value = module.get.value();
module.verbose('Saving default value as', value);
$module.data(metadata.defaultValue, value);
},
defaultText: function () {
- var
- text = module.get.text()
- ;
+ var text = module.get.text();
module.verbose('Saving default text as', text);
$module.data(metadata.defaultText, text);
},
placeholderText: function () {
- var
- text
- ;
+ var text;
if (settings.placeholder !== false && $text.hasClass(className.placeholder)) {
text = module.get.text();
module.verbose('Saving placeholder text as', text);
@@ -2446,21 +2278,19 @@
},
scrollPage: function (direction, $selectedItem) {
- var
- $currentItem = $selectedItem || module.get.selectedItem(),
- $menu = $currentItem.closest(selector.menu),
- menuHeight = $menu.outerHeight(),
- currentScroll = $menu.scrollTop(),
- itemHeight = $item.eq(0).outerHeight(),
- itemsPerPage = Math.floor(menuHeight / itemHeight),
- newScroll = direction === 'up'
- ? currentScroll - (itemHeight * itemsPerPage)
- : currentScroll + (itemHeight * itemsPerPage),
- $selectableItem = $item.not(selector.unselectable),
- isWithinRange,
- $nextSelectedItem,
- elementIndex
- ;
+ var $currentItem = $selectedItem || module.get.selectedItem();
+ var $menu = $currentItem.closest(selector.menu);
+ var menuHeight = $menu.outerHeight();
+ var currentScroll = $menu.scrollTop();
+ var itemHeight = $item.eq(0).outerHeight();
+ var itemsPerPage = Math.floor(menuHeight / itemHeight);
+ var newScroll = direction === 'up'
+ ? currentScroll - (itemHeight * itemsPerPage)
+ : currentScroll + (itemHeight * itemsPerPage);
+ var $selectableItem = $item.not(selector.unselectable);
+ var isWithinRange;
+ var $nextSelectedItem;
+ var elementIndex;
elementIndex = direction === 'up'
? $selectableItem.index($currentItem) - itemsPerPage
: $selectableItem.index($currentItem) + itemsPerPage;
@@ -2475,33 +2305,28 @@
if ($nextSelectedItem.length > 0) {
module.debug('Scrolling page', direction, $nextSelectedItem);
$currentItem
- .removeClass(className.selected)
- ;
+ .removeClass(className.selected);
$nextSelectedItem
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
if (settings.selectOnKeydown && module.is.single() && !$nextSelectedItem.hasClass(className.actionable)) {
module.set.selectedItem($nextSelectedItem);
}
$menu
- .scrollTop(newScroll)
- ;
+ .scrollTop(newScroll);
}
},
set: {
filtered: function () {
- var
- isMultiple = module.is.multiple(),
- isSearch = module.is.searchSelection(),
- isSearchMultiple = isMultiple && isSearch,
- searchValue = isSearch
- ? module.get.query()
- : '',
- hasSearchValue = typeof searchValue === 'string' && searchValue.length > 0,
- searchWidth = module.get.searchWidth(),
- valueIsSet = searchValue !== ''
- ;
+ var isMultiple = module.is.multiple();
+ var isSearch = module.is.searchSelection();
+ var isSearchMultiple = isMultiple && isSearch;
+ var searchValue = isSearch
+ ? module.get.query()
+ : '';
+ var hasSearchValue = typeof searchValue === 'string' && searchValue.length > 0;
+ var searchWidth = module.get.searchWidth();
+ var valueIsSet = searchValue !== '';
if (isMultiple && hasSearchValue) {
module.verbose('Adjusting input width', searchWidth);
$search.css('width', searchWidth + 'px');
@@ -2530,21 +2355,17 @@
if (module.is.searchSelection()) {
module.debug('Added tabindex to searchable dropdown');
$search
- .val('')
- ;
+ .val('');
module.check.disabled();
$menu
- .attr('tabindex', -1)
- ;
+ .attr('tabindex', -1);
} else {
module.debug('Added tabindex to dropdown');
if ($module.attr('tabindex') === undefined) {
$module
- .attr('tabindex', $input.attr('tabindex') || 0)
- ;
+ .attr('tabindex', $input.attr('tabindex') || 0);
$menu
- .attr('tabindex', -1)
- ;
+ .attr('tabindex', -1);
}
}
$input.removeAttr('tabindex');
@@ -2561,24 +2382,20 @@
}
},
partialSearch: function (text) {
- var
- length = module.get.query().length
- ;
+ var length = module.get.query().length;
$search.val(text.slice(0, length));
},
scrollPosition: function ($item, forceScroll) {
- var
- edgeTolerance = 5,
- $menu,
- hasActive,
- offset,
- itemOffset,
- menuOffset,
- menuScroll,
- menuHeight,
- abovePage,
- belowPage
- ;
+ var edgeTolerance = 5;
+ var $menu;
+ var hasActive;
+ var offset;
+ var itemOffset;
+ var menuOffset;
+ var menuScroll;
+ var menuHeight;
+ var abovePage;
+ var belowPage;
$item = $item || module.get.selectedItem();
$menu = $item.closest(selector.menu);
@@ -2623,8 +2440,7 @@
}
module.debug('Changing text', text, $text);
$text
- .removeClass(className.filtered)
- ;
+ .removeClass(className.filtered);
if (settings.preserveHTML) {
$text.html(text);
} else {
@@ -2633,11 +2449,9 @@
}
},
selectedItem: function ($item) {
- var
- value = module.get.choiceValue($item),
- searchText = module.get.choiceText($item, false),
- text = module.get.choiceText($item)
- ;
+ var value = module.get.choiceValue($item);
+ var searchText = module.get.choiceText($item, false);
+ var text = module.get.choiceText($item);
module.debug('Setting user selection to item', $item);
module.remove.activeItem();
module.set.partialSearch(searchText);
@@ -2646,12 +2460,10 @@
module.set.text(text);
},
selectedLetter: function (letter) {
- var
- $selectedItem = $item.filter('.' + className.selected),
- alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),
- $nextValue = false,
- $nextItem
- ;
+ var $selectedItem = $item.filter('.' + className.selected);
+ var alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter);
+ var $nextValue = false;
+ var $nextItem;
// check next of the same letter
if (alreadySelectedLetter) {
$nextItem = $selectedItem.nextAll($item).eq(0);
@@ -2668,8 +2480,7 @@
return false;
}
- })
- ;
+ });
}
// set the next value
if ($nextValue) {
@@ -2723,14 +2534,12 @@
} else {
$input.addClass(className.noselection);
}
- var
- escapedValue = module.escape.value(value),
- hasInput = $input.length > 0,
- currentValue = module.get.values(),
- stringValue = value !== undefined
- ? String(value)
- : value
- ;
+ var escapedValue = module.escape.value(value);
+ var hasInput = $input.length > 0;
+ var currentValue = module.get.values();
+ var stringValue = value !== undefined
+ ? String(value)
+ : value;
if (hasInput) {
if (!settings.allowReselection && stringValue == currentValue) {
module.verbose('Skipping value update already same value', value, currentValue);
@@ -2746,8 +2555,7 @@
module.debug('Updating input value', escapedValue, currentValue);
internalChange = true;
$input
- .val(escapedValue)
- ;
+ .val(escapedValue);
if (settings.fireOnInit === false && module.is.initialLoad()) {
module.debug('Input native change event ignored on initial load');
} else if (preventChangeTrigger !== true) {
@@ -2768,8 +2576,7 @@
},
active: function () {
$module
- .addClass(className.active)
- ;
+ .addClass(className.active);
},
multiple: function () {
$module.addClass(className.multiple);
@@ -2792,9 +2599,7 @@
preventChangeTrigger = $selectedItem;
$selectedItem = undefined;
}
- var
- isMultiple = module.is.multiple()
- ;
+ var isMultiple = module.is.multiple();
$selectedItem = settings.allowAdditions
? $selectedItem || module.get.itemWithAdditions(value)
: $selectedItem || module.get.item(value);
@@ -2822,17 +2627,15 @@
// select each item
$selectedItem
.each(function () {
- var
- $selected = $(this),
- selectedText = module.get.choiceText($selected),
- selectedValue = module.get.choiceValue($selected, selectedText),
-
- isFiltered = $selected.hasClass(className.filtered),
- isActive = $selected.hasClass(className.active),
- isActionable = $selected.hasClass(className.actionable),
- isUserValue = $selected.hasClass(className.addition),
- shouldAnimate = isMultiple && $selectedItem && $selectedItem.length === 1
- ;
+ var $selected = $(this);
+ var selectedText = module.get.choiceText($selected);
+ var selectedValue = module.get.choiceValue($selected, selectedText);
+
+ var isFiltered = $selected.hasClass(className.filtered);
+ var isActive = $selected.hasClass(className.active);
+ var isActionable = $selected.hasClass(className.actionable);
+ var isUserValue = $selected.hasClass(className.addition);
+ var shouldAnimate = isMultiple && $selectedItem && $selectedItem.length === 1;
if (isActionable) {
if ((!isMultiple || (!isActive || isUserValue)) && settings.apiSettings && settings.saveRemoteData) {
module.save.remoteData(selectedText, selectedValue);
@@ -2868,11 +2671,9 @@
module.set.value(selectedValue, selectedText, $selected, preventChangeTrigger);
$selected
.addClass(className.active)
- .addClass(className.selected)
- ;
+ .addClass(className.selected);
}
- })
- ;
+ });
if (!keepSearchTerm) {
module.remove.searchTerm();
}
@@ -2885,21 +2686,18 @@
add: {
label: function (value, text, shouldAnimate) {
- var
- $next = module.is.searchSelection()
- ? $search
- : $text,
- escapedValue = module.escape.value(value),
- $label
- ;
+ var $next = module.is.searchSelection()
+ ? $search
+ : $text;
+ var escapedValue = module.escape.value(value);
+ var $label;
if (settings.ignoreCase) {
escapedValue = escapedValue.toLowerCase();
}
$label = $('')
.addClass(className.label)
.attr('data-' + metadata.value, escapedValue)
- .html(templates.label(escapedValue, text, settings))
- ;
+ .html(templates.label(escapedValue, text, settings));
$label = settings.onLabelCreate.call($label, escapedValue, text);
if (module.has.label(value)) {
@@ -2921,38 +2719,30 @@
verbose: settings.verbose,
silent: settings.silent,
duration: settings.label.duration,
- })
- ;
+ });
} else {
module.debug('Adding selection label', $label);
$label
- .insertBefore($next)
- ;
+ .insertBefore($next);
}
},
message: function (message) {
- var
- $message = $menu.children(selector.message),
- html = settings.templates.message(module.add.variables(message))
- ;
+ var $message = $menu.children(selector.message);
+ var html = settings.templates.message(module.add.variables(message));
if ($message.length > 0) {
$message
- .html(html)
- ;
+ .html(html);
} else {
$('')
.html(html)
.addClass(className.message)
- .appendTo($menu)
- ;
+ .appendTo($menu);
}
},
optionValue: function (value) {
- var
- escapedValue = module.escape.value(value),
- $option = $input.find('option[value="' + module.escape.string(escapedValue) + '"]'),
- hasOption = $option.length > 0
- ;
+ var escapedValue = module.escape.value(value);
+ var $option = $input.find('option[value="' + module.escape.string(escapedValue) + '"]');
+ var hasOption = $option.length > 0;
if (hasOption) {
return;
}
@@ -2966,19 +2756,16 @@
.prop('value', escapedValue)
.addClass(className.addition)
.text(value)
- .appendTo($input)
- ;
+ .appendTo($input);
module.verbose('Adding user addition as an