-define(['app/yangman/yangman.module'], function (yangman) {
+define([], function () {
'use strict';
- yangman.register.controller('TypeBooleanCtrl', TypeBooleanCtrl);
+ angular.module('app.yangman').controller('TypeBooleanCtrl', TypeBooleanCtrl);
TypeBooleanCtrl.$inject = ['$scope'];
function sortBy(sortField) {
vm.sortField = sortField;
vm.sortAsc = !vm.sortAsc;
+ vm.parametersList.applyValsForFilters();
}
/**
* @returns {*}
*/
function sortFunc(item) {
- return item[vm.sortField] ? item[vm.sortField] : vm.sortAsc ? 'zzzzzzzzzzzzzzzz' : '';
+ return item[vm.sortField] ? item[vm.sortField] : (vm.sortAsc ? String.fromCharCode(255) : '');
}
/**
*/
function filterParam(paramObj) {
return !(paramObj._name || paramObj._value) ||
- paramObj._name.indexOf(vm.search) !== -1 ||
- paramObj._value.indexOf(vm.search) !== -1;
+ (paramObj._name && paramObj._name.indexOf(vm.search) !== -1) ||
+ (paramObj._value && paramObj._value.indexOf(vm.search) !== -1);
}
*/
function close() {
vm.parametersList.removeEmptyParams();
+ console.debug('closing');
+
$mdDialog.hide(vm.parametersList);
}
$scope.$on('YANGMAN_GET_CODEMIRROR_DATA_' + type, function (event, args){
args.params.reqData = requestData.data;
});
-
-
}
}
// if changing to form, try to fill node data
if (requestHeader.selectedShownDataType === 'form') {
- var params = {
- reqData: null,
- },
- reqData = {},
- dataType = requestHeader.selectedOperation === 'GET' ? 'RECEIVED' : 'SENT';
-
+ var reqData = {};
- $scope.rootBroadcast('YANGMAN_GET_CODEMIRROR_DATA_' + dataType, params);
- reqData = params.reqData ? angular.fromJson(params.reqData) : {};
+ reqData = getDataForForm();
setNodeDataFromRequestData(requestHeader.requestUrl);
if ( $scope.node ) {
+
YangmanService.fillNodeFromResponse($scope.node, reqData);
$scope.node.expanded = true;
}
}
}
+ /**
+ * Helper method for building correct json data for form, rpc included
+ * @returns {*}
+ */
+ function getDataForForm(){
+ var params = {
+ reqData: null,
+ },
+ dataTypeFunc = {
+ rpc: function () {
+ var sentData = { reqData: null },
+ allData = { sent: null, received: null };
+
+ $scope.rootBroadcast('YANGMAN_GET_CODEMIRROR_DATA_RECEIVED', params);
+ $scope.rootBroadcast('YANGMAN_GET_CODEMIRROR_DATA_SENT', sentData);
+
+ allData.sent = sentData.reqData ? angular.fromJson(sentData.reqData) : {};
+ allData.received = params.reqData ? angular.fromJson(params.reqData) : {};
+
+ return YangmanService.prepareReceivedData(
+ $scope.node,
+ requestHeader.selectedOperation,
+ allData.received,
+ allData.sent,
+ requestHeader.selectedShownDataType
+ );
+ },
+ default: function (){
+ var dataType = requestHeader.selectedOperation === 'GET' ? 'RECEIVED' : 'SENT';
+
+ $scope.rootBroadcast('YANGMAN_GET_CODEMIRROR_DATA_' + dataType, params);
+ return params.reqData ? angular.fromJson(params.reqData) : {};
+ },
+ };
+
+ return (dataTypeFunc[$scope.node.type] || dataTypeFunc.default)();
+ }
+
/**
* Send data to codemirror
* @param data
}
- function finishRequestProgress(message){
+ function finishRequestProgress (message){
$scope.rootBroadcast('YANGMAN_EXECUTING_REQUEST_PROGRESS_STOP');
// $mdToast.show(
// $mdToast.simple()
*/
function prepareDataAndExecute(cbk){
-
if ( requestHeader.requestUrl.length ) {
if ( requestHeader.selectedShownDataType === 'req-data' ) {
* @returns {boolean}
*/
function filterReq(reqObj){
- return reqObj.path.indexOf(vm.search) !== -1;
+ return reqObj.path.toLowerCase().indexOf(vm.search.toLowerCase()) > -1;
}
/**
* @returns {boolean}
*/
function filterColName(colObj){
- return colObj.name.indexOf(vm.search) !== -1;
+ return colObj.name.toLowerCase().indexOf(vm.search.toLowerCase()) > -1;
}
/**
self.toJSON = toJSON;
self.setData = setData;
self.clone = clone;
+ self.applyValsForFilters = applyValsForFilters;
+
+ /**
+ * Copy model name and value to _name and _value properties, which are used when sorting and filtering list
+ * of parameters
+ */
+ function applyValsForFilters() {
+ self._name = self.name;
+ self._value = self.value;
+ }
/**
* Grouped setter
self.createParamsFromJson = createParamsFromJson;
self.isNameUnique = isNameUnique;
self.removeEmptyParams = removeEmptyParams;
+ self.applyValsForFilters = applyValsForFilters;
+
+ /**
+ * Apply all parameters names and values for filtering
+ */
+ function applyValsForFilters() {
+ self.list.forEach(function (param) {
+ param.applyValsForFilters();
+ });
+ }
/**
* Returns false if name is already used
* @returns {boolean}
*/
function isNameUnique(nameValue) {
- return nameValue.length === 0 || self.list.filter(function (item) {
+ return !nameValue || self.list.filter(function (item) {
return item.name === nameValue;
}).length === 1;
}
function removeEmptyParams() {
self.list = self.list.filter(function (param) {
- return param.name.length > 0;
+ return param.name && param.name.length > 0;
});
}
getDataStoreIndex: getDataStoreIndex,
prepareAllRequestData: prepareAllRequestData,
prepareReceivedData: prepareReceivedData,
+ putIntoObj: putIntoObj,
validateFile: validateFile,
};
return service;
+ /**
+ * Put data to output container if root node is rpc
+ * @param data
+ * @param node
+ * @returns {*}
+ */
function checkRpcReceivedData(data, node){
return node.type === 'rpc' ? cutData(data) : data;
}
}
+ /**
+ * Put source object into destination object by source properties
+ * @param sourceObj
+ * @param destinationObj
+ */
+ function putIntoObj(sourceObj, destinationObj, containter){
+ Object.keys(sourceObj).forEach(function(prop){
+ destinationObj[containter] = destinationObj[containter] ? destinationObj[containter] : {};
+ destinationObj[containter][prop] = sourceObj[prop];
+ });
+ }
+
/**
* Prepare request date before filling into node depends on method and node type
* @param node
} else {
return rData;
}
-
- /**
- * Put source object into destination object by source properties
- * @param sourceObj
- * @param destinationObj
- */
- function putIntoObj(sourceObj, destinationObj, containter){
- Object.keys(sourceObj).forEach(function(prop){
- destinationObj[containter] = destinationObj[containter] ? destinationObj[containter] : {};
- destinationObj[containter][prop] = sourceObj[prop];
- });
- }
},
default: function (){
var methodType = {
}
return {};
},
- PUT: function () {
- return rData;
- },
DEFAULT: function () {
- return outputType === 'form' ? sData : rData;
+ return rData;
}
};
<md-divider></md-divider>
+ <!-- collection list -->
<md-content class="scrollableY">
<div ng-repeat="collection in reqList.mainList.collections | filter: reqList.filterCol | orderBy: (reqList.collectionsSortAsc ? '' : '-')+'name'">
<div layout="column">
<p flex>
- <span md-highlight-text="reqList.search" >
+ <span md-highlight-text="reqList.search" md-highlight-flags="i">
{{collection.name}}
</span><br />
<span class="desc">
<md-list ng-cloak class="yangmanModule__modules-list scrollableY">
<!-- Loading box -->
- <!--<div class="yangmanModule__left-panel__loading-container" ng-show="modulesList.showLoadingBox">-->
- <!--<md-progress-linear md-mode="query"></md-progress-linear>-->
- <!--<div class="bottom-block">-->
- <!--<span>{{ 'YANGMAN_LOADING_MODULES' | translate }}</span>-->
- <!--</div>-->
- <!--</div>-->
<md-progress-linear md-mode="indeterminate" ng-show="modulesList.showLoadingBox"></md-progress-linear>
<!-- Mount point title -->
</section>
<!-- Modules list -->
- <md-list-item ng-repeat="module in modulesList.treeApis | filter: modulesList.customSearch"
+ <md-list-item ng-repeat="module in modulesList.treeApis | filter: modulesList.customSearch | orderBy: 'label'"
class="yangmanModule__modules-list__item"
ng-class="{'expanded' : module.expanded, 'selected' : modulesList.checkSelectedModule(module)}"
ng-hide="modulesList.showLoadingBox"
<md-icon md-font-set="material-icons" class="top-icon top-element">
{{module.expanded ? 'keyboard_arrow_down':'keyboard_arrow_right'}}
</md-icon>
- <p flex class="top-element" md-highlight-text="modulesList.search"> {{module.label}} </p>
+ <p flex class="top-element" md-highlight-text="modulesList.search" md-highlight-flags="i"> {{module.label}} </p>
</div>
<!-- Datastore && rpc -->
</div>
<div flex class="yangmanModule__requests-list__group__item__path" layout="column">
- <p md-highlight-text="reqList.search">
+ <p md-highlight-text="reqList.search" md-highlight-flags="i">
{{ request.path }}
</p>
</div>
> div:not(.ui-resizable-handle) {
- height: calc(~'100% - 25px');
+ height: calc(~'100% - 28px');
overflow-y: auto;
}
}
}
+ p.top-element{
+ padding: 6px 0;
+ }
+
md-icon{
margin: 12px 16px;
+
+ &.top-element{
+ margin: 0;
+ padding: 12px 16px;
+ width: 56px;
+ height: 48px;
+ }
}
&:hover{