angular.module('app.yangman').controller('ModuleDetailCtrl', ModuleDetailCtrl);
- ModuleDetailCtrl.$inject = ['$scope', '$rootScope', '$timeout', 'YangmanService'];
+ ModuleDetailCtrl.$inject = ['$scope', '$rootScope', '$timeout', 'YangmanService', 'PathUtilsService'];
- function ModuleDetailCtrl($scope, $rootScope, $timeout, YangmanService) {
+ function ModuleDetailCtrl($scope, $rootScope, $timeout, YangmanService, PathUtilsService) {
var moduleDetail = this;
moduleDetail.treeApis = [];
* @param subApiIndex
*/
function setApiNode(apiIndex, subApiIndex){
- // $scope.selectedOperation = null;
if (apiIndex !== undefined && subApiIndex !== undefined ) {
$scope.setApi($scope.apis[apiIndex], $scope.apis[apiIndex].subApis[subApiIndex], true);
$scope.setNode($scope.selectedSubApi.node);
-
- } else {
- // $scope.selApi = null;
- // $scope.selSubApi = null;
- // $scope.node = null;
+ PathUtilsService.clearPath($scope.selectedSubApi.pathArray);
+ $scope.clearCM();
}
}
*/
function setNodeDataFromRequestData(requestUrl, leftpanel){
+ setApiByUrl(requestUrl, function (treeApis) {
+ // set module
+ $scope.setModule($filter('filter')(treeApis, { label: $scope.selectedApi.module })[0]);
+
+ // set datastore
+ $scope.setDataStore(
+ $filter('filter')(
+ $scope.selectedModule.children,
+ { label: $scope.selectedSubApi.storage })[0],
+ true,
+ leftpanel
+ );
+
+ // set node
+ $scope.setNode($scope.selectedSubApi.node);
+
+ // fill subapi path
+ PathUtilsService.fillPath($scope.selectedSubApi.pathArray, requestUrl);
+ setRequestUrl();
+ });
+ }
+
+ function setApiByUrl(url, cbk, fill){
$scope.rootBroadcast('YANGMAN_GET_API_TREE_DATA', null, function (treeApis) {
var apisIndexes =
- PathUtilsService.searchNodeByPath(requestUrl, treeApis, null, true, true);
+ PathUtilsService.searchNodeByPath(url, treeApis, null, true, true);
+
+ if ( apisIndexes ) {
- if ( apisIndexes ){
// set apis
$scope.setApi(
$scope.apis[apisIndexes.indexApi],
$scope.apis[apisIndexes.indexApi].subApis[apisIndexes.indexSubApi]
);
- // set module
- $scope.setModule($filter('filter')(treeApis, { label: $scope.selectedApi.module })[0]);
-
- // set datastore
- $scope.setDataStore(
- $filter('filter')(
- $scope.selectedModule.children,
- { label: $scope.selectedSubApi.storage })[0],
- true,
- leftpanel
- );
+ if ( $scope.selectedSubApi && fill ) {
+ var updatedUrl = YangmanService.cutUrl(url);
+ PathUtilsService.fillPath($scope.selectedSubApi.pathArray, updatedUrl);
- // set node
- $scope.setNode($scope.selectedSubApi.node);
+ }
- // fill subapi path
- PathUtilsService.fillPath($scope.selectedSubApi.pathArray, requestUrl);
- setRequestUrl();
+ (cbk || angular.noop)(treeApis);
}
});
}
!PathUtilsService.checkEmptyIdentifiers($scope.selectedSubApi.pathArray) : true;
if ( allowExecuteOperation ) {
+
showRequestProgress();
+ setRequestUrl(requestHeader.selectedShownDataType === 'req-data' ? requestHeader.requestUrl : null);
$scope.rootBroadcast('YANGMAN_SET_ERROR_MESSAGE', '');
- setRequestUrl(requestHeader.selectedShownDataType === 'req-data' ? requestHeader.requestUrl : null);
+ if ( requestHeader.selectedShownDataType !== 'form' ){
+ setApiByUrl(requestHeader.requestUrl, null, true);
+ }
var historyReq = RequestService.createHistoryRequest(null, null, requestHeader.requestUrl,
requestHeader.selectedOperation, '', '', '');
sendErrorData({});
- // create and set history request
- historyReq.setExecutionData(
- reqInfo.requestSrcData,
- preparedReceivedData,
- reqInfo.status,
- reqInfo.status,
- reqInfo.statusText,
- reqInfo.time
- );
-
if (requestHeader.selectedShownDataType === 'req-data'){
setNodeDataFromRequestData(requestHeader.requestUrl);
sendRequestData(preparedReceivedData, 'RECEIVED');
sendRequestData(reqInfo.requestSrcData || {}, 'SENT');
- }
- else {
+ } else {
if ($scope.node){
- YangmanService.fillNodeFromResponse(
- $scope.node,
- preparedReceivedData
- );
-
+ YangmanService.fillNodeFromResponse($scope.node, preparedReceivedData);
$scope.node.expanded = true;
+
$scope.rootBroadcast('YANGMAN_DISABLE_ADDING_LIST_ELEMENT');
- sendRequestData(
- YangmanService.checkRpcReceivedData(preparedReceivedData, $scope.node),
- 'RECEIVED'
- );
+ preparedReceivedData = YangmanService.checkRpcReceivedData(preparedReceivedData, $scope.node);
+ sendRequestData(preparedReceivedData, 'RECEIVED');
}
}
+ // create and set history request
+ historyReq.setExecutionData(
+ reqInfo.requestSrcData,
+ preparedReceivedData,
+ reqInfo.status,
+ reqInfo.status,
+ reqInfo.statusText,
+ reqInfo.time
+ );
+
$scope.rootBroadcast('YANGMAN_SAVE_EXECUTED_REQUEST', historyReq, function (){
$scope.rootBroadcast('YANGMAN_SELECT_THE_NEWEST_REQUEST');
});
+
(executeCbk || angular.noop)(historyReq);
$scope.rootBroadcast('YANGMAN_SELECT_THE_NEWEST_REQUEST');
});
-
-
//setNodeDataFromRequestData(requestHeader.requestUrl);
if (response.data) {
sendRequestData(response.data, 'RECEIVED');
sendErrorData(response.data);
}
+
(executeCbk || angular.noop)(historyReq);