[FIX] HORILLA VIEWS: Toggle column select all unselect script not working issue

This commit is contained in:
Horilla
2025-04-28 14:30:16 +05:30
parent 9a4199627f
commit 5b2e45eb59
2 changed files with 20 additions and 5 deletions

View File

@@ -29,7 +29,14 @@ class ToggleColumnForm(forms.Form):
Toggle column form Toggle column form
""" """
def __init__(self, columns, default_columns, hidden_fields: list, *args, **kwargs): def __init__(
self,
columns,
default_columns,
hidden_fields: list,
*args,
**kwargs,
):
request = getattr(_thread_locals, "request", {}) request = getattr(_thread_locals, "request", {})
self.request = request self.request = request
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
@@ -38,7 +45,7 @@ class ToggleColumnForm(forms.Form):
if column[1] in hidden_fields: if column[1] in hidden_fields:
initial = False initial = False
if not hidden_fields: if not hidden_fields:
if column not in default_columns: if default_columns and column not in default_columns:
initial = False initial = False
self.fields[column[1]] = forms.BooleanField( self.fields[column[1]] = forms.BooleanField(
label=column[0], initial=initial label=column[0], initial=initial

View File

@@ -3,10 +3,18 @@
<input type="hidden" name="path" value="{{request.path_info}}"> <input type="hidden" name="path" value="{{request.path_info}}">
<ul class="oh-dropdown__items"> <ul class="oh-dropdown__items">
<div class="oh-dropdown_btn-header"> <div class="oh-dropdown_btn-header">
<button class="oh-btn oh-btn--success-outline"> <button onclick="
$(this).closest('form').find('[type=checkbox]').prop('checked',true);
$(this).closest('form').find('[type=checkbox]').siblings('input[type=hidden]').val('');
$(this).closest('form').find('[type=submit]').click();
" class="oh-btn oh-btn--success-outline">
{% trans "Select All Records" %} {% trans "Select All Records" %}
</button> </button>
<button class="oh-btn oh-btn--primary-outline"> <button onclick="
$(this).closest('form').find('[type=checkbox]').prop('checked',false);
$(this).closest('form').find('[type=checkbox]').siblings('input[type=hidden]').val('off');
$(this).closest('form').find('[type=submit]').click();
" class="oh-btn oh-btn--primary-outline">
{% trans "Unselect All Records" %} {% trans "Unselect All Records" %}
</button> </button>
</div> </div>
@@ -28,5 +36,5 @@
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
<input type="submit" hidden> <input type="submit">
</form> </form>