![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/libs/absol-full/dist/js/ |
Upload File : |
/*** module: node_modules/absol-acomp/js/DateInYearInput.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ACore = _interopRequireWildcard(require("../ACore")); var _DateInYearPicker = _interopRequireDefault(require("./DateInYearPicker")); var _Follower = _interopRequireDefault(require("./Follower")); var _EventEmitter = require("absol/src/HTML5/EventEmitter"); var _utils = require("./utils"); var _datetime = require("absol/src/Time/datetime"); /*** * @extends AElement * @constructor */ function DateInYearInput() { this._format = 'dd/MM'; this._value = null; this.$clearBtn = (0, _ACore.$)('.as-time-input-clear-btn', this).on('click', this.clear.bind(this, true)); this.$input = (0, _ACore.$)('input', this); this.on('click', this.eventHandler.click); } DateInYearInput.tag = 'DateInYearInput'.toLowerCase(); DateInYearInput.render = function () { return (0, _ACore._)({ extendEvent: ['change'], class: ['as-date-time-input', 'as-date-in-year-input', 'as-empty'], child: [{ tag: 'input', class: 'as-date-time-input-text', attr: { ondrop: "return false;", readOnly: true }, props: { value: 'dd/MM' } }, { tag: 'button', class: 'as-time-input-clear-btn', child: 'span.mdi.mdi-close-circle' }, { tag: 'button', class: 'as-date-time-input-icon-btn', child: 'span.mdi.mdi-calendar-today' }] }); }; DateInYearInput.prototype.share = { $follower: null, $picker: null, $input: null }; DateInYearInput.prototype._preparePicker = function () { if (this.share.$picker) return; this.share.$picker = (0, _ACore._)({ tag: _DateInYearPicker.default.tag, class: 'as-dropdown-box-common-style' }); this.share.$follower = (0, _ACore._)({ tag: _Follower.default.tag, class: 'as-date-in-year-follower', child: this.share.$picker }); }; DateInYearInput.prototype.clear = function (userAction, event) { var pValue = this.value; this.value = null; if (pValue) { this.emit('change', { type: 'change', action: 'clear', target: this, originalEvent: event }, this); } }; DateInYearInput.prototype._attachPicker = function () { this._preparePicker(); if (this.share.$input === this) return; if (this.share.$input) this.share.$input._releasePicker(); this.share.$input = this; this.share.$follower.addTo(document.body); this.share.$follower.followTarget = this; this.share.$follower.sponsorElement = this; this.share.$picker.value = this._value; this.share.$picker.on('change', this.eventHandler.pickerChange); setTimeout(function () { document.addEventListener('click', this.eventHandler.clickOut); }.bind(this), 0); }; DateInYearInput.prototype._releasePicker = function () { if (this.share.$input !== this) return; var cValue = this._value; var value = this.share.$picker.value; var nValue = this._normalizeValue(value); this.share.$input = null; this.share.$picker.followTarget = null; this.share.$follower.remove(); this.share.$picker.off('change', this.eventHandler.pickerChange); document.removeEventListener('click', this.eventHandler.clickOut); var changed = !cValue !== !nValue; if (nValue && !changed) { changed = cValue.date === nValue.date && cValue.month === nValue.month; } if (changed) { this._value = value; this.emit('change', { type: 'change', value: nValue, target: this }, this); } }; DateInYearInput.prototype._normalizeValue = function (value) { if (!value) return null; var m = Math.min(11, Math.max(0, Math.floor(value.month))); if (isNaN(m)) return null; var dim = (0, _datetime.compareDate)((0, _datetime.nextMonth)(new Date(2000, m, 1)), new Date(2000, m, 1)); var d = Math.min(dim, Math.max(1, Math.floor(value.date))); if (isNaN(d)) return null; return { date: d, month: m }; }; DateInYearInput.prototype._updateValueText = function () { var value = this._value; if (value) { this.$input.value = this._format.replace(new RegExp(_datetime.DATE_TIME_TOKEN_RGX.source, 'g'), function (full) { switch (full) { case 'dd': case 'd': if ((0, _utils.isRealNumber)(value.date)) { return (0, _utils.zeroPadding)(value.date, full.length); } return full; case 'M': case 'MM': if ((0, _utils.isRealNumber)(value.month)) { return (0, _utils.zeroPadding)(value.month + 1, full.length); } return full; default: return full; } }); } else { this.$input.value = this._format; } if (this.$input.value === this._format) { this.addClass('as-empty'); } else { this.removeClass('as-empty'); } }; DateInYearInput.property = {}; DateInYearInput.property.value = { set: function (value) { value = this._normalizeValue(value); this._value = value; this._updateValueText(); }, get: function () { return this._normalizeValue(this._value); } }; DateInYearInput.property.notNull = { set: function (value) { if (value) { this.addClass('as-must-not-null'); } else { this.removeClass('as-must-not-null'); } }, get: function () { return this.hasClass('as-must-not-null'); } }; DateInYearInput.property.disabled = { set: function (value) { if (value) { this.addClass('as-disabled'); this.$input.disabled = true; } else { this.removeClass('as-disabled'); this.$input.disabled = false; } }, get: function () { return this.hasClass('as-disabled'); } }; DateInYearInput.property.readOnly = { set: function (value) { if (value) { this.addClass('as-read-only'); this.$input.readOnly = true; } else { this.removeClass('as-read-only'); this.$input.readOnly = false; } }, get: function () { return this.hasClass('as-read-only'); } }; /*** * @memberOf DateInYearInput# * @type {{}} */ DateInYearInput.eventHandler = {}; /*** * @this DateInYearInput * @param event */ DateInYearInput.eventHandler.click = function (event) { if (this.readOnly || (0, _EventEmitter.hitElement)(this.$clearBtn, event)) return; this._attachPicker(); }; /*** * @this DateInYearInput * @param event */ DateInYearInput.eventHandler.clickOut = function (event) { if ((0, _EventEmitter.hitElement)(this.share.$follower, event)) return; this._releasePicker(); }; DateInYearInput.eventHandler.pickerChange = function () { this._value = this.share.$picker.value; this._updateValueText(); }; _ACore.default.install(DateInYearInput); var _default = DateInYearInput; exports.default = _default;