"YANGMAN_LIST_DELETE_ITEM": "Delete list item",
"YANGMAN_LIST_INDEX_DUPLICATE": "Duplicated index",
"YANGMAN_LIST_PREV_ITEM": "show previous item",
+ "YANGMAN_FILL_FORM_WITH_RECEIVED": "Fill form with received data after execution",
"YANGMAN_LIST_NEXT_ITEM": "show next item",
- "YANGMAN_SHOW_HIDE_CON": "show / hide container"
+ "YANGMAN_HISTORY_SETTINGS": "History requests settings",
+ "YANGMAN_HISTORY_SETTINGS_GENERAL": "General settings",
+ "YANGMAN_HISTORY_SETTINGS_COUNT": "History requests buffer size",
+ "YANGMAN_HISTORY_SETTINGS_SAVE_RECEIVED_DATA": "Save received data",
+ "YANGMAN_HISTORY_SETTINGS_SAVE_RESPONSE_DATA": "Save base response data (Status, Execution time)",
+ "YANGMAN_HISTORY_SETTINGS_FILL_FORM_WITH_RECEIVED": "Fill form view with received data on history request select",
+ "YANGMAN_HISTORY_SETTINGS_REQUIRED": "Required field"
}
init();
+ /**
+ * Load existing collection names
+ */
function init(){
vm.existingNames = allCollections.map(function (item){
return item.name;
function init() {
yangList.disableAddingListElement = $scope.checkAddingListElement($scope.node);
- if(yangList.disableAddingListElement &&
+ if (yangList.disableAddingListElement &&
!$scope.node.listData.length &&
$scope.selectedDatastore.label === constants.DATA_STORE_CONFIG) {
yangList.addListElem();
}
-
- if (!$scope.node.listData.length) {
+ if ($scope.node.listData && !$scope.node.listData.length) {
yangList.currentDisplayIndex = 1;
}
+
}
/**
--- /dev/null
+define([], function () {
+ 'use strict';
+
+ angular.module('app.yangman').controller('HistorySettingsCtrl', HistorySettingsCtrl);
+
+ HistorySettingsCtrl.$inject = ['$mdDialog', 'settingsObj'];
+
+ function HistorySettingsCtrl($mdDialog, settingsObj) {
+ var settingsCtrl = this;
+
+ settingsCtrl.mySettingsObj = settingsObj.clone();
+
+ settingsCtrl.cancel = cancel;
+ settingsCtrl.save = save;
+ settingsCtrl.saveReceivedChanged = saveReceivedChanged;
+
+ /**
+ *
+ */
+ function saveReceivedChanged() {
+ if (!settingsCtrl.mySettingsObj.data.saveReceived) {
+ settingsCtrl.mySettingsObj.data.fillWithReceived = false;
+
+ }
+ }
+
+
+ function cancel() {
+ $mdDialog.cancel();
+ }
+
+ function save() {
+ settingsCtrl.mySettingsObj.saveToStorage();
+ $mdDialog.hide(settingsCtrl.mySettingsObj);
+ }
+
+ }
+
+ return HistorySettingsCtrl;
+
+});
$scope.setApi($scope.apis[apiIndex], $scope.apis[apiIndex].subApis[subApiIndex], true, true);
$scope.setNode($scope.selectedSubApi.node);
$scope.clearCM();
+ // let request header ctrl know, that codemirror data should be renewed with data from node
+ $scope.rootBroadcast(constants.YANGMAN_CHANGE_TO_JSON);
}
}
var openMenuListener,
vm = this;
- vm.parametersList = parametersList;
+ vm.parametersList = parametersList.clone();
vm.search = '';
vm.sortField1 = '_name';
vm.sortField2 = '_value';
},
};
- // methods
requestData.init = init;
requestData.enlargeCMFont = enlargeCMFont;
requestData.reduceCMFont = reduceCMFont;
requestData.dataEditorOptions.readOnly = requestData.type === constants.REQUEST_DATA_TYPE_RECEIVED;
}
-
/**
* Initialization
* @param type
requestHeader.selectedPluginsButtons = [];
requestHeader.selectedPlugin = null;
requestHeader.statusObj = null;
+ requestHeader.fillFormWithReceivedData = true;
// methods
requestHeader.executeOperation = executeOperation;
requestHeader.saveRequestToCollection = saveRequestToCollection;
requestHeader.unsetPluginFunctionality = unsetPluginFunctionality;
- // watchers
+ $scope.$on(constants.YANGMAN_CHANGE_TO_JSON, function () {
+ sendRequestData($scope.buildRootRequest(), 'SENT');
+ });
/**
* Set selected operations based on data store
*/
function changeDataType(){
$scope.switchSection('rightPanelSection', requestHeader.selectedShownDataType);
- if(!$scope.node || requestHeader.urlChanged) {
+ if (!$scope.node || requestHeader.urlChanged) {
requestHeader.setRequestUrl();
requestHeader.urlChanged = false;
}
);
}
+ /**
+ * Set error data to be shown in form area
+ * @param response
+ */
function sendErrorData(response) {
$scope.rootBroadcast(constants.YANGMAN_SET_ERROR_DATA, response);
}
}
+ /**
+ * Stop showing progressbar
+ * @param message
+ */
function finishRequestProgress(message){
$scope.rootBroadcast(constants.YANGMAN_EXECUTING_REQUEST_PROGRESS_STOP);
}
function executeOperation(requestData, executeCbk){
TimeTrackingService.startTimer();
var allowExecuteOperation =
- requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_FORM && $scope.selectedSubApi ?
- !PathUtilsService.checkEmptyIdentifiers($scope.selectedSubApi.pathArray) : true;
+ requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_FORM && $scope.selectedSubApi ?
+ !PathUtilsService.checkEmptyIdentifiers($scope.selectedSubApi.pathArray) : true;
if ( allowExecuteOperation ) {
*/
function executeReqSuccCbk(reqInfo, response) {
- var preparedReceivedData = YangmanService.prepareReceivedData(
- $scope.node,
- requestHeader.selectedOperation,
- response.data ? response.data.plain() : {},
- reqInfo.requestSrcData,
- requestHeader.selectedShownDataType
- );
+ var preparedReceivedData = {};
+
+ if (requestHeader.fillFormWithReceivedData) {
+ preparedReceivedData = YangmanService.prepareReceivedData(
+ $scope.node,
+ requestHeader.selectedOperation,
+ response.data ? response.data.plain() : {},
+ reqInfo.requestSrcData,
+ requestHeader.selectedShownDataType
+ );
+ }
finishRequestProgress();
sendErrorData({});
if (requestHeader.selectedShownDataType === constants.DISPLAY_TYPE_REQ_DATA){
-
setNodeDataFromRequestData(requestHeader.requestUrl);
sendRequestData(preparedReceivedData, constants.REQUEST_DATA_TYPE_RECEIVED);
sendRequestData(reqInfo.requestSrcData || {}, 'SENT');
} else {
- if ($scope.node && requestHeader.selectedOperation !== constants.OPERATION_DELETE){
+ if ($scope.node && requestHeader.selectedOperation !== constants.OPERATION_DELETE && requestHeader.fillFormWithReceivedData){
YangmanService.fillNodeFromResponse($scope.node, preparedReceivedData);
YangmanService.handleNodeIdentifier(
historyReq.setExecutionData(
reqInfo.requestSrcData,
- preparedReceivedData,
- reqInfo.status,
- reqInfo.status,
- reqInfo.statusText,
- requestHeader.statusObj.time
+ $scope.historySettings.data.saveReceived ? preparedReceivedData : null,
+ $scope.historySettings.data.saveResponseData ? reqInfo.status : '',
+ $scope.historySettings.data.saveResponseData ? reqInfo.status : '',
+ $scope.historySettings.data.saveResponseData ? reqInfo.statusText : '',
+ $scope.historySettings.data.saveResponseData ? requestHeader.statusObj.time : ''
);
$scope.rootBroadcast(constants.YANGMAN_SAVE_EXECUTED_REQUEST, historyReq, function (){
historyReq.setExecutionData(
reqInfo.requestSrcData,
- response.data,
- reqInfo.status,
- reqInfo.status,
- reqInfo.statusText,
- requestHeader.statusObj.time
+ $scope.historySettings.data.saveReceived ? response.data : null,
+ $scope.historySettings.data.saveResponseData ? reqInfo.status : '',
+ $scope.historySettings.data.saveResponseData ? reqInfo.status : '',
+ $scope.historySettings.data.saveResponseData ? reqInfo.statusText : '',
+ $scope.historySettings.data.saveResponseData ? requestHeader.statusObj.time : ''
);
$scope.rootBroadcast(constants.YANGMAN_SAVE_EXECUTED_REQUEST, historyReq, function (){
$scope.rootBroadcast(constants.YANGMAN_SELECT_THE_NEWEST_REQUEST);
requestHeader.statusObj.time = null;
}
+
showRequestProgress();
$timeout(prepareData);
define([
'app/yangman/controllers/save-req-dialog.controller',
'app/yangman/controllers/edit-collection-dialog.controller',
+ 'app/yangman/controllers/history-settings.controller',
'app/yangman/services/handle-file.services',
-], function (SaveReqDialogCtrl, EditCollectionDialogCtrl) {
+], function (SaveReqDialogCtrl, EditCollectionDialogCtrl, HistorySettingsCtrl) {
'use strict';
angular.module('app.yangman').controller('RequestsListCtrl', RequestsListCtrl);
YangmanService, YangmanDesignService, constants) {
var vm = this;
- /**
- * List of all collections containing requests, loads even for history controller to use collection names
- * in saving requests dialog
- * @type {*|CollectionList}
- */
vm.collectionList = null;
vm.constants = constants;
- /**
- *
- * @type {*|HistoryList}
- */
vm.requestList = null;
vm.mainList = null;
vm.collectionsSortAsc = true;
vm.search = '';
- // methods
vm.clearCollectionList = clearCollectionList;
vm.clearFilter = clearFilter;
vm.clearHistoryList = clearHistoryList;
vm.showDgDeleteRequests = showDgDeleteRequests;
vm.showDgEditCollection = showDgEditCollection;
vm.showDgSaveReq = showDgSaveReq;
+ vm.showHistorySettings = showHistorySettings;
vm.showForm = showForm;
vm.toggleCollectionsSort = toggleCollectionsSort;
vm.selectOnlyThisRequest = selectOnlyThisRequest;
/**
* Clear value of input file used to import collection
- * todo: move to design utils
*/
function clearFileInputValue(){
angular.element(document).find('#importCollection').val('');
/**
* Importing collection from a file
- * todo: error handling - msgs for user
* @param $fileContent
*/
function readCollectionFromFile($fileContent) {
function showForm(reqObj) {
var data = reqObj.sentData;
- // exception for get meth
- if ( reqObj.method === constants.OPERATION_GET ) {
+ if ($scope.historySettings.data.fillWithReceived) {
data = reqObj.receivedData;
}
if ( $scope.node ) {
// prepare data for filling form
- data = $scope.node.type === constants.NODE_RPC ?
- YangmanService.prepareReceivedData(
- $scope.node,
- reqObj.method,
- reqObj.receivedData,
- reqObj.sentData,
- constants.DISPLAY_TYPE_FORM
- ) : data;
+ if ($scope.node.type === constants.NODE_RPC && $scope.historySettings.data.fillWithReceived) {
+ data = YangmanService.prepareReceivedData(
+ $scope.node,
+ reqObj.method,
+ reqObj.receivedData,
+ reqObj.sentData,
+ constants.DISPLAY_TYPE_FORM
+ );
+ }
// try to fill node
YangmanService.fillNodeFromResponse($scope.node, data);
}).then(saveRequests);
}
+ /**
+ * Show popup window for history requests settings
+ * @param ev
+ */
+ function showHistorySettings(ev){
+
+ $mdDialog.show({
+ controller: HistorySettingsCtrl,
+ controllerAs: 'settingsCtrl',
+ templateUrl: $scope.globalViewPath + 'leftpanel/history-settings.tpl.html',
+ parent: angular.element('#yangmanModule'),
+ targetEvent: ev,
+ clickOutsideToClose: true,
+ locals: {
+ settingsObj: $scope.historySettings,
+ },
+ }).then(function (changedSettings){
+ $scope.historySettings.setData(changedSettings.data);
+ $scope.rootBroadcast(constants.YANGMAN_RESET_HISTORY_SETTINGS);
+ });
+ }
+
/**
* Add each request from requests array to collectionList and save
* @param requests
// collections are loaded for both history and collections tab
loadCollectionsList();
- vm.requestList = RequestsService.createEmptyHistoryList('yangman_requestsList');
+ vm.requestList = RequestsService.createEmptyHistoryList('yangman_requestsList', $scope.historySettings);
+ $scope.$on(constants.YANGMAN_RESET_HISTORY_SETTINGS, function () {
+ vm.requestList.setSettings($scope.historySettings);
+ });
// if request was selected, deselect requests in all other instances of RequestsListCtrl
$scope.$on(constants.YANGMAN_DESELECT_REQUESTS, function (event, params) {
cloneRequests();
+ /**
+ * Get collection names matching the text that was already written
+ * @returns {*}
+ */
function getColAutocomplete() {
return vm.collectionNames ? $filter('filter')(vm.collectionNames, vm.collectionName) : vm.collectionNames;
}
+ /**
+ * Clone requests to not affect source objects
+ */
function cloneRequests(){
vm.requests = vm.requests.map(function (req){
return req.clone();
});
}
+
+ /**
+ * Only cancel mdDialog
+ */
function cancel() {
$mdDialog.cancel();
}
+ /**
+ * Try to save requests and return them in answer after hiding mdDialog
+ */
function save() {
vm.requests.forEach(function (reqObj){
reqObj.collection = vm.collectionName;
angular.module('app.yangman').controller('YangFormCtrl', YangFormCtrl);
- YangFormCtrl.$inject = ['$scope', '$rootScope', '$filter', 'constants', 'YangUtilsService'];
+ YangFormCtrl.$inject = ['$scope', '$filter', 'constants', 'YangUtilsService'];
- function YangFormCtrl($scope, $rootScope, $filter, constants) {
+ function YangFormCtrl($scope, $filter, constants) {
var yangForm = this;
yangForm.viewPath = $scope.globalViewPath + 'rightpanel/form';
'app/yangman/services/requests.services',
'app/yangman/services/parameters.services',
'app/yangman/services/plugins-unsetter.services',
+ 'app/yangman/services/history-settings.services',
'app/yangman/directives/ui-codemirror.directive',
'app/yangman/directives/read_file.directive',
], function () {
angular.module('app.yangman').controller('YangmanCtrl', YangmanCtrl);
YangmanCtrl.$inject = [
- '$mdDialog', '$scope', '$rootScope', 'YangmanDesignService', 'RequestBuilderService',
- 'EventDispatcherService', 'constants', 'ParametersService', 'PathUtilsService', 'PluginsUnsetterService', '$timeout',
+ '$scope', '$rootScope', 'HistorySettingsService', 'YangmanDesignService', 'RequestBuilderService',
+ 'EventDispatcherService', 'constants', 'ParametersService', 'PathUtilsService', 'PluginsUnsetterService',
+ '$timeout',
];
function YangmanCtrl(
- $mdDialog, $scope, $rootScope, YangmanDesignService, RequestBuilderService,
- EventDispatcherService, constants, ParametersService, PathUtilsService, PluginsUnsetterService, $timeout
+ $scope, $rootScope, HistorySettingsService, YangmanDesignService, RequestBuilderService, EventDispatcherService,
+ constants, ParametersService, PathUtilsService, PluginsUnsetterService, $timeout
) {
var main = this;
$scope.requestDataToShow = '';
$scope.parametersList = ParametersService.createEmptyParametersList('yangman_parameters');
$scope.shownCMHint = false;
+ $scope.historySettings = HistorySettingsService.createHistorySettings().loadFromStorage();
main.selectedMainTab = 0;
main.leftPanelTab = 0;
main.executingRequestProgress = false;
main.constants = constants;
- // methods
main.init = init;
main.initModuleDetailHeight = initModuleDetailHeight;
main.switchedTab = switchedTab;
// scope global methods
$scope.buildRootRequest = buildRootRequest;
- $scope.broadcastFromRoot = broadcastFromRoot;
$scope.checkAddingListElement = checkAddingListElement;
$scope.clearCM = clearCM;
$scope.rootBroadcast = rootBroadcast;
$scope.switchSection = switchSection;
$scope.setParametersList = setParametersList;
$scope.unsetPlugin = unsetPlugin;
- $scope.setCMHintShown = setCMHintShown;
init();
- function setCMHintShown(shown) {
- $scope.shownCMHint = shown;
- }
+ /**
+ * Start showing progressbar in request header view
+ */
function startExecutingRequestProgress() {
main.executingRequestProgress = true;
}
+
+ /**
+ * Stop showing progressbar in request header view
+ */
function stopExecutingRequestProgress() {
main.executingRequestProgress = false;
}
/**
- * Set parametersList
+ * Set parametersList to $scope to be available for all controllers directly
* @param parametersList
*/
function setParametersList(parametersList) {
}
- /**
- * Broadcast from this main controller to all children ctrls
- * @param eventName
- * @param val
- */
- function broadcastFromRoot(eventName, val) {
- $scope.$broadcast(eventName, val);
- }
/**
* Initialization
*/
}
/**
- * Method for fill key into request path
+ * Method for fill key into request path, used by yangutils via event dispatching
* @param inputs
*/
function fillPathIdentifiersByKey(inputs) {
}
}
- // TODO :: description
+
+ /**
+ * Method for bulk filling path identifiers, used by yangutils via event dispatching
+ * @param inputs
+ */
function fillPathIdentifiersByListData(inputs) {
var node = inputs[0];
}
}
- // TODO :: description
+
+ /**
+ * Check if the main tab containing tree with modules is displayed
+ * @returns {boolean}
+ */
function modulesTreeDisplayed() {
return main.selectedMainTab === 0;
}
}
/**
- * Genereal method for clearing code mirror - sent and received data too
+ * Genereal method for clearing code mirror - both sent and received data, needs to be in $scope to be available
+ * everywhere
*/
function clearCM(){
$scope.rootBroadcast(constants.YANGMAN_SET_CODEMIRROR_DATA_RECEIVED, { data: JSON.stringify({}) });
}
- // SETTERS
-
/**
* Switcher for module detail and module list
* @param value
}
/**
- * Set dataStore to global param && open module detail in left panel
+ * Set dataStore to global param, open module detail in left panel
* @param dataStore
* @param expand
+ * @param leftPanel
*/
function setDataStore(dataStore, expand, leftPanel){
$scope.selectedDatastore = dataStore;
setLeftPanel(leftPanel);
$scope.$broadcast(constants.YANGMAN_MODULE_D_INIT);
} else {
-
if ( $scope.node ) {
$scope.node.clear();
}
* Set api and sub api to global param
* @param api
* @param subApi
+ * @param setUrl
+ * @param clearPathArray
*/
function setApi(api, subApi, setUrl, clearPathArray){
$scope.selectedApi = api;
--- /dev/null
+define([], function (){
+ 'use strict';
+
+
+ /**
+ * List of settings for history requests
+ * @constructor
+ * @param ParsingJsonService
+ */
+ function HistorySettingsModel(ParsingJsonService, HistorySettingsService) {
+
+ var self = this;
+
+ self.name = 'yangman_historySettings';
+ self.data = {
+ requestsCount: 10000,
+ saveReceived: true,
+ fillWithReceived: true,
+ saveResponseData: true,
+ };
+
+ self.loadFromStorage = loadFromStorage;
+ self.saveToStorage = saveToStorage;
+ self.clone = clone;
+ self.setData = setData;
+
+ /**
+ *
+ */
+ function setData(data) {
+ angular.forEach(self.data, function (val, key){
+ self.data[key] = data[key];
+ });
+ }
+
+ /**
+ * Create copy of this object
+ */
+ function clone() {
+ var result = HistorySettingsService.createHistorySettings();
+ result.setData(self.data);
+ console.debug('clone created', result);
+
+ return result;
+ }
+
+
+ /**
+ * Loading from localStorage
+ */
+ function loadFromStorage(){
+ var settings = localStorage.getItem(self.name);
+
+ if (settings){
+ angular.forEach(ParsingJsonService.parseJson(settings), function (value, key){
+ self.data[key] = value;
+ });
+ }
+
+ return self;
+ }
+
+ /**
+ * Saving to local storage
+ */
+ function saveToStorage(){
+ try {
+ localStorage.setItem(self.name, JSON.stringify(self.data));
+ } catch (e) {
+ }
+ }
+
+ }
+
+ return HistorySettingsModel;
+});
* @type {Array}
*/
self.dateGroups = [];
+ self.settings = null;
self.addItemToList = addItemToList;
self.clear = clear;
self.selectReqs = selectReqs;
self.toggleReqSelection = toggleReqSelection;
self.getNewestRequest = getNewestRequest;
+ self.setSettings = setSettings;
+
+ /**
+ *
+ */
+ function setSettings(settingsObj) {
+ self.settings = settingsObj;
+ }
/**
}
}
+ function shiftElemFromListDateGroup(elem){
+ if (elem.timestamp){
+ var groupName = roundTimestampToDate(elem.timestamp),
+ dateGroupArr = self.dateGroups.filter(function (group){
+ return group.name === groupName;
+ }),
+ dateGroup = dateGroupArr[0];
+
+ dateGroup.requests.shift();
+ }
+ }
+
/**
*
function addItemToList(reqObj){
self.list.push(reqObj);
addElemToListDateGroup(reqObj);
+
+ if (self.list.length > self.settings.data.requestsCount) {
+ shiftElemFromListDateGroup(self.list.shift());
+ }
}
/**
self.isNameUnique = isNameUnique;
self.removeEmptyParams = removeEmptyParams;
self.applyValsForFilters = applyValsForFilters;
+ self.clone = clone;
+
+ /**
+ * Create copy of parameters list model
+ */
+ function clone() {
+ var result = ParametersService.createEmptyParametersList(self.name);
+ self.list.forEach(function (param) {
+ result.addItemToList(param.clone());
+ });
+ return result;
+ }
/**
* Apply all parameters names and values for filtering
--- /dev/null
+define([
+ 'app/yangman/models/history-settings.model',
+],
+ function (HistorySettingsModel) {
+ 'use strict';
+
+ angular.module('app.yangman').service('HistorySettingsService', HistorySettingsService);
+
+ HistorySettingsService.$inject = ['ParsingJsonService'];
+
+ /**
+ * Service for history settings, used for creating HistorySettingsModel and dependency injection
+ * @param ParsingJsonService
+ * @returns {{}}
+ * @constructor
+ */
+ function HistorySettingsService(ParsingJsonService){
+
+ var service = {};
+
+ service.createHistorySettings = createHistorySettings;
+
+ return service;
+
+ /**
+ * Service for creating settings object
+ * @param name used as name in local storage
+ * @returns {*}
+ */
+ function createHistorySettings(){
+ var result = new HistorySettingsModel(ParsingJsonService, service);
+ return result;
+ }
+
+
+
+ }
+
+ });
* @param name
* @returns {*}
*/
- function createEmptyHistoryList(name){
+ function createEmptyHistoryList(name, settingsObj){
var result = new HistoryListModel($filter, ParsingJsonService, service);
result.setName(name);
+ result.setSettings(settingsObj);
return result;
}
--- /dev/null
+<md-settingsCtrl aria-label="{{ 'YANGMAN_HISTORY_SETTINGS' | translate }}" ng-cloak>
+ <form name="settingsCtrl.settingsForm">
+ <md-toolbar>
+ <div class="md-toolbar-tools">
+ <h2>{{ 'YANGMAN_HISTORY_SETTINGS' | translate }}</h2>
+ <span flex></span>
+ </div>
+ </md-toolbar>
+ <md-dialog-content layout-padding>
+ <div class="md-dialog-content settingsForm" layout="column">
+ <md-input-container>
+ <label>{{ 'YANGMAN_HISTORY_SETTINGS_COUNT' | translate }}</label>
+ <input name="requestsCount"
+ ng-model="settingsCtrl.mySettingsObj.data.requestsCount"
+ type="number"
+ min="5"
+ max="10000"
+ ng-required="true">
+ <div ng-messages="settingsCtrl.settingsForm.requestsCount.$error" multiple md-auto-hide="false">
+ <div ng-message="required">
+ {{ 'YANGMAN_HISTORY_SETTINGS_REQUIRED'| translate }}
+ </div>
+ </div>
+ </md-input-container>
+ <md-input-container>
+ <md-checkbox name="saveResponseData"
+ ng-model="settingsCtrl.mySettingsObj.data.saveResponseData">
+ {{ 'YANGMAN_HISTORY_SETTINGS_SAVE_RESPONSE_DATA' | translate }}
+ </md-checkbox>
+ </md-input-container>
+ <md-input-container>
+ <md-checkbox name="saveReceived"
+ ng-change="settingsCtrl.saveReceivedChanged()"
+ ng-model="settingsCtrl.mySettingsObj.data.saveReceived">
+ {{ 'YANGMAN_HISTORY_SETTINGS_SAVE_RECEIVED_DATA' | translate }}
+ </md-checkbox>
+ </md-input-container>
+ <md-input-container>
+ <md-checkbox name="fillWithSaved"
+ ng-disabled="!settingsCtrl.mySettingsObj.data.saveReceived"
+ ng-model="settingsCtrl.mySettingsObj.data.fillWithReceived">
+ {{ 'YANGMAN_HISTORY_SETTINGS_FILL_FORM_WITH_RECEIVED' | translate }}
+ </md-checkbox>
+ </md-input-container>
+
+
+ </div>
+ </md-dialog-content>
+ <md-dialog-actions layout="row">
+ <span flex></span>
+ <md-button ng-click="settingsCtrl.cancel()">
+ {{ 'YANGMAN_CANCEL'| translate }}
+ </md-button>
+ <md-button ng-click="settingsCtrl.save()" ng-disabled="!settingsCtrl.settingsForm.$valid">
+ {{ 'YANGMAN_SAVE'| translate }}
+ </md-button>
+ </md-dialog-actions>
+ </form>
+</md-settingsCtrl>
</md-menu>
<!-- / menu for selecting and deselecting -->
- </md-content>
+ <!-- button for settings -->
+ <md-button ng-click="reqList.showHistorySettings($event)"
+ id="history-settings">
+ <md-icon class="material-icons clickable">
+ settings
+ </md-icon>
+ <md-tooltip md-direction="bottom">{{'YANGMAN_HISTORY_SETTINGS'| translate}}</md-tooltip>
+ </md-button>
+ </md-content>
<md-divider></md-divider>
<!-- list of items grouped by date -->
<div flex="15" class="yangmanModule__requests-list__group__item__method" layout-align="center center">
<p id="{{itemId}}-operation" class="{{request.status === 'success' || !request.status ? request.method : 'error'}}"> {{request.method === vm.constants.OPERATION_DELETE ? 'DEL' : request.method }} </p>
- <md-tooltip md-direction="bottom" ng-show="request.status">{{request.status | uppercase }}</md-tooltip>
+ <md-tooltip ng-show="request.status.length" md-direction="bottom" ng-show="request.status">{{request.status | uppercase }}</md-tooltip>
</div>
<div flex class="yangmanModule__requests-list__group__item__path" layout="column">
{{'YANGMAN_REQ_RUN'| translate}}
</md-button>
</md-menu-item>
- <md-menu-item>
- <md-button aria-label="{{'YANGMAN_REQ_SHOW_FORM'| translate}}" id="{{itemId}}-show-form" ng-click="reqList.showForm(request)">
- <i class="material-icons">exit_to_app</i>
- {{'YANGMAN_REQ_SHOW_FORM'| translate}}
- </md-button>
- </md-menu-item>
- <md-menu-item>
- <md-button aria-label="{{'YANGMAN_REQ_SHOW_SENT_DATA'| translate}}"
id="{{itemId}}-show-sent-data"
- ng-click="reqList.showData(request)">
- <i class="material-icons">call_made</i>
- {{'YANGMAN_REQ_SHOW_JSON_DATA'| translate}}
- </md-button>
- </md-menu-item>
<md-menu-item ng-if="request.collection.length">
<md-button aria-label="{{'YANGMAN_REQ_DUPLICATE'| translate}}"
id="{{itemId}}-duplicate"
<md-divider flex="grow"></md-divider>
- <section layout="row" layout-align="center center" class="status-bar">
+ <section layout="row" layout-align="start center" class="status-bar">
<!-- Data type switcher - radio button -->
<md-radio-group ng-model="requestHeader.selectedShownDataType"
class="type-switcher"
- flex="50"
layout="row"
+ flex="25"
layout-align="start center"
ng-change="requestHeader.changeDataType()">
<md-radio-button id="shown-data-type-form" value="form" aria-label="{{'YANGMAN_FORM' | translate}}">
</md-radio-button>
</md-radio-group>
+ <md-checkbox class="mb0" flex layout-align="center end" ng-model="requestHeader.fillFormWithReceivedData" ng-disabled="requestHeader.selectedShownDataType==='req-data'">
+ {{ 'YANGMAN_FILL_FORM_WITH_RECEIVED' | translate }}
+ </md-checkbox>
+
<!-- Request info box -->
- <md-content flex="50"
+ <md-content flex="40"
layout="row"
layout-align="end center"
class="status-text">
}
md-dialog-content, md-dialog-actions{
- h2, span{
+ h2, h3, span{
color: @fontColor;
}
+ h3{
+ font-size: 14px;
+ font-weight: bold;
+ }
+
}
}
}
+
+
+}
+
+.settingsForm{
+ min-width: 400px;
+}
+
+.mb0{
+ margin-bottom: 0;
}