VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol-acomp__js__TimeRange24Input.js
/*** 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;

VaKeR 2022