本文整理汇总了TypeScript中core/application/service/ApplicationDataSourceRegistry.ApplicationDataSourceRegistry类的典型用法代码示例。如果您正苦于以下问题:TypeScript ApplicationDataSourceRegistry类的具体用法?TypeScript ApplicationDataSourceRegistry怎么用?TypeScript ApplicationDataSourceRegistry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ApplicationDataSourceRegistry类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
($q: IQService, loadBalancerReader: LoadBalancerReader) => {
const loadLoadBalancers = (application: Application) => {
return loadBalancerReader.loadLoadBalancers(application.name);
};
const addLoadBalancers = (_application: Application, loadBalancers: ILoadBalancer[]) => {
return $q.when(loadBalancers);
};
const addTags = (application: Application) => {
EntityTagsReader.addTagsToLoadBalancers(application);
};
ApplicationDataSourceRegistry.registerDataSource({
key: 'loadBalancers',
sref: '.insight.loadBalancers',
category: INFRASTRUCTURE_KEY,
optional: true,
icon: 'fa fa-xs fa-fw icon-sitemap',
loader: loadLoadBalancers,
onLoad: addLoadBalancers,
afterLoad: addTags,
providerField: 'cloudProvider',
credentialsField: 'account',
regionField: 'region',
description: 'Traffic distribution management between servers',
});
},
示例2:
(securityGroupReader: SecurityGroupReader) => {
const loadSecurityGroups = (application: Application) => {
return securityGroupReader.loadSecurityGroupsByApplicationName(application.name);
};
const addSecurityGroups = (application: Application, securityGroups: ISecurityGroup[]) => {
return securityGroupReader.getApplicationSecurityGroups(application, securityGroups);
};
const addTags = (application: Application) => {
return EntityTagsReader.addTagsToSecurityGroups(application);
};
ApplicationDataSourceRegistry.registerDataSource({
key: 'securityGroups',
label: 'Firewalls',
category: INFRASTRUCTURE_KEY,
sref: '.insight.firewalls',
optional: true,
icon: 'fa fa-xs fa-fw fa-lock',
loader: loadSecurityGroups,
onLoad: addSecurityGroups,
afterLoad: addTags,
providerField: 'provider',
credentialsField: 'accountName',
regionField: 'region',
description: 'Network traffic access management',
});
},
示例3: module
module(ENTITY_TAGS_DATA_SOURCE, [LOAD_BALANCER_READ_SERVICE]).run(($q: IQService) => {
if (!SETTINGS.feature.entityTags) {
return;
}
const loadEntityTags = (application: Application) => {
return EntityTagsReader.getAllEntityTagsForApplication(application.name);
};
const addEntityTags = (_application: Application, data: IEntityTags[]) => {
return $q.when(data);
};
const addTagsToEntities = (application: Application) => {
application
.getDataSource('serverGroups')
.ready()
.then(() => EntityTagsReader.addTagsToServerGroups(application), noop);
application
.getDataSource('loadBalancers')
.ready()
.then(() => EntityTagsReader.addTagsToLoadBalancers(application), noop);
application
.getDataSource('securityGroups')
.ready()
.then(() => EntityTagsReader.addTagsToSecurityGroups(application), noop);
};
ApplicationDataSourceRegistry.registerDataSource({
key: 'entityTags',
visible: false,
loader: loadEntityTags,
onLoad: addEntityTags,
afterLoad: addTagsToEntities,
});
});
示例4: beforeEach
beforeEach(() => {
const application: Application = applicationModelBuilder.createApplication(
'app',
ApplicationDataSourceRegistry.getDataSources(),
);
command = {
viewState: {
mode: 'create',
},
application: application.name,
} as IServerGroupCommand;
});
示例5:
($q: IQService) => {
if (!SETTINGS.feature.entityTags) {
return;
}
const loadEntityTags = (application: Application) => {
return EntityTagsReader.getAllEntityTagsForApplication(application.name);
};
const addEntityTags = (_application: Application, data: IEntityTags[]) => {
return $q.when(data);
};
const addTagsToEntities = (application: Application) => {
application
.getDataSource('serverGroups')
.ready()
.then(() => EntityTagsReader.addTagsToServerGroups(application), noop);
application
.getDataSource('serverGroupManagers')
.ready()
.then(() => EntityTagsReader.addTagsToServerGroupManagers(application), noop);
application
.getDataSource('loadBalancers')
.ready()
.then(() => EntityTagsReader.addTagsToLoadBalancers(application), noop);
application
.getDataSource('securityGroups')
.ready()
.then(() => EntityTagsReader.addTagsToSecurityGroups(application), noop);
application
.getDataSource('executions')
.ready()
.then(() => EntityTagsReader.addTagsToExecutions(application), noop);
application
.getDataSource('pipelineConfigs')
.ready()
.then(() => EntityTagsReader.addTagsToPipelines(application), noop);
};
ApplicationDataSourceRegistry.registerDataSource({
key: 'entityTags',
visible: false,
loader: loadEntityTags,
onLoad: addEntityTags,
afterLoad: addTagsToEntities,
});
},
示例6: postTask
function postTask(serverGroupCommand: IServerGroupCommand): ITaskCommand {
let submitted: ITaskCommand = {};
$httpBackend
.expectPOST(`${API.baseUrl}/applications/app/tasks`, (body: string) => {
submitted = JSON.parse(body) as ITaskCommand;
return true;
})
.respond(200, { ref: '/1' });
const application: TestApplication = applicationModelBuilder.createApplication(
'app',
ApplicationDataSourceRegistry.getDataSources(),
) as TestApplication;
application.tasks = {
refresh: noop,
};
$httpBackend.expectGET(API.baseUrl + '/tasks/1').respond({});
serverGroupWriter.cloneServerGroup(serverGroupCommand, application);
$httpBackend.flush();
return submitted;
}