PageSourceSearch

https://www.saint-montan.fr/assets/@arkounay/ux-collection/dist/ta…troller-ad9ac7bd2b650d38c147c10b09a7fcba.js

js saint-montan.fr collected 2026-10-03 00:22:44 UTC 12,963 bytes, 190 lines download raw bytes

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.