222 lines
8.6 KiB
Plaintext
222 lines
8.6 KiB
Plaintext
include mixins
|
|
|
|
- var actual_background = "yellow";
|
|
|
|
mixin do_group(elem)
|
|
.panel.panel-default.parishdbelemspane_elem.col-sm-12.col-xs-12.col-lg-6(id="#{elem.uid}", style="margin-bottom: 0px;", data-elemname="#{elem.name}", data-parishdb="", data-dn="#{elem.dn}", data-elemtype="group")
|
|
.panel-heading.parishdb-group-heading(data-elem-uid="#{elem.uid}", onclick="select_elem('#{elem.uid}','');")
|
|
h4.panel-title
|
|
table(width="100%")
|
|
tr
|
|
td #{elem.name}
|
|
p.parishdbelemspane_elem_kontext #{elem.kontext}
|
|
td(align="right")
|
|
//- , onclick="var event = arguments[0] || window.event; event.stopPropagation(); $('#PANEL_#{elem.uid}').collapse('toggle');")
|
|
a.parishdb-group-collapser(role="button", style="font-size: 10px; line-height: 1;", data-toggle="collapse", data-target="#PANEL_#{elem.uid}", aria-expanded="false", aria-controls="PANEL_#{elem.uid}")
|
|
span(class="glyphicon glyphicon-chevron-down", aria-hidden="true")
|
|
//- , onclick="$(this).find('.glyphicon').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');"
|
|
//-button.btn.btn-xs.btn-primary(type="button", data-toggle="collapse", data-target="#PANEL_#{elem.uid}", aria-expanded="false", aria-controls="PANEL_#{elem.uid}", onclick="$(this).find('.glyphicon').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');")
|
|
//- onclick="var event = arguments[0] || window.event; event.stopPropagation(); $('#PANEL_#{elem.uid}').collapse('toggle');"
|
|
|
|
.panel-collapse.collapse.parishdb-group-collapse(id="PANEL_#{elem.uid}")
|
|
.panel-body(style="padding: 5px;")
|
|
each member in elem.members
|
|
+do_groupmember(member, elem)
|
|
|
|
mixin do_person(elem)
|
|
.panel.panel-default.parishdbelemspane_elem.col-sm-12.col-xs-12.col-lg-6(id="#{elem.uid}", style="margin-bottom: 0px; cursor: pointer;", data-elemname="#{elem.name}", data-parishdb="", data-dn="#{elem.dn}", data-elemtype="person")
|
|
.panel-heading(onclick="select_elem('#{elem.uid}','');")
|
|
h4.panel-title #{elem.name}
|
|
p.parishdbelemspane_elem_kontext #{elem.kontext}
|
|
|
|
mixin do_groupmember(elem, group)
|
|
.panel.panel-default(id="#{elem.uid}", style="cursor: pointer; margin-bottom: 0px;", data-elemname="#{elem.name}", data-dn="#{elem.person_dn}")
|
|
.panel-heading(onclick="select_elem('#{elem.uid}', '#{group.uid}');")
|
|
h4.panel-title #{elem.name}
|
|
p.parishdbelemspane_elem_kontext #{elem.kontext}
|
|
if elem.role !== ''
|
|
p.parishdbelemspane_elem_role #{elem.role}
|
|
|
|
.subroot
|
|
.new_flex_zero
|
|
.container-fluid
|
|
|
|
h4 Beteiligten aus der Pfarrdatenbank hinzufügen
|
|
|
|
//- form(class="form-horizontal", id="form-filter")
|
|
//- .form-group
|
|
//- label(for='edit_filter', class="col-sm-1 col-xs-2 control-label") Filter
|
|
//- .col-sm-11.col-xs-10
|
|
//- input(id="edit_filter", type="text", class="form-control", oninput="adjust_visible_elems(this);")
|
|
//- script.
|
|
//- $("#form-filter").on('submit', function(e){
|
|
//- console.log('FILTER SUBMIT');
|
|
//- e.preventDefault();
|
|
//- });
|
|
//- // HINT: the 'autofocus'-attribute is obviously only interpreted once!!!
|
|
//- $("#edit_filter").focus();
|
|
|
|
form(class="form-horizontal", id="form-parishdbpersongroupselector")
|
|
input(type="hidden", name="actual_elem_uid", id="actual_elem_uid")
|
|
input(type="hidden", name="actual_elem_dn", id="actual_elem_dn")
|
|
input(type="hidden", name="actual_elem_name", id="actual_elem_name")
|
|
input(type="hidden", name="actual_elem_group", id="actual_elem_group")
|
|
input(type="hidden", name="for_role", id="for_role", value="#{for_role}")
|
|
button(class="btn btn-success btn-sm", type="submit", id="submit_button")
|
|
span(class="glyphicon glyphicon-ok", aria-hidden="true")
|
|
span
|
|
span Übernehmen
|
|
|
|
button(class="btn btn-warning btn-sm", type="button", onclick="history.back();")
|
|
span(class="glyphicon glyphicon-remove-circle", aria-hidden="true")
|
|
span
|
|
span Abbrechen
|
|
|
|
p.small(style="margin-top: 7px; margin-bottom: 0px; font-weight: bold;") Aktuell ausgewählt
|
|
p(style="font-size: 100%; font-weight: bold; margin-bottom: 0px;")
|
|
span#actual_name -
|
|
.parishdbelemspane_elem_kontext#actual_kontext ()
|
|
#errorpane
|
|
|
|
.new_flex_one(style="padding-bottom: 200px;")
|
|
.container-fluid
|
|
.parishdbelemspane
|
|
for elem in parishdb
|
|
if elem.type === "person"
|
|
+do_person(elem)
|
|
if elem.type === "group"
|
|
+do_group(elem)
|
|
|
|
script.
|
|
/*$('.parishdb-group-heading').on('click', function(event) {
|
|
var target = $(event.target).closest(".parishdb-group-heading");
|
|
select_elem(target.data('elem-uid'),'');
|
|
});*/
|
|
|
|
$('.parishdb-group-collapse').on('hide.bs.collapse', function (event) {
|
|
$(event.target).closest('.panel').find('.glyphicon').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
|
|
});
|
|
$('.parishdb-group-collapse').on('show.bs.collapse', function (event) {
|
|
$(event.target).closest('.panel').find('.glyphicon').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
|
|
});
|
|
|
|
$('a.parishdb-group-collapser').on('click', function(event) {
|
|
$(event.target).closest('.panel').find('.panel-collapse').collapse('toggle');
|
|
event.stopPropagation();
|
|
});
|
|
|
|
//show_submitbutton("submit-btn-pdbselector", "submit_pdbelem();",("#{actual_elem_dn}" === "" ? "disabled" : ""));
|
|
pcal_pentry_edit_manager.show_searchbar("adjust_visible_elems(this);");
|
|
|
|
if("#{actual_elem_id}" === "")
|
|
$("#submit_button").prop('disabled', true);
|
|
|
|
function select_elem(elem_uid, group_dn) {
|
|
console.log("SELECTED: " + elem_uid);
|
|
var actual_uid = $("#actual_elem_uid").val();
|
|
|
|
if(actual_uid === elem_uid) {
|
|
console.log("NOTHIN CHANGED");
|
|
return;
|
|
}
|
|
|
|
console.log(actual_uid);
|
|
|
|
if(actual_uid !== '')
|
|
$("#" + actual_uid).closest('.panel').removeClass('panel-success').addClass('panel-default');
|
|
|
|
var new_panel = $("#" + elem_uid).closest('.panel');
|
|
|
|
new_panel.removeClass('panel-default').addClass('panel-success');
|
|
|
|
var actual_dn = new_panel.data('dn');
|
|
var actual_name = new_panel.data("elemname");
|
|
|
|
$("#actual_elem_uid").val(elem_uid);
|
|
$("#actual_elem_dn").val(actual_dn);
|
|
$("#actual_elem_name").val(actual_name);
|
|
$("#actual_elem_group").val(group_dn);
|
|
|
|
if(new_panel.data("elemtype")==="group") {
|
|
var actual_kontext = $(new_panel.find('.parishdbelemspane_elem_kontext')[0]).text();
|
|
actual_name = "G " + actual_name + "/" + actual_kontext;
|
|
$("#actual_kontext").text('');
|
|
}
|
|
else {
|
|
var actual_kontext = new_panel.find('.parishdbelemspane_elem_kontext').text();
|
|
$("#actual_kontext").text(actual_kontext);
|
|
}
|
|
|
|
$("#actual_name").text(actual_name);
|
|
|
|
$("#errorpane").empty();
|
|
$("#submit_button").prop('disabled', false);
|
|
//$("#submit_button").removeClass('disabled');
|
|
}
|
|
|
|
function set_visibility_according_to_filter(substrRegex, elems) {
|
|
var actual_dn = $("#actual_elem_dn").val();
|
|
var actual_group = $("#actual_elem_group").val();
|
|
|
|
elems.each(function(index) {
|
|
var txt = $(this).data('elemname');
|
|
var dn = $(this).data('dn');
|
|
|
|
var show = substrRegex.test(txt);
|
|
if(show === false)
|
|
show = substrRegex.test($(this).find('.parishdbelemspane_elem_kontext').text());
|
|
|
|
if($(this).data('elemtype') === "group") {
|
|
var childelems = $(this).find('[data-elemname]');
|
|
childelems.each(function(index) {
|
|
if(substrRegex.test($(this).data('elemname'))) {
|
|
show = true;
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
|
|
if(show) {
|
|
$(this).show();
|
|
if(actual_dn === dn || actual_group === dn) {
|
|
$("#submit_button").prop('disabled', false);
|
|
//$("#submit_button").removeClass('disabled');
|
|
$("#errorpane").empty();
|
|
}
|
|
}
|
|
else {
|
|
$(this).hide();
|
|
if(actual_dn === dn || actual_group === dn) {
|
|
$("#submit_button").prop('disabled', true);
|
|
//$("#submit_button").addClass('disabled');
|
|
$("#errorpane").html(get_compiled_message("danger", "Auswahl ungültig", "Durch die Filterangabe wurde Ihre Auswahl ungültig!"));
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function adjust_visible_elems(my_input) {
|
|
console.log(my_input.value);
|
|
|
|
// regex used to determine if a string contains the substring `q`
|
|
substrRegex = new RegExp(my_input.value, 'i');
|
|
|
|
set_visibility_according_to_filter(substrRegex, $("[data-parishdb]"));
|
|
}
|
|
|
|
function submit_pdbelem() {
|
|
var data = {
|
|
for_role: "#{for_role}",
|
|
name : $("#actual_name").text(),
|
|
id : "dn",
|
|
dn : $("#actual_elem_dn").val()
|
|
};
|
|
pcal_pentry_edit_manager.add_involved(data);
|
|
}
|
|
|
|
$("#form-parishdbpersongroupselector").on('submit', function(e) {
|
|
submit_pdbelem();
|
|
e.preventDefault();
|
|
});
|
|
|