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__DateInYearInput.js
/*** 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;

VaKeR 2022