MCPcopy
hub / github.com/winjs/winjs / renderHeader

Method renderHeader

src/js/WinJS/Controls/Pivot/_Pivot.ts:1161–1196  ·  view source on GitHub ↗
(index: number, aria: boolean)

Source from the content-addressed store, hash-verified

1159 }
1160
1161 renderHeader(index: number, aria: boolean) {
1162 // Renders a single header
1163 var that = this;
1164 var template = _ElementUtilities._syncRenderer(pivotDefaultHeaderTemplate);
1165 var item = this.pivot.items.getAt(index);
1166
1167 var headerContainerEl = _Global.document.createElement("BUTTON");
1168 headerContainerEl.tabIndex = -1;
1169 headerContainerEl.setAttribute("type", "button");
1170 headerContainerEl.style.marginLeft = headerContainerEl.style.marginRight = HeaderStateBase.headerHorizontalMargin + "px";
1171 _ElementUtilities.addClass(headerContainerEl, _Constants._ClassNames.pivotHeader);
1172 headerContainerEl["_item"] = item;
1173 headerContainerEl["_pivotItemIndex"] = index;
1174 template(item, headerContainerEl);
1175
1176 function ariaSelectedMutated() {
1177 if (that.pivot._disposed) {
1178 return;
1179 }
1180
1181 if (that.pivot._headersContainerElement.contains(headerContainerEl) &&
1182 index !== that.pivot.selectedIndex &&
1183 headerContainerEl.getAttribute('aria-selected') === "true") {
1184 // Ignore aria selected changes on selected item.
1185 // By selecting another tab we change to it.
1186 that.pivot.selectedIndex = index;
1187 }
1188 }
1189 if (aria) {
1190 headerContainerEl.setAttribute('aria-selected', "" + (index === this.pivot.selectedIndex));
1191 headerContainerEl.setAttribute('role', 'tab');
1192 new _ElementUtilities._MutationObserver(ariaSelectedMutated).observe(headerContainerEl, { attributes: true, attributeFilter: ["aria-selected"] });
1193 }
1194
1195 return headerContainerEl;
1196 }
1197
1198 updateHeader(item: _PivotItem.PivotItem) {
1199 // Updates the label of a header

Callers 5

renderMethod · 0.80
renderMethod · 0.80
measureItemImplFunction · 0.80
testSiteMethod · 0.80

Calls 6

createElementMethod · 0.80
getAtMethod · 0.65
setAttributeMethod · 0.65
addClassMethod · 0.65
observeMethod · 0.65
templateFunction · 0.50

Tested by

no test coverage detected