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

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

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

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

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

var _RadioButton = _interopRequireDefault(require("./RadioButton"));

var _Svg = _interopRequireDefault(require("absol/src/HTML5/Svg"));

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

var _printer = require("absol/src/Print/printer");

var _Rectangle = _interopRequireDefault(require("absol/src/Math/Rectangle"));


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

function Radio() {
  var thisR = this;
  this.defineEvent('change');
  this.$input = $('input', this).on('change', this.notifyChange.bind(this));
  this.$labels = $$('span', this);

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

Radio.tag = 'radio';
Radio.radioProto = _('<svg class="absol-radio-icon" width="20" height="20" version="1.1" viewBox="0 0 5.2917 5.2917"' + '   xmlns="http://www.w3.org/2000/svg">' + '    <g transform="translate(0 -291.71)">' + '        <circle class="bound" cx="2.6458" cy="294.35" r="2.4626" style="stroke-opacity:.99497;stroke-width:.26458;" />' + '        <circle class="dot" cx="2.6458" cy="294.35"  r= "0.92604" style="fill-rule:evenodd;" />' + '    </g>' + '</svg>');

Radio.render = function () {
  return _({
    tag: 'label',
    class: 'absol-radio',
    child: [{
      tag: 'input',
      attr: {
        type: 'radio'
      }
    }, {
      tag: 'span',
      class: 'absol-radio-left-label'
    }, Radio.radioProto.cloneNode(true), {
      tag: 'span',
      class: 'absol-radio-right-label'
    }]
  });
};

Radio.prototype.notifyChange = function () {
  this.emit('change', {
    type: 'change',
    checked: this.checked,
    target: this
  }, this);
};

Radio.prototype.getAllFriend = function () {
  return Radio.getAllByName(this.name);
};

Radio.attribute = _RadioButton.default.attribute;
Radio.property = {
  name: {
    set: function (name) {
      this.$input.setAttribute('name', name);
    },
    get: function () {
      return this.$input.getAttribute('name');
    }
  },
  text: {
    set: function (value) {
      value = (value || '').trim();
      this.$labels[0].clearChild();
      this.$labels[1].clearChild();

      if (value) {
        this.$labels[0].addChild(_({
          text: value
        }));
        this.$labels[1].addChild(_({
          text: value
        }));
      }
    },
    get: function () {
      return this.$labels[0].firstChild.data;
    }
  },
  disabled: {
    set: function (value) {
      this.$input.disabled = !!value;

      if (value) {
        this.addClass('disabled');
      } else {
        this.removeClass('disabled');
      }
    },
    get: function () {
      return this.$input.disabled;
    }
  }
};

Radio.getAllByName = function (name) {
  return (Array.apply(null, document.getElementsByTagName('input')) || []).filter(function (elt) {
    return elt.getAttribute('type') == 'radio' && elt.getAttribute('name') == name;
  });
};

Radio.getValueByName = function (name) {
  var inputs = Radio.getAllByName(name);
  var res = null;
  var input;

  for (var i = 0; i < inputs.length; ++i) {
    input = inputs[i];

    if (input.checked) {
      res = input.value;
    }
  }

  return res;
};

_ACore.default.install(Radio);

var _default = Radio;
exports.default = _default;
var radioImageCache = {};

_printer.ShareSerializer.addHandlerBefore({
  match: (elt, scope, stack) => {
    if ((elt.hasClass('absol-radio-icon') || elt.hasClass('as-checkbox-input-check-icon')) && (elt.parentElement.hasClass('absol-radio') || elt.parentElement.hasClass('absol-radio-button') || elt.parentElement.hasClass('as-checkbox-input'))) {
      return true;
    }

    return false;
  },
  exec: (printer, elt, scope, stack, accept) => {
    var type = elt.hasClass('absol-radio-icon') ? 'radio' : 'check';
    var fontSize = elt.getFontSize();
    var checked = !!elt.parentElement.__origin__.checked;
    var disabled = !!elt.parentElement.__origin__.disabled;

    var bound = _Rectangle.default.fromClientRect(elt.getBoundingClientRect());

    if (bound.width === 0) return;
    var rect = bound.clone();
    rect.x -= printer.O.x;
    rect.y -= printer.O.y;
    var key = type + fontSize + checked + disabled;
    var res;

    if (radioImageCache[key]) {
      res = radioImageCache[key];
    } else {
      res = _Svg.default.svgToCanvas(elt.__origin__).catch(err => {
        console.error(err);
      });
      radioImageCache[key] = res;
    }

    res.elt = elt;
    printer.image(res, rect);
  },
  id: 'Radio'
}, 'SVG');

VaKeR 2022