1 define([], function () {
4 angular.module('app.yangman').controller('RequestDataCtrl', RequestDataCtrl);
6 RequestDataCtrl.$inject = ['$filter', '$mdToast', '$scope', 'RequestsService'];
8 function RequestDataCtrl($filter, $mdToast, $scope, RequestsService) {
9 var requestData = this;
11 requestData.paramsArray = [];
12 requestData.data = '';
13 requestData.type = null;
15 requestData.dataEditorOptions = {
21 'Ctrl-Space': 'autocomplete',
23 onLoad: function (cmInstance) {
26 parameterListObj: $scope.parametersList,
30 angular.element(cmInstance.display.wrapper).css('fontSize', cmInstance.data.codeFontSize + 'px');
32 cmInstance.on('changes', function () {
33 if (angular.isFunction(cmInstance.showHint)) {
34 cmInstance.showHint();
38 cmInstance.on('cursorActivity', function () {
39 var lineString = cmInstance.getLine(cmInstance.getCursor().line);
40 requestData.paramsArray = RequestsService.scanDataParams($scope.parametersList, lineString);
42 if (!$scope.$$phase) {
47 cmInstance.on('keydown', function (codemirror, event) {
51 if (cmInstance.data.codeFontSize < 30) {
52 cmInstance.data.codeFontSize++;
54 angular.element(cmInstance.display.wrapper).css(
56 cmInstance.data.codeFontSize + 'px'
60 if (cmInstance.data.codeFontSize > 5) {
61 cmInstance.data.codeFontSize--;
63 angular.element(cmInstance.display.wrapper).css(
65 cmInstance.data.codeFontSize + 'px'
78 requestData.init = init;
79 requestData.showCMHint = showCMHint;
82 * Set code mirror theme and readonly property considering requestData.type
84 function initEditorOptions() {
85 requestData.dataEditorOptions.theme = requestData.type === 'RECEIVED' ? 'eclipse-disabled' : 'eclipse';
86 requestData.dataEditorOptions.readOnly = requestData.type === 'RECEIVED';
91 * Show hints for first codemirror instancesk
93 function showCMHint(type) {
95 if (!localStorage.getItem('yangman_cm_hint_got_it')){
99 .textContent($filter('translate')('YANGMAN_CM_FONT_SIZE_HINT'))
100 .action($filter('translate')('YANGMAN_CM_HINT_DONT_SHOW'))
101 .position('top right')
102 .parent(angular.element('.yangmanModule__right-panel__req-data__cm-' + type))
104 ).then(function (response){
105 if (response === 'ok') {
106 localStorage.setItem('yangman_cm_hint_got_it', 1);
117 requestData.type = type;
122 $scope.$on('YANGMAN_SET_CODEMIRROR_DATA_' + type, function (event, args){
123 requestData.data = args.params.data;
127 $scope.$on('YANGMAN_GET_CODEMIRROR_DATA_' + type, function (event, args){
128 args.params.reqData = requestData.data;