本文整理汇总了TypeScript中core/navigation/state.provider.StateConfigProvider类的典型用法代码示例。如果您正苦于以下问题:TypeScript provider.StateConfigProvider类的具体用法?TypeScript provider.StateConfigProvider怎么用?TypeScript provider.StateConfigProvider使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了provider.StateConfigProvider类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: require
(applicationStateProvider: ApplicationStateProvider, stateConfigProvider: StateConfigProvider) => {
const pipelineConfig: INestedState = {
name: 'pipelineConfig',
url: '/configure/:pipelineId?executionId',
views: {
pipelines: {
templateUrl: require('../pipeline/config/pipelineConfig.html'),
controller: 'PipelineConfigCtrl',
controllerAs: 'vm',
},
},
data: {
pageTitleSection: {
title: 'pipeline config',
},
},
};
// a specific stage can be deep linked by providing either refId or stageId,
// which will be resolved to stage or step by the executionDetails controller to stage/step parameters,
// replacing the URL
const executionDetails: INestedState = {
name: 'execution',
url: '/:executionId?refId&stage&subStage&step&details&stageId',
params: {
stage: {
value: '0',
},
step: {
value: '0',
},
},
data: {
pageTitleDetails: {
title: 'Execution Details',
nameParam: 'executionId',
},
},
};
const singleExecutionDetails: INestedState = {
name: 'executionDetails',
url: '/details',
views: {
pipelines: { component: SingleExecutionDetails, $type: 'react' },
},
abstract: true,
children: [executionDetails],
};
const executions: INestedState = {
name: 'executions',
url: `?startManualExecution&${stateConfigProvider.paramsToQuery(filterModelConfig)}`,
views: {
pipelines: { component: Executions, $type: 'react' },
},
params: stateConfigProvider.buildDynamicParams(filterModelConfig),
children: [executionDetails],
data: {
pageTitleSection: {
title: 'Pipeline Executions',
},
},
};
const pipelines: INestedState = {
name: 'pipelines',
url: '/executions',
abstract: true,
views: {
insight: {
template: '<div ui-view="pipelines" sticky-headers class="flex-fill"></div>',
},
},
children: [executions, pipelineConfig, singleExecutionDetails],
};
applicationStateProvider.addChildState(pipelines);
},
示例2: require
]).config((stateConfigProvider: StateConfigProvider, applicationStateProvider: ApplicationStateProvider) => {
const dashboard: INestedState = {
name: 'dashboard',
url: '/dashboard',
views: {
detail: {
templateUrl: require('../projects/dashboard/dashboard.html'),
controller: 'ProjectDashboardCtrl',
controllerAs: 'vm',
}
},
data: {
pageTitleSection: {
title: 'Dashboard'
}
},
};
const project: INestedState = {
name: 'project',
url: '/projects/{project}',
resolve: {
projectConfiguration: ['$stateParams', 'projectReader', ($stateParams: IProjectStateParms, projectReader: any) => {
return projectReader.getProjectConfig($stateParams.project).then(
(projectConfig: IProject) => projectConfig,
(): IProject => {
return {
id: null,
name: $stateParams.project,
email: null,
config: null,
notFound: true,
};
}
);
}]
},
views: {
'main@': {
templateUrl: require('../projects/project.html'),
controller: 'ProjectCtrl',
controllerAs: 'vm',
},
},
data: {
pageTitleMain: {
field: 'project'
},
history: {
type: 'projects'
}
},
children: [
dashboard
]
};
const allProjects: INestedState = {
name: 'projects',
url: '/projects',
views: {
'main@': {
templateUrl: require('../projects/projects.html'),
controller: 'ProjectsCtrl',
controllerAs: 'ctrl'
}
},
data: {
pageTitleMain: {
label: 'Projects'
}
},
children: [project],
};
stateConfigProvider.addToRootState(allProjects);
stateConfigProvider.addToRootState(project);
applicationStateProvider.addParentState(project, 'detail', '/applications');
stateConfigProvider.addRewriteRule('/projects/{project}', '/projects/{project}/dashboard');
stateConfigProvider.addRewriteRule('/projects/{project}/applications/{application}', '/projects/{project}/applications/{application}/clusters');
});
示例3: require
(applicationStateProvider: ApplicationStateProvider, stateConfigProvider: StateConfigProvider) => {
const clusters: INestedState = {
name: 'clusters',
url: `/clusters?${stateConfigProvider.paramsToQuery(filterModelConfig)}`,
views: {
nav: {
template: '<cluster-filter app="$resolve.app"></cluster-filter>',
},
master: {
templateUrl: require('../cluster/allClusters.html'),
controller: 'AllClustersCtrl',
controllerAs: 'ctrl',
},
},
redirectTo: transition => {
return transition
.injector()
.getAsync('app')
.then((app: Application) => {
if (app.serverGroups.disabled) {
const relativeSref = app.dataSources.find(ds => ds.sref && !ds.disabled).sref;
const params = transition.params();
// Target the state relative to the `clusters` state
const options = { relative: transition.to().name };
// Up two state levels first
return transition.router.stateService.target('^.^' + relativeSref, params, options);
}
return null;
});
},
params: stateConfigProvider.buildDynamicParams(filterModelConfig),
data: {
pageTitleSection: {
title: 'Clusters',
},
},
children: [],
};
const serverGroupDetails: INestedState = {
name: 'serverGroup',
url: '/serverGroupDetails/:provider/:accountId/:region/:serverGroup',
views: {
'detail@../insight': { component: ServerGroupDetailsWrapper, $type: 'react' },
},
resolve: {
serverGroup: [
'$stateParams',
($stateParams: StateParams) => {
return {
name: $stateParams.serverGroup,
accountId: $stateParams.accountId,
region: $stateParams.region,
};
},
],
},
data: {
pageTitleDetails: {
title: 'Server Group Details',
nameParam: 'serverGroup',
accountParam: 'accountId',
regionParam: 'region',
},
history: {
type: 'serverGroups',
},
},
};
const multipleServerGroups: INestedState = {
name: 'multipleServerGroups',
url: '/multipleServerGroups',
views: {
'detail@../insight': {
templateUrl: require('../serverGroup/details/multipleServerGroups.view.html'),
controller: 'MultipleServerGroupsCtrl',
controllerAs: 'vm',
},
},
data: {
pageTitleDetails: {
title: 'Multiple Server Groups',
},
},
};
applicationStateProvider.addInsightState(clusters);
applicationStateProvider.addInsightDetailState(serverGroupDetails);
applicationStateProvider.addInsightDetailState(multipleServerGroups);
stateConfigProvider.addRewriteRule('/applications/{application}', '/applications/{application}/clusters');
},
示例4: require
]).config((applicationStateProvider: ApplicationStateProvider, stateConfigProvider: StateConfigProvider) => {
const securityGroupDetails: INestedState = {
name: 'securityGroupDetails',
url: '/securityGroupDetails/:provider/:accountId/:region/:vpcId/:name',
params: {
vpcId: {
value: null,
squash: true,
},
},
views: {
'detail@../insight': {
templateProvider: ['$templateCache', '$stateParams', 'cloudProviderRegistry',
($templateCache: ng.ITemplateCacheService,
$stateParams: ISecurityGroupDetailsStateParms,
cloudProviderRegistry: CloudProviderRegistry) => {
return $templateCache.get(cloudProviderRegistry.getValue($stateParams.provider, 'securityGroup.detailsTemplateUrl'));
}],
controllerProvider: ['$stateParams', 'cloudProviderRegistry',
($stateParams: ISecurityGroupDetailsStateParms,
cloudProviderRegistry: CloudProviderRegistry) => {
return cloudProviderRegistry.getValue($stateParams.provider, 'securityGroup.detailsController');
}],
controllerAs: 'ctrl'
}
},
resolve: {
resolvedSecurityGroup: ['$stateParams', ($stateParams: ISecurityGroupDetailsStateParms) => {
return {
name: $stateParams.name,
accountId: $stateParams.accountId,
provider: $stateParams.provider,
region: $stateParams.region,
vpcId: $stateParams.vpcId,
};
}]
},
data: {
pageTitleDetails: {
title: 'Security Group Details',
nameParam: 'name',
accountParam: 'accountId',
regionParam: 'region'
},
history: {
type: 'securityGroups',
},
}
};
const securityGroupSummary: INestedState = {
url: '/securityGroups',
name: 'securityGroups',
views: {
'nav': {
templateUrl: require('../securityGroup/filter/filterNav.html'),
controller: 'SecurityGroupFilterCtrl',
controllerAs: 'securityGroupFilters'
},
'master': {
templateUrl: require('../securityGroup/all.html'),
controller: 'AllSecurityGroupsCtrl',
controllerAs: 'ctrl'
}
},
data: {
pageTitleSection: {
title: 'Security Groups'
}
}
};
const standaloneSecurityGroup: INestedState = {
name: 'securityGroupDetails',
url: '/securityGroupDetails/:provider/:accountId/:region/:vpcId/:name',
params: {
vpcId: {
value: null,
squash: true,
},
},
views: {
'main@': {
templateUrl: require('../presentation/standalone.view.html'),
controllerProvider: ['$stateParams', 'cloudProviderRegistry',
($stateParams: IStandaloneSecurityGroupDetailsStateParams,
cloudProviderRegistry: CloudProviderRegistry) => {
return cloudProviderRegistry.getValue($stateParams.provider, 'securityGroup.detailsController');
}],
controllerAs: 'ctrl'
}
},
resolve: {
resolvedSecurityGroup: ['$stateParams', ($stateParams: IStandaloneSecurityGroupDetailsStateParams) => {
return {
name: $stateParams.name,
accountId: $stateParams.accountId,
provider: $stateParams.provider,
region: $stateParams.region,
//.........这里部分代码省略.........