mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 09:49:28 +02:00
89 lines
2.8 KiB
JavaScript
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);
|
|
});
|
|
}
|
|
};
|
|
}
|