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 | 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 | 115 | $compile(element.contents())(scope); |
107 | 116 | |
108 | 117 | ... | ... |
... | ... | @@ -58,6 +58,7 @@ |
58 | 58 | <md-select required |
59 | 59 | name="transportType_{{serverIndex}}" |
60 | 60 | ng-model="server.transport.type" |
61 | + ng-change="onTransportChanged(server)" | |
61 | 62 | > |
62 | 63 | <md-option ng-value="transportType" |
63 | 64 | ng-repeat="(transportType, transportValue) in types.extensionModbusTransports" |
... | ... | @@ -71,53 +72,8 @@ |
71 | 72 | </md-input-container> |
72 | 73 | |
73 | 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 | 77 | <md-input-container flex="33" class="md-block"> |
122 | 78 | <label translate>extension.host</label> |
123 | 79 | <input required name="transportHost_{{serverIndex}}" ng-model="server.transport.host"> | ... | ... |