Set unique tabId to each tab in overview.body
@param {Array} sections overview body array
764561
function setTabId (sections) {

    sections.forEach(function (section, sectionIndex) {

        if (!Array.isArray(section)) {
            return;
        }

        section.forEach(function (tab, tabIndex) {

            // Replace white space from tab.label with "-", make it lowercase and add the index number at the end.
            // sectionIndex and tabIndex number are added at the end to make the tabID unique in case when more then one tab have the same label (title)
            tab.tabId = (tab.label).replace(/\s+/g, '-').toLowerCase() + '-' + sectionIndex + '-' + tabIndex;

        });

    });

}
214778
function (section) {
            // PROFILING // var profilingId = this.$startMeasure("Inserting
            // section in DOM");
            ariaUtilsDom.replaceHTML(this.domElement, section.html);

            // var sectionDomElement = this.domElement.firstChild;

            // Maybe the initWidget should be done after displaying the popup ?
            section.initWidgets();

            this.section = section;
            // PROFILING // this.$stopMeasure(profilingId);
        }
35721
public function markSections(array $sectionsData, $sectionNames = null, $updateIds = false)
    {
        if (!$sectionNames) {
            $sectionNames = array_keys($sectionsData);
        }
        $markId = $this->initMark($updateIds);

        foreach ($sectionNames as $name) {
            if ($updateIds || !array_key_exists(self::SECTION_KEY, $sectionsData[$name])) {
                $sectionsData[$name][self::SECTION_KEY] = $markId;
            }
            if(!isset($sectionsData[$name])){
                $sectionsData[$name] = [];
            }
        }
        return $sectionsData;
    }
1001316
public void addNamed(E tabContent, String tabName, String tabId) {

        add(tabContent, tabName);
        m_tabsById.put(tabId, tabContent);
    }
806552
public void setTabs(ArrayList<String>tabs) {
        if (tabs == null || tabs.size() <= 0) return;

        if (platformSupportsTabs) {
            ArrayList<String> toAdd;
            if (tabs.size() > MAX_TABS) {
                toAdd = new ArrayList<>(tabs.subList(0, MAX_TABS));
            } else {
                toAdd = tabs;
            }
            this.tabs = toAdd.toArray(new String[0]);
        } else {
            Logger.d("Please upgrade com.android.support:design library to v28.0.0 to enable Tabs for App Inbox, dropping Tabs");
        }
    }
809066
public void setSections( List<Section> sections ){
		for( Section s: sections ) superSection.addSection(s);
	}
497043
function(oEvent) {
				// in our use-case each tab contains a single subSection => only this subSection needs to be processed
				var oSubSection = oEvent.getParameter("subSection"),
					sId = oSubSection.getId(),
					aBlocks;

				//attach listeners that prettify the tab content upon its rendering
				if (this._aVisitedTabs.indexOf(sId) < 0) { // avoid adding listeners to the same tab twice
					aBlocks = oSubSection.getBlocks();
					aBlocks.forEach(function(oBlock) {
						oBlock.addEventDelegate({"onAfterRendering": this._prettify.bind(this)});
					}.bind(this));

					this._aVisitedTabs.push(sId);
				}
			}
1132436
function tabs(elem) {

		var This = this;
		this.elem = elem;
		this.$elem = $(elem);
		this.$triggers = this.$elem.find('.JS-tabs__trigger');
		this.$content = this.$elem.find('.JS-tabs__content');

		this.$triggers.click(function (e) {
			e.preventDefault();
			switchTab($(this));
		});

		if (typeof window.localStorage.activeTab !== 'undefined') {
			switchTab(window.localStorage.activeTab);
		} else {
			switchTab(0);
		}

		function switchTab(tab) {

			var isString = typeof tab === 'string';

			if ($.isNumeric(tab) || isString) {
				if (isString) {
					tab = ['classes','mixin','both'].indexOf(tab);
				}
				tab = This.$triggers.eq(tab);
			}

			var pos = tab.parent().index();

			This.$triggers.filter('.' + active_).removeClass(active_);
			tab.addClass(active_);

			This.$content.hide();
			This.$content.eq(pos).show();

		}
	}
