*/
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);
}
});
}
reqData = params.reqData ? angular.fromJson(params.reqData) : {};
}
else {
- var historyReqData = YangmanService.prepareAllRequestData(
- $scope.selectedApi,
- $scope.selectedSubApi,
- requestHeader.selectedOperation,
- $scope.node,
- requestHeader.selectedShownDataType,
- requestHeader.requestUrl,
- reqData,
- null
- );
+ var data = { srcData: {} };
- reqData = historyReqData.reqData;
+ YangmanService.setSrcDataByDataType(data, $scope.node, {}, 'form');
+ reqData = data.srcData;
}
historyReq.setExecutionData(reqData, {}, '');
!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);