boehler_advanced_search/js/advanced_search.entityFields.js
2025-01-09 18:27:23 +01:00

86 lines
5.9 KiB
JavaScript

(function ($, Drupal, drupalSettings) {
function toDropdown(field, i) {
let searchValueSelectId = 'edit-terms-' + i + '-value';
let SearchValueFieldselector = "[id^='" + searchValueSelectId + "']";
let $searchValueInputField = $(SearchValueFieldselector);
$searchValueInputField.hide();
let $oldHelperField = $('#edit-terms-' + i + '-helper');
$oldHelperField.remove();
$searchValueInputField.after('<select aria-label="Enter a search term" data-drupal-selector="edit-terms-' + i + '-helper" id="edit-terms-' + i + '-helper" name="terms[' + i + '][helper]" value="" class="advanced-search--helper-dropdown form-text form-element form-element--type-text form-element--api-textfield"></select>');
let $newHelperField = $('#edit-terms-' + i + '-helper');
if (['agg__arch__transaktion', 'agg__all__transaktion'].includes(field)) { // Transaktion
$newHelperField.empty();
$newHelperField.append('<option value="">Bitte auswählen...</option>');
$newHelperField.append('<option value="Abschreibung">Abschreibung</option>');
$newHelperField.append('<option value="andere">Andere</option>');
$newHelperField.append('<option value="Anteil übertragen/übernommen">Anteil übertragen</option>');
$newHelperField.append('<option value="Auktion">Auktion</option>');
$newHelperField.append('<option value="Geschenk">Geschenk</option>');
$newHelperField.append('<option value="Inventar">Inventar</option>');
$newHelperField.append('<option value="Kauf">Abschreibung</option>');
$newHelperField.append('<option value="keine Angabe">keine Angabe</option>');
$newHelperField.append('<option value="Kommission">Kommission</option>');
$newHelperField.append('<option value="Lager">Lager</option>');
$newHelperField.append('<option value="Nutzen/Gewinnbeteiligung">Nutzen/Gewinnbeteiligung</option>');
$newHelperField.append('<option value="Rückgabe">Rückgabe</option>');
$newHelperField.append('<option value="Share">Geschäftsbeteiligung</option>');
$newHelperField.append('<option value="Tausch">Tausch</option>');
$newHelperField.append('<option value="Übernahme">Übernahme</option>');
$newHelperField.append('<option value="Verlust">Verlust</option>');
$newHelperField.append('<option value="Verkauf">Verkauf</option>');
$newHelperField.append('<option value="Verweis">Verweis auf weitere Karteikarte</option>');
$newHelperField.append('<option value="Weiterverwendung">Weiterverwendung</option>');
} else if (['agg__all__objektkategorie', 'agg__arch__objektkategorie', 'agg__obj__objektkategorie'].includes(field)) { // Objektkategorie
$newHelperField.empty();
$newHelperField.append('<option value="">Bitte auswählen...</option>');
$newHelperField.append('<option value="Malerei">Malerei</option>');
$newHelperField.append('<option value="Skulptur, Plastik, Relief">Skulptur, Plastik</option>');
$newHelperField.append('<option value="Arbeiten auf Papier">Graphik (Zeichnung / Aquarell / Arbeit auf</option>');
$newHelperField.append('<option value="Handschriften (Autographen / Bücher)">Manuskripte/ Bücher</option>');
$newHelperField.append('<option value="Waffen, Rüstungen, Militaria">Militaria / Rüstungen / Waffen</option>');
$newHelperField.append('<option value="Wappen / Wappenscheibe">Wappen / Wappenscheiben</option>');
$newHelperField.append('<option value="Musikinstrumente">Musikinstrumente</option>');
$newHelperField.append('<option value="Möbel und Einrichtung">Möbel / Einrichtung</option>');
$newHelperField.append('<option value="Textilien (auch Tapisserien)">Textilien</option>');
$newHelperField.append('<option value="Schmuck">Schmuck</option>');
$newHelperField.append('<option value="Leuchter">Leuchter</option>');
$newHelperField.append('<option value="Uhren">Uhren</option>');
$newHelperField.append('<option value="Silber- und Goldschmiedekunst">Silber- und Goldschmiedekunst</option>');
$newHelperField.append('<option value="Rahmen">Rahmen</option>');
$newHelperField.append('<option value="Kunsthandwerk / Keramik">Kunsthandwerk Keramik</option>');
$newHelperField.append('<option value="Kunsthandwerk / Glas">Kunsthandwerk Glas</option>');
$newHelperField.append('<option value="Kunsthandwerk / Holz">Kunsthandwerk Holz</option>');
$newHelperField.append('<option value="Kunsthandwerk / Metall">Kunsthandwerk / Metall</option>');
$newHelperField.append('<option value="Kunsthandwerk / Sonstiges"> Kunsthandwerk Sonstiges</option>');
$newHelperField.append('<option value="Münzen und Medaillen">Münzen / Medaillen</option>');
$newHelperField.append('<option value="Asiatika">Asiatika</option>');
$newHelperField.append('<option value="Varia">Varia</option>');
}
$newHelperField.change(function () {
let selectedOption = $newHelperField.find('option:selected');
$searchValueInputField.val(selectedOption.val()).text(selectedOption.text());
});
}
Drupal.behaviors.advanceSearchEntityFields = {
attach: function attach(context, settings) {
$(document).on('change', '.advanced-search-form--select-field', function () {
let id = $(this).attr('id');
let i = id.substring(11, 12);
let field = $(this).val();
if (['agg__arch__transaktion', 'agg__all__transaktion', 'agg__all__objektkategorie', 'agg__arch__objektkategorie', 'agg__obj__objektkategorie'].includes(field)) {
let dropdown = toDropdown(field, i);
} else {
let searchValueSelectId = 'edit-terms-' + i + '-value';
let SearchValueFieldselector = "[id^='" + searchValueSelectId + "']";
let $searchValueInputField = $(SearchValueFieldselector);
$searchValueInputField.show();
let $oldHelperField = $('#edit-terms-' + i + '-helper');
$oldHelperField.remove();
}
});
}
};
})(jQuery, Drupal, drupalSettings);