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__CheckBox.js
/*** module: node_modules/absol-acomp/js/CheckBox.js ***/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

require("../css/checkbox.css");

var _ACore = _interopRequireDefault(require("../ACore"));

var _AElement = _interopRequireDefault(require("absol/src/HTML5/AElement"));

var _CheckBoxInput = _interopRequireDefault(require("./CheckBoxInput"));

var _OOP = _interopRequireDefault(require("absol/src/HTML5/OOP"));

var _EventEmitter = _interopRequireDefault(require("absol/src/HTML5/EventEmitter"));


var _ = _ACore.default._;
var $ = _ACore.default.$;
var $$ = _ACore.default.$$;
/***
 * @extends AElement
 * @constructor
 */

function CheckBox() {
  this.defineEvent('change');
  /***
   *
   * @type {CheckboxInput}
   */

  this.$input = $('checkboxinput', this).on('change', this.notifyChange.bind(this));
  this.$labels = $$('span', this);
  this.on('click', this.eventHandler.click);

  _OOP.default.drillProperty(this, this.$input, ['checked']);

  _OOP.default.drillProperty(this, this.$input, ['minus']);
  /***
   * @type {boolean}
   * @name checked
   * @memberOf CheckBox#
   */

  /***
   * @type {boolean}
   * @name minus
   * @memberOf CheckBox#
   */

}

CheckBox.tag = 'checkbox';

CheckBox.render = function () {
  return _({
    class: ['absol-checkbox', 'as-no-label'],
    child: [{
      tag: 'span',
      class: ['absol-checkbox-label', 'as-left'],
      child: {
        text: ''
      }
    }, 'checkboxinput', {
      tag: 'span',
      class: ['absol-checkbox-label', 'as-right'],
      child: {
        text: ''
      }
    }]
  });
};

CheckBox.prototype.notifyChange = function () {
  this.emit('change', {
    type: 'change',
    checked: this.checked,
    target: this
  }, this);
}; //v, labelText, checked


CheckBox.attribute = {
  checked: {
    set: function (value) {
      if (value === 'false' || value == null) {
        this.checked = false;
      } else {
        this.checked = true;
      }
    },
    get: function () {
      return this.checked ? 'true' : 'false';
    },
    remove: function () {
      this.checked = false;
    }
  },
  disabled: {
    set: function (value) {
      this.disabled = !(value === 'false' || value === null);
    },
    get: function () {
      return this.disabled ? 'true' : 'false';
    },
    remove: function () {
      this.disabled = false;
    }
  },
  readonly: {
    set: function (value) {
      this.readOnly = !(value === 'false' || value === null);
    },
    get: function () {
      return this.readOnly ? 'true' : 'false';
    }
  }
};
CheckBox.property = {};
CheckBox.property.text = {
  get: function () {
    return this._text;
  },
  set: function (value) {
    value = value || '';

    if (value.length === 0) {
      this.addClass('as-no-label');
    } else {
      this.removeClass('as-no-label');
    }

    this._text = value;
    this.$labels[0].firstChild.data = value;
    this.$labels[1].firstChild.data = value;
  }
};
CheckBox.property.disabled = {
  get: function () {
    return this.$input.disabled;
  },
  set: function (value) {
    value = !!value;
    this.$input.disabled = value;

    if (value) {
      this.addClass('as-disabled');
    } else {
      this.removeClass('as-disabled');
    }
  }
};
CheckBox.property.readOnly = {
  set: function (value) {
    if (value) {
      this.addClass('as-read-only');
      this.$input.readOnly = true;
    } else {
      this.addClass('as-read-only');
      this.$input.readOnly = false;
    }
  },
  get: function () {
    return this.$input.readOnly;
  }
};
/***
 *
 * @type {{}|CheckBox}
 */

CheckBox.eventHandler = {};

CheckBox.eventHandler.click = function (event) {
  if (!_EventEmitter.default.hitElement(this.$input, event) && !this.readOnly) {
    this.$input.click();
  }
};

_ACore.default.install(CheckBox);

var _default = CheckBox;
exports.default = _default;

VaKeR 2022