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 === ''}
/>;
},