1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-03 09:49:28 +02:00
Oinktube/node_modules/inputmask/lib/jquery.inputmask.js

89 lines
2.8 KiB
JavaScript

/*
* Input Mask plugin for jquery
* http://github.com/RobinHerbots/jquery.inputmask
* Copyright (c) Robin Herbots
* Licensed under the MIT license
*/
import $ from "jquery";
import Inputmask from "./inputmask";
if ($.fn.inputmask === undefined) {
// jquery plugin
$.fn.inputmask = function (fn, options) {
let nptmask,
input = this[0];
if (options === undefined) options = {};
if (typeof fn === "string") {
switch (fn) {
case "unmaskedvalue":
return input && input.inputmask
? input.inputmask.unmaskedvalue()
: $(input).val();
case "remove":
return this.each(function () {
if (this.inputmask) this.inputmask.remove();
});
case "getemptymask":
return input && input.inputmask ? input.inputmask.getemptymask() : "";
case "hasMaskedValue": // check whether the returned value is masked or not; currently only works reliable when using jquery.val fn to retrieve the value
return input && input.inputmask
? input.inputmask.hasMaskedValue()
: false;
case "isComplete":
return input && input.inputmask ? input.inputmask.isComplete() : true;
case "getmetadata": // return mask metadata if exists
return input && input.inputmask
? input.inputmask.getmetadata()
: undefined;
case "setvalue":
Inputmask.setValue(input, options);
break;
case "option":
if (typeof options === "string") {
if (input && input.inputmask !== undefined) {
return input.inputmask.option(options);
}
} else {
return this.each(function () {
if (this.inputmask !== undefined) {
return this.inputmask.option(options);
}
});
}
break;
default:
options.alias = fn;
nptmask = new Inputmask(options);
return this.each(function () {
nptmask.mask(this);
});
}
} else if (Array.isArray(fn)) {
options.alias = fn;
nptmask = new Inputmask(options);
return this.each(function () {
nptmask.mask(this);
});
} else if (typeof fn === "object") {
nptmask = new Inputmask(fn);
if (fn.mask === undefined && fn.alias === undefined) {
return this.each(function () {
if (this.inputmask !== undefined) {
return this.inputmask.option(fn);
} else nptmask.mask(this);
});
} else {
return this.each(function () {
nptmask.mask(this);
});
}
} else if (fn === undefined) {
// look for data-inputmask atributes
return this.each(function () {
nptmask = new Inputmask(options);
nptmask.mask(this);
});
}
};
}