MCPcopy
hub / github.com/winjs/winjs / render

Method render

src/js/WinJS/Controls/Pivot/_Pivot.ts:1399–1514  ·  view source on GitHub ↗
(goPrevious?: boolean)

Source from the content-addressed store, hash-verified

1397 }
1398
1399 render(goPrevious?: boolean) {
1400 var pivot = this.pivot;
1401 if (this._blocked || pivot._pendingRefresh || !pivot._items) {
1402 return;
1403 }
1404
1405 var restoreFocus = pivot._headersContainerElement.contains(<HTMLElement>_Global.document.activeElement);
1406
1407 _Dispose._disposeElement(pivot._headersContainerElement);
1408 _ElementUtilities.empty(pivot._headersContainerElement);
1409
1410
1411 if (pivot._items.length === 1) {
1412 var header = this.renderHeader(0, true);
1413 header.classList.add(_Constants._ClassNames.pivotHeaderSelected);
1414 pivot._headersContainerElement.appendChild(header);
1415
1416 pivot._viewportElement.style.overflow = "hidden";
1417 pivot._headersContainerElement.style.marginLeft = "0px";
1418 pivot._headersContainerElement.style.marginRight = "0px";
1419 } else if (pivot._items.length > 1) {
1420 // We always render 1 additional header before the current item.
1421 // When going backwards, we render 2 additional headers, the first one as usual, and the second one for
1422 // fading out the previous last header.
1423 var numberOfHeadersToRender = pivot._items.length + (goPrevious ? 2 : 1);
1424 var maxHeaderWidth = pivot._getHeaderItemsWidth() * 0.8;
1425 var indexToRender = pivot.selectedIndex - 1;
1426
1427 if (pivot._viewportElement.style.overflow) {
1428 pivot._viewportElement.style.overflow = "";
1429 }
1430
1431 for (var i = 0; i < numberOfHeadersToRender; i++) {
1432 if (indexToRender === -1) {
1433 indexToRender = pivot._items.length - 1;
1434 } else if (indexToRender === pivot._items.length) {
1435 indexToRender = 0;
1436 }
1437
1438 var header = this.renderHeader(indexToRender, true);
1439 pivot._headersContainerElement.appendChild(header);
1440
1441 if (header.offsetWidth > maxHeaderWidth) {
1442 header.style.textOverflow = "ellipsis";
1443 header.style.width = maxHeaderWidth + "px";
1444 }
1445
1446 if (indexToRender === pivot.selectedIndex) {
1447 header.classList.add(_Constants._ClassNames.pivotHeaderSelected);
1448 }
1449 indexToRender++;
1450 }
1451 if (!pivot._firstLoad && !this._firstRender) {
1452 var start: string, end: string;
1453 if (goPrevious) {
1454 start = "";
1455 end = "0";
1456 } else {

Callers 3

constructorMethod · 0.95
handleNavigationMethod · 0.95
handleHeaderChangedMethod · 0.95

Calls 13

emptyMethod · 0.80
renderHeaderMethod · 0.80
appendChildMethod · 0.80
_getHeaderItemsWidthMethod · 0.80
createElementMethod · 0.80
_goNextMethod · 0.80
_goPreviousMethod · 0.80
containsMethod · 0.65
addMethod · 0.65
setAttributeMethod · 0.65
addClassMethod · 0.65
addEventListenerMethod · 0.65

Tested by

no test coverage detected