Skip to content

Commit

Permalink
#99: Bugfix; Kontextformulare um Autocomplete-Textbox für LfD-Nummer …
Browse files Browse the repository at this point in the history
…und Ort erweitert
  • Loading branch information
Robert Grüning committed Mar 16, 2021
1 parent bbd8089 commit f7e23f4
Show file tree
Hide file tree
Showing 8 changed files with 230 additions and 130 deletions.
72 changes: 56 additions & 16 deletions src/js/views/Begehung/Form.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
var _viewModelFormBegehung = null;
var _viewModelListKontextType = null;
var _selectedLfdNummer = null;

$(document).ready(function () {
var viewModelFactory = new ViewModelFactory();
Expand All @@ -13,6 +14,7 @@ $(document).ready(function () {
InitButtonUndo();
InitButtonToOverview();
InitButtonSelectLfdNummer();
InitTextBoxSearchLfdNummer();

InitFieldId();
InitFieldType();
Expand Down Expand Up @@ -208,26 +210,64 @@ function InitFieldLfdNummern() {
}

function InitButtonSelectLfdNummer() {
$("#buttonSelectLfdNummer").click(ShowFormSelectLfdNummer);
$("#buttonSelectLfdNummer").click(addLfdNummer);
}

function ShowFormSelectLfdNummer() {
$("#dialogSelectLfdNummer").dialog({
height: "auto",
title: "Lfd-Nummer auswählen",
modal: true,
buttons: {
"Auswählen": function () {
_viewModelFormBegehung.addLfdNummer(GetSelectedLfdNummerNode());
$(this).dialog("close");
},
"Abbrechen": function () {
$(this).dialog("close");
}
function addLfdNummer() {
if (_selectedLfdNummer == null)
{
return;
}

_viewModelFormBegehung.addLfdNummer(_selectedLfdNummer);
$("#textBoxSearchLfdNummer").val("");
}

function InitTextBoxSearchLfdNummer() {
$.ajax(
{
type:"GET",
url: "../../api/Services/LfdNummer",
dataType: "JSON",
success:function(data, textStatus, jqXHR)
{
SetTextBoxSearchLfdNummerAutocomplete(data);
},
error:function(jqXHR, textStatus, errorThrown)
{
console.log("FEHLER: \"../../api/Services/LfdNummer\" konnte nicht geladen werden!");
}
});
_webServiceClientLfdNummer.LoadAll("listSelect.loaded");
$("#dialogSelectLfdNummer").dialog("open");
}

function SetTextBoxSearchLfdNummerAutocomplete(data) {
var autoCompleteItems = new Array();

data.forEach(item => {
var autoCompleteItem = new Object();
autoCompleteItem.label = item.Bezeichnung;
autoCompleteItem.value = item;
autoCompleteItems.push(autoCompleteItem);
});

$("#textBoxSearchLfdNummer").autocomplete({
minLength: 0,
source: autoCompleteItems,
focus: function(event, ui) {
$("#textBoxSearchLfdNummer").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#textBoxSearchLfdNummer").val(ui.item.label);
_selectedLfdNummer = ui.item.value;
return false;
}
})
.autocomplete("instance")._renderItem = function(ul, item) {
return $("<li>")
.append("<div>" + item.label + "</div>")
.appendTo(ul);
};
}

function setLfdNummern(lfdNummern) {
Expand Down
146 changes: 110 additions & 36 deletions src/js/views/Begehungsflaeche/Form.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
var _viewModelFormBegehungsflaeche = null;
var _viewModelListKontextType = null;
var _selectedLfdNummer = null;
var _selectedOrt = null;

$(document).ready(function () {
var viewModelFactory = new ViewModelFactory();
Expand All @@ -14,6 +16,8 @@ $(document).ready(function () {
InitButtonToOverview();
InitButtonSelectLfdNummer();
InitButtonSelectOrt();
InitTextBoxSearchLfdNummer();
InitTextBoxSearchOrt();

InitFieldId();
InitFieldType();
Expand Down Expand Up @@ -205,26 +209,64 @@ function InitFieldLfdNummern() {
}

function InitButtonSelectLfdNummer() {
$("#buttonSelectLfdNummer").click(ShowFormSelectLfdNummer);
$("#buttonSelectLfdNummer").click(addLfdNummer);
}

function ShowFormSelectLfdNummer() {
$("#dialogSelectLfdNummer").dialog({
height: "auto",
title: "Lfd-Nummer auswählen",
modal: true,
buttons: {
"Auswählen": function () {
_viewModelFormBegehungsflaeche.addLfdNummer(GetSelectedLfdNummerNode());
$(this).dialog("close");
},
"Abbrechen": function () {
$(this).dialog("close");
}
function addLfdNummer() {
if (_selectedLfdNummer == null)
{
return;
}

_viewModelFormBegehungsflaeche.addLfdNummer(_selectedLfdNummer);
$("#textBoxSearchLfdNummer").val("");
}

function InitTextBoxSearchLfdNummer() {
$.ajax(
{
type:"GET",
url: "../../api/Services/LfdNummer",
dataType: "JSON",
success:function(data, textStatus, jqXHR)
{
SetTextBoxSearchLfdNummerAutocomplete(data);
},
error:function(jqXHR, textStatus, errorThrown)
{
console.log("FEHLER: \"../../api/Services/LfdNummer\" konnte nicht geladen werden!");
}
});
_webServiceClientLfdNummer.LoadAll("listSelect.loaded");
$("#dialogSelectLfdNummer").dialog("open");
}

function SetTextBoxSearchLfdNummerAutocomplete(data) {
var autoCompleteItems = new Array();

data.forEach(item => {
var autoCompleteItem = new Object();
autoCompleteItem.label = item.Bezeichnung;
autoCompleteItem.value = item;
autoCompleteItems.push(autoCompleteItem);
});

$("#textBoxSearchLfdNummer").autocomplete({
minLength: 0,
source: autoCompleteItems,
focus: function(event, ui) {
$("#textBoxSearchLfdNummer").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#textBoxSearchLfdNummer").val(ui.item.label);
_selectedLfdNummer = ui.item.value;
return false;
}
})
.autocomplete("instance")._renderItem = function(ul, item) {
return $("<li>")
.append("<div>" + item.label + "</div>")
.appendTo(ul);
};
}

function setLfdNummern(lfdNummern) {
Expand Down Expand Up @@ -280,32 +322,64 @@ function InitFieldOrte() {
}

function InitButtonSelectOrt() {
$("#buttonAddOrt").click(ShowFormSelectOrt);
$("#buttonSelectOrt").click(addOrt);
}

function ShowFormSelectOrt() {
$("#dialogSelect").dialog({
height: "auto",
title: "Ort auswählen",
modal: true,
buttons: {
"Auswählen": function () {
_viewModelFormBegehungsflaeche.addOrt(esti_getSelectedItem());
$(this).dialog("close");
},
"Abbrechen": function () {
$(this).dialog("close");
}
function addOrt() {
if (_selectedOrt == null)
{
return;
}

_viewModelFormBegehungsflaeche.addOrt(_selectedOrt);
$("#textBoxSearchOrt").val("");
}

function InitTextBoxSearchOrt() {
$.ajax(
{
type:"GET",
url: "../../api/Services/Ort",
dataType: "JSON",
success:function(data, textStatus, jqXHR)
{
SetTextBoxSearchOrtAutocomplete(data);
},
error:function(jqXHR, textStatus, errorThrown)
{
console.log("FEHLER: \"../../api/Services/Ort\" konnte nicht geladen werden!");
}
});
}

var viewModelFactory = new ViewModelFactory();
var viewModelExplorer = viewModelFactory.getViewModelExplorerOrt();
var iconCssClasses = IconConfig.getCssClasses("Ort");
var isCategorized = true;
esti_initExplorerSelectTypedItem($("#dialogSelect"), viewModelExplorer, iconCssClasses, isCategorized);
function SetTextBoxSearchOrtAutocomplete(data) {
var autoCompleteItems = new Array();

$("#dialogSelect").dialog("open");
data.forEach(item => {
var autoCompleteItem = new Object();
autoCompleteItem.label = item.Path;
autoCompleteItem.value = item;
autoCompleteItems.push(autoCompleteItem);
});

$("#textBoxSearchOrt").autocomplete({
minLength: 0,
source: autoCompleteItems,
focus: function(event, ui) {
$("#textBoxSearchOrt").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#textBoxSearchOrt").val(ui.item.label);
_selectedOrt = ui.item.value;
return false;
}
})
.autocomplete("instance")._renderItem = function(ul, item) {
return $("<li>")
.append("<div>" + item.label + "</div>")
.appendTo(ul);
};
}

function setOrte(orte) {
Expand Down
25 changes: 0 additions & 25 deletions src/js/views/Fund/Form.js
Original file line number Diff line number Diff line change
Expand Up @@ -581,31 +581,6 @@ function setKontext(kontext) {
}
}

function ShowFormSelectKontext() {
$("#dialogSelect").dialog({
height: "auto",
title: "Kontext auswählen",
modal: true,
buttons: {
"Auswählen": function () {
_viewModelFormFund.setKontext(esti_getSelectedItem());
setKontext(_viewModelFormFund.getKontext());
$(this).dialog("close");
},
"Abbrechen": function () {
$(this).dialog("close");
}
}
});

var viewModelFactory = new ViewModelFactory();
var viewModelExplorer = viewModelFactory.getViewModelExplorerKontext();
var iconCssClasses = null;
esti_initExplorerSelectTypedItem($("#dialogSelect"), viewModelExplorer, iconCssClasses);

$("#dialogSelect").dialog("open");
}

function showMessagesKontext(messages) {
$("#divKontext .fieldValue div[name=messages]").text(messages);
}
Expand Down
Loading

0 comments on commit f7e23f4

Please sign in to comment.