本文整理汇总了TypeScript中core/application.ApplicationStateProvider.addInsightDetailState方法的典型用法代码示例。如果您正苦于以下问题:TypeScript ApplicationStateProvider.addInsightDetailState方法的具体用法?TypeScript ApplicationStateProvider.addInsightDetailState怎么用?TypeScript ApplicationStateProvider.addInsightDetailState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core/application.ApplicationStateProvider
的用法示例。
在下文中一共展示了ApplicationStateProvider.addInsightDetailState方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
.config((applicationStateProvider: ApplicationStateProvider) => {
const serverGroupManagerDetails: INestedState = {
name: 'serverGroupManager',
url: '/serverGroupManagerDetails/:provider/:accountId/:region/:serverGroupManager',
views: {
'detail@../insight': {
component: ServerGroupManagerDetails,
$type: 'react',
}
},
resolve: {
accountId: ['$stateParams', ($stateParams: IServerGroupManagerStateParams) => $stateParams.accountId],
serverGroupManager: ['$stateParams', ($stateParams: IServerGroupManagerStateParams) => $stateParams]
},
data: {
pageTitleDetails: {
title: 'Server Group Manager Details',
nameParam: 'serverGroupManager',
accountParam: 'accountId',
regionParam: 'region'
},
history: {
type: 'serverGroupManagers',
},
}
};
applicationStateProvider.addInsightDetailState(serverGroupManagerDetails);
});
示例2:
(applicationStateProvider: ApplicationStateProvider, stateConfigProvider: StateConfigProvider) => {
const loadBalancerDetails: INestedState = {
name: 'loadBalancerDetails',
url: '/loadBalancerDetails/:provider/:accountId/:region/:vpcId/:name',
params: {
vpcId: {
value: null,
squash: true,
},
},
views: {
'detail@../insight': {
component: LoadBalancerDetails,
$type: 'react',
},
},
resolve: {
accountId: ['$stateParams', ($stateParams: StateParams) => $stateParams.accountId],
loadBalancer: [
'$stateParams',
($stateParams: StateParams) => {
return {
name: $stateParams.name,
accountId: $stateParams.accountId,
region: $stateParams.region,
vpcId: $stateParams.vpcId,
};
},
],
},
data: {
pageTitleDetails: {
title: 'Load Balancer Details',
nameParam: 'name',
accountParam: 'accountId',
regionParam: 'region',
},
history: {
type: 'loadBalancers',
},
},
};
const loadBalancers: INestedState = {
url: `/loadBalancers?${stateConfigProvider.paramsToQuery(filterModelConfig)}`,
name: 'loadBalancers',
views: {
nav: { component: LoadBalancerFilters, $type: 'react' },
master: { component: LoadBalancers, $type: 'react' },
},
params: stateConfigProvider.buildDynamicParams(filterModelConfig),
data: {
pageTitleSection: {
title: 'Load Balancers',
},
},
children: [],
};
applicationStateProvider.addInsightState(loadBalancers);
applicationStateProvider.addInsightDetailState(loadBalancerDetails);
},
示例3: require
//.........这里部分代码省略.........
views: {
'detail@../insight': {
component: InstanceDetails,
$type: 'react',
},
},
resolve: {
overrides: () => {
return {};
},
instance: [
'$stateParams',
($stateParams: StateParams) => {
return {
instanceId: $stateParams.instanceId,
};
},
],
},
data: {
pageTitleDetails: {
title: 'Instance Details',
nameParam: 'instanceId',
},
history: {
type: 'instances',
},
},
};
const multipleInstances: INestedState = {
name: 'multipleInstances',
url: '/multipleInstances',
views: {
'detail@../insight': {
templateUrl: require('../instance/details/multipleInstances.view.html'),
controller: 'MultipleInstancesCtrl',
controllerAs: 'vm',
},
},
data: {
pageTitleDetails: {
title: 'Multiple Instances',
},
},
};
const standaloneInstance: INestedState = {
name: 'instanceDetails',
url: '/instance/:provider/:account/:region/:instanceId',
views: {
'main@': {
templateUrl: require('../presentation/standalone.view.html'),
controllerProvider: [
'$stateParams',
($stateParams: StateParams) => {
return SkinService.getValue($stateParams.provider, $stateParams.account, 'instance.detailsController');
},
],
controllerAs: 'ctrl',
},
},
resolve: {
instance: [
'$stateParams',
($stateParams: StateParams) => {
return {
instanceId: $stateParams.instanceId,
account: $stateParams.account,
region: $stateParams.region,
noApplication: true,
};
},
],
app: [
(): Application => {
return ApplicationModelBuilder.createStandaloneApplication('(standalone instance)');
},
],
overrides: () => {
return {};
},
moniker: (): any => null,
environment: (): any => null,
},
data: {
pageTitleDetails: {
title: 'Instance Details',
nameParam: 'instanceId',
},
history: {
type: 'instances',
},
},
};
applicationStateProvider.addInsightDetailState(instanceDetails);
applicationStateProvider.addInsightDetailState(multipleInstances);
stateConfigProvider.addToRootState(standaloneInstance);
},
示例4: require
//.........这里部分代码省略.........
},
};
const securityGroupSummary: INestedState = {
url: `/firewalls?${stateConfigProvider.paramsToQuery(filterModelConfig)}`,
name: 'firewalls',
views: {
nav: {
template: '<security-group-filter app="$resolve.app"></security-group-filter>',
},
master: {
templateUrl: require('../securityGroup/all.html'),
controller: 'AllSecurityGroupsCtrl',
controllerAs: 'ctrl',
},
},
params: stateConfigProvider.buildDynamicParams(filterModelConfig),
data: {
pageTitleSection: {
title: FirewallLabels.get('Firewalls'),
},
},
};
const standaloneFirewall: INestedState = {
name: 'firewallDetails',
url: '/firewallDetails/:provider/:accountId/:region/:vpcId/:name',
params: {
vpcId: {
value: null,
squash: true,
},
},
views: {
'main@': {
templateUrl: require('../presentation/standalone.view.html'),
controllerProvider: [
'$stateParams',
($stateParams: StateParams) => {
return SkinService.getValue(
$stateParams.provider,
$stateParams.accountId,
'securityGroup.detailsController',
);
},
],
controllerAs: 'ctrl',
},
},
resolve: {
resolvedSecurityGroup: [
'$stateParams',
($stateParams: StateParams) => {
return {
name: $stateParams.name,
accountId: $stateParams.accountId,
provider: $stateParams.provider,
region: $stateParams.region,
vpcId: $stateParams.vpcId,
};
},
],
app: [
'$stateParams',
'securityGroupReader',
($stateParams: StateParams, securityGroupReader: SecurityGroupReader): ng.IPromise<Application> => {
// we need the application to have a firewall index (so rules get attached and linked properly)
// and its name should just be the name of the firewall (so cloning works as expected)
return securityGroupReader.loadSecurityGroups().then(securityGroupsIndex => {
const application: Application = ApplicationModelBuilder.createStandaloneApplication($stateParams.name);
application['securityGroupsIndex'] = securityGroupsIndex; // TODO: refactor the securityGroupsIndex out
return application;
});
},
],
},
data: {
pageTitleDetails: {
title: `${FirewallLabels.get('Firewall')} Details`,
nameParam: 'name',
accountParam: 'accountId',
regionParam: 'region',
},
history: {
type: 'securityGroups',
},
},
};
applicationStateProvider.addInsightState(securityGroupSummary);
applicationStateProvider.addInsightDetailState(firewallDetails);
stateConfigProvider.addToRootState(standaloneFirewall);
stateConfigProvider.addRewriteRule(
'/applications/{application}/securityGroups',
'/applications/{application}/firewalls',
);
stateConfigProvider.addRewriteRule(/(.+?)\/securityGroupDetails\/(.*)/, ($match: string[]) => {
return `${$match[1]}/firewallDetails/${$match[2]}`;
});
},
示例5: require
//.........这里部分代码省略.........
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?${stateConfigProvider.paramsToQuery(filterModelConfig)}`,
name: 'securityGroups',
views: {
'nav': {
template: '<security-group-filter app="$resolve.app"></security-group-filter>',
},
'master': {
templateUrl: require('../securityGroup/all.html'),
controller: 'AllSecurityGroupsCtrl',
controllerAs: 'ctrl'
}
},
params: stateConfigProvider.buildDynamicParams(filterModelConfig),
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', 'versionedCloudProviderService',
($stateParams: StateParams,
versionedCloudProviderService: VersionedCloudProviderService) => {
return versionedCloudProviderService.getValue($stateParams.provider, $stateParams.accountId, 'securityGroup.detailsController');
}],
controllerAs: 'ctrl'
}
},
resolve: {
resolvedSecurityGroup: ['$stateParams', ($stateParams: StateParams) => {
return {
name: $stateParams.name,
accountId: $stateParams.accountId,
provider: $stateParams.provider,
region: $stateParams.region,
vpcId: $stateParams.vpcId,
};
}],
app: ['$stateParams', 'securityGroupReader', 'applicationModelBuilder',
($stateParams: StateParams,
securityGroupReader: SecurityGroupReader,
applicationModelBuilder: ApplicationModelBuilder): ng.IPromise<Application> => {
// we need the application to have a security group index (so rules get attached and linked properly)
// and its name should just be the name of the security group (so cloning works as expected)
return securityGroupReader.loadSecurityGroups()
.then((securityGroupsIndex) => {
const application: Application = applicationModelBuilder.createStandaloneApplication($stateParams.name);
application['securityGroupsIndex'] = securityGroupsIndex; // TODO: refactor the securityGroupsIndex out
return application;
});
}]
},
data: {
pageTitleDetails: {
title: 'Security Group Details',
nameParam: 'name',
accountParam: 'accountId',
regionParam: 'region'
},
history: {
type: 'securityGroups',
},
}
};
applicationStateProvider.addInsightState(securityGroupSummary);
applicationStateProvider.addInsightDetailState(securityGroupDetails);
stateConfigProvider.addToRootState(standaloneSecurityGroup);
});