(goPrevious?: boolean)
| 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 { |
no test coverage detected