Showing the changes to Source/Libraries/Adapters/ModbusAdapters/Scripts/MapViewModel.js (1 of 2 files). Show all
Unified · Split
| @@ -36,8 +36,8 @@ function MapViewModel() { · 35 unmodified lines | |||
| 36 | self.sequences = ko.observableArray(); | 36 | self.sequences = ko.observableArray(); |
| 37 | self.totalReadsAndWrites = ko.observable(0); | 37 | self.totalReadsAndWrites = ko.observable(0); |
| 38 | self.unitID = ko.observable(255).extend({ required: true }).extend({ number: true }).extend({ min: 0 }).extend({ max: 255 }); | 38 | self.unitID = ko.observable(255).extend({ required: true }).extend({ number: true }).extend({ min: 0 }).extend({ max: 255 }); |
| 39 | self.pollingRate = ko.observable(2000).extend({ required: true }).extend({ number: true }).extend({ min: 100 }); | 39 | self.pollingRate = ko.observable(2000).extend({ required: true }).extend({ number: true }).extend({ min: 1 }); |
| 40 | self.interSequenceGroupPollDelay = ko.observable(250).extend({ required: true }).extend({ number: true }).extend({ min: 100 }); | 40 | self.interSequenceGroupPollDelay = ko.observable(250).extend({ required: true }).extend({ number: true }).extend({ min: 1 }); |
| 41 | self.ipPort = ko.observable(502).extend({ required: true }).extend({ number: true }).extend({ min: 1 }).extend({ max: 65535 }); | 41 | self.ipPort = ko.observable(502).extend({ required: true }).extend({ number: true }).extend({ min: 1 }).extend({ max: 65535 }); |
| 42 | self.hostName = ko.observable("localhost").extend({ required: true }); | 42 | self.hostName = ko.observable("localhost").extend({ required: true }); |
| 43 | self.interface = ko.observable("0.0.0.0").extend({ required: true }).extend({ pattern: { message: 'Must be a valid IP address', params: /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ } }); | 43 | self.interface = ko.observable("0.0.0.0").extend({ required: true }).extend({ pattern: { message: 'Must be a valid IP address', params: /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ } }); |
| @@ -53,6 +53,8 @@ function MapViewModel() { · 9 unmodified lines | |||
| 53 | self._transport = ko.observable("TCP"); | 53 | self._transport = ko.observable("TCP"); |
| 54 | self._connectionString = ko.observable(""); | 54 | self._connectionString = ko.observable(""); |
| 55 | self._deviceName = ko.observable(""); | 55 | self._deviceName = ko.observable(""); |
| 56 | self._instanceName = ko.observable(""); | ||
| 57 | self._historianID = ko.observable(-1); | ||
| 56 | 58 | ||
| 57 | // Properties | 59 | // Properties |
| 58 | self.isDirty = ko.pureComputed({ | 60 | self.isDirty = ko.pureComputed({ |
| @@ -151,13 +153,55 @@ function MapViewModel() { · 92 unmodified lines | |||
| 151 | params: "^[A-Z0-9\\-!_\\.@#\\$]+$" | 153 | params: "^[A-Z0-9\\-!_\\.@#\\$]+$" |
| 152 | } | 154 | } |
| 153 | })}, { | 155 | })}, { |
| 154 | adapterConnectionString: self.adapterConnectionString.extend({ | 156 | adapterConnectionString: self.adapterConnectionString.extend({ |
| 155 | required: true | 157 | required: true |
| 156 | })}, { | 158 | })}, { |
| 157 | sequences: self.sequences | 159 | sequences: self.sequences |
| 158 | } | 160 | } |
| 159 | ); | 161 | ); |
| 160 | 162 | ||
| 163 | self.historianID = ko.pureComputed({ | ||
| 164 | read: function () { | ||
| 165 | const historianID = self._historianID(); | ||
| 166 | |||
| 167 | if (historianID === -1) | ||
| 168 | return null; | ||
| 169 | |||
| 170 | return historianID; | ||
| 171 | }, | ||
| 172 | owner: self | ||
| 173 | }); | ||
| 174 | |||
| 175 | self.instanceName = ko.pureComputed({ | ||
| 176 | read: self._instanceName, | ||
| 177 | write: function (value) { | ||
| 178 | if (value === self._instanceName()) | ||
| 179 | return; | ||
| 180 | |||
| 181 | if (value) { | ||
| 182 | self._instanceName(value); | ||
| 183 | Cookies.set("instanceName", value.toString(), { expires: 365 }); | ||
| 184 | } else { | ||
| 185 | self._instanceName(""); | ||
| 186 | } | ||
| 187 | |||
| 188 | if (hubIsConnected) { | ||
| 189 | if (isEmpty(self._instanceName())) { | ||
| 190 | self._historianID(-1); | ||
| 191 | } | ||
| 192 | else { | ||
| 193 | dataHub.queryHistorian(self.instanceName()).done(function (historian) { | ||
| 194 | if (historian) | ||
| 195 | self._historianID(historian.ID); | ||
| 196 | else | ||
| 197 | self._historianID(-1); | ||
| 198 | }); | ||
| 199 | } | ||
| 200 | } | ||
| 201 | }, | ||
| 202 | owner: self | ||
| 203 | }); | ||
| 204 | |||
| 161 | // Delegates | 205 | // Delegates |
| 162 | self.reorderSequencePanels = function() { }; | 206 | self.reorderSequencePanels = function() { }; |
| 163 | self.loadMappingComplete = function() { }; | 207 | self.loadMappingComplete = function() { }; |