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 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">
... ...