[FIX] HORILLA VIEWS: Multiple/independent storing of the selected instance on group by
This commit is contained in:
@@ -1,13 +1,18 @@
|
|||||||
{% load static i18n generic_template_filters %}
|
{% load static i18n generic_template_filters %}
|
||||||
<div id="{{view_id|safe}}">
|
<div id="{{view_id|safe}}">
|
||||||
|
<script>
|
||||||
|
if (!$(".HTV").length) {
|
||||||
|
$("#reloadMessagesButton").click()
|
||||||
|
}
|
||||||
|
</script>
|
||||||
{% if bulk_select_option %}
|
{% if bulk_select_option %}
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<div>
|
<div>
|
||||||
<div class="oh-checkpoint-badge text-success"
|
<div class="oh-checkpoint-badge text-success"
|
||||||
onclick="
|
onclick="
|
||||||
addToSelectedId({{select_all_ids|safe}});
|
addToSelectedId({{select_all_ids|safe}},'{{selected_instances_key_id}}');
|
||||||
selectSelected('#{{view_id|safe}}');
|
selectSelected('#{{view_id|safe}}','{{selected_instances_key_id}}');
|
||||||
reloadSelectedCount($('#count_{{view_id|safe}}'));
|
reloadSelectedCount($('#count_{{view_id|safe}}'),'{{selected_instances_key_id}}');
|
||||||
"
|
"
|
||||||
style="cursor: pointer;">
|
style="cursor: pointer;">
|
||||||
{% trans "Select All" %} ({{queryset.paginator.count}})
|
{% trans "Select All" %} ({{queryset.paginator.count}})
|
||||||
@@ -17,9 +22,9 @@
|
|||||||
class="oh-checkpoint-badge text-secondary d-none"
|
class="oh-checkpoint-badge text-secondary d-none"
|
||||||
style="cursor: pointer;"
|
style="cursor: pointer;"
|
||||||
onclick="
|
onclick="
|
||||||
$('#selectedInstances').attr('data-ids',JSON.stringify([]));
|
$('#{{selected_instances_key_id}}').attr('data-ids',JSON.stringify([]));
|
||||||
selectSelected('#{{view_id|safe}}');
|
selectSelected('#{{view_id|safe}}','{{selected_instances_key_id}}');
|
||||||
reloadSelectedCount($('#count_{{view_id|safe}}'));
|
reloadSelectedCount($('#count_{{view_id|safe}}'),'{{selected_instances_key_id}}');
|
||||||
$('#{{view_id}} .list-table-row').prop('checked',false);
|
$('#{{view_id}} .list-table-row').prop('checked',false);
|
||||||
$('#{{view_id}} .highlight-selected').removeClass('highlight-selected');
|
$('#{{view_id}} .highlight-selected').removeClass('highlight-selected');
|
||||||
$('#{{view_id}} .bulk-list-table-row').prop('checked',false);
|
$('#{{view_id}} .bulk-list-table-row').prop('checked',false);
|
||||||
@@ -39,12 +44,31 @@
|
|||||||
class="oh-checkpoint-badge text-info d-none"
|
class="oh-checkpoint-badge text-info d-none"
|
||||||
style="cursor: pointer;"
|
style="cursor: pointer;"
|
||||||
onclick="
|
onclick="
|
||||||
selectedIds = $('#selectedInstances').attr('data-ids')
|
selectedIds = $('#{{selected_instances_key_id}}').attr('data-ids')
|
||||||
window.location.href = '{{export_path}}' + '?ids='+selectedIds
|
window.location.href = '{{export_path}}' + '?ids='+selectedIds
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{% trans "Export" %}
|
{% trans "Export" %}
|
||||||
</div>
|
</div>
|
||||||
|
{% for filter in stored_filters %}
|
||||||
|
<div class="oh-hover-btn-container"
|
||||||
|
hx-get="{{request.path}}?{{filter.urlencode}}"
|
||||||
|
hx-target="#{{view_id|safe}}" hx-swap="outerHTML"
|
||||||
|
>
|
||||||
|
<button class="oh-hover-btn" style="
|
||||||
|
cursor: pointer;
|
||||||
|
border: solid 2px {{filter.color}};
|
||||||
|
color: {{filter.color}} !important;
|
||||||
|
">
|
||||||
|
{{filter.title}}
|
||||||
|
</button>
|
||||||
|
<div class="oh-hover-btn-drawer" onclick="event.stopPropagation()">
|
||||||
|
<button class="oh-hover-btn__small" onclick="$('#savedFilterModal').addClass('oh-modal--show')" hx-get="{% url "saved-filter-update" filter.id %}" hx-target="#SavedFilterFormTarget" hx-swap="innerHTML"><ion-icon name="create-outline"></ion-icon></button>
|
||||||
|
<button class="oh-hover-btn__small" onclick="$(this).parent().find('button:hidden').click();$(this).closest('.oh-hover-btn-container').remove()" ><ion-icon name="trash-outline"></ion-icon></button>
|
||||||
|
<button hidden hx-get="{% url "delete-saved-filter" filter.id %}" hx-swap="none"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
{% if row_status_indications %}
|
{% if row_status_indications %}
|
||||||
<div class="d-flex flex-row-reverse">
|
<div class="d-flex flex-row-reverse">
|
||||||
@@ -73,7 +97,6 @@
|
|||||||
onclick="
|
onclick="
|
||||||
event.stopPropagation()
|
event.stopPropagation()
|
||||||
$(this).parent().find('.oh-accordion-meta__body').toggleClass('d-none')
|
$(this).parent().find('.oh-accordion-meta__body').toggleClass('d-none')
|
||||||
$(this).toggleClass('oh-accordion-meta__header--show')
|
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span class="oh-accordion-meta__title p-2">
|
<span class="oh-accordion-meta__title p-2">
|
||||||
@@ -112,7 +135,7 @@
|
|||||||
onchange="
|
onchange="
|
||||||
$(this).closest('.oh-sticky-table').find('.list-table-row').prop('checked',$(this).is(':checked')).change();
|
$(this).closest('.oh-sticky-table').find('.list-table-row').prop('checked',$(this).is(':checked')).change();
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
reloadSelectedCount($('#count_{{view_id|safe}}'));
|
reloadSelectedCount($('#count_{{view_id|safe}}'),'{{selected_instances_key_id}}');
|
||||||
});
|
});
|
||||||
"
|
"
|
||||||
title="Select All"
|
title="Select All"
|
||||||
@@ -163,7 +186,7 @@
|
|||||||
if (!element.is(':checked')) {
|
if (!element.is(':checked')) {
|
||||||
removeId(element)
|
removeId(element)
|
||||||
}
|
}
|
||||||
reloadSelectedCount($('#count_{{view_id|safe}}'));
|
reloadSelectedCount($('#count_{{view_id|safe}}'),'{{selected_instances_key_id}}');
|
||||||
});
|
});
|
||||||
"
|
"
|
||||||
value = "{{instance.pk}}"
|
value = "{{instance.pk}}"
|
||||||
@@ -176,7 +199,7 @@
|
|||||||
<div
|
<div
|
||||||
class="{% if index == 1 %} oh-sticky-table__sd {% else %} oh-sticky-table__td{% endif %}"
|
class="{% if index == 1 %} oh-sticky-table__sd {% else %} oh-sticky-table__td{% endif %}"
|
||||||
>
|
>
|
||||||
{{instance|getattribute:attribute|safe}}
|
{{instance|getattribute:attribute|selected_format:request.user.employee_get.employee_work_info.company_id|safe}}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div
|
<div
|
||||||
@@ -362,7 +385,7 @@
|
|||||||
{% if bulk_select_option %}
|
{% if bulk_select_option %}
|
||||||
<script>
|
<script>
|
||||||
ids = JSON.parse(
|
ids = JSON.parse(
|
||||||
$("#selectedInstances").attr("data-ids") || "[]"
|
$("#{{selected_instances_key_id}}").attr("data-ids") || "[]"
|
||||||
);
|
);
|
||||||
$.each(ids, function (indexInArray, valueOfElement) {
|
$.each(ids, function (indexInArray, valueOfElement) {
|
||||||
$(`#{{view_id|safe}} .oh-sticky-table__tbody .list-table-row[value=${valueOfElement}]`).prop("checked",true).change()
|
$(`#{{view_id|safe}} .oh-sticky-table__tbody .list-table-row[value=${valueOfElement}]`).prop("checked",true).change()
|
||||||
@@ -372,7 +395,7 @@
|
|||||||
) {
|
) {
|
||||||
id = $(this).val()
|
id = $(this).val()
|
||||||
ids = JSON.parse(
|
ids = JSON.parse(
|
||||||
$("#selectedInstances").attr("data-ids") || "[]"
|
$("#{{selected_instances_key_id}}").attr("data-ids") || "[]"
|
||||||
);
|
);
|
||||||
ids = Array.from(new Set(ids));
|
ids = Array.from(new Set(ids));
|
||||||
let index = ids.indexOf(id);
|
let index = ids.indexOf(id);
|
||||||
@@ -383,7 +406,7 @@
|
|||||||
ids.splice(index, 1);
|
ids.splice(index, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$("#selectedInstances").attr("data-ids", JSON.stringify(ids));
|
$("#{{selected_instances_key_id}}").attr("data-ids", JSON.stringify(ids));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -395,6 +418,11 @@
|
|||||||
$(".oh-accordion-meta__header").click(function (e) {
|
$(".oh-accordion-meta__header").click(function (e) {
|
||||||
var open = $(this).attr("data-open");
|
var open = $(this).attr("data-open");
|
||||||
open = JSON.parse(open)
|
open = JSON.parse(open)
|
||||||
|
if (!$(this).parent().parent().find(".oh-accordion-meta__body.d-none").length && !$(this).find(".oh-accordion-meta__header--show").length) {
|
||||||
|
$(this).removeClass("oh-accordion-meta__header--show");
|
||||||
|
}else{
|
||||||
|
$(this).addClass("oh-accordion-meta__header--show");
|
||||||
|
}
|
||||||
$(this).attr("data-open", !open);
|
$(this).attr("data-open", !open);
|
||||||
var field = $(this).attr("data-field");
|
var field = $(this).attr("data-field");
|
||||||
var groupIndex = $(this).attr("data-group");
|
var groupIndex = $(this).attr("data-group");
|
||||||
|
|||||||
Reference in New Issue
Block a user