Unterstützung für IPN-Suche in der BOM-Konfiguration bei Part- und Assembly-Auswahl hinzufügen.

JavaScript BOM-Synchronisation (nur ein Part oder ein Assembly wählbar) ergänzen.
laceholder für Name-Angabe setzen: Entweder Part- oder Assembly-Name.
This commit is contained in:
Marcel Diegelmann 2026-04-08 15:45:43 +02:00
parent ca6254cc53
commit a126a8f7b6
10 changed files with 155 additions and 21 deletions

View file

@ -19,7 +19,7 @@ export default class extends Controller {
let settings = {
allowEmptyOption: true,
plugins: ['dropdown_input', this.element.required ? null : 'clear_button'],
searchField: ["name", "description", "category", "footprint"],
searchField: ["name", "description", "category", "footprint", "ipn"],
valueField: "id",
labelField: "name",
dropdownParent: dropdownParent,
@ -53,8 +53,9 @@ export default class extends Controller {
};
if (this.element.dataset.autocomplete) {
const base_url = this.element.dataset.autocomplete;
if (this.element.dataset.autocomplete || this.element.querySelector('[data-autocomplete]')) {
const autocompleteElement = this.element.dataset.autocomplete ? this.element : this.element.querySelector('[data-autocomplete]');
const base_url = autocompleteElement.dataset.autocomplete;
settings.valueField = "id";
settings.load = (query, callback) => {
const url = base_url.replace('__QUERY__', encodeURIComponent(query));
@ -68,7 +69,8 @@ export default class extends Controller {
};
this._tomSelect = new TomSelect(this.element, settings);
const targetElement = this.element instanceof HTMLInputElement || this.element instanceof HTMLSelectElement ? this.element : this.element.querySelector('select, input');
this._tomSelect = new TomSelect(targetElement, settings);
//this._tomSelect.clearOptions();
}
}