azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 1.05 kB
JavaScript
import{__extends,__spreadArray}from"tslib";import"../../CommonImports";import"../../Core/core.css";import"./Tabs.css";import*as React from"react";import{Observer}from"../../Observer";var TabProviderContext=React.createContext({selectedId:void 0,tabs:[],commandBarItems:[],renderContent:void 0,renderFilterBar:void 0}),TabProvider=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return __extends(r,e),r.prototype.render=function(){var o=this;return React.createElement(Observer,{selectedTabId:this.props.selectedTabId,tabs:this.props.providers},function(e){var r=e.selectedTabId,t=void 0,e=__spreadArray([],e.tabs.sort(function(e,r){return(e.order||100)-(r.order||100)}),!0);return e.forEach(function(e){e.id===r&&(t=e)}),void 0===t&&(t={id:r,name:void 0,render:void 0}),React.createElement(TabProviderContext.Provider,{value:{selectedId:t.id,tabs:e,commandBarItems:t.commandBarItems,renderContent:t.render,renderFilterBar:t.renderFilterBar}},o.props.children)})},r}(React.Component);export{TabProviderContext,TabProvider};