Yangman + YangUI - fix parameters implementation 21/41021/3
authorStanislav Jamrich <sjamrich@cisco.com>
Wed, 29 Jun 2016 13:01:24 +0000 (15:01 +0200)
committerDaniel Malachovsky <dmalacho@cisco.com>
Thu, 21 Jul 2016 08:11:14 +0000 (10:11 +0200)
- unify and move codemirror hint plugin to general assets
- unify yangman and yangui parameters

Change-Id: I44765ef8e2d7ff13489445ff5e63dd9e4d2e4164
Signed-off-by: Stanislav Jamrich <sjamrich@cisco.com>
20 files changed:
modules/loader-resources/src/main/resources/assets/js/codemirror/addon/hint/json-parameters-hint.js [moved from modules/yangman-resources/src/main/resources/yangman/assets/js/codemirror/addon/hint/yangman-json-hint.js with 97% similarity]
modules/loader-resources/src/main/resources/assets/js/codemirror/addon/hint/yangman-json-hint.js [deleted file]
modules/loader-resources/src/main/resources/main.js
modules/yangman-resources/src/main/resources/yangman/assets/data/locale-en_US.json
modules/yangman-resources/src/main/resources/yangman/controllers/params-admin.controller.js
modules/yangman-resources/src/main/resources/yangman/controllers/request-data.controller.js
modules/yangman-resources/src/main/resources/yangman/controllers/request-header.controller.js
modules/yangman-resources/src/main/resources/yangman/controllers/yangman.controller.js
modules/yangman-resources/src/main/resources/yangman/main.js
modules/yangman-resources/src/main/resources/yangman/models/parameter.model.js
modules/yangman-resources/src/main/resources/yangman/models/parameterslist.model.js
modules/yangman-resources/src/main/resources/yangman/services/parameters.services.js
modules/yangman-resources/src/main/resources/yangman/services/requests.services.js
modules/yangman-resources/src/main/resources/yangman/services/yangman.services.js
modules/yangman-resources/src/main/resources/yangman/views/popup/parameters-admin.tpl.html
modules/yangman-resources/src/main/resources/yangman/views/rightpanel/request-data.tpl.html
modules/yangman-resources/src/main/resources/yangman/yangman.module.js
modules/yangui-resources/src/main/resources/yangui/assets/js/codemirror/addon/hint/yangui-json-hint.js [deleted file]
modules/yangui-resources/src/main/resources/yangui/main.js
modules/yangui-resources/src/main/resources/yangui/yangui.module.js

similarity index 97%
rename from modules/yangman-resources/src/main/resources/yangman/assets/js/codemirror/addon/hint/yangman-json-hint.js
rename to modules/loader-resources/src/main/resources/assets/js/codemirror/addon/hint/json-parameters-hint.js
index c2327f397a5cbf508ee21bb971edbe0d77581dcd..1aefeee3f3bf07ca78f6b7d385b949f63a05bd1c 100644 (file)
@@ -13,6 +13,7 @@
 
     var WORD = /[<<\w$]+/, RANGE = 500;
     CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
+
         var acList = [],
             word = options && options.word || WORD,
             cur = editor.getCursor(),
@@ -23,7 +24,7 @@
 
         function forEachParam(arr, f, fParam) {
             for (var i = 0, e = arr.length; i < e; ++i){
-                f(arr[i].key, fParam);
+                f(arr[i].name, fParam);
             }
         }
 
