Add collapsible inlines support. (#282)
* Improve code formatting. * Add collapsible inlines frontend support. * Add collapsible inlines options fields to model and admin. * Add option classes to body. * Update translations. * Update README.md
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
/** global: django */
|
||||
|
||||
if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined')
|
||||
{
|
||||
(function($) {
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
function collapsibleInline(scope, collapsed) {
|
||||
var fieldsetCollapsed = collapsed;
|
||||
var fieldsetEl = $(scope).find('> fieldset.module');
|
||||
fieldsetEl.addClass('collapse');
|
||||
var fieldsetHasErrors = (fieldsetEl.children('.errors').length > 0);
|
||||
if (fieldsetHasErrors === true) {
|
||||
fieldsetCollapsed = false;
|
||||
}
|
||||
if (fieldsetCollapsed === true) {
|
||||
fieldsetEl.addClass('collapsed');
|
||||
}
|
||||
var collapseToggleText = (fieldsetCollapsed ? gettext('Show') : gettext('Hide'));
|
||||
var collapseToggleHTML = ' (<a class="collapse-toggle" href="#">' + collapseToggleText + '</a>)';
|
||||
var headerEl = fieldsetEl.find('> h2,> h3');
|
||||
headerEl.append(collapseToggleHTML);
|
||||
}
|
||||
|
||||
var stackedInlinesOptionSel = '.admin-interface.collapsible-stacked-inlines';
|
||||
var stackedInlinesSel = stackedInlinesOptionSel + ' .inline-group[data-inline-type="stacked"]';
|
||||
var stackedInlinesCollapsed = $(stackedInlinesOptionSel).hasClass('collapsible-stacked-inlines-collapsed');
|
||||
|
||||
var tabularInlinesOptionSel = '.admin-interface.collapsible-tabular-inlines';
|
||||
var tabularInlinesSel = tabularInlinesOptionSel + ' .inline-group[data-inline-type="tabular"] .inline-related.tabular';
|
||||
var tabularInlinesCollapsed = $(stackedInlinesOptionSel).hasClass('collapsible-tabular-inlines-collapsed');
|
||||
|
||||
$(stackedInlinesSel).each(function() {
|
||||
collapsibleInline(this, stackedInlinesCollapsed);
|
||||
});
|
||||
|
||||
$(tabularInlinesSel).each(function() {
|
||||
collapsibleInline(this, tabularInlinesCollapsed);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
})(django.jQuery);
|
||||
}
|
||||
@@ -121,7 +121,9 @@
|
||||
}
|
||||
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle,
|
||||
.admin-interface fieldset.collapse a.collapse-toggle {
|
||||
.admin-interface fieldset.collapse a.collapse-toggle,
|
||||
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle,
|
||||
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle {
|
||||
font-weight: normal;
|
||||
text-transform: lowercase;
|
||||
font-size: 12px;
|
||||
|
||||
@@ -192,21 +192,21 @@
|
||||
color: var(--admin-interface-module-link-hover-color);
|
||||
}
|
||||
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle {
|
||||
color: var(--admin-interface-module-link-color);
|
||||
}
|
||||
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle:hover,
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle:active {
|
||||
color: var(--admin-interface-module-link-hover-color);
|
||||
}
|
||||
|
||||
.admin-interface fieldset.collapse a.collapse-toggle {
|
||||
.admin-interface fieldset.collapse a.collapse-toggle,
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle,
|
||||
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle,
|
||||
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle {
|
||||
color: var(--admin-interface-module-link-color);
|
||||
}
|
||||
|
||||
.admin-interface fieldset.collapse a.collapse-toggle:hover,
|
||||
.admin-interface fieldset.collapse a.collapse-toggle:active {
|
||||
.admin-interface fieldset.collapse a.collapse-toggle:active,
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle:hover,
|
||||
.admin-interface fieldset.collapse.collapsed a.collapse-toggle:active,
|
||||
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle:hover,
|
||||
.admin-interface .inline-group .inline-related fieldset.module a.collapse-toggle:active,
|
||||
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle:hover,
|
||||
.admin-interface .inline-group .inline-related fieldset.module.collapsed a.collapse-toggle:active {
|
||||
color: var(--admin-interface-module-link-hover-color);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user