luci-base: form.js: do not inherit map tabbing to nested sections
authorJo-Philipp Wich <jo@mein.io>
Tue, 24 Sep 2019 06:01:04 +0000 (08:01 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 24 Sep 2019 06:01:04 +0000 (08:01 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/form.js

index 372773474fd062129fb31b3a293be431a5924ce7..46f1ff4825680cb7ea732bffba05bca9743b76af 100644 (file)
@@ -944,8 +944,8 @@ var CBITypedSection = CBIAbstractSection.extend({
                    sectionEl = E('div', {
                                'id': 'cbi-%s-%s'.format(config_name, this.sectiontype),
                                'class': 'cbi-section',
-                               'data-tab': this.map.tabbed ? this.sectiontype : null,
-                               'data-tab-title': this.map.tabbed ? this.title || this.sectiontype : null
+                               'data-tab': (this.map.tabbed && !this.parentoption) ? this.sectiontype : null,
+                               'data-tab-title': (this.map.tabbed && !this.parentoption) ? this.title || this.sectiontype : null
                        });
 
                if (this.title != null && this.title != '')
@@ -1013,8 +1013,8 @@ var CBITableSection = CBITypedSection.extend({
                    sectionEl = E('div', {
                                'id': 'cbi-%s-%s'.format(config_name, this.sectiontype),
                                'class': 'cbi-section cbi-tblsection',
-                               'data-tab': this.map.tabbed ? this.sectiontype : null,
-                               'data-tab-title': this.map.tabbed ? this.title || this.sectiontype : null
+                               'data-tab': (this.map.tabbed && !this.parentoption) ? this.sectiontype : null,
+                               'data-tab-title': (this.map.tabbed && !this.parentoption) ? this.title || this.sectiontype : null
                        }),
                        tableEl = E('div', {
                                'class': 'table cbi-section-table'
@@ -1503,8 +1503,8 @@ var CBINamedSection = CBIAbstractSection.extend({
                    sectionEl = E('div', {
                                'id': ucidata ? null : 'cbi-%s-%s'.format(config_name, section_id),
                                'class': 'cbi-section',
-                               'data-tab': this.map.tabbed ? this.sectiontype : null,
-                               'data-tab-title': this.map.tabbed ? this.title || this.sectiontype : null
+                               'data-tab': (this.map.tabbed && !this.parentoption) ? this.sectiontype : null,
+                               'data-tab-title': (this.map.tabbed && !this.parentoption) ? this.title || this.sectiontype : null
                        });
 
                if (typeof(this.title) === 'string' && this.title !== '')
@@ -1922,6 +1922,7 @@ var CBISectionValue = CBIValue.extend({
                        throw 'Sub section must be a descendent of CBIAbstractSection';
 
                this.subsection = cbiClass.instantiate(this.varargs(arguments, 4, this.map));
+               this.subsection.parentoption = this;
        },
 
        load: function(section_id) {