![]() 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/TimeRange24Input.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ACore = _interopRequireWildcard(require("../ACore")); var _TimeInput = _interopRequireDefault(require("./TimeInput")); var _Time24Input = _interopRequireDefault(require("./Time24Input")); require("../css/timerange24input.css"); var _utils = require("./utils"); var _datetime = require("absol/src/Time/datetime"); var _LanguageSystem = _interopRequireDefault(require("absol/src/HTML5/LanguageSystem")); /*** * @extends AElement * @constructor */ function TimeRange24Input() { var t = _LanguageSystem.default.getText('txt_next_day'); if (t) { t = '(' + t + ')'; this.nextDateText = t; } /*** * * @type {TimeInput} */ this.$offset = (0, _ACore.$)(_TimeInput.default.tag, this); this.$offset.on('change', this.eventHandler.offsetChange); /*** * * @type {Time24Input} */ this.$duration = (0, _ACore.$)(_Time24Input.default.tag, this); this.$duration.on('change', this.eventHandler.durationChange); /*** * @type {number} * @name dayOffset * @memberOf TimeRange24Input# */ /*** * @type {number} * @name duration * @memberOf TimeRange24Input# */ /*** * @type {string} * @name format * @memberOf TimeRange24Input# */ } TimeRange24Input.tag = 'TimeRange24Input'.toLowerCase(); TimeRange24Input.render = function () { return (0, _ACore._)({ extendEvent: ['change'], class: 'as-time-range-24-input', child: [{ tag: _TimeInput.default.tag, props: { format: 'HH:mm' } }, _Time24Input.default.tag] }); }; TimeRange24Input.prototype.nextDateText = '(Next day)'; TimeRange24Input.prototype.init = function (props) { props = props || {}; var cpProps = Object.assign(props); if ('notNull' in props) { this.notNull = props.notNull; delete cpProps.notNull; } if ('dayOffset' in props) { this.dayOffset = props.dayOffset; delete cpProps.dayOffset; } Object.assign(this, cpProps); }; TimeRange24Input.prototype._updateTextData = function () { var dayOffset = this.dayOffset; var duration = this.duration; var format = this.format; var bD = (0, _datetime.beginOfDay)(new Date()).getTime(); var startD = new Date(bD + dayOffset); var text = (0, _datetime.formatDateTime)(startD, format || 'HH:mm'); var endD = new Date(bD + dayOffset + duration); text += ' - ' + (0, _datetime.formatDateTime)(endD, format || 'HH:mm'); if ((0, _datetime.compareDate)(endD, startD) > 0) { text += ' ' + this.nextDateText; } this.attr('data-text', text); }; TimeRange24Input.property = {}; TimeRange24Input.property.notNull = { /*** * @this TimeRange24Input * @param value */ set: function (value) { value = !!value; this.$offset.notNull = value; this.$duration.notNull = value; this._updateTextData(); }, get: function () { return this.$offset.notNull; } }; TimeRange24Input.property.disabled = { set: function (value) { value = !!value; if (value) { this.addClass('as-disabled'); } else { this.removeClass('as-disabled'); } this.$offset.disabled = value; this.$duration.disabled = value; }, get: function () { return this.hasClass('as-disabled'); } }; TimeRange24Input.property.dayOffset = { set: function (value) { var notNull = this.notNull; if ((0, _utils.isRealNumber)(value)) { value = (0, _utils.normalizeMinuteOfMillis)(value); } else { value = notNull ? 0 : null; } this.$offset.dayOffset = value; this.$duration.dayOffset = value; this._updateTextData(); }, get: function () { return this.$offset.dayOffset; } }; TimeRange24Input.property.duration = { /*** * @this TimeRange24Input * @param value */ set: function (value) { var notNull = this.notNull; if ((0, _utils.isRealNumber)(value)) { value = Math.floor(Math.min(_datetime.MILLIS_PER_DAY, Math.max(0, value))); value = Math.floor(value / _datetime.MILLIS_PER_MINUTE) * _datetime.MILLIS_PER_MINUTE; } else { value = notNull ? 0 : null; } this.$duration.value = value; this._updateTextData(); }, get: function () { return this.$duration.value; } }; TimeRange24Input.property.readOnly = { set: function (value) { if (value) { this.addClass('as-read-only'); this.$offset.readOnly = true; this.$duration.readOnly = true; } else { this.removeClass('as-read-only'); this.$offset.readOnly = false; this.$duration.readOnly = false; } }, get: function () { return this.containsClass('as-read-only'); } }; TimeRange24Input.property.value = { set: function (value) { var rangeValue = null; if ((0, _utils.isRealNumber)(value)) rangeValue = { dayOffset: value, duration: 0 };else if (!value) {} else if (typeof rangeValue === "object") { if ((0, _utils.isRealNumber)(value.dayOffset)) { rangeValue = { dayOffset: value.dayOffset, duration: 0 }; } else { rangeValue = { dayOffset: 0, duration: 0 }; } if ((0, _utils.isRealNumber)(value.duration)) { rangeValue.duration = value.duration; } } if (rangeValue) { this.dayOffset = rangeValue.dayOffset; this.duration = rangeValue.duration; } else { this.dayOffset = null; this.duration = null; } return rangeValue; }, get: function () { if (!(0, _utils.isRealNumber)(this.dayOffset) && !(0, _utils.isRealNumber)(this.duration)) return null; return { dayOffset: this.dayOffset || 0, duration: this.duration || 0 }; } }; TimeRange24Input.eventHandler = {}; TimeRange24Input.eventHandler.offsetChange = function (event) { var prevOffset = this.$duration.dayOffset; var preDuration = this.$duration.value; var prevEnd = prevOffset + preDuration; var newEnd; var newStart = this.$offset.dayOffset; if ((0, _utils.isRealNumber)(newStart)) { if ((0, _utils.isRealNumber)(prevEnd)) { newEnd = Math.max(newStart, Math.min(newStart + _datetime.MILLIS_PER_DAY - _datetime.MILLIS_PER_MINUTE, prevEnd)); } else { newEnd = newStart; } this.$duration.dayOffset = newStart; this.$duration.value = newEnd - newStart; } else { this.$duration.dayOffset = 0; this.$duration.value = (0, _utils.isRealNumber)(prevEnd) ? Math.min(prevEnd, _datetime.MILLIS_PER_DAY - _datetime.MILLIS_PER_MINUTE) : null; } this._updateTextData(); this.emit('change', { type: 'change', property: 'dayOffset', originalEvent: event.originalEvent || event.originEvent || event }); }; TimeRange24Input.eventHandler.durationChange = function (event) { if (!(0, _utils.isRealNumber)(this.$offset.dayOffset)) { this.$offset.dayOffset = this.$duration.dayOffset; } this._updateTextData(); this.emit('change', { type: 'change', property: 'duration', originalEvent: event.originalEvent || event.originEvent || event }); }; _ACore.default.install(TimeRange24Input); var _default = TimeRange24Input; exports.default = _default;