123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- (function (global, factory) {
- if (typeof define === "function" && define.amd) {
- define("/Plugin/material", ["exports", "jquery", "Plugin"], factory);
- } else if (typeof exports !== "undefined") {
- factory(exports, require("jquery"), require("Plugin"));
- } else {
- var mod = {
- exports: {}
- };
- factory(mod.exports, global.jQuery, global.Plugin);
- global.PluginMaterial = mod.exports;
- }
- })(this, function (_exports, _jquery, _Plugin2) {
- "use strict";
- Object.defineProperty(_exports, "__esModule", {
- value: true
- });
- _exports.default = void 0;
- _jquery = babelHelpers.interopRequireDefault(_jquery);
- _Plugin2 = babelHelpers.interopRequireDefault(_Plugin2);
- var NAME = 'formMaterial';
- function isChar(e) {
- if (typeof e.which === 'undefined') {
- return true;
- } else if (typeof e.which === 'number' && e.which > 0) {
- return !e.ctrlKey && !e.metaKey && !e.altKey && e.which !== 8 && e.which !== 9;
- }
- return false;
- }
- var FormMaterial =
- /*#__PURE__*/
- function (_Plugin) {
- babelHelpers.inherits(FormMaterial, _Plugin);
- function FormMaterial() {
- babelHelpers.classCallCheck(this, FormMaterial);
- return babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(FormMaterial).apply(this, arguments));
- }
- babelHelpers.createClass(FormMaterial, [{
- key: "getName",
- value: function getName() {
- return NAME;
- }
- }, {
- key: "render",
- value: function render() {
- var $el = this.$el;
- var $control = this.$control = $el.find('.form-control'); // Add hint label if required
- if ($control.attr('data-hint')) {
- $control.after("<div class=hint>".concat($control.attr('data-hint'), "</div>"));
- }
- if ($el.hasClass('floating')) {
- // Add floating label if required
- if ($control.hasClass('floating-label')) {
- var placeholder = $control.attr('placeholder');
- $control.attr('placeholder', null).removeClass('floating-label');
- $control.after("<div class=floating-label>".concat(placeholder, "</div>"));
- } // Set as empty if is empty
- if ($control.val() === null || $control.val() === 'undefined' || $control.val() === '') {
- $control.addClass('empty');
- }
- } // Support for file input
- if ($control.next().is('[type=file]')) {
- $el.addClass('form-material-file');
- }
- this.$file = $el.find('[type=file]');
- this.bind();
- $el.data('formMaterialAPI', this);
- }
- }, {
- key: "bind",
- value: function bind() {
- var _this = this;
- var $el = this.$el;
- var $control = this.$control = $el.find('.form-control');
- $el.on('keydown.site.material paste.site.material', '.form-control', function (e) {
- if (isChar(e)) {
- $control.removeClass('empty');
- }
- }).on('keyup.site.material change.site.material', '.form-control', function () {
- if ($control.val() === '' && typeof $control[0].checkValidity !== 'undefined' && $control[0].checkValidity()) {
- $control.addClass('empty');
- } else {
- $control.removeClass('empty');
- }
- });
- if (this.$file.length > 0) {
- this.$file.on('focus', function () {
- _this.$el.find('input').addClass('focus');
- }).on('blur', function () {
- _this.$el.find('input').removeClass('focus');
- }).on('change', function () {
- var $this = (0, _jquery.default)(this);
- var value = '';
- _jquery.default.each($this[0].files, function (i, file) {
- value += "".concat(file.name, ", ");
- });
- value = value.substring(0, value.length - 2);
- if (value) {
- $this.prev().removeClass('empty');
- } else {
- $this.prev().addClass('empty');
- }
- $this.prev().val(value);
- });
- }
- }
- }]);
- return FormMaterial;
- }(_Plugin2.default);
- _Plugin2.default.register(NAME, FormMaterial);
- var _default = FormMaterial;
- _exports.default = _default;
- });
|