misc: note default settings will apply when no columns are checked (#15881) #1072

Merged
fpeters merged 1 commits from wip/15881-empty-columns-message into main 2024-02-01 09:29:43 +01:00
3 changed files with 21 additions and 1 deletions

View File

@ -1549,6 +1549,14 @@ class FormPage(Directory, TempfileDirectoryMixin):
if self.view_type in ('table', 'map'):
# column settings dialog content
r += htmltext('<div style="display: none;">')
r += htmltext('<div id="columns-filter">')
if get_request().form.get('columns-order') == '': # present but empty
style = ''
else:
style = 'display: none;'
r += htmltext('<div class="columns-default-value-message infonotice" style="%s">' % style)
r += htmltext('<p>%s</p>') % _('When nothing is checked the default settings will apply.')
r += htmltext('</div>')
r += htmltext('<ul id="columns-filter" class="objects-list columns-filter">')
column_order = []
field_ids = [x.contextual_id for x in fields]
@ -1587,7 +1595,8 @@ class FormPage(Directory, TempfileDirectoryMixin):
if field.contextual_id in field_ids:
column_order.append(str(field.contextual_id))
r += htmltext('</ul>')
r += htmltext('</div>')
r += htmltext('</div>') # </div id="columns-filter">
r += htmltext('</div>') # </div style="display: none">
r += htmltext('<input type="hidden" name="columns-order" value="%s">' % ','.join(column_order))
r += htmltext('</form>')

View File

@ -3116,3 +3116,7 @@ ul.objects-list.single-links li.list-item-no-usage p {
border-radius: 0.3em;
padding: 0.5em;
}
div.infonotice.columns-default-value-message {
margin-top: 0;
}

View File

@ -310,6 +310,13 @@ $(function() {
$(this).parents('li').find('~ li[data-relation-attr=' + field_id + ']').toggleClass('collapsed');
return false;
});
$dialog_filter.find('[type="checkbox"]').on('change', function() {
if ($dialog_filter.find('[type="checkbox"]:checked').length == 0) {
$dialog_filter.find('.columns-default-value-message').show();
} else {
$dialog_filter.find('.columns-default-value-message').hide();
}
});
$dialog_filter.sortable({handle: '.handle'})
$(dialog).dialog({
closeText: WCS_I18N.close,