binding descrizioni e rimozioni allarmi

This commit is contained in:
Paolo Possanzini
2018-01-26 09:24:45 +01:00
parent f8432c32af
commit 505b3d24ba
8 changed files with 44 additions and 17 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hub = undefined;\n\nvar _store = __webpack_require__(35);\n\nfunction recalcArrayId(prefix, alarms) {\n for (var key in alarms) {\n if (alarms.hasOwnProperty(key)) {\n var element = alarms[key];\n element.guid = prefix + \"__\" + element.id.toString();\n }\n }\n}\nvar Hub = /** @class */function () {\n function Hub() {\n this._hub = $.connection.ncHub;\n // Registro le callback;\n this._hub.client.alarms = this.manageAlarmsCallbacks;\n this._hub.client.powerOn = function (r) {\n console.log(r);\n };\n $.connection.hub.start();\n }\n Hub.prototype.manageAlarmsCallbacks = function (alarms) {\n recalcArrayId(\"nc\", alarms.NcAlarms);\n recalcArrayId(\"plc\", alarms.PlcAlarms);\n recalcArrayId(\"process\", alarms.ProcessAlarms);\n var tempList = alarms.NcAlarms.concat(alarms.PlcAlarms).concat(alarms.ProcessAlarms);\n for (var key in tempList) {\n if (tempList.hasOwnProperty(key)) {\n var element = tempList[key];\n if (element.isWarning) _store.alarmsModelActions.addWarning(_store.store, element);else _store.alarmsModelActions.addAlarm(_store.store, element);\n }\n }\n };\n Hub.prototype.recalcId = function (prefix, alarm) {\n alarm.guid = prefix + \"__\" + alarm.id.toString();\n return alarm;\n };\n Hub.prototype.managePowerCallbacks = function () {};\n Hub.prototype.Hello = function () {\n this._hub.server.hello();\n };\n return Hub;\n}();\nexports.Hub = Hub;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL3NlcnZpY2VzL2h1Yi50cz9jOGIwIl0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IEFsYXJtc01vZGVsQWN0aW9uc0ludGVyZmFjZSBmcm9tIFwiLi4vc3RvcmUvYWxhcm1zLnN0b3JlXCJcbmltcG9ydCB7IHNpZ25hbHIgfSBmcm9tIFwic3JjL0B0eXBlcy9zaWduYWxyLmFsYXJtc1wiO1xuaW1wb3J0IHsgc3RvcmUsIGFsYXJtc01vZGVsQWN0aW9ucyB9IGZyb20gXCJzcmMvc3RvcmVcIjtcbmltcG9ydCB7IGFsYXJtRGV0YWlsIH0gZnJvbSBcInNyYy9tb2R1bGVzL2FsYXJtc1wiO1xuXG5cbmRlY2xhcmUgbGV0ICQ6IGFueTtcblxuZnVuY3Rpb24gcmVjYWxjQXJyYXlJZChwcmVmaXg6IHN0cmluZywgYWxhcm1zOiBBcnJheTxzaWduYWxyLmdlbmVyaWNBbGFybT4pe1xuICBmb3IgKGNvbnN0IGtleSBpbiBhbGFybXMpIHtcbiAgICBpZiAoYWxhcm1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBhbGFybXNba2V5XTtcbiAgICAgIGVsZW1lbnQuZ3VpZCA9IHByZWZpeCArIFwiX19cIiArIGVsZW1lbnQuaWQudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEh1YiB7XG5cbiAgcHJpdmF0ZSBfaHViOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgICB0aGlzLl9odWIgPSAkLmNvbm5lY3Rpb24ubmNIdWI7XG5cbiAgICAvLyBSZWdpc3RybyBsZSBjYWxsYmFjaztcbiAgICB0aGlzLl9odWIuY2xpZW50LmFsYXJtcyA9IHRoaXMubWFuYWdlQWxhcm1zQ2FsbGJhY2tzO1xuICAgIHRoaXMuX2h1Yi5jbGllbnQucG93ZXJPbiA9IChyKSA9PiB7IGNvbnNvbGUubG9nKHIpOyB9O1xuXG4gICAgJC5jb25uZWN0aW9uLmh1Yi5zdGFydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VBbGFybXNDYWxsYmFja3MoYWxhcm1zOiBzaWduYWxyLmFsYXJtTWVzc2FnZSkge1xuXG4gICAgcmVjYWxjQXJyYXlJZChcIm5jXCIsIGFsYXJtcy5OY0FsYXJtcyk7XG4gICAgcmVjYWxjQXJyYXlJZChcInBsY1wiLCBhbGFybXMuUGxjQWxhcm1zKTtcbiAgICByZWNhbGNBcnJheUlkKFwicHJvY2Vzc1wiLCBhbGFybXMuUHJvY2Vzc0FsYXJtcyk7XG5cbiAgICBsZXQgdGVtcExpc3QgPSBhbGFybXMuTmNBbGFybXMuY29uY2F0KGFsYXJtcy5QbGNBbGFybXMpLmNvbmNhdChhbGFybXMuUHJvY2Vzc0FsYXJtcyk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0ZW1wTGlzdCkge1xuICAgICAgaWYgKHRlbXBMaXN0Lmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRlbXBMaXN0W2tleV07XG5cbiAgICAgICAgaWYoZWxlbWVudC5pc1dhcm5pbmcpXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZFdhcm5pbmcoc3RvcmUsIGVsZW1lbnQpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZEFsYXJtKHN0b3JlLCBlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSByZWNhbGNJZChwcmVmaXg6IHN0cmluZywgYWxhcm06IHNpZ25hbHIuZ2VuZXJpY0FsYXJtKTogc2lnbmFsci5nZW5lcmljQWxhcm0ge1xuXG4gICAgYWxhcm0uZ3VpZCA9IHByZWZpeCArIFwiX19cIiArIGFsYXJtLmlkLnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIGFsYXJtO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VQb3dlckNhbGxiYWNrcygpIHtcblxuICB9XG5cblxuICBwdWJsaWMgSGVsbG8oKSB7XG4gICAgdGhpcy5faHViLnNlcnZlci5oZWxsbygpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc2VydmljZXMvaHViLnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUlBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUlBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQW5EQTtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///587\n");
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hub = undefined;\n\nvar _store = __webpack_require__(35);\n\nfunction recalcArrayId(prefix, alarms) {\n for (var key in alarms) {\n if (alarms.hasOwnProperty(key)) {\n var element = alarms[key];\n element.guid = prefix + \"__\" + element.id.toString();\n }\n }\n}\nvar Hub = /** @class */function () {\n function Hub() {\n this._hub = $.connection.ncHub;\n // Registro le callback;\n this._hub.client.alarms = this.manageAlarmsCallbacks;\n this._hub.client.powerOn = function (r) {\n console.log(r);\n };\n $.connection.hub.start();\n }\n Hub.prototype.manageAlarmsCallbacks = function (alarms) {\n recalcArrayId(\"nc\", alarms.NcAlarms);\n recalcArrayId(\"plc\", alarms.PlcAlarms);\n recalcArrayId(\"process\", alarms.ProcessAlarms);\n var tempList = alarms.NcAlarms.concat(alarms.PlcAlarms).concat(alarms.ProcessAlarms);\n for (var key in tempList) {\n if (tempList.hasOwnProperty(key)) {\n var element = tempList[key];\n if (element.isWarning) _store.alarmsModelActions.addWarning(_store.store, element);else _store.alarmsModelActions.addAlarm(_store.store, element);\n }\n }\n _store.alarmsModelActions.checkRemove(_store.store, tempList.map(function (i) {\n return i.guid;\n }));\n };\n Hub.prototype.recalcId = function (prefix, alarm) {\n alarm.guid = prefix + \"__\" + alarm.id.toString();\n return alarm;\n };\n Hub.prototype.managePowerCallbacks = function () {};\n Hub.prototype.Hello = function () {\n this._hub.server.hello();\n };\n return Hub;\n}();\nexports.Hub = Hub;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL3NlcnZpY2VzL2h1Yi50cz9jOGIwIl0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IEFsYXJtc01vZGVsQWN0aW9uc0ludGVyZmFjZSBmcm9tIFwiLi4vc3RvcmUvYWxhcm1zLnN0b3JlXCJcbmltcG9ydCB7IHNpZ25hbHIgfSBmcm9tIFwic3JjL0B0eXBlcy9zaWduYWxyLmFsYXJtc1wiO1xuaW1wb3J0IHsgc3RvcmUsIGFsYXJtc01vZGVsQWN0aW9ucyB9IGZyb20gXCJzcmMvc3RvcmVcIjtcbmltcG9ydCB7IGFsYXJtRGV0YWlsIH0gZnJvbSBcInNyYy9tb2R1bGVzL2FsYXJtc1wiO1xuXG5cbmRlY2xhcmUgbGV0ICQ6IGFueTtcblxuZnVuY3Rpb24gcmVjYWxjQXJyYXlJZChwcmVmaXg6IHN0cmluZywgYWxhcm1zOiBBcnJheTxzaWduYWxyLmdlbmVyaWNBbGFybT4pe1xuICBmb3IgKGNvbnN0IGtleSBpbiBhbGFybXMpIHtcbiAgICBpZiAoYWxhcm1zLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBhbGFybXNba2V5XTtcbiAgICAgIGVsZW1lbnQuZ3VpZCA9IHByZWZpeCArIFwiX19cIiArIGVsZW1lbnQuaWQudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEh1YiB7XG5cbiAgcHJpdmF0ZSBfaHViOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgICB0aGlzLl9odWIgPSAkLmNvbm5lY3Rpb24ubmNIdWI7XG5cbiAgICAvLyBSZWdpc3RybyBsZSBjYWxsYmFjaztcbiAgICB0aGlzLl9odWIuY2xpZW50LmFsYXJtcyA9IHRoaXMubWFuYWdlQWxhcm1zQ2FsbGJhY2tzO1xuICAgIHRoaXMuX2h1Yi5jbGllbnQucG93ZXJPbiA9IChyKSA9PiB7IGNvbnNvbGUubG9nKHIpOyB9O1xuXG4gICAgJC5jb25uZWN0aW9uLmh1Yi5zdGFydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VBbGFybXNDYWxsYmFja3MoYWxhcm1zOiBzaWduYWxyLmFsYXJtTWVzc2FnZSkge1xuXG4gICAgcmVjYWxjQXJyYXlJZChcIm5jXCIsIGFsYXJtcy5OY0FsYXJtcyk7XG4gICAgcmVjYWxjQXJyYXlJZChcInBsY1wiLCBhbGFybXMuUGxjQWxhcm1zKTtcbiAgICByZWNhbGNBcnJheUlkKFwicHJvY2Vzc1wiLCBhbGFybXMuUHJvY2Vzc0FsYXJtcyk7XG5cbiAgICBsZXQgdGVtcExpc3QgPSBhbGFybXMuTmNBbGFybXMuY29uY2F0KGFsYXJtcy5QbGNBbGFybXMpLmNvbmNhdChhbGFybXMuUHJvY2Vzc0FsYXJtcyk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0ZW1wTGlzdCkge1xuICAgICAgaWYgKHRlbXBMaXN0Lmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRlbXBMaXN0W2tleV07XG5cbiAgICAgICAgaWYoZWxlbWVudC5pc1dhcm5pbmcpXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZFdhcm5pbmcoc3RvcmUsIGVsZW1lbnQpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZEFsYXJtKHN0b3JlLCBlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhbGFybXNNb2RlbEFjdGlvbnMuY2hlY2tSZW1vdmUoc3RvcmUsIHRlbXBMaXN0Lm1hcChpID0+IGkuZ3VpZCkpO1xuICB9XG5cblxuXG4gIHByaXZhdGUgcmVjYWxjSWQocHJlZml4OiBzdHJpbmcsIGFsYXJtOiBzaWduYWxyLmdlbmVyaWNBbGFybSk6IHNpZ25hbHIuZ2VuZXJpY0FsYXJtIHtcblxuICAgIGFsYXJtLmd1aWQgPSBwcmVmaXggKyBcIl9fXCIgKyBhbGFybS5pZC50b1N0cmluZygpO1xuICAgIHJldHVybiBhbGFybTtcbiAgfVxuXG4gIHByaXZhdGUgbWFuYWdlUG93ZXJDYWxsYmFja3MoKSB7XG5cbiAgfVxuXG5cbiAgcHVibGljIEhlbGxvKCkge1xuICAgIHRoaXMuX2h1Yi5zZXJ2ZXIuaGVsbG8oKTtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3NlcnZpY2VzL2h1Yi50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFJQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFJQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFyREE7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///587\n");
/***/ }),
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -5,7 +5,7 @@ declare module signalr {
interface genericAlarm {
id: number,
guid?: string,
alarmMessage: string,
message: string,
dateTime: Date,
isWarning: boolean
}
+2 -2
View File
@@ -76,10 +76,10 @@ export default class TestStatus extends Vue {
processModelActions.removeAllProcess(this.$store);
}
addAlarm() {
alarmsModelActions.addAlarm(this.$store, { alarmMessage: "Lorem Ipsum dolor sit amen ... ", dateTime: new Date(), id: new Date().getTime(), isWarning: false });
alarmsModelActions.addAlarm(this.$store, { message: "Lorem Ipsum dolor sit amen ... ", dateTime: new Date(), id: new Date().getTime(), isWarning: false });
}
addWarning() {
alarmsModelActions.addWarning(this.$store, { alarmMessage: "Lorem Ipsum dolor sit amen ... ", dateTime: new Date(), id: new Date().getTime(), isWarning: true });
alarmsModelActions.addWarning(this.$store, { message: "Lorem Ipsum dolor sit amen ... ", dateTime: new Date(), id: new Date().getTime(), isWarning: true });
}
removeAlarms() {
alarmsModelActions.removeAllAlarms(this.$store);
+1 -1
View File
@@ -56,7 +56,7 @@ export default class AppHeader extends Vue {
// Controllo se ci sono allarmi
let s = this.$store.state as AppModel;
debugger
if (s.alarms.alarms.length > 0) return ribbonStatusEnum.Alarm;
if (s.alarms.warnings.length > 0) return ribbonStatusEnum.Warning;
if (s.process.process.length > 0) return ribbonStatusEnum.Working;
+2
View File
@@ -49,6 +49,8 @@ export class Hub {
alarmsModelActions.addAlarm(store, element);
}
}
alarmsModelActions.checkRemove(store, tempList.map(i => i.guid));
}
+34 -9
View File
@@ -30,7 +30,8 @@ export interface AlarmsModelActionsInterface {
addWarning(context, alarm: signalr.genericAlarm);
addServiceAlarm(context, alarm: signalr.genericAlarm);
toggleOpened(context, status);
toggleServiceOpened(store, status)
toggleServiceOpened(store, status);
checkRemove(context, alarmsKeys: Array<string>);
}
export const alarmsStore = {
@@ -54,12 +55,12 @@ export const alarmsStore = {
date: alarm.dateTime,
id: alarm.id.toString(),
uid: alarm.guid,
description: alarm.alarmMessage,
title: "",
description: null,
title: alarm.message,
status: "active",
type: "alarm"
} as AlarmModel);
debugger
store.alarms = Array.from(store._alarms.values());
}
@@ -70,8 +71,8 @@ export const alarmsStore = {
date: alarm.dateTime,
id: alarm.id.toString(),
uid: alarm.guid,
description: alarm.alarmMessage,
title: "",
description: null,
title: alarm.message,
status: "active",
type: "warning"
} as AlarmModel);
@@ -111,8 +112,8 @@ export const alarmsStore = {
date: alarm.dateTime,
id: alarm.id.toString(),
uid: alarm.guid,
description: alarm.alarmMessage,
title: "",
description: null,
title: alarm.message,
status: "active",
type: "service"
} as AlarmModel);
@@ -123,13 +124,34 @@ export const alarmsStore = {
if (store._serviceAlarms.has(alarm.guid))
store._serviceAlarms.delete(alarm.guid);
store.serviceAlarms = Array.from(store._serviceAlarms.values());
store.serviceAlarms = Array.from(store._serviceAlarms.values());
},
ToggleOpened(store, status) {
store.opened = status;
},
ToggleServiceOpened(store, status) {
store.serviceOpened = status;
},
CheckRemove(store, keys: Array<String>) {
let removed = false;
// Cancello gli allarmi
let ak = Array.from((store._alarms as Map<string, AlarmModel>).keys());
for (const index in ak) {
if (keys.indexOf(ak[index]) < 0) { store._alarms.delete(ak[index]); removed = true; }
}
// Cancello i warnings
let wk = Array.from((store._warnings as Map<string, AlarmModel>).keys());
for (const index in wk) {
if (keys.indexOf(wk[index]) < 0) { store._warnings.delete(wk[index]); removed = true; }
}
if(removed)
{
store.warnings = Array.from(store._warnings.values());
store.alarms = Array.from(store._alarms.values());
}
}
},
@@ -154,6 +176,9 @@ export const alarmsStore = {
},
toggleServiceOpened(context, status) {
context.commit("ToggleServiceOpened", status);
},
checkRemove(context, alarmsKeys: Array<string>) {
context.commit("CheckRemove", alarmsKeys);
}
} as AlarmsModelActionsInterface