![]() 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 : |
/*** module: node_modules/absol-form/js/components/EditableArrayOfFragment.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ScalableComponent = _interopRequireDefault(require("../core/ScalableComponent")); var _OOP = _interopRequireDefault(require("absol/src/HTML5/OOP")); var _FCore = require("../core/FCore"); var _Assembler = require("../core/Assembler"); var _ArrayOfFragment = _interopRequireDefault(require("./ArrayOfFragment")); var _FlexiconButton = _interopRequireDefault(require("absol-acomp/js/FlexiconButton")); require("../../css/editablearrayoffragment.css"); var _inheritComponentClass = _interopRequireDefault(require("../core/inheritComponentClass")); /*** * @extends ArrayOfFragment * @constructor */ function EditableArrayOfFragment() { _ArrayOfFragment.default.call(this); this.fragments = []; this._makeArray(); } (0, _inheritComponentClass.default)(EditableArrayOfFragment, _ArrayOfFragment.default); EditableArrayOfFragment.prototype.tag = "EditableArrayOfFragment"; EditableArrayOfFragment.prototype.menuIcon = "span.mdi.mdi-tray-full"; EditableArrayOfFragment.prototype.render = function () { return (0, _FCore._)({ class: 'as-editable-array-of-fragment', child: ['.as-editable-array-of-fragment-item-list', { class: 'as-editable-array-of-fragment-bottom', child: [{ tag: _FlexiconButton.default.tag, props: { text: 'LanguageModule' in window ? LanguageModule.text('txt_add') : 'Add' } }] }] }); }; EditableArrayOfFragment.prototype.onCreated = function () { this.$list = (0, _FCore.$)('.as-editable-array-of-fragment-item-list', this.domElt); this.$addBtn = (0, _FCore.$)('.as-editable-array-of-fragment-bottom .as-flexicon-button', this.domElt).on('click', this.addNewRow.bind(this)); _ArrayOfFragment.default.prototype.onCreated.call(this); }; EditableArrayOfFragment.prototype.getAttributeItemFragmentClassDescriptor = function () { return { type: 'fragmentClass' }; }; EditableArrayOfFragment.prototype._makeArray = function () { if (this._dataArr) return; var self = this; this._dataArr = []; this._dataArr.push = function () { this.splice.apply(this, [this.length, this.length].concat(Array.prototype.slice.apply(arguments))); self.notifyChange(); return arguments.length; }; var oUnShift = this._dataArr.unshift; this._dataArr.unshift = function () { var newItems = Array.prototype.slice.call(arguments); self.notifyChange(); return oUnShift.apply(this._array, newItems); }; this._dataArr.pop = function () { if (this.length <= 0) return undefined; var res = this[this.length - 1]; this.slice(this.length - 1, this.length); self.notifyChange(); return res; }; this._dataArr.shift = function () { if (this.length <= 0) return undefined; var res = this[0]; this.slice(0, 1); self.notifyChange(); return res; }; this._dataArr.splice = function () { var start; var deleteCount; var addedItems; if (arguments.length < 1) start = 0;else start = arguments[0]; if (start < 0) start = this.length - start; start = Math.max(0, start); if (arguments.length < 2) deleteCount = this.length - start;else deleteCount = arguments[1]; if (deleteCount < 0) deleteCount = 0; deleteCount = Math.min(deleteCount, this.length - start); if (arguments.length > 2) addedItems = Array.prototype.slice.call(arguments, 2);else addedItems = []; var className = self.getAttribute('itemFragmentClass'); var newFragments = addedItems.map(function (item) { var frag = _Assembler.AssemblerInstance.buildFragment({ class: className }); frag.props = item; return frag; }); var endCtnElt = self.fragments[start + deleteCount] && self.fragments[start + deleteCount].domElt.parentElement; var removedFragments = self.fragments.splice.apply(self.fragments, [start, deleteCount].concat(newFragments)); removedFragments.forEach(function (frg) { self.fragment.removeChild(frg); frg.domElt.parentElement.remove(); }); newFragments.forEach(function (frg) { self.fragment.addChild(frg); var itemCtn = (0, _FCore._)({ class: 'as-editable-array-of-fragment-item', child: [frg.domElt, { class: ['as-editable-array-of-fragment-remove-btn-ctn'], child: { tag: 'button', class: 'as-from-tool-button', child: 'span.mdi.mdi-delete', on: { click: function () { var eventData = {}; eventData.type = 'cmd_remove_row'; var idx = self._dataArr.indexOf(frg.props); eventData.rowIdx = idx; eventData.accepted = true; eventData.accept = function (isAccepted) { this.accepted = isAccepted; }; self.emit(eventData.type, eventData, self); if (eventData.accepted && eventData.accepted.then) { eventData.accepted.then(function (isAccept) { if (isAccept) { if (idx >= 0) self._dataArr.splice(idx, 1); } }); } else if (eventData.accepted) { if (idx >= 0) self._dataArr.splice(idx, 1); } } } } }] }); if (endCtnElt) self.$list.addChildBefore(itemCtn, endCtnElt);else self.$list.addChild(itemCtn); }); var newBindItems = newFragments.map(function (frg) { return frg.props; }); self.notifyChange(); return Array.prototype.splice.apply(this, [start, deleteCount].concat(newBindItems)); }; }; EditableArrayOfFragment.prototype.createDataBindingDescriptor = function () { var self = this; return { set: function (value) { value = value || []; if (!value.slice) value = []; self._dataArr.splice.apply(self._dataArr, [0, self._dataArr.length].concat(value)); }, get: function () { return self._dataArr; } }; }; EditableArrayOfFragment.prototype.addNewRow = function () { var eventData = {}; eventData.type = 'cmd_insert_row'; eventData.rowIdx = this._dataArr.length; eventData.result = {}; eventData.resolve = function (result) { this.result = result; }; var self = this; self.emit(eventData.type, eventData, self); if (eventData.result) { if (eventData.result.then) { eventData.result.then(function (result) { if (result) { self._dataArr.push(result); } }); } else { self._dataArr.push(eventData.result); } } }; _Assembler.AssemblerInstance.addClass(EditableArrayOfFragment); var _default = EditableArrayOfFragment; exports.default = _default;