diff --git a/modules/loader-resources/src/main/resources/assets/js/codemirror/addon/hint/yangman-json-hint.js b/modules/loader-resources/src/main/resources/assets/js/codemirror/addon/hint/yangman-json-hint.js
deleted file mode 100644 (file)
index 50d5707..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-(function(mod) {
-    if (typeof exports == "object" && typeof module == "object") // CommonJS
-        mod(require("codemirror"));
-    else if (typeof define == "function" && define.amd) // AMD
-        define(["codemirror"], mod);
-    else // Plain browser env
-        mod(CodeMirror);
-})(function(CodeMirror) {
-    "use strict";
-
-    var WORD = /[<<\w$]+/, RANGE = 500;
-    CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
-        var acList = [],
-            word = options && options.word || WORD,
-            cur = editor.getCursor(), 
-            curLine = editor.getLine(cur.line),
-            end = cur.ch, 
-            start = end,
-            paramList = editor.data.parameterListObj.list;
-            
-        function forEachParam(arr, f, fParam) {
-            for (var i = 0, e = arr.length; i < e; ++i){ 
-                f(arr[i].name, fParam);
-            };
-        }
-        
-        
-        function maybeAdd(possibleWord, word) {
-            var pw = '<<' + possibleWord + '>>';
-            if (pw.lastIndexOf(word, 0) == 0 && !arrayContains(acList, pw)) 
-                acList.push(pw);
-        }
-        
-        function arrayContains(arr, item) {
-            if (!Array.prototype.indexOf) {
-                var i = arr.length;
-                while (i--) {
-                    if (arr[i] === item) {
-                        return true;
-                    }
-                }
-                return false;
-            }
-            return arr.indexOf(item) != -1;
-        }
-        
-        
-        options.completeSingle = false;
-        
-        while (start && word.test(curLine.charAt(start - 1))) 
-            --start;
-        
-        var curWord = curLine.slice(start, end);
-        
-        if(curWord.length > 1){
-            forEachParam(paramList, maybeAdd, curWord);
-        }
-        
-        
-        
-        return {list: acList, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
-    });
-});
index fab7098381022a45957778db34f3eb172a56f401..a7f7199839b2999b747b9df7f0211c735fe599f6 100644 (file)
@@ -37,6 +37,7 @@ require.config({
     'ngMaterial': '../vendor/angular-material/angular-material.min',
     'ngMessages': '../vendor/angular-messages/angular-messages.min',
     'codeMirror-showHint' : '../assets/js/codemirror/addon/hint/show-hint',
+    'codeMirror-jsonParametersHint' : '../assets/js/codemirror/addon/hint/json-parameters-hint',
     'codeMirror-javascriptMode' : '../assets/js/codemirror/mode/javascript/javascript',
     'codeMirror-matchBrackets' : '../assets/js/codemirror/addon/edit/matchbrackets',
   },
index f962d4dde0a75e3ef9ee59a7ceb4f24607493f11..7ed161ee7c284f1b01fe1f63a71882e1fca19f90 100644 (file)
@@ -2,6 +2,7 @@
   "YANGMAN_ADD_LIST_ITEM": "Add list item",
   "YANGMAN_AUGMENTATIONS": "Augmentations",
   "YANGMAN_CANCEL": "Cancel",
+  "YANGMAN_CLOSE": "Close",
   "YANGMAN_CLEAR_SEARCH": "Clear filter",
   "YANGMAN_COLLECTION_CHANGE_NAME": "Edit collection name",
   "YANGMAN_COLLECTION_DELETE": "Delete collection",
index 8d7f6647ea6f69a67e74a4cd52192412619387e8..469d946267e753ce5bfa7fc02d4f4a6805f1dba4 100644 (file)
@@ -4,17 +4,17 @@ define([
 
     angular.module('app.yangman').controller('ParamsAdminCtrl', ParamsAdminCtrl);
 
-    ParamsAdminCtrl.$inject = ['$mdDialog', 'YangmanService', 'HandleFileService', 'parametersList'];
+    ParamsAdminCtrl.$inject = ['$mdDialog', '$scope', 'YangmanService', 'HandleFileService', 'parametersList'];
 
-    function ParamsAdminCtrl($mdDialog, YangmanService, HandleFileService, parametersList) {
+    function ParamsAdminCtrl($mdDialog, $scope, YangmanService, HandleFileService, parametersList) {
         var vm = this;
 
         vm.parametersList = parametersList;
         vm.search = '';
-        vm.sortField = '_key';
+        vm.sortField = '_name';
         vm.sortAsc = true;
 
-        vm.cancel = cancel;
+        vm.close = close;
         vm.save = save;
         vm.createEmptyParam = createEmptyParam;
         vm.removeParam = removeParam;
@@ -24,20 +24,21 @@ define([
         vm.sortFunc = sortFunc;
         vm.exportParameters = exportParameters;
         vm.importParameters = importParameters;
-        vm.validateKeysUnique = validateKeysUnique;
+        vm.validateNamesUnique = validateNamesUnique;
 
         init();
 
+
         /**
-         * Loop over all key inputs in form and validate duplicities
+         * Loop over all name inputs in form and validate duplicities
          */
-        function validateKeysUnique() {
+        function validateNamesUnique() {
             var i = 0;
-            while (vm.paramsForm.hasOwnProperty('key_' + i)){
-                var modelValue = vm.paramsForm['key_' + i].$modelValue;
-                vm.paramsForm['key_' + i].$setValidity(
+            while (vm.paramsForm.hasOwnProperty('name_' + i)){
+                var modelValue = vm.paramsForm['name_' + i].$modelValue;
+                vm.paramsForm['name_' + i].$setValidity(
                     'unique',
-                    vm.parametersList.isKeyUnique(modelValue)
+                    vm.parametersList.isNameUnique(modelValue)
                 );
                 i++;
             }
@@ -48,7 +49,7 @@ define([
          * @param fileContent
          */
         function importParameters(fileContent) {
-            if (fileContent && YangmanService.validateFile(fileContent, ['key', 'value'])){
+            if (fileContent && YangmanService.validateFile(fileContent, ['name', 'value'])){
                 try {
                     vm.parametersList.createParamsFromJson(fileContent);
                     vm.parametersList.saveToStorage();
@@ -107,8 +108,8 @@ define([
          * @returns {boolean}
          */
         function filterParam(paramObj) {
-            return !(paramObj._key || paramObj._value) ||
-                    paramObj._key.indexOf(vm.search) !== -1 ||
+            return !(paramObj._name || paramObj._value) ||
+                    paramObj._name.indexOf(vm.search) !== -1 ||
                     paramObj._value.indexOf(vm.search) !== -1;
         }
 
@@ -143,8 +144,9 @@ define([
         /**
          * Cancel dialog
          */
-        function cancel() {
-            $mdDialog.cancel();
+        function close() {
+            vm.parametersList.removeEmptyParams();
+            $mdDialog.hide(vm.parametersList);
         }
 
         /**
index ba9ca4c8a31a213e5325976a0877116bb61e02b0..64190428ac7171c814aac45095be17fe9ff4a9e5 100644 (file)
@@ -9,51 +9,49 @@ define([], function () {
         var requestData = this;
 
         requestData.paramsArray = [];
+        requestData.data = '';
+        requestData.type = null;
 
         requestData.dataEditorOptions = {
             mode: 'javascript',
             lineNumbers: true,
-            theme: 'eclipse',
-            readOnly: requestData.type === 'RECEIVED',
             lineWrapping: true,
             matchBrackets: true,
             extraKeys: { 'Ctrl-Space': 'autocomplete' },
-        };
+            onLoad: function (cmInstance) {
 
-        requestData.data = '';
-        requestData.type = null;
+                cmInstance.on('changes', function () {
+                    if (angular.isFunction(cmInstance.showHint)) {
+                        cmInstance.showHint();
+                    }
+                });
 
-        // methods
-        requestData.init = init;
+                cmInstance.on('cursorActivity', function () {
+                    var lineString = cmInstance.getLine(cmInstance.getCursor().line);
+                    requestData.paramsArray = RequestsService.scanDataParams($scope.parametersList, lineString);
 
+                    if (!$scope.$$phase) {
+                        $scope.$apply();
+                    }
+                });
 
-        function initCMOpts() {
-            requestData.dataEditorOptions.readOnly = requestData.type === 'RECEIVED';
-            requestData.dataEditorOptions.theme = requestData.type === 'RECEIVED' ? 'eclipse-disabled' : 'eclipse';
+                cmInstance.data = { parameterListObj: $scope.parametersList };
 
-            if (requestData.type === 'SENT') {
-                requestData.dataEditorOptions.onLoad = function (cmInstance){
-                    cmInstance.data = { parameterListObj: $scope.parametersList || { list: [] } };
+            },
+        };
 
-                    cmInstance.on('changes', function (){
-                        if (angular.isFunction(cmInstance.showHint)){
-                            cmInstance.showHint();
-                        }
-                    });
+        // methods
+        requestData.init = init;
 
-                    cmInstance.on('cursorActivity', function (){
-                        var lineString = cmInstance.getLine(cmInstance.getCursor().line);
-                        requestData.paramsArray = RequestsService.scanDataParams($scope.parametersList, lineString);
+        /**
+         * Set code mirror theme and readonly property considering requestData.type
+         */
+        function initEditorOptions() {
+            requestData.dataEditorOptions.theme = requestData.type === 'RECEIVED' ? 'eclipse-disabled' : 'eclipse';
+            requestData.dataEditorOptions.readOnly = requestData.type === 'RECEIVED';
+        }
 
-                        if (!$scope.$$phase) {
-                            $scope.$apply();
-                        }
-                    });
 
-                    cmInstance.refresh();
-                };
-            }
-        }
 
         /**
          * Initialization
@@ -61,11 +59,7 @@ define([], function () {
          */
         function init(type){
             requestData.type = type;
-            initCMOpts();
-
-
-            // watchers
-            $scope.$on('YANGMAN_REFRESH_CM_DATA_' + type, refreshData);
+            initEditorOptions();
 
             $scope.$on('YANGMAN_SET_CODEMIRROR_DATA_' + type, function (event, args){
                 requestData.data = args.params.data;
@@ -75,16 +69,10 @@ define([], function () {
                 args.params.reqData = requestData.data;
             });
 
-        }
 
-        /**
-         * Refresh data using history request service
-         */
-        function refreshData() {
-            requestData.data =
-                $scope.requestToShow.setDataForView(true, $scope.requestToShow[$scope.requestDataToShow]);
         }
 
+
     }
 
 });
index 4a1bcf9d2e28fba9edc59e68bb301871e2ecc724..e922ee1a16c6256d19c5e230172275ee7c346858 100644 (file)
@@ -91,6 +91,9 @@ define([
                 locals: {
                     parametersList: $scope.parametersList,
                 },
+            }).then(function (parametersList){
+                $scope.setParametersList(parametersList);
+
             });
         }
 
@@ -154,9 +157,7 @@ define([
          * Create empty parameters list, load from local storage and set to $scope
          */
         function initParams(){
-            var paramsList = ParametersService.createEmptyParametersList('yangman_parameters');
-            paramsList.loadListFromStorage();
-            $scope.setParametersList(paramsList);
+            $scope.parametersList.loadListFromStorage();
         }
 
         /**
@@ -248,7 +249,7 @@ define([
                     requestHeader.selectedShownDataType,
                     requestHeader.requestUrl,
                     reqData,
-                    $scope.parametersList
+                    null
                 );
 
             historyReq.setExecutionData(historyReqData.reqData, {}, '');
index ffef235a49274242cf5a1e6ee7b69080c0809d0f..8c7efc4e6908f68a3e6b3c9ee67fadf4b35a56a7 100644 (file)
@@ -19,12 +19,12 @@ define([
 
     YangmanCtrl.$inject = [
         '$mdDialog', '$scope', '$rootScope', 'YangmanDesignService', 'RequestBuilderService',
-        'EventDispatcherService', 'constants', 'PathUtilsService', 'PluginsUnsetterService', '$timeout',
+        'EventDispatcherService', 'constants', 'ParametersService', 'PathUtilsService', 'PluginsUnsetterService', '$timeout',
     ];
 
     function YangmanCtrl(
         $mdDialog, $scope, $rootScope, YangmanDesignService, RequestBuilderService,
-        EventDispatcherService, constants, PathUtilsService, PluginsUnsetterService, $timeout
+        EventDispatcherService, constants, ParametersService, PathUtilsService, PluginsUnsetterService, $timeout
     ) {
         var main = this;
 
@@ -42,7 +42,7 @@ define([
         $scope.historyReqsSelected = false;
         $scope.requestToShow = null;
         $scope.requestDataToShow = '';
-        $scope.parametersList = null;
+        $scope.parametersList = ParametersService.createEmptyParametersList('yangman_parameters');
 
         main.selectedMainTab = 0;
         main.leftPanelTab = 0;
@@ -86,7 +86,9 @@ define([
          * @param parametersList
          */
         function setParametersList(parametersList) {
+            console.debug('setting params to $scope', parametersList);
             $scope.parametersList = parametersList;
+            //$scope.rootBroadcast('YANGMAN_REFRESH_PARAMS_IN_CM');
         }
 
         /**
index 46e96d3f4908d725adda77be2e94d8d9657a24ff..7faad29efd5413f836615833953ff5e785bd83e6 100644 (file)
@@ -1,7 +1,4 @@
 require.config({
-    paths: {
-        'codeMirror-yangmanJsonHint': 'app/yangman/assets/js/codemirror/addon/hint/yangman-json-hint',
-    },
 });
 
 define(['app/yangman/yangman.module']);
index 333cb47face671bafeb21da5c573d89f4706f25e..fab9579cdbd3e1eebd45cd5693b786c182296e5e 100644 (file)
@@ -9,11 +9,11 @@ define([], function (){
         var self = this;
 
         // properties
-        self.key = '';
+        self.name = '';
         self.value = '';
 
         // attributes with underscore prefix are used for filtering in params admin
-        self._key = '';
+        self._name = '';
         self._value = '';
 
         // functions
@@ -24,23 +24,23 @@ define([], function (){
         /**
          * Grouped setter
          *
-         * @param key
+         * @param name
          * @param value
          */
-        function setData(key, value) {
-            self.key = key;
+        function setData(name, value) {
+            self.name = name;
             self.value = value;
-            self._key = key;
+            self._name = name;
             self._value = value;
         }
 
         /**
          *
-         * @returns {{key: (string|*), value: (string|*)}}
+         * @returns {{name: (string|*), value: (string|*)}}
          */
         function toJSON() {
             var obj = {
-                key: self.key,
+                name: self.name,
                 value: self.value,
             };
 
@@ -53,7 +53,7 @@ define([], function (){
          */
         function clone() {
             var result = new ParameterModel();
-            result.setData(self.key, self.val);
+            result.setData(self.name, self.val);
             return result;
         }
 
index c32ce142dea3198e7cc63d53730d800331b46182..b304bf9ee45bcbd48bd6af436b672fde877922df 100644 (file)
@@ -23,16 +23,17 @@ define(['app/yangman/models/baselist.model'], function (BaseListModel){
         self.addEmptyItem = addEmptyItem;
         self.toJSON = toJSON;
         self.createParamsFromJson = createParamsFromJson;
-        self.isKeyUnique = isKeyUnique;
+        self.isNameUnique = isNameUnique;
+        self.removeEmptyParams = removeEmptyParams;
 
         /**
-         * Returns false if key is already used
-         * @param keyValue
+         * Returns false if name is already used
+         * @param nameValue
          * @returns {boolean}
          */
-        function isKeyUnique(keyValue) {
+        function isNameUnique(nameValue) {
             return self.list.filter(function (item) {
-                return item.key === keyValue;
+                return item.name === nameValue;
             }).length === 1;
         }
 
@@ -76,6 +77,12 @@ define(['app/yangman/models/baselist.model'], function (BaseListModel){
             self.addRequestToList(self.createEntry());
         }
 
+        function removeEmptyParams() {
+            self.list = self.list.filter(function (param) {
+                return param.name.length > 0;
+            });
+        }
+
         /**
          *
          * @param elem
@@ -84,7 +91,7 @@ define(['app/yangman/models/baselist.model'], function (BaseListModel){
         function createEntry(element) {
             if (!element){
                 element = {
-                    key: '',
+                    name: '',
                     value: '',
                 };
             }
@@ -121,7 +128,7 @@ define(['app/yangman/models/baselist.model'], function (BaseListModel){
             });
 
             function notEmptyParam(item){
-                return item.key;
+                return item.name;
             }
         };
     }
index 164cd35e5ab21a4b5ce19bb9db25633079a6fcd0..8f5249e5e5a6241ab2ca59d0977287a076c4390a 100644 (file)
@@ -40,19 +40,19 @@ define([
             /**
              * Service for creating basic parameter object
              * @returns {*}
-             * @param key
+             * @param name
              * @param value
              */
             function createParameter(element){
                 var result = new ParameterModel();
-                result.setData(element.key, element.value);
+                result.setData(element.name, element.value);
                 return result;
             }
 
 
             /**
              * Service for creating empty parameters list
-             * @param name used as key in local storage
+             * @param name used as name in local storage
              * @returns {*}
              */
             function createEmptyParametersList(name){
index f96c7c86f326bc040ec780762015d30a9cd1cbad..9c74065dc8adcdce757f3910ffb3b69a26a4fb94 100644 (file)
@@ -42,7 +42,7 @@ define([
             }
 
             var returnedParamsList = paramsObj.list.filter( function (param){
-                var paramIndex = usedParamLabelArray.indexOf(param.key);
+                    var paramIndex = usedParamLabelArray.indexOf(param.name);
                 if ( paramIndex !== -1 ) {
                     return usedParamLabelArray.splice(paramIndex, 1);
                 }
@@ -52,7 +52,7 @@ define([
             });
 
             usedParamLabelArray.forEach(function (param){
-                returnedParamsList.push(ParametersService.createParameter(param));
+                    returnedParamsList.push(ParametersService.createParameter({ name: param }));
             });
 
             return returnedParamsList;
@@ -88,9 +88,11 @@ define([
         function applyParams(paramsObj, data) {
             var dataStr = JSON.stringify(data);
 
-            paramsObj.list.forEach(function (param){
-                dataStr = service.replaceStringInText(dataStr, '<<' + param.key + '>>', param.value);
-            });
+                if (paramsObj && paramsObj.hasOwnProperty('list')) {
+                    paramsObj.list.forEach(function (param){
+                        dataStr = service.replaceStringInText(dataStr, '<<' + param.name + '>>', param.value);
+                    });
+                }
 
             return ParsingJsonService.parseJson(dataStr);
         }
index d6f38ea7558b9203796ee899b2d97378a952ce68..203ef5519d4ff1e798276fd5b53296b3587954b7 100644 (file)
@@ -170,6 +170,7 @@ define([], function () {
             else {
                 allPreparedData.srcData = requestData;
             }
+
             allPreparedData.reqData = RequestsService.applyParams(params, allPreparedData.srcData);
 
             // prepare req data
index f042ba3668624b8af7dc1c49576c8b4930022956..c265c0f2978f86e8b0a272220f0189f8bd711958 100644 (file)
@@ -4,12 +4,12 @@
             <div class="md-toolbar-tools">
                 <h2>{{'YANGMAN_PARAMETERS_ADMINISTRATION'| translate}}</h2>
                 <span flex></span>
-                <md-button aria-label="{{'YANGMAN_CANCEL'| translate}}"
-                           ng-click="paramsAdmin.cancel()">
+                <md-button aria-label="{{'YANGMAN_CLOSE'| translate}}"
+                           ng-click="paramsAdmin.close()">
                     <md-icon class="material-icons clickable" >
                         close
                     </md-icon>
-                    <md-tooltip md-direction="bottom">{{'YANGMAN_CANCEL'| translate}}</md-tooltip>
+                    <md-tooltip md-direction="bottom">{{'YANGMAN_CLOSE'| translate}}</md-tooltip>
                 </md-button>
             </div>
         </md-toolbar>
                             </md-tooltip>
                         </md-button>
                         <md-menu-content>
-                            <!-- sort by key -->
+                            <!-- sort by name -->
                             <md-menu-item>
                                 <md-button aria-label="{{'YANGMAN_PARAMS_KEY'| translate}}"
-                                           ng-click="paramsAdmin.sortBy('_key')">
+                                           ng-click="paramsAdmin.sortBy('_name')">
                                     {{'YANGMAN_SORT_BY'| translate}}
                                     {{'YANGMAN_PARAMS_KEY'| translate}}
                                     {{paramsAdmin.sortAsc ? 'YANGMAN_SORT_DESC' : 'YANGMAN_SORT_ASC' | translate}}
                                 </md-button>
                             </md-menu-item>
-                            <!-- /sort by key -->
+                            <!-- /sort by name -->
 
                             <!-- sort by value -->
                             <md-menu-item>
                                         orderBy: paramsAdmin.sortFunc : !paramsAdmin.sortAsc
                                         track by $index">
 
-                        <!-- key input -->
+                        <!-- name input -->
                         <md-input-container>
                             <label>{{'YANGMAN_PARAM_KEY' | translate}}</label>
-                            <input name="key_{{$index}}"
-                                   ng-model="param.key"
+                            <input name="name_{{$index}}"
+                                   ng-model="param.name"
                                    ng-required="param.value"
-                                   ng-change="paramsAdmin.validateKeysUnique()"
+                                   ng-change="paramsAdmin.validateNamesUnique()"
                                    ng-focus="$last && paramsAdmin.createEmptyParam()"
                                    autocomplete="off">
-                            <div ng-messages="paramsAdmin.paramsForm['key_'+$index].$error" multiple md-auto-hide="false">
+                            <div ng-messages="paramsAdmin.paramsForm['name_'+$index].$error" multiple md-auto-hide="false">
                                 <div ng-message="required">
                                     {{'YANGMAN_PARAM_KEY_REQUIRED'| translate}}
                                 </div>
                                 </div>
                             </div>
                         </md-input-container>
-                        <!-- / key input -->
+                        <!-- / name input -->
 
                         <!-- value input -->
                         <md-input-container flex>
         </md-dialog-content>
         <md-dialog-actions layout="row">
             <span flex></span>
-            <md-button ng-click="paramsAdmin.cancel()">
-                {{'YANGMAN_CANCEL'| translate}}
+            <md-button ng-click="paramsAdmin.close()">
+                {{'YANGMAN_CLOSE'| translate}}
             </md-button>
             <md-button ng-click="paramsAdmin.save()" ng-disabled="!paramsAdmin.paramsForm.$valid">
                 {{'YANGMAN_SAVE'| translate}}
index 30a983cdd59cb963e3da803f26808bec5a6769d5..d2e8c94ddaed168f0a2abba2ee1042c0d314daa4 100644 (file)
@@ -6,6 +6,6 @@
 
 <div class="paramsBox" ng-show="requestData.paramsArray.length">
     <div  ng-repeat="param in requestData.paramsArray" class="line">
-        <strong><<{{param.key}}>></strong> : <span>{{param.value !== undefined ? param.value : 'YANGUI_PARAM_DONT_REPLACE' | translate}}</span>
+        <strong><<{{param.name}}>></strong> : <span>{{param.value !== undefined ? param.value : 'YANGUI_PARAM_DONT_REPLACE' | translate}}</span>
     </div>
 </div>
index b8592e1e6ff99997bd55d911a75f3d58a5ca06c3..3b0023cdfaa8cdbb672c979f7b618dd5d78c417f 100644 (file)
@@ -8,7 +8,7 @@ define([
     'ngMessages',
     'common/yangutils/yangutils.module',
     'codemirror',
-    'codeMirror-yangmanJsonHint',
+    'codeMirror-jsonParametersHint',
     'codeMirror-javascriptMode',
     'codeMirror-matchBrackets',
 ], function () {
diff --git a/modules/yangui-resources/src/main/resources/yangui/assets/js/codemirror/addon/hint/yangui-json-hint.js b/modules/yangui-resources/src/main/resources/yangui/assets/js/codemirror/addon/hint/yangui-json-hint.js
deleted file mode 100644 (file)
index 50d5707..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-(function(mod) {
-    if (typeof exports == "object" && typeof module == "object") // CommonJS
-        mod(require("codemirror"));
-    else if (typeof define == "function" && define.amd) // AMD
-        define(["codemirror"], mod);
-    else // Plain browser env
-        mod(CodeMirror);
-})(function(CodeMirror) {
-    "use strict";
-
-    var WORD = /[<<\w$]+/, RANGE = 500;
-    CodeMirror.registerHelper("hint", "anyword", function(editor, options) {
-        var acList = [],
-            word = options && options.word || WORD,
-            cur = editor.getCursor(), 
-            curLine = editor.getLine(cur.line),
-            end = cur.ch, 
-            start = end,
-            paramList = editor.data.parameterListObj.list;
-            
-        function forEachParam(arr, f, fParam) {
-            for (var i = 0, e = arr.length; i < e; ++i){ 
-                f(arr[i].name, fParam);
-            };
-        }
-        
-        
-        function maybeAdd(possibleWord, word) {
-            var pw = '<<' + possibleWord + '>>';
-            if (pw.lastIndexOf(word, 0) == 0 && !arrayContains(acList, pw)) 
-                acList.push(pw);
-        }
-        
-        function arrayContains(arr, item) {
-            if (!Array.prototype.indexOf) {
-                var i = arr.length;
-                while (i--) {
-                    if (arr[i] === item) {
-                        return true;
-                    }
-                }
-                return false;
-            }
-            return arr.indexOf(item) != -1;
-        }
-        
-        
-        options.completeSingle = false;
-        
-        while (start && word.test(curLine.charAt(start - 1))) 
-            --start;
-        
-        var curWord = curLine.slice(start, end);
-        
-        if(curWord.length > 1){
-            forEachParam(paramList, maybeAdd, curWord);
-        }
-        
-        
-        
-        return {list: acList, from: CodeMirror.Pos(cur.line, start), to: CodeMirror.Pos(cur.line, end)};
-    });
-});
index 9b17b86d4a92878e006a6207673ace56f9a325c5..a82fe9e4a859f7f519f3a7ae8aabd9606fd457e3 100644 (file)
@@ -2,10 +2,6 @@
  * Created by dakuzma on 25. 8. 2015.
  */
 require.config({
-    paths: {
-        'codeMirror-yanguiJsonHint': 'app/yangui/assets/js/codemirror/addon/hint/yangui-json-hint',
-    },
-
 });
 
 define(['app/yangui/yangui.module']);
index 3bc717391de29b68fd3775eea6c07c3d2c289918..0d718e2891bfe5daeb95f291aa132cb85e952d60 100644 (file)
@@ -8,7 +8,7 @@ var modules = [
         'jquery-ui',\r
         'codemirror',\r
         'codeMirror-showHint',\r
-        'codeMirror-yanguiJsonHint',\r
+        'codeMirror-jsonParametersHint',\r
         'codeMirror-javascriptMode',\r
         'codeMirror-matchBrackets',\r
         'ngClip',\r