Commit d375f90a00968661bd253d064384e962de088988
1 parent
5e4e7652
Fixed serialization of Modbus transport configuration. Removed code duplicates.
Showing
2 changed files
with
11 additions
and
46 deletions
@@ -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"> |