1 var yangmanPluginsFactories = [
2 'ymDisplayMountPoints',
5 var yangmanPluginContollers = [
9 'common/yangutils/services/custom-funct.services',
10 ].concat(yangmanPluginsFactories.map(function (plugin) {
12 return 'app/yangman/services/plugins/' + plugin + '.services';
13 })).concat(yangmanPluginContollers.map(function (ctrl) {
15 return 'app/yangman/plugins/cv/' + ctrl + '.controller';
19 angular.module('app.yangman').service('PluginsHandlerService', PluginsHandlerService);
21 function PluginsHandlerService($injector, CustomFuncService) {
24 addPlugins: addPlugins,
33 // TODO: add service's description
34 function addPlugins() {
35 yangmanPluginsFactories.forEach(function (pluginFactFullName) {
36 var pluginServiceName = pluginFactFullName.split('/'),
37 pluginName = pluginServiceName[pluginServiceName.length - 1].split('.')[0];
39 $injector.invoke([pluginName, function (pluginFact) {
40 service.plugins.push(pluginFact);
47 * Method for importing additional plugins
50 function plugAll(apis) {
51 service.plugins.forEach(function (plugin) {
52 console.info('YANGMAN :: adding plugin', plugin.label);
53 plugin.module.forEach(function (plModule, i){
54 CustomFuncService.createCustomFunctionalityApis(apis, plModule, plugin.revision,
55 plugin.pathString[i], plugin.label,
56 plugin.getCallback, plugin.view,
57 plugin.hideButtonOnSelect);