Commit d375f90a00968661bd253d064384e962de088988

Authored by DK
1 parent 5e4e7652

Fixed serialization of Modbus transport configuration. Removed code duplicates.

@@ -102,7 +102,16 @@ export default function ExtensionFormModbusDirective($compile, $templateCache, $ @@ -102,7 +102,16 @@ export default function ExtensionFormModbusDirective($compile, $templateCache, $
102 scope.theForm.$setDirty(); 102 scope.theForm.$setDirty();
103 }; 103 };
104 104
  105 + scope.onTransportChanged = function(server) {
  106 + var type = server.transport.type;
105 107
  108 + server.transport = {};
  109 + server.transport.type = type;
  110 + server.transport.timeout = 3000;
  111 +
  112 + scope.theForm.$setDirty();
  113 + };
  114 +
106 $compile(element.contents())(scope); 115 $compile(element.contents())(scope);
107 116
108 117
@@ -58,6 +58,7 @@ @@ -58,6 +58,7 @@
58 <md-select required 58 <md-select required
59 name="transportType_{{serverIndex}}" 59 name="transportType_{{serverIndex}}"
60 ng-model="server.transport.type" 60 ng-model="server.transport.type"
  61 + ng-change="onTransportChanged(server)"
61 > 62 >
62 <md-option ng-value="transportType" 63 <md-option ng-value="transportType"
63 ng-repeat="(transportType, transportValue) in types.extensionModbusTransports" 64 ng-repeat="(transportType, transportValue) in types.extensionModbusTransports"
@@ -71,53 +72,8 @@ @@ -71,53 +72,8 @@
71 </md-input-container> 72 </md-input-container>
72 73
73 </div> 74 </div>
74 -  
75 - <div layout="row" ng-if="server.transport.type == 'tcp'">  
76 - <md-input-container flex="33" class="md-block">  
77 - <label translate>extension.host</label>  
78 - <input required name="transportHost_{{serverIndex}}" ng-model="server.transport.host">  
79 - <div ng-messages="theForm['transportHost_' + serverIndex].$error">  
80 - <div translate ng-message="required">extension.field-required</div>  
81 - </div>  
82 - </md-input-container>  
83 -  
84 - <md-input-container flex="33" class="md-block">  
85 - <label translate>extension.port</label>  
86 - <input type="number"  
87 - required  
88 - name="transportPort_{{serverIndex}}"  
89 - ng-model="server.transport.port"  
90 - min="1"  
91 - max="65535"  
92 - >  
93 - <div ng-messages="theForm['transportPort_' + serverIndex].$error">  
94 - <div translate  
95 - ng-message="required"  
96 - >extension.field-required</div>  
97 - <div translate  
98 - ng-message="min"  
99 - >extension.port-range</div>  
100 - <div translate  
101 - ng-message="max"  
102 - >extension.port-range</div>  
103 - </div>  
104 - </md-input-container>  
105 -  
106 - <md-input-container flex="33" class="md-block">  
107 - <label translate>extension.timeout</label>  
108 - <input type="number"  
109 - required name="transportTimeout_{{serverIndex}}"  
110 - ng-model="server.transport.timeout"  
111 - >  
112 - <div ng-messages="theForm['transportTimeout_' + serverIndex].$error">  
113 - <div translate  
114 - ng-message="required"  
115 - >extension.field-required</div>  
116 - </div>  
117 - </md-input-container>  
118 - </div>  
119 75
120 - <div layout="row" ng-if="server.transport.type == 'udp'"> 76 + <div layout="row" ng-if="server.transport.type == 'tcp' || server.transport.type == 'udp'">
121 <md-input-container flex="33" class="md-block"> 77 <md-input-container flex="33" class="md-block">
122 <label translate>extension.host</label> 78 <label translate>extension.host</label>
123 <input required name="transportHost_{{serverIndex}}" ng-model="server.transport.host"> 79 <input required name="transportHost_{{serverIndex}}" ng-model="server.transport.host">