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'
81 requestData.init = init;
82 requestData.enlargeCMFont = enlargeCMFont;
83 requestData.reduceCMFont = reduceCMFont;
85 function incCMFontSize() {
86 if (cmData.cmFontSize < 30) {
91 function decCMFontSize() {
92 if (cmData.cmFontSize > 5) {
97 function enlargeCMFont() {
99 angular.element(cmData.cmInstance.display.wrapper).css(
101 cmData.cmFontSize + 'px'
105 function reduceCMFont() {
107 angular.element(cmData.cmInstance.display.wrapper).css(
109 cmData.cmFontSize + 'px'
114 * Set code mirror theme and readonly property considering requestData.type
116 function initEditorOptions() {
117 requestData.dataEditorOptions.theme = requestData.type === constants.REQUEST_DATA_TYPE_RECEIVED ? 'eclipse-disabled' : 'eclipse';
118 requestData.dataEditorOptions.readOnly = requestData.type === constants.REQUEST_DATA_TYPE_RECEIVED;
127 requestData.type = type;
130 $scope.$on(constants.YANGMAN_SET_CODEMIRROR_DATA + type, function (event, args){
131 requestData.data = args.params.data;
134 $scope.$on(constants.YANGMAN_GET_CODEMIRROR_DATA + type, function (event, args){
135 args.params.reqData = requestData.data;