* ============LICENSE_START=======================================================\r
* VID\r
* ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.\r
* ================================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
"use strict";\r
\r
var AsdcService = function ($http, $log, PropertyService, UtilityService, VIDCONFIGURATION, COMPONENT, DataService, featureFlags) {\r
+ var shouldExcludeMacroFromAsyncInstantiationFlow = function(serviceModel){\r
+ if (DataService.getE2EService())\r
+ return true;\r
+ if (!_.isEmpty(serviceModel.pnfs) && !featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_EXTENDED_MACRO_PNF_CONFIG))\r
+ return true;\r
+ if (!_.isEmpty(serviceModel.collectionResources))\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 (this.enableWebpackModernUi()\r
+ && serviceModel.service.vidNotions\r
+ && serviceModel.service.vidNotions.viewEditUI\r
+ && serviceModel.service.vidNotions.viewEditUI !== 'legacy'\r
+ ) return true;\r
+\r
+ return false;\r
+ },\r
+\r
+ enableWebpackModernUi: function(){\r
+ return featureFlags.isOn(COMPONENT.FEATURE_FLAGS.FLAG_ENABLE_WEBPACK_MODERN_UI);\r
+ },\r
+\r
+ shouldTakeTheAsyncInstantiationFlow: function(serviceModel) {\r
+ if (!(this.enableWebpackModernUi()))\r
+ return false;\r
+ // Assuming positive flag - 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