1function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } 2function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 3function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } 4function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } 5function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } 6function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); } 7function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } 8function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } 9function _possibleConstructorReturn(self, call) { if (call && (typeof call === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } 10function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } 11function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 12function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 13function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); } 14function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 15function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; } 16var id = 0; 17function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; } 18import { Controller } from '@hotwired/stimulus'; 19var _addCollectionElementListeners = /*#__PURE__*/_classPrivateFieldLooseKey("addCollectionElementListeners"); 20var _getInputNameFromCollectionElement = /*#__PURE__*/_classPrivateFieldLooseKey("getInputNameFromCollectionElement"); 21var _generateTabs = /*#__PURE__*/_classPrivateFieldLooseKey("generateTabs"); 22var _generateTab = /*#__PURE__*/_classPrivateFieldLooseKey("generateTab");
23var _setActive = /*#__PURE__*/_classPrivateFieldLooseKey("setActive"); 24var _default = /*#__PURE__*/function (_Controller) { 25 _inheritsLoose(_default, _Controller); 26 function _default() { 27 var _this; 28 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 29 args[_key] = arguments[_key]; 30 } 31 _this = _callSuper(this, _default, [].concat(args)); 32 Object.defineProperty(_assertThisInitialized(_this), _setActive, { 33 value: _setActive2 34 }); 35 Object.defineProperty(_assertThisInitialized(_this), _generateTab, { 36 value: _generateTab2 37 }); 38 Object.defineProperty(_assertThisInitialized(_this), _generateTabs, { 39 value: _generateTabs2 40 }); 41 /** 42 * @param collectionElement 43 * @returns HTMLInputElement The first input element in a collectionElement will return its name 44 */ 45 Object.defineProperty(_assertThisInitialized(_this), _getInputNameFromCollectionElement, { 46 value: _getInputNameFromCollectionElement2 47 }); 48 Object.defineProperty(_assertThisInitialized(_this), _addCollectionElementListeners, { 49 value: _addCollectionElementListeners2 50 }); 51 return _this; 52 } 53 var _proto = _default.prototype; 54 _proto.connect = function connect() { 55 this.collectionTarget.addEventListener('ux-collection:change', this._onChange.bind(this)); 56 this.collectionTarget.addEventListener('ux-collection:add', this._onAdd.bind(this)); 57 this.addButton.parentNode.hidden = true; 58 _classPrivateFieldLooseBase(this, _generateTabs)[_generateTabs](); 59 _classPrivateFieldLooseBase(this, _setActive)[_setActive](0); 60 for (var _iterator = _createForOfIteratorHelperLoose(this.collectionElementTargets), _step; !(_step = _iterator()).done;) { 61 var collectionElement = _step.value; 62 _classPrivateFieldLooseBase(this, _addCollectionElementListeners)[_addCollectionElementListeners](collectionElement); 63 } 64 }; 65 _proto.disconnect = function disconnect() { 66 this.collectionTarget.removeEventListener('ux-collection:change', this._onChange.bind(this)); 67 this.collectionTarget.removeEventListener('ux-collection:add', this._onAdd.bind(this)); 68 }; 69 _proto._onChange = function _onChange() { 70 var _this2 = this; 71 _classPrivateFieldLooseBase(this, _generateTabs)[_generateTabs](); 72 var activeIndex = this.collectionElementTargets.findIndex(function (element) { 73 return element.classList.contains('active'); 74 }); 75 if (this.collectionElementTargets.length > 0 && activeIndex === -1) { 76 _classPrivateFieldLooseBase(this, _setActive)[_setActive](0); 77 } else { 78 // find current active 79 _classPrivateFieldLooseBase(this, _setActive)[_setActive](activeIndex); 80 } 81 this.collectionElementTargets.some(function (element, index) { 82 if (element.querySelector('.form-error-message')) { 83 _classPrivateFieldLooseBase(_this2, _setActive)[_setActive](index); 84 return true; 85 } 86 }); 87 }; 88 _proto._onAdd = function _onAdd(event) { 89 _classPrivateFieldLooseBase(this, _generateTabs)[_generateTabs](); 90 _classPrivateFieldLooseBase(this, _setActive)[_setActive](this.collectionElementTargets.length - 1); 91 _classPrivateFieldLooseBase(this, _addCollectionElementListeners)[_addCollectionElementListeners](event.detail); 92 document.querySelectorAll('.tooltip').forEach(function (e) { 93 return e.remove(); 94 }); 95 var deleteButton = event.detail.querySelector("[data-collection-id=\"" + this.idValue + "\"][data-arkounay--ux-collection--collection-target=\"delete\"]"); 96 if (deleteButton) { 97 deleteButton.hidden = true; 98 } 99 }; 100 _proto.remove = function remove(e) { 101 // get index 102 var index = this.tabButtonTargets.indexOf(e.target.closest('.nav-link')); 103 this.collectionElementTargets[index].querySelector("[data-collection-id=\"" + this.idValue + "\"][data-arkounay--ux-collection--collection-target=\"delete\"]").click(); 104 }; 105 _proto.add = function add(e) { 106 e.preventDefault(); 107 this.addButton.click(); 108 }; 109 _createClass(_default, [{ 110 key: "addButton", 111 get: function get() { 112 return this.collectionTarget.querySelector("[data-collection-id=\"" + this.idValue + "\"][data-arkounay--ux-collection--collection-target=\"add\"]"); 113 } 114 }]); 115 return _default; 116}(Controller); 117function _addCollectionElementListeners2(collectionElement) { 118 var _this3 = this; 119 // change tab name on keyup 120 _classPrivateFieldLooseBase(this, _getInputNameFromCollectionElement)[_getInputNameFromCollectionElement](collectionElement).addEventListener('keyup', function (e) { 121 var name = e.target.value; 122 if (!name) { 123 name = _this3.emptyTabNameValue; 124 } 125 _this3.tabButtonTargets[_this3.collectionElementTargets.indexOf(collectionElement)].querySelector('.tab-name').textContent = name; 126 }); 127
128 // focus tab when html5 invalid 129 for (var _iterator2 = _createForOfIteratorHelperLoose(collectionElement.querySelectorAll('input,textarea,select')), _step2; !(_step2 = _iterator2()).done;) { 130 var el = _step2.value; 131 el.addEventListener('invalid', function () { 132 var index = _this3.collectionElementTargets.indexOf(collectionElement); 133 _this3.tabButtonTargets[index].click(); 134 }); 135 } 136} 137function _getInputNameFromCollectionElement2(collectionElement) { 138 return collectionElement.querySelector('input'); 139} 140function _generateTabs2() { 141 var _this4 = this; 142 var tabs = ''; 143 this.collectionElementTargets.forEach(function (element, index) { 144 tabs += _classPrivateFieldLooseBase(_this4, _generateTab)[_generateTab](element, index); 145 }); 146 var maxValue = this.collectionTarget.dataset['arkounay-UxCollection-CollectionMaxValue']; 147 if (this.collectionTarget.dataset.allowAdd == 1 && (!maxValue || this.collectionElementTargets.length < maxValue)) { 148 var addButtonIcon = this.addButton.querySelector('svg').outerHTML; 149 var isEmpty = this.collectionElementTargets.length === 0; 150 var addButtonText = isEmpty ? this.addButton.textContent : ''; 151 var tooltip = isEmpty ? '' : "data-controller=\"tooltip\" data-bs-placement=\"right\" title=\"" + this.addButton.textContent + "\""; 152 tabs += "<li class=\"nav-item nav-action-add\"><a " + tooltip + " href=\"#\" class=\"nav-link\" data-action=\"arkounay--ux-collection--tabbed-collection#add\" type=\"button\" role=\"tab\">" + addButtonIcon + " " + addButtonText + "</a></li>"; 153 } 154 this.tabsTarget.innerHTML = tabs; 155 this.tabsTarget.classList.toggle('nav-tabs-empty', this.tabButtonTargets.length === 0); 156} 157function _generateTab2(target, i) { 158 var tiedCollectionElement = this.collectionElementTargets[i]; 159 var name = _classPrivateFieldLooseBase(this, _getInputNameFromCollectionElement)[_getInputNameFromCollectionElement](tiedCollectionElement).value; 160 if (!name) { 161 name = this.emptyTabNameValue; 162 } 163 var minValue = this.collectionTarget.dataset['arkounay-UxCollection-CollectionMinValue']; 164 var removeButton = ''; 165 if (this.collectionTarget.dataset.allowRemove == 1 && (!minValue || this.collectionElementTargets.length > minValue)) { 166 removeButton = "<button class=\"ms-3 btn-sm btn-close\" data-action=\"arkounay--ux-collection--tabbed-collection#remove\"></button>"; 167 } 168 return "<li class=\"nav-item\" role=\"presentation\">\n <a href=\"#\" class=\"nav-link\" data-arkounay--ux-collection--tabbed-collection-target=\"tabButton\" data-bs-toggle=\"tab\" data-bs-target=\"#tab-" + this.collectionTarget.id + "-" + i + "\" type=\"button\" role=\"tab\"><span class=\"tab-name\">" + name + "</span> " + removeButton + "</a>\n </li>"; 169} 170function _setActive2(index) { 171 var _this$tabButtonTarget, 172 _this5 = this, 173 _this$collectionEleme; 174 for (var _iterator3 = _createForOfIteratorHelperLoose(this.tabButtonTargets), _step3; !(_step3 = _iterator3()).done;) { 175 var tab = _step3.value; 176 tab.classList.remove('active'); 177 } 178 (_this$tabButtonTarget = this.tabButtonTargets[index]) == null || _this$tabButtonTarget.classList.add('active'); 179 this.collectionElementTargets.forEach(function (element, index) { 180 element.classList.remove('active'); 181 element.id = "tab-" + _this5.collectionTarget.id + "-" + index; 182 }); 183 (_this$collectionEleme = this.collectionElementTargets[index]) == null || _this$collectionEleme.classList.add('active'); 184} 185_default.targets = ['collection', 'collectionElement', 'tabs', 'tabButton']; 186_default.values = { 187 emptyTabName: String, 188 id: String 189}; 190export { _default as default };
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.