Yangman - changed loop types
[dlux.git] / modules / yangman-resources / src / main / resources / yangman / models / parameter.model.js
1 define([], function (){
2     'use strict';
3
4     /**
5      * Base parameter object
6      * @constructor
7      */
8     function ParameterModel(){
9         var self = this;
10
11         // properties
12         self.name = '';
13         self.value = '';
14
15         // attributes with underscore prefix are used for filtering in params admin
16         self._name = '';
17         self._value = '';
18
19         // functions
20         self.toJSON = toJSON;
21         self.setData = setData;
22         self.clone = clone;
23         self.applyValsForFilters = applyValsForFilters;
24
25         /**
26          * Copy model name and value to _name and _value properties, which are used when sorting and filtering list
27          * of parameters
28          */
29         function applyValsForFilters() {
30             self._name = self.name;
31             self._value = self.value;
32         }
33
34         /**
35          * Grouped setter
36          *
37          * @param name
38          * @param value
39          */
40         function setData(name, value) {
41             self.name = name;
42             self.value = value;
43             self._name = name;
44             self._value = value;
45         }
46
47         /**
48          *
49          * @returns {{name: (string|*), value: (string|*)}}
50          */
51         function toJSON() {
52             var obj = {
53                 name: self.name,
54                 value: self.value,
55             };
56
57             return obj;
58         }
59
60         /**
61          *
62          * @returns {ParameterModel}
63          */
64         function clone() {
65             var result = new ParameterModel();
66             result.setData(self.name, self.val);
67             return result;
68         }
69
70
71     }
72
73     return ParameterModel;
74 });