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

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

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

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



var _ = _ACore.default._;
var $ = _ACore.default.$;

function ProgressCircle() {
  this._text = 'Loading\n$value';
  this._value = 0;
  this._variant = null;
  this._viewValue = 0;
  this.$pie = $('.as-progress-circle-pie', this);
  this.$inner = $('.as-progress-circle-inner', this);
  this.$end = $('.as-progress-circle-end', this);
  this.$text = $('.as-progress-circle-text', this);
  this._animated = true;
}

ProgressCircle.tag = 'ProgressCircle'.toLowerCase();

ProgressCircle.render = function () {
  return _({
    class: 'as-progress-circle',
    child: ['.as-progress-circle-start', '.as-progress-circle-pie', '.as-progress-circle-end', {
      class: 'as-progress-circle-inner',
      child: {
        class: 'as-progress-circle-text',
        child: {
          text: ''
        }
      }
    }] // child: {
    //     class: 'as-progress-bar-value'
    // }

  });
};

ProgressCircle.property = {};

ProgressCircle.prototype._updateValue = function () {
  if (Math.abs(this._value - this._viewValue) < 0.05 || !this._animated) this._viewValue = this._value;else {
    if (this._value > this._viewValue) this._viewValue += 0.05;else this._viewValue -= 0.05;
  }
  var value = this._viewValue;
  var angle = Math.PI * (-0.5 + value * 2);
  var cosAngle = Math.cos(angle);
  var sinAngle = Math.sin(angle);
  var pl = 'polygon(50% 0%, 100% 0%, ';
  if (value >= 0.25) pl += '100% 100%, ';
  if (value >= 0.5) pl += '0% 100%, ';
  if (value >= 0.75) pl += '0% 0%, ';
  pl += `${50 + 50 * cosAngle}% ${50 + 50 * sinAngle}%`;
  pl += ', 50% 50%)';
  this.$pie.addStyle('clipPath', pl);
  this.$end.addStyle({
    left: `calc(${50 + 50 * cosAngle}% - ${(cosAngle + 1) * 0.8 / 2}em)`,
    top: `calc(${50 + 50 * sinAngle}% - ${(sinAngle + 1) * 0.8 / 2}em)`
  });

  if (this._value !== this._viewValue) {
    requestAnimationFrame(() => this._updateValue());
  }
};

ProgressCircle.prototype._updateText = function () {
  var value = this._value;
  var text = this._text;
  text = text.replace('$value', Math.round(value * 100) + '%');
  this.$text.firstChild.data = text;
};
/**
 * @type {ProgressCircle}
 */


ProgressCircle.property.variant = {
  set: function (value) {
    if (this._variant) {
      this.removeClass('as-variant-' + this._variant);
    }

    if (value) {
      this.addClass('as-variant-' + value);
    } else {
      value = null;
    }

    this._variant = value;
  },
  get: function () {
    return this._variant;
  }
};
ProgressCircle.property.value = {
  /**
   * @this ProgressCircle
   * @param value
   */
  set: function (value) {
    value = Math.max(0, Math.min(1, value || 0));
    this._value = value;

    this._updateValue();

    this._updateText();
  },
  get: function () {
    return this._value;
  }
};
ProgressCircle.property.text = {
  set: function (value) {
    value = value || '';
    if (typeof value !== "string") value = '';
    this._text = value;

    this._updateText();
  },
  get: function () {
    return this._text;
  }
};
ProgressCircle.property.animated = {
  set: function (value) {
    value = !!value;
    this._animated = value;

    if (value) {
      this.addClass('as-animated');
    } else {
      this.removeClass('as-animated');
    }
  },
  get: function () {
    return this._animated;
  }
};

_ACore.default.install(ProgressCircle);

var _default = ProgressCircle;
exports.default = _default;

VaKeR 2022