1 define([], function () {
4 angular.module('app.yangman').controller('RequestDataCtrl', RequestDataCtrl);
6 RequestDataCtrl.$inject = ['$filter', '$mdToast', '$scope', 'RequestsService', 'constants'];
8 function RequestDataCtrl($filter, $mdToast, $scope, RequestsService, constants) {
9 var requestData = this,
15 requestData.paramsArray = [];
16 requestData.data = '';
17 requestData.type = null;
20 // todo: move all cm staff to directive
21 requestData.dataEditorOptions = {
27 'Ctrl-Space': 'autocomplete',
29 onLoad: function (cmInstance) {
31 cmData.cmInstance = cmInstance;
34 parameterListObj: $scope.parametersList,
37 angular.element(cmInstance.display.wrapper).css('fontSize', cmData.cmFontSize + 'px');
39 cmInstance.on('changes', function () {
40 if (angular.isFunction(cmInstance.showHint)) {
41 cmInstance.showHint();
45 cmInstance.on('cursorActivity', function () {
46 var lineString = cmInstance.getLine(cmInstance.getCursor().line);
47 requestData.paramsArray = RequestsService.scanDataParams($scope.parametersList, lineString);
49 if (!$scope.$$phase) {
54 cmInstance.on('keydown', function (codemirror, event) {
59 angular.element(cmInstance.display.wrapper).css(
61 cmData.cmFontSize + 'px'
66 angular.element(cmInstance.display.wrapper).css(
68 cmData.cmFontSize + 'px'
80 requestData.init = init;
81 requestData.enlargeCMFont = enlargeCMFont;
82 requestData.reduceCMFont = reduceCMFont;
84 function incCMFontSize() {
85 if (cmData.cmFontSize < 30) {
90 function decCMFontSize() {
91 if (cmData.cmFontSize > 5) {
96 function enlargeCMFont() {
98 angular.element(cmData.cmInstance.display.wrapper).css(
100 cmData.cmFontSize + 'px'
104 function reduceCMFont() {
106 angular.element(cmData.cmInstance.display.wrapper).css(
108 cmData.cmFontSize + 'px'
113 * Set code mirror theme and readonly property considering requestData.type
115 function initEditorOptions() {
116 requestData.dataEditorOptions.theme = requestData.type === constants.REQUEST_DATA_TYPE_RECEIVED ? 'eclipse-disabled' : 'eclipse';
117 requestData.dataEditorOptions.readOnly = requestData.type === constants.REQUEST_DATA_TYPE_RECEIVED;
125 requestData.type = type;
128 $scope.$on(constants.YANGMAN_SET_CODEMIRROR_DATA + type, function (event, args){
129 requestData.data = args.params.data;
132 $scope.$on(constants.YANGMAN_GET_CODEMIRROR_DATA + type, function (event, args){
133 args.params.reqData = requestData.data;