686479
public function renderSectionBody(array $section, DataCollection $collection, array $sections = [], string $sectionName = '') : void
    {
        if ($this->isSilent()) {
            return;
        }

        $division          = $collection->getDefaultProperties();
        $ua                = $division->getUserAgents()[0];
        $defaultproperties = $ua->getProperties();
        $properties        = array_merge(['Parent'], array_keys($defaultproperties));

        foreach ($defaultproperties as $propertyName => $propertyValue) {
            if (is_bool($propertyValue)) {
                $defaultproperties[$propertyName] = $propertyValue;
            } else {
                $defaultproperties[$propertyName] = $this->trimProperty->trimProperty((string) $propertyValue);
            }
        }

        foreach ($properties as $property) {
            if (!isset($section[$property])) {
                continue;
            }

            if (!isset($this->outputProperties[$property])) {
                $this->outputProperties[$property] = $this->filter->isOutputProperty($property, $this);
            }

            if (!$this->outputProperties[$property]) {
                continue;
            }

            if (isset($section['Parent']) && 'Parent' !== $property) {
                if ('DefaultProperties' === $section['Parent']
                    || !isset($sections[$section['Parent']])
                ) {
                    if (isset($defaultproperties[$property])
                        && $defaultproperties[$property] === $section[$property]
                    ) {
                        continue;
                    }
                } else {
                    $parentProperties = $sections[$section['Parent']];

                    if (isset($parentProperties[$property])
                        && $parentProperties[$property] === $section[$property]
                    ) {
                        continue;
                    }
                }
            }

            fwrite(
                $this->file,
                $this->formatter->formatPropertyName($property)
                . '=' . $this->formatter->formatPropertyValue($section[$property], $property) . PHP_EOL
            );
        }
    }
1343341
function (args) {
                var sectionMacro = this.macro;
                if (sectionMacro) {
                    // a macro is defined in the section, it is the default macro to use when refreshing
                    if (!args.macro) {
                        args.macro = sectionMacro;
                    } else {
                        var targetMacro = args.macro;
                        if (ariaUtilsType.isObject(targetMacro) && !targetMacro.name) {
                            targetMacro.name = sectionMacro.name;
                            targetMacro.scope = sectionMacro.scope;
                            if (!targetMacro.args) {
                                targetMacro.args = sectionMacro.args;
                            }
                        }
                    }
                }
                // Remove cached reference to the dom element, as it may change during the refresh
                // (occurs in tables in IE)
                this._domElt = null;
            }
1231141
private function updateSections()
    {
        $sections = $this->repo->findAll();
        foreach ($sections as $section) {
            PageListener::setSectionHasChildren($this->em, $section);
        }
        $this->em->flush();

        return $this;
    }
525222
function determineTabs(line, tab){

  let tabs = '';
  for (let i = 0; i < line.depth; i++) {
    tabs += tab;
  }

  return tabs;
}
1041976
protected void addIndexContents(Collection<ModuleElement> modules, String title, String tableSummary, Content body) {
        HtmlTree htmltree = (configuration.allowTag(HtmlTag.NAV))
                ? HtmlTree.NAV()
                : new HtmlTree(HtmlTag.DIV);
        htmltree.addStyle(HtmlStyle.indexNav);
        HtmlTree ul = new HtmlTree(HtmlTag.UL);
        addAllClassesLink(ul);
        if (configuration.showModules) {
            addAllModulesLink(ul);
        }
        htmltree.addContent(ul);
        body.addContent(htmltree);
        addModulesList(modules, title, tableSummary, body);
    }
977030
public void setSections(final List<Section> SECTIONS) {
        getSections().setAll(SECTIONS);
        getSections().sort(new SectionComparator());
        fireTileEvent(SECTION_EVENT);
    }
46212
def initialize_footer_values
            @sections[:body][:settings][:groups].each do |group|
                current_footer = {}
                @sections[:groups][group.to_sym][:footer].each { |field, settings| current_footer[field] = nil } unless @sections[:groups][group.to_sym][:footer].nil?
                @footers[group.to_sym] = current_footer unless current_footer.empty?
            end if has_groups?
            raise "The report must have at least a footer on body section" if @sections[:body][:footer].nil?
            current_footer = {}
            @sections[:body][:footer].each { |field, settings| current_footer[field] = nil }
            @footers[:body] = current_footer unless current_footer.empty?
        end
832546
function tab(e) {
        var parentRole = getParentRole();

        if (parentRole == "tablist") {
          var elm = getFocusElements(focusedControl.getEl('body'))[0];

          if (elm) {
            elm.focus();
          }
        } else {
          moveFocus(e.shiftKey ? -1 : 1);
        }
      }
741584
function (target) {
		var tab = this.resolveTab(target,'removeTab');
		var tabData = {
			index:   tab.tabIndex,
			caption: tab.content,
			tooltipMsg: tab.tooltipMsg,
			userId:  tab.userId,
			data:    tab.userData
		} ;
		var that = this ;
		if (tab) {
			tabData.next = function (err) {
				if (err) { throw new Error(err);   }
				else     { that.removeTab(target); }
			} ;
			this.doTabRemoveRequested( tabData ) ;
		}
	}