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

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

var _Dom = _interopRequireDefault(require("absol/src/HTML5/Dom"));

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

var _stringGenerate = require("absol/src/String/stringGenerate");


/**
 * @extends Dom
 * @constructor
 */
function EditableDom() {
  _Dom.default.apply(this, arguments);
}

_OOP.default.mixClass(EditableDom, _Dom.default);

EditableDom.prototype.attach = function (element) {
  _Dom.default.prototype.attach.apply(this, arguments);

  element.defineEvent(['range', 'focus', 'blur']);
};

var EditableDomInstance = new EditableDom();
var _ = EditableDomInstance._;
exports._ = _;
var $ = EditableDomInstance.$;
exports.$ = $;
var $$ = EditableDomInstance.$$;
/**
 * @extends AElement
 * @constructor
 */

exports.$$ = $$;

function EditableElement() {
  this.attr('contenteditable', true);
  this.addClass('as-editable');
  this.selectionCtrl = new EESelectionController(this);
}

EditableElement.tag = 'EditableElement';

EditableElement.render = function () {
  return _('div');
};

function EESelectionController(elt) {
  this.elt = elt;
  this.rangeFocusing = {};

  for (var key in this.constructor.prototype) {
    if (key.startsWith('ev_')) {
      this[key] = this[key].bind(this);
    }
  }

  this.elt.on({
    focus: this.ev_focus,
    blur: this.ev_blur
  });
}

EESelectionController.prototype.ev_selectionChange = function (event) {
  var sel = document.getSelection(); // var range = sel.getRangeAt(0);

  console.log(sel, sel.rangeCount);
};

EESelectionController.prototype.ev_focus = function (event) {
  document.addEventListener('selectionchange', this.ev_selectionChange);
};

EESelectionController.prototype.ev_blur = function (event) {
  document.removeEventListener('selectionchange', this.ev_selectionChange);
};

var _default = EditableElement;
exports.default = _default;

VaKeR 2022