"use strict";\r
\r
var AsdcService = function ($http, $log, PropertyService, UtilityService, VIDCONFIGURATION, COMPONENT, DataService, featureFlags) {\r
+ var shouldExcludeMacroFromAsyncInstantiationFlow = function(serviceModel){\r
+ if (!featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ASYNC_INSTANTIATION))\r
+ return true;\r
+ if (DataService.getE2EService())\r
+ return true;\r
+ if (!_.isEmpty(serviceModel.pnfs))\r
+ return true;\r
+ if (!_.isEmpty(serviceModel.collectionResource))\r
+ return true;\r
+ if (!_.isEmpty(serviceModel.networks) && !featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_NETWORK_TO_ASYNC_INSTANTIATION))\r
+ return true;\r
+ if(serviceModel.service.instantiationType === "ClientConfig")\r
+ return true;\r
+ return false;\r
+ };\r
+\r
return {\r
getModel: function (modelId, successCallbackFunction) {\r
$log.debug("AsdcService:getModel: modelId: " + modelId);\r
(UtilityService.runHttpErrorHandler);\r
},\r
\r
- shouldExcludeMacroFromAsyncInstatiationFlow: function(serviceModel){\r
- if (!featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ASYNC_INSTANTIATION))\r
- return true;\r
- if (DataService.getE2EService())\r
- return true;\r
- if (!_.isEmpty(serviceModel.pnfs))\r
- return true;\r
- if (!_.isEmpty(serviceModel.collectionResource))\r
- return true;\r
- if (!_.isEmpty(serviceModel.networks) && !featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_NETWORK_TO_ASYNC_INSTANTIATION))\r
- return true;\r
- if(serviceModel.service.instantiationType === "ClientConfig")\r
- return true;\r
+ shouldTakeTheDrawingBoardViewEdit: function(serviceModel) {\r
+ if (serviceModel.service.vidNotions\r
+ && serviceModel.service.vidNotions.viewEditUI\r
+ && serviceModel.service.vidNotions.viewEditUI !== 'legacy'\r
+ ) return true;\r
+\r
+ return false;\r
+ },\r
+\r
+ shouldTakeTheAsyncInstantiationFlow: function(serviceModel) {\r
+ // First of all, respect serviceModel.service.vidNotions.instantiationUI\r
+ if (serviceModel.service.vidNotions\r
+ && serviceModel.service.vidNotions.instantiationUI\r
+ && serviceModel.service.vidNotions.instantiationUI !== 'legacy'\r
+ ) return true;\r
+\r
+ // If defined 'legacy' or not defined, other client-side\r
+ // logic still apply:\r
+\r
+ if (this.isMacro(serviceModel)\r
+ && !shouldExcludeMacroFromAsyncInstantiationFlow(serviceModel)\r
+ ) return true;\r
+\r
+ // otherwise...\r
return false;\r
},\r
\r
return UtilityService.arrayContains(VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid);\r
default:\r
console.debug("Unexpected serviceModel.service.instantiationType: " + serviceModel.service.instantiationType);\r
- return true;\r
+ return UtilityService.arrayContains(VIDCONFIGURATION.MACRO_SERVICES, serviceModel.service.invariantUuid);\r
}\r
} else {\r
$log.debug("isMscro=false, because serviceModel.service is undefined");\r
return false;\r
}\r
}\r
- }\r
-}\r
+ };\r
+};\r
\r
appDS2.factory("AsdcService", ["$http", "$log", "PropertyService",\r
"UtilityService", "VIDCONFIGURATION","COMPONENT", "DataService", "featureFlags", AsdcService]);\r