UNPKG

alm

Version:

The best IDE for TypeScript

119 lines (118 loc) 4.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Does the mapping between urls to different tabs * Anything about tabs that needs to change based on tab protocol should go here */ var utils = require("../../../common/utils"); /** Various tabs */ var codeTab_1 = require("./codeTab"); var astView_1 = require("./astView"); var dependencyView_1 = require("./dependencyView"); var findAndReplaceMulti_1 = require("./findAndReplaceMulti"); var documentationView_1 = require("./documentationView"); var umlView_1 = require("./umlView"); var tsFlowView_1 = require("./tsFlowView"); var testedView_1 = require("./testedView"); var liveDemoView_1 = require("./liveDemoView"); var liveDemoReactView_1 = require("./liveDemoReactView"); /** * Tabs get to choose how much they want to integrate with search */ var TabSearchSupport; (function (TabSearchSupport) { TabSearchSupport[TabSearchSupport["None"] = 0] = "None"; TabSearchSupport[TabSearchSupport["Basic"] = 1] = "Basic"; TabSearchSupport[TabSearchSupport["Advanced"] = 2] = "Advanced"; })(TabSearchSupport = exports.TabSearchSupport || (exports.TabSearchSupport = {})); exports.tabs = { file: { protocol: 'file', searchSupport: TabSearchSupport.Advanced, getTitle: utils.getFileName, component: codeTab_1.Code, }, ast: { protocol: 'ast', searchSupport: TabSearchSupport.None, getTitle: function (url) { return "AST " + utils.getFileName(url); }, component: astView_1.ASTView, }, astfull: { protocol: 'astfull', searchSupport: TabSearchSupport.None, getTitle: function (url) { return "AST Full " + utils.getFileName(url); }, component: astView_1.ASTView, }, dependency: { protocol: 'dependency', searchSupport: TabSearchSupport.Basic, getTitle: function () { return 'Dependency View'; }, component: dependencyView_1.DependencyView, }, farm: { protocol: 'farm', searchSupport: TabSearchSupport.None, getTitle: function (url) { return "Find In Project"; }, component: findAndReplaceMulti_1.FindAndReplaceView, }, documentation: { protocol: 'documentation', searchSupport: TabSearchSupport.Basic, getTitle: function (url) { return "Documentation"; }, component: documentationView_1.DocumentationView, }, uml: { protocol: 'uml', searchSupport: TabSearchSupport.None, getTitle: function (url) { return "UML " + utils.getFileName(url); }, component: umlView_1.UmlView, }, tsflow: { protocol: 'tsflow', searchSupport: TabSearchSupport.None, getTitle: function (url) { return "TSFlow " + utils.getFileName(url); }, component: tsFlowView_1.TsFlowView, }, tested: { protocol: 'tested', searchSupport: TabSearchSupport.None, getTitle: function (url) { return "Tests"; }, component: testedView_1.TestedView, }, livedemo: { protocol: 'livedemo', searchSupport: TabSearchSupport.None, getTitle: function () { return 'Live Demo'; }, component: liveDemoView_1.LiveDemoView }, livedemoreact: { protocol: 'livedemoreact', searchSupport: TabSearchSupport.None, getTitle: function () { return 'Live Demo React'; }, component: liveDemoReactView_1.LiveDemoReactView } }; var _ensuretabsType = exports.tabs; function getTabConfigs() { return Object.keys(exports.tabs).map(function (protocol) { return ({ protocol: protocol, config: exports.tabs[protocol] }); }); } exports.getTabConfigs = getTabConfigs; function getComponentByUrl(url) { var protocol = utils.getFilePathAndProtocolFromUrl(url).protocol; var tab = exports.tabs[protocol]; if (tab) return tab.component; var error = 'Unknown protocol: ' + protocol; throw new Error(error); } exports.getComponentByUrl = getComponentByUrl; function getTabConfigByUrl(url) { var protocol = utils.getFilePathAndProtocolFromUrl(url).protocol; var tab = exports.tabs[protocol]; if (tab) return tab; var error = 'Unknown protocol: ' + protocol; throw new Error(error); } exports.getTabConfigByUrl = getTabConfigByUrl;