/home/preegmxb/byeaglytics-co.com/media/system/js/fields/joomla-field-module-order-es5.js
(function () {
'use strict';
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
_setPrototypeOf(subClass, superClass);
}
function _getPrototypeOf(o) {
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
function _setPrototypeOf(o, p) {
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
function _isNativeReflectConstruct() {
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === "function") return true;
try {
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
return true;
} catch (e) {
return false;
}
}
function _construct(Parent, args, Class) {
if (_isNativeReflectConstruct()) {
_construct = Reflect.construct;
} else {
_construct = function _construct(Parent, args, Class) {
var a = [null];
a.push.apply(a, args);
var Constructor = Function.bind.apply(Parent, a);
var instance = new Constructor();
if (Class) _setPrototypeOf(instance, Class.prototype);
return instance;
};
}
return _construct.apply(null, arguments);
}
function _isNativeFunction(fn) {
return Function.toString.call(fn).indexOf("[native code]") !== -1;
}
function _wrapNativeSuper(Class) {
var _cache = typeof Map === "function" ? new Map() : undefined;
_wrapNativeSuper = function _wrapNativeSuper(Class) {
if (Class === null || !_isNativeFunction(Class)) return Class;
if (typeof Class !== "function") {
throw new TypeError("Super expression must either be null or a function");
}
if (typeof _cache !== "undefined") {
if (_cache.has(Class)) return _cache.get(Class);
_cache.set(Class, Wrapper);
}
function Wrapper() {
return _construct(Class, arguments, _getPrototypeOf(this).constructor);
}
Wrapper.prototype = Object.create(Class.prototype, {
constructor: {
value: Wrapper,
enumerable: false,
writable: true,
configurable: true
}
});
return _setPrototypeOf(Wrapper, Class);
};
return _wrapNativeSuper(Class);
}
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
/**
* @package Joomla.JavaScript
* @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
customElements.define('joomla-field-module-order', /*#__PURE__*/function (_HTMLElement) {
_inheritsLoose(_class, _HTMLElement);
function _class() {
var _this;
_this = _HTMLElement.call(this) || this;
_this.linkedFieldSelector = '';
_this.linkedFieldElement = '';
_this.originalPosition = '';
_this.writeDynaList.bind(_assertThisInitialized(_this));
_this.getNewOrder.bind(_assertThisInitialized(_this));
return _this;
}
var _proto = _class.prototype;
_proto.connectedCallback = function connectedCallback() {
this.linkedFieldSelector = this.getAttribute('data-linked-field') || 'jform_position';
if (!this.linkedFieldSelector) {
throw new Error('No linked field defined!');
}
this.linkedFieldElement = document.getElementById(this.linkedFieldSelector);
if (!this.linkedFieldElement) {
throw new Error('No linked field defined!');
}
var that = this;
this.originalPosition = this.linkedFieldElement.value;
/** Initialize the field * */
this.getNewOrder(this.originalPosition);
/** Watch for changes on the linked field * */
this.linkedFieldElement.addEventListener('change', function () {
that.originalPosition = that.linkedFieldElement.value;
that.getNewOrder(that.linkedFieldElement.value);
});
};
_proto.writeDynaList = function writeDynaList(selectProperties, source, originalPositionName, originalPositionValue) {
var i = 0;
var selectNode = document.createElement('select');
if (this.hasAttribute('disabled')) {
selectNode.setAttribute('disabled', '');
}
if (this.getAttribute('onchange')) {
selectNode.setAttribute('onchange', this.getAttribute('onchange'));
}
if (this.getAttribute('size')) {
selectNode.setAttribute('size', this.getAttribute('size'));
}
selectNode.classList.add(selectProperties.itemClass);
selectNode.setAttribute('name', selectProperties.name);
selectNode.id = selectProperties.id; // eslint-disable-next-line no-restricted-syntax
for (var x in source) {
// eslint-disable-next-line no-prototype-builtins
if (!source.hasOwnProperty(x)) {
// eslint-disable-next-line no-continue
continue;
}
var node = document.createElement('option');
var item = source[x]; // eslint-disable-next-line prefer-destructuring
node.value = item[1]; // eslint-disable-next-line prefer-destructuring
node.innerHTML = Joomla.sanitizeHtml(item[2]);
if (originalPositionName && originalPositionValue === item[1] || !originalPositionName && i === 0) {
node.setAttribute('selected', 'selected');
}
selectNode.appendChild(node);
i += 1;
}
this.innerHTML = '';
this.appendChild(selectNode);
};
_proto.getNewOrder = function getNewOrder(originalPosition) {
var url = this.getAttribute('data-url');
var clientId = this.getAttribute('data-client-id');
var originalOrder = this.getAttribute('data-ordering');
var name = this.getAttribute('data-name');
var attr = this.getAttribute('data-client-attr') ? this.getAttribute('data-client-attr') : 'form-select';
var id = "" + this.getAttribute('data-id');
var moduleId = "" + this.getAttribute('data-module-id');
var orders = [];
var that = this;
Joomla.request({
url: url + "&client_id=" + clientId + "&position=" + originalPosition + "&module_id=" + moduleId,
method: 'GET',
perform: true,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
onSuccess: function onSuccess(resp) {
if (resp) {
var response;
try {
response = JSON.parse(resp);
} catch (e) {
// eslint-disable-next-line no-console
console.error(e);
}
/** Check if everything is OK * */
if (response.data.length > 0) {
for (var i = 0; i < response.data.length; i += 1) {
orders[i] = response.data[i].split(',');
}
that.writeDynaList({
name: name,
id: id,
itemClass: attr
}, orders, that.originalPosition, originalOrder);
}
}
/** Render messages, if any. There are only message in case of errors. * */
if (typeof resp.messages === 'object' && resp.messages !== null) {
Joomla.renderMessages(resp.messages);
}
}
});
};
return _class;
}( /*#__PURE__*/_wrapNativeSuper(HTMLElement)));
}());