1 define([], function () {
4 function CustomFuncService(){
7 createCustomFunctionalityApis: createCustomFunctionalityApis,
8 createNewFunctionality: createNewFunctionality,
9 getMPCustFunctionality: getMPCustFunctionality,
15 * Base custom functionality object
20 * @param hideButtonOnSelect
23 function CustFunctionality(label, node, callback, viewStr, hideButtonOnSelect) {
25 this.callback = callback;
26 this.viewStr = viewStr;
27 this.hideButtonOnSelect = hideButtonOnSelect;
29 this.setCallback = function (callback) {
30 this.callback = callback;
33 this.runCallback = function (args){
34 (this.callback || angular.noop)(args);
38 // TODO: add function's description
39 function cmpApiToTemplatePath(subApi, templateStr) {
40 var subApiStr = subApi.storage + '/' + subApi.pathTemplateString;
41 return subApiStr === templateStr;
44 // TODO: add service's description
45 function createNewFunctionality(label, node, callback, viewStr, hideButtonOnSelect) {
46 if (node && callback) {
47 return new CustFunctionality(label, node, callback, viewStr, hideButtonOnSelect);
49 console.error('no node or callback is set for custom functionality');
53 // TODO: add service's description
54 function getMPCustFunctionality(funcList) {
55 var mpCF = funcList.filter(function (cf) {
56 return cf.label === 'YANGUI_CUST_MOUNT_POINTS';
62 // TODO: add service's description
63 function createCustomFunctionalityApis(apis, module, revision, pathString, label,
64 callback, viewStr, hideButtonOnSelect) {
65 apis = apis.map(function (item) {
66 if ((module ? item.module === module : true) && (revision ? item.revision === revision : true)) {
68 item.subApis = item.subApis.map(function (subApi) {
70 if (cmpApiToTemplatePath(subApi, pathString)) {
71 subApi.addCustomFunctionality(label, callback, viewStr, hideButtonOnSelect);
83 CustomFuncService.$inject = [];
85 return CustomFuncService;