showView: function()

in app/addons/documents/routes-index-editor.js [75:126]


  showView: function (databaseName, partitionKey, ddoc, viewName) {
    viewName = viewName.replace(/\?.*$/, '');

    ActionsIndexEditor.dispatchClearIndex();
    ActionsIndexEditor.dispatchFetchDesignDocsBeforeEdit({
      viewName: viewName,
      isNewView: false,
      database: this.database,
      designDocs: this.designDocs,
      designDocId: '_design/' + ddoc
    });
    DatabaseActions.fetchSelectedDatabaseInfo(databaseName);

    const selectedNavItem = new SidebarItemSelection('designDoc', {
      designDocName: ddoc,
      designDocSection: 'Views',
      indexName: viewName
    });
    SidebarActions.dispatchExpandSelectedItem(selectedNavItem);

    const encodedPartKey = partitionKey ? encodeURIComponent(partitionKey) : '';
    const url = FauxtonAPI.urls('view', 'server', encodeURIComponent(databaseName), encodedPartKey,
      encodeURIComponent(ddoc), encodeURIComponent(viewName));
    const endpoint = FauxtonAPI.urls('view', 'apiurl', encodeURIComponent(databaseName), encodedPartKey,
      encodeURIComponent(ddoc), encodeURIComponent(viewName));
    const docURL = FauxtonAPI.constants.DOC_URLS.GENERAL;
    const navigateToPartitionedView = (partKey) => {
      const baseUrl = FauxtonAPI.urls('partitioned_view', 'app', encodeURIComponent(databaseName),
        encodeURIComponent(partKey), encodeURIComponent(ddoc));
      FauxtonAPI.navigate('#/' + baseUrl + encodeURIComponent(viewName));
    };
    const navigateToGlobalView = () => {
      const baseUrl = FauxtonAPI.urls('view', 'app', encodeURIComponent(databaseName), encodeURIComponent(ddoc));
      FauxtonAPI.navigate('#/' + baseUrl + encodeURIComponent(viewName));
    };
    const dropDownLinks = this.getCrumbs(this.database);
    return <DocsTabsSidebarLayout
      docURL={docURL}
      endpoint={endpoint}
      dbName={this.database.id}
      dropDownLinks={dropDownLinks}
      database={this.database}
      fetchUrl={url}
      ddocsOnly={false}
      deleteEnabled={false}
      selectedNavItem={selectedNavItem}
      partitionKey={partitionKey}
      onPartitionKeySelected={navigateToPartitionedView}
      onGlobalModeSelected={navigateToGlobalView}
      globalMode={partitionKey === ''}
    />;
  },