Initial commit

This commit is contained in:
2025-10-22 22:06:16 +02:00
commit d8ca4e154f
141 changed files with 32231 additions and 0 deletions

113
frontend/views/dashboard/dist/artNet.js vendored Normal file
View File

@@ -0,0 +1,113 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArtNet = void 0;
var morphux_1 = require("morphux");
var ArtNet = /** @class */ (function () {
function ArtNet(Main) {
this.universesContainer = document.querySelector('.ntsh_artnet-universes');
this.stateContainer = document.querySelector('.ntsh_artnet-state');
this._Main = Main;
this.prepareUniverses();
this.setupHandler();
}
ArtNet.prototype.prepareUniverses = function () {
return __awaiter(this, void 0, void 0, function () {
var request, universes;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, fetch('/universes')];
case 1:
request = _a.sent();
return [4 /*yield*/, request.json()];
case 2:
universes = _a.sent();
universes.forEach(function (universe) {
var button = new morphux_1.MorphComponent.Button({
mode: 'normal',
content: String(universe),
target: function () {
_this.universesContainer
.querySelectorAll('.mux_button')
.forEach(function (btn) { return btn.classList.remove('ntsh_active'); });
button.container.classList.add('ntsh_active');
_this.showFrame(universe);
},
});
_this.universesContainer.appendChild(button.container);
});
return [2 /*return*/];
}
});
});
};
ArtNet.prototype.showFrame = function (universe) {
this.frame = (0, morphux_1.ce)('iframe', null, { src: "/universe/".concat(universe) });
this.stateContainer.innerHTML = '';
this.stateContainer.appendChild(this.frame);
this.currentUniverse = universe;
this.setupRefreshClock();
};
ArtNet.prototype.setupRefreshClock = function () {
var _this = this;
clearInterval(this.refreshClock);
this.refreshClock = setInterval(function () {
_this.frame.src = "/universe/".concat(_this.currentUniverse);
}, 1000);
};
ArtNet.prototype.setupHandler = function () {
var _this = this;
this._Main.TabController.registerListener('artnet', function (visible) {
var _a;
if (visible) {
_this.universesContainer
.querySelectorAll('.mux_button')
.forEach(function (btn) { return btn.classList.remove('ntsh_active'); });
}
else {
if (((_a = _this.frame) === null || _a === void 0 ? void 0 : _a.parentElement) != null)
_this.frame.remove();
clearInterval(_this.refreshClock);
}
});
};
return ArtNet;
}());
exports.ArtNet = ArtNet;
//# sourceMappingURL=artNet.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"artNet.js","sourceRoot":"","sources":["../ts/artNet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAG7C;IAWC,gBAAY,IAAU;QANtB,uBAAkB,GAAmB,QAAQ,CAAC,aAAa,CAC1D,wBAAwB,CACxB,CAAC;QACF,mBAAc,GACb,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAG7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAEa,iCAAgB,GAA9B;;;;;;4BACe,qBAAM,KAAK,CAAC,YAAY,CAAC,EAAA;;wBAAnC,OAAO,GAAG,SAAyB;wBACb,qBAAM,OAAO,CAAC,IAAI,EAAE,EAAA;;wBAA1C,SAAS,GAAa,SAAoB;wBAE9C,SAAS,CAAC,OAAO,CAAC,UAAC,QAAQ;4BAC1B,IAAI,MAAM,GAAG,IAAI,wBAAc,CAAC,MAAM,CAAC;gCACtC,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC;gCACzB,MAAM,EAAE;oCACP,KAAI,CAAC,kBAAkB;yCACrB,gBAAgB,CAAC,aAAa,CAAC;yCAC/B,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAAnC,CAAmC,CAAC,CAAC;oCACxD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oCAE9C,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gCAC1B,CAAC;6BACD,CAAC,CAAC;4BACH,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACvD,CAAC,CAAC,CAAC;;;;;KACH;IAGO,0BAAS,GAAjB,UAAkB,QAAgB;QACjC,IAAI,CAAC,KAAK,GAAG,IAAA,YAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,oBAAa,QAAQ,CAAE,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAEhC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAGO,kCAAiB,GAAzB;QAAA,iBAKC;QAJA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAC/B,KAAI,CAAC,KAAK,CAAC,GAAG,GAAG,oBAAa,KAAI,CAAC,eAAe,CAAE,CAAC;QACtD,CAAC,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;IAEO,6BAAY,GAApB;QAAA,iBAWC;QAVA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAC,OAAO;;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACb,KAAI,CAAC,kBAAkB;qBACrB,gBAAgB,CAAC,aAAa,CAAC;qBAC/B,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,EAAnC,CAAmC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAA,MAAA,KAAI,CAAC,KAAK,0CAAE,aAAa,KAAI,IAAI;oBAAE,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3D,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,aAAC;AAAD,CAAC,AAvED,IAuEC;AAvEY,wBAAM"}

View File

@@ -0,0 +1,37 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Calibration = void 0;
var Calibration = /** @class */ (function () {
function Calibration(Main) {
this.container = document.querySelector('.ntsh_calibration');
this.image = this.container.querySelector('img');
this.fullscreenButton = this.container.querySelector('.ntsh_calibration-fullscreen');
this._Main = Main;
this.registerListeners();
}
Calibration.prototype.startFetchClock = function () {
var _this = this;
this.image.src = "/calibrationImage?t=".concat(Date.now());
this.fetchClock = setInterval(function () {
_this.image.src = "/calibrationImage?t=".concat(Date.now());
}, 1000);
};
Calibration.prototype.stopFetchClock = function () {
clearInterval(this.fetchClock);
};
Calibration.prototype.registerListeners = function () {
var _this = this;
this._Main.TabController.registerListener('calibration', function (visible) {
if (visible)
_this.startFetchClock();
else
_this.stopFetchClock();
});
this.fullscreenButton.addEventListener('click', function () {
_this.image.requestFullscreen();
});
};
return Calibration;
}());
exports.Calibration = Calibration;
//# sourceMappingURL=calibration.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"calibration.js","sourceRoot":"","sources":["../ts/calibration.ts"],"names":[],"mappings":";;;AAEA;IASC,qBAAY,IAAU;QANtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QACxE,UAAK,GAAqB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9D,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,8BAA8B,CAC9B,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAGD,qCAAe,GAAf;QAAA,iBAKC;QAJA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,8BAAuB,IAAI,CAAC,GAAG,EAAE,CAAE,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;YAC7B,KAAI,CAAC,KAAK,CAAC,GAAG,GAAG,8BAAuB,IAAI,CAAC,GAAG,EAAE,CAAE,CAAC;QACtD,CAAC,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;IAED,oCAAc,GAAd;QACC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEO,uCAAiB,GAAzB;QAAA,iBASC;QARA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAC,OAAO;YAChE,IAAI,OAAO;gBAAE,KAAI,CAAC,eAAe,EAAE,CAAC;;gBAC/B,KAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE;YAC/C,KAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,kBAAC;AAAD,CAAC,AArCD,IAqCC;AArCY,kCAAW"}

View File

@@ -0,0 +1,161 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardCameraRunner = void 0;
var morphux_1 = require("morphux");
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardCameraRunner = /** @class */ (function () {
function DashboardCameraRunner(Main) {
this.container = document.querySelector('.ntsh_dashboard-camerarunner');
this.connectionStatus = this.container.querySelector('.ntsh_dashboard-camerarunner-connectionstatus');
this.connectionInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-connectioninfo');
this.rebootButton = this.container.querySelector('.ntsh_dashboard-camerarunner-reboot');
this.processStatus = this.container.querySelector('.ntsh_dashboard-camerarunner-processstatus');
this.processInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-processinfo');
this.restartButton = this.container.querySelector('.ntsh_dashboard-camerarunner-restart');
this.uptimeInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-uptime');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-camerarunner-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-camerarunner-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardCameraRunner.prototype.updateState = function (state) {
var _a, _b, _c;
// ----------- Connection -----------
(0, utils_1.setStatusState)(this.connectionStatus, {
CONNECTING: 'yellow',
CONNECTED: 'green',
DISCONNECTED: 'gray',
FAILED: 'red',
}[state.state]);
this.connectionInfo.innerText = (_a = state.message) !== null && _a !== void 0 ? _a : '';
// ----------- Process -----------
if (state.state != 'CONNECTED') {
state.processStatus.state = 'PROBLEM';
state.processStatus.message = 'Not connected to CameraRunner';
state.processStatus.startTime = -1;
this.restartButton.style.display = 'none';
this.rebootButton.style.display = 'none';
}
else {
this.rebootButton.style.display = 'flex';
if (state.processStatus.state == 'RUNNING')
this.restartButton.style.display = 'flex';
else
this.restartButton.style.display = 'none';
}
(0, utils_1.setStatusState)(this.processStatus, {
RUNNING: 'green',
STOPPED: 'gray',
STARTING: 'yellow',
PROBLEM: 'red',
}[state.processStatus.state]);
this.processInfo.innerText = (_b = state.processStatus.message) !== null && _b !== void 0 ? _b : '';
// ----------- Uptime -----------
var uptimeSeconds = state.processStatus.startTime == -1
? -1
: (Date.now() - state.processStatus.startTime) / 1000;
this.uptimeInfo.innerText = (0, utils_1.formatUptime)(uptimeSeconds);
// ----------- Error -----------
if (((_c = state === null || state === void 0 ? void 0 : state.error) !== null && _c !== void 0 ? _c : '').trim().length > 0) {
this.errorText.innerText = state.error;
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
this._Main.Logs.setCameraLogs(state.processStatus.output.current);
};
DashboardCameraRunner.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('cameraRunnerState', function (state) {
_this.updateState(state);
});
this.restartButton.addEventListener('click', function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.executeCommand('restart', 'Are you sure you want to restart the Camera Runner process?');
return [2 /*return*/];
});
}); });
this.rebootButton.addEventListener('click', function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.executeCommand('reboot', 'Are you sure you want to reboot the Camera Runner machine?');
return [2 /*return*/];
});
}); });
};
DashboardCameraRunner.prototype.executeCommand = function (command, message) {
return __awaiter(this, void 0, void 0, function () {
var confirmed;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
title: 'Are you sure?',
message: message,
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/];
morphux_1.MorphFeature.Loader({
active: true,
message: "Requesting Camera Runner ".concat(command, "..."),
});
this._Main.socket.emit('cameraRunner', command, function (response) {
morphux_1.MorphFeature.Loader({ active: false });
if (!response.succeed)
return morphux_1.MorphFeature.Alert({
title: 'Error',
message: response.message,
});
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Camera Runner is ".concat(command, "ing..."),
});
});
return [2 /*return*/];
}
});
});
};
return DashboardCameraRunner;
}());
exports.DashboardCameraRunner = DashboardCameraRunner;
//# sourceMappingURL=dashboard.camerarunner%20copy.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.camerarunner copy.js","sourceRoot":"","sources":["../ts/dashboard.camerarunner copy.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,166 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardCameraRunner = void 0;
var morphux_1 = require("morphux");
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardCameraRunner = /** @class */ (function () {
function DashboardCameraRunner(Main) {
this.container = document.querySelector('.ntsh_dashboard-camerarunner');
this.connectionStatus = this.container.querySelector('.ntsh_dashboard-camerarunner-connectionstatus');
this.connectionInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-connectioninfo');
this.rebootButton = this.container.querySelector('.ntsh_dashboard-camerarunner-reboot');
this.processStatus = this.container.querySelector('.ntsh_dashboard-camerarunner-processstatus');
this.processInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-processinfo');
this.restartButton = this.container.querySelector('.ntsh_dashboard-camerarunner-restart');
this.uptimeInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-uptime');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-camerarunner-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-camerarunner-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardCameraRunner.prototype.updateState = function (state) {
var _a, _b, _c, _d, _e;
// ----------- Connection -----------
(0, utils_1.setStatusState)(this.connectionStatus, {
CONNECTING: 'yellow',
CONNECTED: 'green',
DISCONNECTED: 'red',
FAILED: 'red',
}[state.state]);
this.connectionInfo.innerText = (_a = state.message) !== null && _a !== void 0 ? _a : '';
// ----------- Process -----------
if (state.state != 'CONNECTED') {
state.processStatus.state = 'STOPPED';
state.processStatus.message = 'Not connected';
state.processStatus.startTime = -1;
this.restartButton.style.display = 'none';
this.rebootButton.style.display = 'none';
}
else {
this.rebootButton.style.display = 'flex';
if (state.processStatus.state == 'RUNNING')
this.restartButton.style.display = 'flex';
else
this.restartButton.style.display = 'none';
}
(0, utils_1.setStatusState)(this.processStatus, {
RUNNING: 'green',
STOPPED: 'gray',
STARTING: 'yellow',
PROBLEM: 'red',
}[state.processStatus.state]);
this.processInfo.innerText = (_b = state.processStatus.message) !== null && _b !== void 0 ? _b : '';
// ----------- Uptime -----------
var uptimeSeconds = state.processStatus.startTime == -1
? -1
: (Date.now() - state.processStatus.startTime) / 1000;
this.uptimeInfo.innerText = (0, utils_1.formatUptime)(uptimeSeconds);
// ----------- Error -----------
var errors = [];
if (((_c = state === null || state === void 0 ? void 0 : state.error) !== null && _c !== void 0 ? _c : '').trim().length > 0)
errors.push(state.error);
if (((_e = (_d = state === null || state === void 0 ? void 0 : state.processStatus) === null || _d === void 0 ? void 0 : _d.error) !== null && _e !== void 0 ? _e : '').trim().length > 0)
errors.push(state.processStatus.error);
if (errors.length > 0) {
this.errorText.innerText = errors.join('\n');
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
this._Main.Logs.setCameraLogs(state.processStatus.output.current);
};
DashboardCameraRunner.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('cameraRunnerState', function (state) {
_this.updateState(state);
});
this.restartButton.addEventListener('click', function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.executeCommand('restart', 'Are you sure you want to restart the Camera Runner process?');
return [2 /*return*/];
});
}); });
this.rebootButton.addEventListener('click', function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.executeCommand('reboot', 'Are you sure you want to reboot the Camera Runner machine?');
return [2 /*return*/];
});
}); });
};
DashboardCameraRunner.prototype.executeCommand = function (command, message) {
return __awaiter(this, void 0, void 0, function () {
var confirmed;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
title: 'Are you sure?',
message: message,
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/];
morphux_1.MorphFeature.Loader({
active: true,
message: "Requesting Camera Runner ".concat(command, "..."),
});
this._Main.socket.emit('cameraRunner', command, function (response) {
morphux_1.MorphFeature.Loader({ active: false });
if (!response.succeed)
return morphux_1.MorphFeature.Alert({
title: 'Error',
message: response.message,
});
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Camera Runner is ".concat(command, "ing..."),
});
});
return [2 /*return*/];
}
});
});
};
return DashboardCameraRunner;
}());
exports.DashboardCameraRunner = DashboardCameraRunner;
//# sourceMappingURL=dashboard.camerarunner.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.camerarunner.js","sourceRoot":"","sources":["../ts/dashboard.camerarunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAuC;AAEvC,iCAKiB;AAEjB,IAAM,OAAO,GAAG,IAAI,CAAC;AAErB;IAsCC,+BAAY,IAAU;QAnCtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,8BAA8B,CAC9B,CAAC;QAEF,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,+CAA+C,CAC/C,CAAC;QACF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,6CAA6C,CAC7C,CAAC;QACF,iBAAY,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC1D,qCAAqC,CACrC,CAAC;QAEF,kBAAa,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC3D,4CAA4C,CAC5C,CAAC;QACF,gBAAW,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACzD,0CAA0C,CAC1C,CAAC;QACF,kBAAa,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC3D,sCAAsC,CACtC,CAAC;QAEF,eAAU,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACxD,qCAAqC,CACrC,CAAC;QAEF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,oCAAoC,CACpC,CAAC;QACF,cAAS,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACvD,wCAAwC,CACxC,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,2CAAW,GAAX,UAAY,KAAyB;;QACpC,qCAAqC;QACrC,IAAA,sBAAc,EACb,IAAI,CAAC,gBAAgB,EACrB;YACC,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,KAAK;SACb,CAAC,KAAK,CAAC,KAAK,CAAe,CAC5B,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC;QAEpD,kCAAkC;QAClC,IAAI,KAAK,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC;YACtC,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC;YAC9C,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAEnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAEzC,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,IAAI,SAAS;gBACzC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;;gBACtC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAChD,CAAC;QAED,IAAA,sBAAc,EACb,IAAI,CAAC,aAAa,EAClB;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,KAAK;SACd,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAe,CAC1C,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,MAAA,KAAK,CAAC,aAAa,CAAC,OAAO,mCAAI,EAAE,CAAC;QAE/D,iCAAiC;QACjC,IAAM,aAAa,GAClB,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,CAAC;QAExD,gCAAgC;QAChC,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,iDAAiB,GAAjB;QAAA,iBAqBC;QApBA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACnB,mBAAmB,EACnB,UAAC,KAAyB;YACzB,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CACD,CAAC;QAEF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE;;gBAC5C,IAAI,CAAC,cAAc,CAClB,SAAS,EACT,6DAA6D,CAC7D,CAAC;;;aACF,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE;;gBAC3C,IAAI,CAAC,cAAc,CAClB,QAAQ,EACR,4DAA4D,CAC5D,CAAC;;;aACF,CAAC,CAAC;IACJ,CAAC;IAEa,8CAAc,GAA5B,UAA6B,OAAe,EAAE,OAAe;;;;;4BAC1C,qBAAM,sBAAY,CAAC,OAAO,CAAC;4BAC5C,KAAK,EAAE,eAAe;4BACtB,OAAO,SAAA;yBACP,CAAC,EAAA;;wBAHI,SAAS,GAAG,SAGhB;wBACF,IAAI,CAAC,SAAS;4BAAE,sBAAO;wBAEvB,sBAAY,CAAC,MAAM,CAAC;4BACnB,MAAM,EAAE,IAAI;4BACZ,OAAO,EAAE,mCAA4B,OAAO,QAAK;yBACjD,CAAC,CAAC;wBACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACrB,cAAc,EACd,OAAO,EACP,UAAC,QAAgD;4BAChD,sBAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;4BAEvC,IAAI,CAAC,QAAQ,CAAC,OAAO;gCACpB,OAAO,sBAAY,CAAC,KAAK,CAAC;oCACzB,KAAK,EAAE,OAAO;oCACd,OAAO,EAAE,QAAQ,CAAC,OAAO;iCACzB,CAAC,CAAC;4BAEJ,sBAAY,CAAC,YAAY,CAAC;gCACzB,KAAK,EAAE,SAAS;gCAChB,OAAO,EAAE,2BAAoB,OAAO,WAAQ;6BAC5C,CAAC,CAAC;wBACJ,CAAC,CACD,CAAC;;;;;KACF;IACF,4BAAC;AAAD,CAAC,AAhKD,IAgKC;AAhKY,sDAAqB"}

View File

@@ -0,0 +1,41 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardCameraRunner = void 0;
var CELCIUS = 'ºC';
var DashboardCameraRunner = /** @class */ (function () {
function DashboardCameraRunner(Main) {
this.container = document.querySelector('.ntsh_dashboard-camerarunner');
this.connectionStatus = this.container.querySelector('.ntsh_dashboard-camerarunner-connectedstatus');
this.connectionInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-connectedinfo');
this.processStatus = this.container.querySelector('.ntsh_dashboard-camerarunner-processstatus');
this.processInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-processinfo');
this.restartButton = this.container.querySelector('.ntsh_dashboard-camerarunner-restart');
this.uptimeInfo = this.container.querySelector('.ntsh_dashboard-camerarunner-uptimeinfo');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-camerarunner-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-camerarunner-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardCameraRunner.prototype.updateState = function (state) {
var _a;
console.log(state);
// ----------- Error -----------
if (((_a = state === null || state === void 0 ? void 0 : state.error) !== null && _a !== void 0 ? _a : '').trim().length > 0) {
this.errorText.innerText = state.error;
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
};
DashboardCameraRunner.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('ledControllerState', function (state) {
_this.updateState(state);
});
};
return DashboardCameraRunner;
}());
exports.DashboardCameraRunner = DashboardCameraRunner;
//# sourceMappingURL=dashboard.ledcontroller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.ledcontroller.js","sourceRoot":"","sources":["../ts/dashboard.ledcontroller.ts"],"names":[],"mappings":";;;AAIA,IAAM,OAAO,GAAG,IAAI,CAAC;AAErB;IAmCC,+BAAY,IAAU;QAhCtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,8BAA8B,CAC9B,CAAC;QAEF,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,8CAA8C,CAC9C,CAAC;QACF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,4CAA4C,CAC5C,CAAC;QAEF,kBAAa,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC3D,4CAA4C,CAC5C,CAAC;QACF,gBAAW,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACzD,0CAA0C,CAC1C,CAAC;QACF,kBAAa,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC3D,sCAAsC,CACtC,CAAC;QAEF,eAAU,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACxD,yCAAyC,CACzC,CAAC;QAEF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,oCAAoC,CACpC,CAAC;QACF,cAAS,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACvD,wCAAwC,CACxC,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,2CAAW,GAAX,UAAY,KAAyB;;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,gCAAgC;QAChC,IAAI,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,iDAAiB,GAAjB;QAAA,iBAOC;QANA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACnB,oBAAoB,EACpB,UAAC,KAAyB;YACzB,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CACD,CAAC;IACH,CAAC;IACF,4BAAC;AAAD,CAAC,AA7DD,IA6DC;AA7DY,sDAAqB"}

View File

@@ -0,0 +1,50 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardMMWave = void 0;
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardMMWave = /** @class */ (function () {
function DashboardMMWave(Main) {
this.container = document.querySelector('.ntsh_dashboard-mmwave');
this.standardPortStatus = this.container.querySelector('.ntsh_dashboard-mmwave-standardstatus');
this.standardPortInfo = this.container.querySelector('.ntsh_dashboard-mmwave-standardinfo');
this.enhancedPortStatus = this.container.querySelector('.ntsh_dashboard-mmwave-enhancedstatus');
this.enhancedPortInfo = this.container.querySelector('.ntsh_dashboard-mmwave-enhancedinfo');
this.framesPerSecond = this.container.querySelector('.ntsh_dashboard-mmwave-framespersecond');
this.trackedPersons = this.container.querySelector('.ntsh_dashboard-mmwave-trackedpersons');
this.personsInBounds = this.container.querySelector('.ntsh_dashboard-mmwave-personsinbounds');
this._Main = Main;
this.registerListeners();
}
DashboardMMWave.prototype.updateState = function (state) {
if (state == null)
return;
// ----------- Standard Port -----------
(0, utils_1.setStatusState)(this.standardPortStatus, state.ports.standard.connected == 'connecting'
? 'warning'
: state.ports.standard.connected
? 'ok'
: 'error');
this.standardPortInfo.innerText = state.ports.standard.path;
// ----------- Enhanced Port -----------
(0, utils_1.setStatusState)(this.enhancedPortStatus, state.ports.enhanced.connected == 'connecting'
? 'warning'
: state.ports.enhanced.connected
? 'ok'
: 'error');
this.enhancedPortInfo.innerText = state.ports.enhanced.path;
// ----------- Statistics -----------
this.framesPerSecond.innerText = state.framesPerSecond.toString();
this.trackedPersons.innerText = state.trackedPersons.toString();
this.personsInBounds.innerText = state.personsInBounds.toString();
};
DashboardMMWave.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('mmWaveState', function (state) {
_this.updateState(state);
});
};
return DashboardMMWave;
}());
exports.DashboardMMWave = DashboardMMWave;
//# sourceMappingURL=dashboard.mmwave%20copy.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.mmwave copy.js","sourceRoot":"","sources":["../ts/dashboard.mmwave copy.ts"],"names":[],"mappings":";;;AAEA,iCAAyC;AAEzC,IAAM,OAAO,GAAG,IAAI,CAAC;AAErB;IA+BC,yBAAY,IAAU;QA5BtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,wBAAwB,CACxB,CAAC;QAEF,uBAAkB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAChE,uCAAuC,CACvC,CAAC;QACF,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,qCAAqC,CACrC,CAAC;QAEF,uBAAkB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAChE,uCAAuC,CACvC,CAAC;QACF,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,qCAAqC,CACrC,CAAC;QAEF,oBAAe,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC7D,wCAAwC,CACxC,CAAC;QACF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,uCAAuC,CACvC,CAAC;QACF,oBAAe,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC7D,wCAAwC,CACxC,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,qCAAW,GAAX,UAAY,KAAkB;QAC7B,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO;QAE1B,wCAAwC;QACxC,IAAA,sBAAc,EACb,IAAI,CAAC,kBAAkB,EACvB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS;gBAChC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CACV,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE5D,wCAAwC;QACxC,IAAA,sBAAc,EACb,IAAI,CAAC,kBAAkB,EACvB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY;YAC7C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS;gBAChC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,OAAO,CACV,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE5D,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC;IAED,2CAAiB,GAAjB;QAAA,iBAIC;QAHA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,UAAC,KAAkB;YACtD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,sBAAC;AAAD,CAAC,AAzED,IAyEC;AAzEY,0CAAe"}

View File

@@ -0,0 +1,60 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardMMWave = void 0;
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardMMWave = /** @class */ (function () {
function DashboardMMWave(Main) {
this.container = document.querySelector('.ntsh_dashboard-mmwave');
this.standardPortStatus = this.container.querySelector('.ntsh_dashboard-mmwave-standardstatus');
this.standardPortInfo = this.container.querySelector('.ntsh_dashboard-mmwave-standardinfo');
this.enhancedPortStatus = this.container.querySelector('.ntsh_dashboard-mmwave-enhancedstatus');
this.enhancedPortInfo = this.container.querySelector('.ntsh_dashboard-mmwave-enhancedinfo');
this.framesPerSecond = this.container.querySelector('.ntsh_dashboard-mmwave-framespersecond');
this.trackedPersons = this.container.querySelector('.ntsh_dashboard-mmwave-trackedpersons');
this.personsInBounds = this.container.querySelector('.ntsh_dashboard-mmwave-personsinbounds');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-mmwave-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-mmwave-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardMMWave.prototype.updateState = function (state) {
var _a;
if (state == null)
return;
var statusColors = {
CONNECTED: 'green',
DISCONNECTED: 'gray',
CONNECTING: 'yellow',
PROBLEM: 'red',
};
// ----------- Standard Port -----------
(0, utils_1.setStatusState)(this.standardPortStatus, statusColors[state.ports.standard.connected]);
this.standardPortInfo.innerText = state.ports.standard.info;
// ----------- Enhanced Port -----------
(0, utils_1.setStatusState)(this.enhancedPortStatus, statusColors[state.ports.enhanced.connected]);
this.enhancedPortInfo.innerText = state.ports.enhanced.info;
// ----------- Statistics -----------
this.framesPerSecond.innerText = state.framesPerSecond.toString();
this.trackedPersons.innerText = state.trackedPersons.toString();
this.personsInBounds.innerText = state.personsInBounds.toString();
// ----------- Error -----------
if (((_a = state === null || state === void 0 ? void 0 : state.error) !== null && _a !== void 0 ? _a : '').trim().length > 0) {
this.errorText.innerText = state.error;
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
};
DashboardMMWave.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('mmWaveState', function (state) {
_this.updateState(state);
});
};
return DashboardMMWave;
}());
exports.DashboardMMWave = DashboardMMWave;
//# sourceMappingURL=dashboard.mmwave.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.mmwave.js","sourceRoot":"","sources":["../ts/dashboard.mmwave.ts"],"names":[],"mappings":";;;AAEA,iCAAqD;AAErD,IAAM,OAAO,GAAG,IAAI,CAAC;AAErB;IAsCC,yBAAY,IAAU;QAnCtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,wBAAwB,CACxB,CAAC;QAEF,uBAAkB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAChE,uCAAuC,CACvC,CAAC;QACF,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,qCAAqC,CACrC,CAAC;QAEF,uBAAkB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAChE,uCAAuC,CACvC,CAAC;QACF,qBAAgB,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC9D,qCAAqC,CACrC,CAAC;QAEF,oBAAe,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC7D,wCAAwC,CACxC,CAAC;QACF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,uCAAuC,CACvC,CAAC;QACF,oBAAe,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC7D,wCAAwC,CACxC,CAAC;QAEF,mBAAc,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CAC5D,8BAA8B,CAC9B,CAAC;QACF,cAAS,GAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,CACvD,kCAAkC,CAClC,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,qCAAW,GAAX,UAAY,KAAkB;;QAC7B,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO;QAE1B,IAAM,YAAY,GAAkC;YACnD,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,KAAK;SACd,CAAC;QACF,wCAAwC;QACxC,IAAA,sBAAc,EACb,IAAI,CAAC,kBAAkB,EACvB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5C,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE5D,wCAAwC;QACxC,IAAA,sBAAc,EACb,IAAI,CAAC,kBAAkB,EACvB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC5C,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE5D,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;QAElE,gCAAgC;QAChC,IAAI,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,2CAAiB,GAAjB;QAAA,iBAIC;QAHA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,UAAC,KAAkB;YACtD,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,sBAAC;AAAD,CAAC,AAvFD,IAuFC;AAvFY,0CAAe"}

View File

@@ -0,0 +1,149 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardProjector = void 0;
var morphux_1 = require("morphux");
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardProjector = /** @class */ (function () {
function DashboardProjector(Main) {
this.container = document.querySelector('.ntsh_dashboard-projector');
this.powerStatus = this.container.querySelector('.ntsh_dashboard-projector-powerstatus');
this.powerInfo = this.container.querySelector('.ntsh_dashboard-projector-powerinfo');
this.powerOnButton = this.container.querySelector('.ntsh_dashboard-projector-poweron');
this.powerOffButton = this.container.querySelector('.ntsh_dashboard-projector-poweroff');
this.laserStatus = this.container.querySelector('.ntsh_dashboard-projector-laserstatus');
this.laserInfo = this.container.querySelector('.ntsh_dashboard-projector-laserinfo');
this.shutterOpenButton = this.container.querySelector('.ntsh_dashboard-projector-shutteropen');
this.shutterCloseButton = this.container.querySelector('.ntsh_dashboard-projector-shutterclose');
this.sourceStatus = this.container.querySelector('.ntsh_dashboard-projector-sourcestatus');
this.sourceInfo = this.container.querySelector('.ntsh_dashboard-projector-sourceinfo');
this.sourceHDMIButton = this.container.querySelector('.ntsh_dashboard-projector-sourcehdmi');
this.sourceDVIDButton = this.container.querySelector('.ntsh_dashboard-projector-sourcedvid');
this.sourceDisplayPortButton = this.container.querySelector('.ntsh_dashboard-projector-sourcedisplayport');
this.sourceSDIButton = this.container.querySelector('.ntsh_dashboard-projector-sourcesdi');
this.temperatureIntake = this.container.querySelector('.ntsh_dashboard-projector-temperature-temperatureintake');
this.temmperatureLaser = this.container.querySelector('.ntsh_dashboard-projector-temperature-temperaturelaser');
this.temperatureDMD = this.container.querySelector('.ntsh_dashboard-projector-temperature-temperaturedmd');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-projector-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-projector-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardProjector.prototype.updateState = function (state) {
if (state == null)
return;
// ----------- Power -----------
(0, utils_1.setStatusState)(this.powerStatus, state.Powermd == 'Power On' ? 'ok' : 'error');
this.powerInfo.innerText = state.Powermd;
this.powerOnButton.style.display =
state.Powermd == 'Power On' ? 'none' : 'flex';
this.powerOffButton.style.display =
state.Powermd == 'Power On' ? 'flex' : 'none';
// ----------- Laser -----------
(0, utils_1.setStatusState)(this.laserStatus, state.LaserStatus == 'On' ? 'ok' : 'error');
this.laserInfo.innerText = "".concat(state.LaserStatus, " (").concat(state.Laserhr, " hrs)");
this.shutterOpenButton.style.display =
state.LaserStatus == 'On' ? 'none' : 'flex';
this.shutterCloseButton.style.display =
state.LaserStatus == 'On' ? 'flex' : 'none';
// ----------- Source -----------
(0, utils_1.setStatusState)(this.sourceStatus, state.Sourcemd == 'No Source' ? 'error' : 'ok');
this.sourceInfo.innerText = state.Sourcemd;
this.sourceHDMIButton.style.display =
state.Sourcemd == 'HDMI' ? 'none' : 'flex';
this.sourceDVIDButton.style.display =
state.Sourcemd == 'DVI-D' ? 'none' : 'flex';
this.sourceDisplayPortButton.style.display =
state.Sourcemd == 'DisplayPort' ? 'none' : 'flex';
this.sourceSDIButton.style.display =
state.Sourcemd == '3G-SDI' ? 'none' : 'flex';
// ----------- Temperature -----------
this.temperatureIntake.innerText = "".concat(state.IntakeTempDeg, " ").concat(CELCIUS);
this.temmperatureLaser.innerText = "".concat(state.LaserTempDeg, " ").concat(CELCIUS);
this.temperatureDMD.innerText = "".concat(state.DMDTempDeg, " ").concat(CELCIUS);
};
DashboardProjector.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('projectorState', function (state) {
_this.updateState(state);
});
this.powerOnButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'powerOn');
};
this.powerOffButton.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
var confirmed;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
message: 'Are you sure you want to power on the projector?',
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/];
this._Main.socket.emit('projectorCommand', 'powerOff');
return [2 /*return*/];
}
});
});
};
this.shutterOpenButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'shutterOpen');
};
this.shutterCloseButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'shutterClose');
};
this.sourceHDMIButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', 'HDMI');
};
this.sourceDVIDButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', 'DVI-D');
};
this.sourceDisplayPortButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', 'DisplayPort');
};
this.sourceSDIButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', '3G-SDI');
};
};
return DashboardProjector;
}());
exports.DashboardProjector = DashboardProjector;
//# sourceMappingURL=dashboard.projector%20copy.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.projector copy.js","sourceRoot":"","sources":["../ts/dashboard.projector copy.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,182 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardProjector = void 0;
var morphux_1 = require("morphux");
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardProjector = /** @class */ (function () {
function DashboardProjector(Main) {
this.container = document.querySelector('.ntsh_dashboard-projector');
this.powerStatus = this.container.querySelector('.ntsh_dashboard-projector-powerstatus');
this.powerInfo = this.container.querySelector('.ntsh_dashboard-projector-powerinfo');
this.powerOnButton = this.container.querySelector('.ntsh_dashboard-projector-poweron');
this.powerOffButton = this.container.querySelector('.ntsh_dashboard-projector-poweroff');
this.laserStatus = this.container.querySelector('.ntsh_dashboard-projector-laserstatus');
this.laserInfo = this.container.querySelector('.ntsh_dashboard-projector-laserinfo');
this.shutterOpenButton = this.container.querySelector('.ntsh_dashboard-projector-shutteropen');
this.shutterCloseButton = this.container.querySelector('.ntsh_dashboard-projector-shutterclose');
this.sourceStatus = this.container.querySelector('.ntsh_dashboard-projector-sourcestatus');
this.sourceInfo = this.container.querySelector('.ntsh_dashboard-projector-sourceinfo');
this.sourceHDMIButton = this.container.querySelector('.ntsh_dashboard-projector-sourcehdmi');
this.sourceDVIDButton = this.container.querySelector('.ntsh_dashboard-projector-sourcedvid');
this.sourceDisplayPortButton = this.container.querySelector('.ntsh_dashboard-projector-sourcedisplayport');
this.sourceSDIButton = this.container.querySelector('.ntsh_dashboard-projector-sourcesdi');
this.temperatureIntake = this.container.querySelector('.ntsh_dashboard-projector-temperature-temperatureintake');
this.temmperatureLaser = this.container.querySelector('.ntsh_dashboard-projector-temperature-temperaturelaser');
this.temperatureDMD = this.container.querySelector('.ntsh_dashboard-projector-temperature-temperaturedmd');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-projector-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-projector-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardProjector.prototype.updateState = function (state) {
if (state == null)
return;
// ----------- Power -----------
(0, utils_1.setStatusState)(this.powerStatus, {
Disabled: 'red',
'Not Connected': 'red',
'Power On': 'green',
'Power Off': 'gray',
'Powering Up': 'yellow',
'Powering Down': 'yellow',
}[state.Powermd]);
this.powerInfo.innerText = state.Powermd;
this.powerOnButton.style.display =
state.Powermd == 'Power Off' ? 'flex' : 'none';
this.powerOffButton.style.display =
state.Powermd == 'Power On' ? 'flex' : 'none';
// ----------- Laser -----------
(0, utils_1.setStatusState)(this.laserStatus, state.LaserStatus == 'On' ? 'green' : 'gray');
this.laserInfo.innerText = "".concat(state.LaserStatus, " (").concat(state.Laserhr, " hrs)");
this.shutterOpenButton.style.display =
state.LaserStatus == 'On' || state.Powermd != 'Power On'
? 'none'
: 'flex';
this.shutterCloseButton.style.display =
state.LaserStatus == 'Off' || state.Powermd != 'Power On'
? 'none'
: 'flex';
// ----------- Source -----------
(0, utils_1.setStatusState)(this.sourceStatus, state.Sourcemd == 'No Source' ||
state.Sourcemd == '?' ||
state.Powermd != 'Power On'
? 'gray'
: 'green');
this.sourceInfo.innerText =
state.Powermd == 'Power On' ? state.Sourcemd : '';
this.sourceHDMIButton.style.display =
state.Sourcemd == 'HDMI' || state.Powermd != 'Power On'
? 'none'
: 'flex';
this.sourceDVIDButton.style.display =
state.Sourcemd == 'DVI-D' || state.Powermd != 'Power On'
? 'none'
: 'flex';
this.sourceDisplayPortButton.style.display =
state.Sourcemd == 'DisplayPort' || state.Powermd != 'Power On'
? 'none'
: 'flex';
this.sourceSDIButton.style.display =
state.Sourcemd == '3G-SDI' || state.Powermd != 'Power On'
? 'none'
: 'flex';
// ----------- Temperature -----------
this.temperatureIntake.innerText = "".concat(state.IntakeTempDeg, " ").concat(CELCIUS);
this.temmperatureLaser.innerText = "".concat(state.LaserTempDeg, " ").concat(CELCIUS);
this.temperatureDMD.innerText = "".concat(state.DMDTempDeg, " ").concat(CELCIUS);
// ----------- Error -----------
if (state.Err != '(No Error)') {
this.errorText.innerText = state.Err;
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
};
DashboardProjector.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('projectorState', function (state) {
_this.updateState(state);
});
this.powerOnButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'powerOn');
};
this.powerOffButton.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
var confirmed;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
message: 'Are you sure you want to power on the projector?',
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/];
this._Main.socket.emit('projectorCommand', 'powerOff');
return [2 /*return*/];
}
});
});
};
this.shutterOpenButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'shutterOpen');
};
this.shutterCloseButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'shutterClose');
};
this.sourceHDMIButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', 'HDMI');
};
this.sourceDVIDButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', 'DVI-D');
};
this.sourceDisplayPortButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', 'DisplayPort');
};
this.sourceSDIButton.onclick = function () {
_this._Main.socket.emit('projectorCommand', 'source', '3G-SDI');
};
};
return DashboardProjector;
}());
exports.DashboardProjector = DashboardProjector;
//# sourceMappingURL=dashboard.projector.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,74 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardShowControl = void 0;
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardShowControl = /** @class */ (function () {
function DashboardShowControl(Main) {
this.container = document.querySelector('.ntsh_dashboard-showcontrol');
this.runningStatus = this.container.querySelector('.ntsh_dashboard-showcontrol-runningstatus');
this.runningInfo = this.container.querySelector('.ntsh_dashboard-showcontrol-runninginfo');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-showcontrol-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-showcontrol-errortext');
this.startButton = this.container.querySelector('.ntsh_dashboard-showcontrol-start');
this.stopButton = this.container.querySelector('.ntsh_dashboard-showcontrol-stop');
this._Main = Main;
this.registerListeners();
}
DashboardShowControl.prototype.updateState = function (state) {
var _a;
// ----------- Running -----------
var runningStatus = {
STOPPED: 'gray',
STARTING: 'yellow',
RUNNING: 'green',
STOPPING: 'yellow',
RETRYING: 'red',
HALTED: 'red',
}[state.status];
(0, utils_1.setStatusState)(this.runningStatus, runningStatus);
this.runningInfo.innerText = {
STOPPED: 'Idle',
STARTING: state.info,
RUNNING: 'Running',
STOPPING: 'Stopping...',
RETRYING: 'Problem detected! Retrying...',
HALTED: 'Halted due to problems!',
}[state.status];
// ----------- Buttons -----------
this.startButton.style.display =
state.status == 'STOPPED' ||
state.status == 'HALTED' ||
state.status == 'RETRYING'
? 'flex'
: 'none';
this.stopButton.style.display =
state.status == 'RUNNING' || state.status == 'RETRYING'
? 'flex'
: 'none';
// ----------- Error -----------
if (((_a = state === null || state === void 0 ? void 0 : state.error) !== null && _a !== void 0 ? _a : '').trim().length > 0) {
this.errorText.innerText = state.error;
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
};
DashboardShowControl.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('showControlState', function (state) {
_this.updateState(state);
});
this.startButton.onclick = function () {
fetch('/api/v1/start');
};
this.stopButton.onclick = function () {
fetch('/api/v1/stop');
};
};
return DashboardShowControl;
}());
exports.DashboardShowControl = DashboardShowControl;
//# sourceMappingURL=dashboard.showcontrol.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.showcontrol.js","sourceRoot":"","sources":["../ts/dashboard.showcontrol.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,176 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Testing = void 0;
var morphux_1 = require("morphux");
var Testing = /** @class */ (function () {
function Testing(Main) {
this.container = document.querySelector('.ntsh_testing');
this.weatherResetButton = this.container.querySelector('.ntsh_testing-weather-reset');
this.weather0Button = this.container.querySelector('.ntsh_testing-weather-0');
this.weather5Button = this.container.querySelector('.ntsh_testing-weather-5');
this.weather10Button = this.container.querySelector('.ntsh_testing-weather-10');
this.weather20Button = this.container.querySelector('.ntsh_testing-weather-20');
this.weather50Button = this.container.querySelector('.ntsh_testing-weather-50');
this.resetAllTracksButton = this.container.querySelector('.ntsh_testing-tracks-reset');
this.cloudAnimationsSimoultaneousContainer = this.container.querySelector('.ntsh_testing-cloud-animations-simoultaneous');
this.cloudAnimationsStandaloneContainer = this.container.querySelector('.ntsh_testing-cloud-animations-standalone');
this._Main = Main;
this.registerListeners();
}
Testing.prototype.registerListeners = function () {
var _this = this;
this.weatherResetButton.onclick = function () { return _this.setWeather('reset'); };
this.weather0Button.onclick = function () { return _this.setWeather(0); };
this.weather5Button.onclick = function () { return _this.setWeather(5); };
this.weather10Button.onclick = function () { return _this.setWeather(10); };
this.weather20Button.onclick = function () { return _this.setWeather(20); };
this.weather50Button.onclick = function () { return _this.setWeather(50); };
[
'Rain',
'Blink',
'Breath',
'Fill',
'Rainbow',
'Wave',
'Pulse',
'Ambient',
'Flow',
'Thunder',
'Swipe Left',
'Swipe Right',
'Swipe Down',
'Swipe Up',
'Sphere Pulse',
].forEach(function (effect) {
var simoultaneous = (0, morphux_1.ce)('div', ['mux_button', 'mux_normal', 'mux_text'], null, effect);
var standalone = simoultaneous.cloneNode(true);
_this.cloudAnimationsSimoultaneousContainer.appendChild(simoultaneous);
_this.cloudAnimationsStandaloneContainer.appendChild(standalone);
simoultaneous.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/animation/cloud/simoultaneous/".concat(effect
.replace(/ /g, '')
.toLowerCase()))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Cloud animation set to ".concat(effect, " (simoultaneous)!"),
});
return [2 /*return*/];
}
});
});
};
standalone.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/animation/cloud/standalone/".concat(effect
.replace(/ /g, '')
.toLowerCase()))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Cloud animation set to ".concat(effect, " (standalone)!"),
});
return [2 /*return*/];
}
});
});
};
});
this.resetAllTracksButton.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch('/dev/resetTracks')];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "All tracks have been reset!",
});
return [2 /*return*/];
}
});
});
};
};
Testing.prototype.setWeather = function (rainAmount) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/weather/".concat(rainAmount))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: rainAmount == 'reset'
? 'Returned to actual weather!'
: "Weather set to ".concat(rainAmount, "!"),
});
return [2 /*return*/];
}
});
});
};
Testing.prototype.fetch = function (address) {
return __awaiter(this, void 0, void 0, function () {
var request;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
morphux_1.MorphFeature.Loader({ active: true });
return [4 /*yield*/, fetch(address)];
case 1:
request = _a.sent();
morphux_1.MorphFeature.Loader({ active: false });
return [2 /*return*/];
}
});
});
};
return Testing;
}());
exports.Testing = Testing;
//# sourceMappingURL=dashboard.testing.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.testing.js","sourceRoot":"","sources":["../ts/dashboard.testing.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,243 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardUnity = void 0;
var morphux_1 = require("morphux");
var utils_1 = require("./utils");
var DashboardUnity = /** @class */ (function () {
function DashboardUnity(Main) {
this.container = document.querySelector('.ntsh_dashboard-unity');
this.processStatus = document.querySelector('.ntsh_dashboard-unity-processstatus');
this.processInfo = document.querySelector('.ntsh_dashboard-unity-processinfo');
this.restartButton = document.querySelector('.ntsh_dashboard-unity-restart');
this.uptimeInfo = document.querySelector('.ntsh_dashboard-unity-uptime');
this.webSocketStatus = document.querySelector('.ntsh_dashboard-unity-websocketstatus');
this.webSocketInfo = document.querySelector('.ntsh_dashboard-unity-websocketinfo');
this.zedStreamStatus = document.querySelector('.ntsh_dashboard-unity-zedstreamstatus');
this.zedStreamInfo = document.querySelector('.ntsh_dashboard-unity-zedstreaminfo');
this.zedStreamFps = document.querySelector('.ntsh_dashboard-unity-zedstreamfps');
this.zedStreamPath = document.querySelector('.ntsh_dashboard-unity-zedstreampath');
this.timelineWatching = document.querySelector('.ntsh_dashboard-unity-timeline-watching');
this.timelineStanding = document.querySelector('.ntsh_dashboard-unity-timeline-standing');
this.timelineProgress = document.querySelector('.ntsh_dashboard-unity-timeline-progress');
this.parametersTable = document.querySelector('.ntsh_dashboard-unity-parameters');
this.errorContainer = document.querySelector('.ntsh_dashboard-unity-error');
this.errorText = document.querySelector('.ntsh_dashboard-unity-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardUnity.prototype.updateRunnerState = function (state) {
var _a, _b;
// ----------- Process -----------
if (state.state != 'RUNNING') {
state.startTime = -1;
this.restartButton.style.display = 'none';
}
else {
this.restartButton.style.display = 'flex';
}
(0, utils_1.setStatusState)(this.processStatus, {
RUNNING: 'green',
STOPPED: 'red',
STARTING: 'yellow',
PROBLEM: 'red',
}[state.state]);
this.processInfo.innerText = (_a = state.message) !== null && _a !== void 0 ? _a : '';
// ----------- Uptime -----------
var uptimeSeconds = state.startTime == -1 ? -1 : (Date.now() - state.startTime) / 1000;
this.uptimeInfo.innerText = (0, utils_1.formatUptime)(uptimeSeconds);
// ----------- Error -----------
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
this.runnerError = state.error;
else
this.runnerError = null;
this.updateError();
this._Main.Logs.setUnityLogs(state.output.current);
};
DashboardUnity.prototype.updateWebSocketState = function (state) {
var _a, _b;
// ----------- WebSocket -----------
(0, utils_1.setStatusState)(this.webSocketStatus, {
CONNECTING: 'yellow',
CONNECTED: 'green',
DISCONNECTED: 'gray',
FAILED: 'red',
}[state.state]);
this.webSocketInfo.innerText = (_a = state.message) !== null && _a !== void 0 ? _a : '';
// ----------- ZED Stream -----------
(0, utils_1.setStatusState)(this.zedStreamStatus, state.parameters.zedReady ? 'green' : 'red');
this.zedStreamInfo.innerText = state.parameters.zedReady
? "Connected to ".concat(state.parameters.zedPath)
: 'Not ready';
this.zedStreamFps.innerText =
state.parameters.zedFPS == '-' ? '' : state.parameters.zedFPS;
// ----------- Timeline -----------
this.timelineWatching.innerText = state.parameters.timelineWatching
? 'Yes'
: 'No';
this.timelineStanding.innerText = state.parameters.timelineStanding
? 'Yes'
: 'No';
(0, utils_1.setProgressState)(this.timelineProgress, state.parameters.timelineProgress);
// ----------- Parameters -----------
this.renderParameterSliders(state.parameters.parameters);
// ----------- Error -----------
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
this.webSocketError = state.error;
else
this.webSocketError = null;
this.updateError();
};
DashboardUnity.prototype.renderParameterSliders = function (parameters) {
var _this = this;
if (parameters.length === 0)
return;
var existingSliders = this.parametersTable.querySelectorAll('.ntsh_dashboard-unity-parameter-row');
if (existingSliders.length !== parameters.length) {
this.parametersTable.innerHTML = '';
parameters.forEach(function (param) {
var row = (0, morphux_1.ce)('tr', 'ntsh_dashboard-unity-parameter-row');
var nameCell = (0, morphux_1.ce)('td');
nameCell.appendChild((0, morphux_1.ce)('div', 'mux_text', null, param.sliderName));
row.appendChild(nameCell);
var progressCell = (0, morphux_1.ce)('td', 'no-service');
progressCell.appendChild((0, utils_1.createProgress)(param.outputValue));
row.appendChild(progressCell);
var sliderCell = (0, morphux_1.ce)('td', 'only-service');
var sliderProgress = (0, utils_1.createProgress)(param.outputValue);
var sliderValue = sliderProgress.querySelector('.ntsh_progress-value');
sliderValue.classList.add('mux_resizer');
sliderCell.appendChild(sliderProgress);
var resizer = new morphux_1.MorphComponent.Resizer({
existingContainer: sliderValue,
direction: 'right',
relative: true,
min: 0,
max: function () { return sliderProgress.clientWidth; },
});
var lastPercentage = -1;
resizer.on('resized', function (size) {
var percentage = Math.round((size / sliderProgress.clientWidth) * 100) /
100;
if (percentage === lastPercentage)
return;
lastPercentage = percentage;
_this._Main.socket.emit('unityWebSocket', 'parameterValue', param.sliderIndex, percentage);
(0, utils_1.setProgressState)(sliderProgress, percentage);
});
row.appendChild(sliderCell);
_this.parametersTable.appendChild(row);
});
}
else {
existingSliders.forEach(function (row, index) {
var value = parameters[index].outputValue;
var progressElement = row.querySelector('.no-service .ntsh_progress');
(0, utils_1.setProgressState)(progressElement, value);
var sliderElement = row.querySelector('.only-service .ntsh_progress');
if (sliderElement.querySelector('.mux_resizer-moving') == null)
(0, utils_1.setProgressState)(sliderElement, value);
});
}
};
DashboardUnity.prototype.updateError = function () {
var errors = [];
if (this.runnerError != null)
errors.push(this.runnerError);
if (this.webSocketError != null)
errors.push(this.webSocketError);
if (errors.length > 0) {
this.errorText.innerText = errors.join('\n');
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
};
DashboardUnity.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('unityRunnerState', function (state) {
return _this.updateRunnerState(state);
});
this._Main.socket.on('unityWebSocketState', function (state) { return _this.updateWebSocketState(state); });
this.restartButton.addEventListener('click', function () { return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.executeCommand('restart', 'Are you sure you want to restart the Unity Runner process?');
return [2 /*return*/];
});
}); });
};
DashboardUnity.prototype.executeCommand = function (command, message) {
return __awaiter(this, void 0, void 0, function () {
var confirmed;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
title: 'Are you sure?',
message: message,
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/];
morphux_1.MorphFeature.Loader({
active: true,
message: "Requesting Unity Runner ".concat(command, "..."),
});
this._Main.socket.emit('unityRunner', command, function (response) {
morphux_1.MorphFeature.Loader({ active: false });
if (!response.succeed)
return morphux_1.MorphFeature.Alert({
title: 'Error',
message: response.message,
});
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Unity Runner is ".concat(command, "ing..."),
});
});
return [2 /*return*/];
}
});
});
};
return DashboardUnity;
}());
exports.DashboardUnity = DashboardUnity;
//# sourceMappingURL=dashboard.unity.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,143 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DashboardUnityRunner = void 0;
var morphux_1 = require("morphux");
var utils_1 = require("./utils");
var CELCIUS = 'ºC';
var DashboardUnityRunner = /** @class */ (function () {
function DashboardUnityRunner(Main) {
this.container = document.querySelector('.ntsh_dashboard-unity');
this.processStatus = this.container.querySelector('.ntsh_dashboard-unity-processstatus');
this.processInfo = this.container.querySelector('.ntsh_dashboard-unity-processinfo');
this.restartButton = this.container.querySelector('.ntsh_dashboard-unity-restart');
this.uptimeInfo = this.container.querySelector('.ntsh_dashboard-unity-uptime');
this.errorContainer = this.container.querySelector('.ntsh_dashboard-unity-error');
this.errorText = this.container.querySelector('.ntsh_dashboard-unity-errortext');
this._Main = Main;
this.registerListeners();
}
DashboardUnityRunner.prototype.updateState = function (state) {
var _a, _b;
// ----------- Process -----------
if (state.state != 'RUNNING') {
state.startTime = -1;
this.restartButton.style.display = 'none';
}
else {
this.restartButton.style.display = 'flex';
}
(0, utils_1.setStatusState)(this.processStatus, {
RUNNING: 'green',
STOPPED: 'red',
STARTING: 'yellow',
PROBLEM: 'red',
}[state.state]);
this.processInfo.innerText = (_a = state.message) !== null && _a !== void 0 ? _a : '';
// ----------- Uptime -----------
var uptimeSeconds = state.startTime == -1 ? -1 : (Date.now() - state.startTime) / 1000;
this.uptimeInfo.innerText = (0, utils_1.formatUptime)(uptimeSeconds);
// ----------- Error -----------
var errors = [];
if (((_b = state === null || state === void 0 ? void 0 : state.error) !== null && _b !== void 0 ? _b : '').trim().length > 0)
errors.push(state.error);
if (errors.length > 0) {
this.errorText.innerText = errors.join('\n');
this.errorContainer.style.display = 'block';
}
else {
this.errorContainer.style.display = 'none';
this.errorText.innerText = '';
}
this._Main.Logs.setUnityLogs(state.output.current);
};
DashboardUnityRunner.prototype.registerListeners = function () {
var _this = this;
this._Main.socket.on('unityRunnerState', function (state) {
_this.updateState(state);
});
this._Main.socket.on('unityWebSocketState', function (state) {
console.log('Unity WebSocket State:', state);
});
this.restartButton.addEventListener('click', function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.executeCommand('restart', 'Are you sure you want to restart the Unity Runner process?');
return [2 /*return*/];
});
});
});
};
DashboardUnityRunner.prototype.executeCommand = function (command, message) {
return __awaiter(this, void 0, void 0, function () {
var confirmed;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
title: 'Are you sure?',
message: message,
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/];
morphux_1.MorphFeature.Loader({
active: true,
message: "Requesting Unity Runner ".concat(command, "..."),
});
this._Main.socket.emit('unityRunner', command, function (response) {
morphux_1.MorphFeature.Loader({ active: false });
if (!response.succeed)
return morphux_1.MorphFeature.Alert({
title: 'Error',
message: response.message,
});
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Unity Runner is ".concat(command, "ing..."),
});
});
return [2 /*return*/];
}
});
});
};
return DashboardUnityRunner;
}());
exports.DashboardUnityRunner = DashboardUnityRunner;
//# sourceMappingURL=dashboard.unityrunner.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"dashboard.unityrunner.js","sourceRoot":"","sources":["../ts/dashboard.unityrunner.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Leds = void 0;
var morphux_1 = require("morphux");
var Leds = /** @class */ (function () {
function Leds(Main) {
this.container = document.querySelector(".ntsh_tab[tabid=\"leds\"]");
this._Main = Main;
this.registerTabListener();
}
Leds.prototype.createPreviewFrame = function () {
var container = (0, morphux_1.ce)('div', 'ntsh_leds');
var urlParams = new URLSearchParams(window.location.search);
var transform = urlParams.has('transform')
? "?transform=".concat(urlParams.get('transform'))
: '';
var frame = (0, morphux_1.ce)('iframe', 'ntsh_leds-frame', {
src: "http://".concat(window.location.hostname, ":84").concat(transform),
});
container.appendChild(frame);
this.container.appendChild(container);
};
Leds.prototype.removePreviewFrame = function () {
this.container.innerHTML = '';
};
Leds.prototype.registerTabListener = function () {
var _this = this;
this._Main.TabController.registerListener('leds', function (visible) {
if (visible)
_this.createPreviewFrame();
else
_this.removePreviewFrame();
});
};
return Leds;
}());
exports.Leds = Leds;
//# sourceMappingURL=leds%20copy.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"leds copy.js","sourceRoot":"","sources":["../ts/leds copy.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAG7B;IAOC,cAAY,IAAU;QAJtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,2BAAyB,CACzB,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,iCAAkB,GAAlB;QACC,IAAI,SAAS,GAAG,IAAA,YAAE,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEvC,IAAI,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,qBAAc,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QAEN,IAAI,KAAK,GAAG,IAAA,YAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE;YAC3C,GAAG,EAAE,iBAAU,MAAM,CAAC,QAAQ,CAAC,QAAQ,gBAAM,SAAS,CAAE;SACxD,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,iCAAkB,GAAlB;QACC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,kCAAmB,GAA3B;QAAA,iBAKC;QAJA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,OAAO;YACzD,IAAI,OAAO;gBAAE,KAAI,CAAC,kBAAkB,EAAE,CAAC;;gBAClC,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,WAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,oBAAI"}

38
frontend/views/dashboard/dist/leds.js vendored Normal file
View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Leds = void 0;
var morphux_1 = require("morphux");
var Leds = /** @class */ (function () {
function Leds(Main) {
this.container = document.querySelector(".ntsh_tab[tabid=\"leds\"]");
this._Main = Main;
this.registerTabListener();
}
Leds.prototype.createPreviewFrame = function () {
var container = (0, morphux_1.ce)('div', 'ntsh_leds');
var urlParams = new URLSearchParams(window.location.search);
var transform = urlParams.has('transform')
? "?transform=".concat(urlParams.get('transform'))
: '';
var frame = (0, morphux_1.ce)('iframe', 'ntsh_leds-frame', {
src: "http://".concat(window.location.hostname, ":84").concat(transform),
});
container.appendChild(frame);
this.container.appendChild(container);
};
Leds.prototype.removePreviewFrame = function () {
this.container.innerHTML = '';
};
Leds.prototype.registerTabListener = function () {
var _this = this;
this._Main.TabController.registerListener('leds', function (visible) {
if (visible)
_this.createPreviewFrame();
else
_this.removePreviewFrame();
});
};
return Leds;
}());
exports.Leds = Leds;
//# sourceMappingURL=leds.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"leds.js","sourceRoot":"","sources":["../ts/leds.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAG7B;IAOC,cAAY,IAAU;QAJtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,2BAAyB,CACzB,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,iCAAkB,GAAlB;QACC,IAAI,SAAS,GAAG,IAAA,YAAE,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEvC,IAAI,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,qBAAc,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QAEN,IAAI,KAAK,GAAG,IAAA,YAAE,EAAC,QAAQ,EAAE,iBAAiB,EAAE;YAC3C,GAAG,EAAE,iBAAU,MAAM,CAAC,QAAQ,CAAC,QAAQ,gBAAM,SAAS,CAAE;SACxD,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,iCAAkB,GAAlB;QACC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,kCAAmB,GAA3B;QAAA,iBAKC;QAJA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAC,OAAO;YACzD,IAAI,OAAO;gBAAE,KAAI,CAAC,kBAAkB,EAAE,CAAC;;gBAClC,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,WAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,oBAAI"}

19
frontend/views/dashboard/dist/logs.js vendored Normal file
View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logs = void 0;
var Logs = /** @class */ (function () {
function Logs() {
this.cameraLogsContainer = document.querySelector('.ntsh_tab[tabid="cameralogs"] .ntsh_logs');
this.unityLogsContainer = document.querySelector('.ntsh_tab[tabid="unitylogs"] .ntsh_logs');
}
Logs.prototype.setCameraLogs = function (logs) {
this.applyLogs(this.cameraLogsContainer, logs);
};
Logs.prototype.setUnityLogs = function (logs) {
this.applyLogs(this.unityLogsContainer, logs);
};
Logs.prototype.applyLogs = function (container, logs) { };
return Logs;
}());
exports.Logs = Logs;
//# sourceMappingURL=logs.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../ts/logs.ts"],"names":[],"mappings":";;;AAAA;IAAA;QACC,wBAAmB,GAAmB,QAAQ,CAAC,aAAa,CAC3D,sCAAsC,CACtC,CAAC;QACF,uBAAkB,GAAmB,QAAQ,CAAC,aAAa,CAC1D,qCAAqC,CACrC,CAAC;IAWH,CAAC;IATA,4BAAa,GAAb,UAAc,IAAc;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,2BAAY,GAAZ,UAAa,IAAc;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAEO,wBAAS,GAAjB,UAAkB,SAAyB,EAAE,IAAc,IAAG,CAAC;IAChE,WAAC;AAAD,CAAC,AAjBD,IAiBC;AAjBY,oBAAI"}

View File

@@ -0,0 +1,116 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogsHandler = void 0;
var morphux_1 = require("morphux");
var ansi_up_1 = require("ansi_up");
var LogsHandler = /** @class */ (function () {
function LogsHandler(Main) {
this.ansiUp = new ansi_up_1.AnsiUp();
this.cameraLogsContainer = document.querySelector('.ntsh_tab[tabid="cameralogs"] .ntsh_logs');
this.unityLogsContainer = document.querySelector('.ntsh_tab[tabid="unitylogs"] .ntsh_logs');
this.firstTime = new Set();
this._Main = Main;
this.registerListeners();
}
LogsHandler.prototype.setCameraLogs = function (logs) {
this.applyLogs(this.cameraLogsContainer, logs);
};
LogsHandler.prototype.setUnityLogs = function (logs) {
this.applyLogs(this.unityLogsContainer, logs);
};
LogsHandler.prototype.applyLogs = function (container, logs) {
return __awaiter(this, void 0, void 0, function () {
var logCount, isAtBottom;
var _this = this;
return __generator(this, function (_a) {
logCount = container.querySelectorAll('.ntsh_log.ntsh_log-normal').length;
if (logCount === logs.length)
return [2 /*return*/];
if (logCount > logs.length)
logCount = 0;
isAtBottom = !this.firstTime.has(container) ||
container.scrollTop + container.clientHeight >=
container.scrollHeight;
container.innerHTML = '';
logs.forEach(function (log, i) {
var element = (0, morphux_1.ce)('div', ['ntsh_log', 'ntsh_log-normal'], null, null, _this.ansiUp.ansi_to_html(log));
if (_this.firstTime.has(container) && i > logCount - 1) {
element.style.display = 'none';
var spawnDelay = (i - logCount) * 10;
setTimeout(function () {
element.style.display = 'block';
if (isAtBottom)
container.scrollTop = container.scrollHeight;
}, spawnDelay);
}
container.appendChild(element);
if (isAtBottom)
container.scrollTop = container.scrollHeight;
});
if (!this.firstTime.has(container)) {
container.scrollTop = container.scrollHeight;
this.firstTime.add(container);
}
return [2 /*return*/];
});
});
};
LogsHandler.prototype.registerListeners = function () {
var _this = this;
this._Main.TabController.registerListener('cameralogs', function (visible) {
if (!visible)
return;
setTimeout(function () {
_this.cameraLogsContainer.scrollTop =
_this.cameraLogsContainer.scrollHeight;
}, 10);
});
this._Main.TabController.registerListener('unitylogs', function (visible) {
if (!visible)
return;
setTimeout(function () {
_this.unityLogsContainer.scrollTop =
_this.unityLogsContainer.scrollHeight;
}, 10);
});
};
return LogsHandler;
}());
exports.LogsHandler = LogsHandler;
//# sourceMappingURL=logsHandler.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"logsHandler.js","sourceRoot":"","sources":["../ts/logsHandler.ts"],"names":[],"mappings":"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"}

36
frontend/views/dashboard/dist/main.js vendored Normal file
View File

@@ -0,0 +1,36 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Main = void 0;
var socket_io_client_1 = require("socket.io-client");
var menuBar_1 = require("./menuBar");
var tabController_1 = require("./tabController");
var morphux_1 = require("morphux");
var dashboard_camerarunner_1 = require("./dashboard.camerarunner");
var logsHandler_1 = require("./logsHandler");
var calibration_1 = require("./calibration");
var dashboard_unity_1 = require("./dashboard.unity");
var socket = (0, socket_io_client_1.io)('/');
var Main = /** @class */ (function () {
function Main() {
this.socket = socket;
this.MenuBar = new menuBar_1.MenuBar(this);
this.TabController = new tabController_1.TabController(this);
this.Logs = new logsHandler_1.LogsHandler(this);
this.Calibration = new calibration_1.Calibration(this);
this.DashboardCameraRunner = new dashboard_camerarunner_1.DashboardCameraRunner(this);
this.DashboardUnityRunner = new dashboard_unity_1.DashboardUnity(this);
if (window.location.search.includes('debug')) {
window.SN = this;
console.log('Debug mode enabled');
}
}
return Main;
}());
exports.Main = Main;
morphux_1.MorphFeature.Loader({ active: true, message: 'Connecting to server...' });
socket.on('connect', function () {
console.log('Connected to server');
morphux_1.MorphFeature.Loader({ active: false });
});
var _Main = new Main();
//# sourceMappingURL=main.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"main.js","sourceRoot":"","sources":["../ts/main.ts"],"names":[],"mappings":";;;AAAA,qDAAsC;AACtC,qCAAoC;AACpC,iDAAgD;AAChD,mCAAuC;AACvC,mEAAiE;AACjE,6CAA4C;AAC5C,6CAA4C;AAC5C,qDAAmD;AAEnD,IAAM,MAAM,GAAG,IAAA,qBAAE,EAAC,GAAG,CAAC,CAAC;AACvB;IAYC;QAXA,WAAM,GAAG,MAAM,CAAC;QAEhB,YAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,kBAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,CAAC;QAExC,SAAI,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,gBAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QAEpC,0BAAqB,GAAG,IAAI,8CAAqB,CAAC,IAAI,CAAC,CAAC;QACxD,yBAAoB,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,CAAC;QAG/C,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAc,CAAC,EAAE,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IACF,WAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,oBAAI;AAoBjB,sBAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAC1E,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE;IACpB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,sBAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC"}

171
frontend/views/dashboard/dist/menubar.js vendored Normal file
View File

@@ -0,0 +1,171 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MenuBar = void 0;
var morphux_1 = require("morphux");
var Component_MenuBar_1 = require("morphux/dist/Components/MenuBar/Component.MenuBar");
var MenuBar = /** @class */ (function () {
function MenuBar(main) {
var _this = this;
this.container = document.querySelector('.ntsh_menubar');
this._Main = main;
this.build();
setTimeout(function () {
if ((localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem('serviceMode')) === 'true')
_this.toggleServiceMode(true, true);
}, 10);
}
MenuBar.prototype.build = function () {
var _this = this;
this.menubar = new Component_MenuBar_1.ComponentMenuBar({
left: [
{
type: 'image',
url: '/img/morphix_logo_white.png',
},
{
type: 'normal',
text: 'Dashboard',
materialIcon: 'dashboard',
uniqueIdentifier: 'dashboard',
selected: true,
click: function () { return _this._Main.TabController.showTab('dashboard'); },
},
{
type: 'normal',
text: 'Calibration',
uniqueIdentifier: 'calibration',
materialIcon: 'crop_free',
click: function () {
return _this._Main.TabController.showTab('calibration');
},
},
{
type: 'normal',
text: 'Unity Logs',
uniqueIdentifier: 'unitylogs',
materialIcon: 'deployed_code',
click: function () { return _this._Main.TabController.showTab('unitylogs'); },
},
{
type: 'normal',
text: 'Camera Logs',
uniqueIdentifier: 'cameralogs',
materialIcon: 'photo_camera',
click: function () { return _this._Main.TabController.showTab('cameralogs'); },
},
],
right: [
{
type: 'normal',
text: document.body.classList.contains('ntsh_service')
? 'Exit Service'
: 'Service Mode',
uniqueIdentifier: 'serviceMode',
materialIcon: document.body.classList.contains('ntsh_service')
? 'logout'
: 'engineering',
click: function () { return __awaiter(_this, void 0, void 0, function () {
var mobileMenu;
return __generator(this, function (_a) {
mobileMenu = document.querySelector('.mux_mobilemenu');
mobileMenu === null || mobileMenu === void 0 ? void 0 : mobileMenu.click();
this.toggleServiceMode();
return [2 /*return*/];
});
}); },
},
],
});
this.container.innerHTML = '';
this.container.appendChild(this.menubar.container);
};
MenuBar.prototype.toggleServiceMode = function (mode, skipPin) {
return __awaiter(this, void 0, void 0, function () {
var newMode, servicePin;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
newMode = mode !== null && mode !== void 0 ? mode : !document.body.classList.contains('ntsh_service');
if (!newMode) return [3 /*break*/, 3];
if (!(skipPin !== true)) return [3 /*break*/, 2];
return [4 /*yield*/, morphux_1.MorphFeature.Prompt({
title: 'Service Mode',
message: 'Enter the service PIN:',
type: 'number',
canBeEmpty: false,
placeholder: '****',
})];
case 1:
servicePin = _a.sent();
if (servicePin !== '4252') {
morphux_1.MorphFeature.Alert({
title: 'Error',
message: 'Incorrect PIN provided.',
});
return [2 /*return*/, false];
}
_a.label = 2;
case 2:
document.body.classList.add('ntsh_service');
localStorage.setItem('serviceMode', 'true');
morphux_1.MorphFeature.Notification({
level: 'success',
message: 'Service mode activated.',
});
return [3 /*break*/, 4];
case 3:
document.body.classList.remove('ntsh_service');
this._Main.TabController.showTab('dashboard');
localStorage.setItem('serviceMode', 'false');
morphux_1.MorphFeature.Notification({
level: 'success',
message: 'Service mode deactivated.',
});
_a.label = 4;
case 4:
this.build();
return [2 /*return*/, true];
}
});
});
};
return MenuBar;
}());
exports.MenuBar = MenuBar;
//# sourceMappingURL=menuBar.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"menuBar.js","sourceRoot":"","sources":["../ts/menuBar.ts"],"names":[],"mappings":"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"}

166
frontend/views/dashboard/dist/mmWave.js vendored Normal file
View File

@@ -0,0 +1,166 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.mmWave = void 0;
var morphux_1 = require("morphux");
var MAPPING_CORNER_COLOR = '#f00';
var MAPPING_LINE_COLOR = '#9c0000ff';
var mmWave = /** @class */ (function () {
function mmWave(Main) {
this.container = document.querySelector('.ntsh_mmwave-container');
this.nodes = this.container.querySelector('.ntsh_mmwave-nodes');
this.lines = this.container.querySelector('.ntsh_mmwave-lines');
this.linesContext = this.lines.getContext('2d');
this._Main = Main;
this.registerListeners();
}
mmWave.prototype.registerListeners = function () {
var _this = this;
console.log('Registering mmWave listeners');
this._Main.socket.on('mmwaveROI', function (roi) {
_this.roi = roi;
_this.updateROI();
});
this._Main.socket.on('mmwaveMapping', function (mapping) {
_this.mapping = mapping;
_this.setMappingCorners();
});
// this._Main.socket.on('mmwaveTracks', (tracks: Track[]) => {
// this.updateTracks(tracks);
// });
this._Main.socket.on('mmwavePoints', function (mappedPoints) {
_this.updateTracks(mappedPoints);
});
this.container.onclick = function (e) {
var rect = _this.container.getBoundingClientRect();
var scaleX = _this.container.clientWidth / rect.width;
var scaleY = _this.container.clientHeight / rect.height;
var x = (e.clientX - rect.left) * scaleX;
var y = (e.clientY - rect.top) * scaleY;
var xPercentage = (x / _this.container.clientWidth) * 100;
var yPercentage = (y / _this.container.clientHeight) * 100;
var roiPos = _this.toROI(xPercentage, yPercentage);
console.log(roiPos);
};
window.addEventListener('resize', function () { return _this.scale(); });
};
mmWave.prototype.updateTracks = function (mappedPoints) {
var _this = this;
if (this.roi == null)
return;
mappedPoints.forEach(function (_a) {
var track = _a.track, mapped = _a.mapped;
var trackPoint = _this.nodes.querySelector(".ntsh_mmwave-track[trackid=\"".concat(track.trackId, "\"]"));
var trackLabel = trackPoint === null || trackPoint === void 0 ? void 0 : trackPoint.querySelector('.ntsh_mmwave-label');
if (trackPoint == null) {
trackPoint = (0, morphux_1.ce)('div', 'ntsh_mmwave-track', {
trackid: track.trackId,
});
trackPoint.appendChild((0, morphux_1.ce)('div', 'ntsh_mmwave-track-cross'));
trackPoint.appendChild((0, morphux_1.ce)('div', 'ntsh_mmwave-track-cross'));
trackLabel = (0, morphux_1.ce)('div', 'ntsh_mmwave-label');
trackPoint.appendChild(trackLabel);
_this.nodes.appendChild(trackPoint);
trackPoint.animate({
opacity: [0, 1],
}, { duration: 200 });
}
var _b = _this.toPercentage(track.x, track.y), xPercentage = _b.xPercentage, yPercentage = _b.yPercentage;
trackPoint.style.left = "".concat(xPercentage, "%");
trackPoint.style.top = "".concat(yPercentage, "%");
if (mapped == null)
return trackPoint.classList.add('ntsh_mmwave-track-outside');
trackPoint.classList.remove('ntsh_mmwave-track-outside');
trackLabel.innerHTML = '';
trackLabel.appendChild((0, morphux_1.ce)('span', 'ntsh_mmwave-label-id', null, track.trackId.toString()));
trackLabel.appendChild((0, morphux_1.ce)('span', null, null, "".concat(Math.round(mapped.x), "%, ").concat(Math.round(mapped.y), "%")));
});
var trackIds = mappedPoints.map(function (t) { return t.track.trackId; });
this.nodes
.querySelectorAll('.ntsh_mmwave-track')
.forEach(function (trackPoint) {
var trackId = parseInt(trackPoint.getAttribute('trackid'));
if (trackIds.includes(trackId))
return;
trackPoint.animate({
opacity: 0,
}, { duration: 200 }).onfinish = function () {
trackPoint.remove();
};
});
};
mmWave.prototype.updateROI = function () {
if (this.roi == null)
return;
var xDif = Math.abs(this.roi.x[1] - this.roi.x[0]);
var yDif = Math.abs(this.roi.y[1] - this.roi.y[0]);
var height = (1920 / xDif) * yDif;
this.container.style.minWidth = "1920px";
this.container.style.minHeight = "".concat(height, "px");
this.lines.height = height;
this.lines.width = 1920;
this.scale();
};
mmWave.prototype.setMappingCorners = function () {
if (this.mapping == null)
return;
this.nodes
.querySelectorAll('.ntsh_mmwave-corner')
.forEach(function (el) { return el.remove(); });
var tl = this.addCorner(this.mapping.topLeft.x, this.mapping.topLeft.y, 'tl');
var tr = this.addCorner(this.mapping.topRight.x, this.mapping.topRight.y, 'tr');
var bl = this.addCorner(this.mapping.bottomLeft.x, this.mapping.bottomLeft.y, 'bl');
var br = this.addCorner(this.mapping.bottomRight.x, this.mapping.bottomRight.y, 'br');
this.linesContext.clearRect(0, 0, this.lines.width, this.lines.height);
this.linesContext.strokeStyle = MAPPING_LINE_COLOR;
this.linesContext.lineWidth = 2;
this.linesContext.beginPath();
this.linesContext.moveTo((tl.xPercentage / 100) * this.lines.width, (tl.yPercentage / 100) * this.lines.height);
this.linesContext.lineTo((tr.xPercentage / 100) * this.lines.width, (tr.yPercentage / 100) * this.lines.height);
this.linesContext.lineTo((br.xPercentage / 100) * this.lines.width, (br.yPercentage / 100) * this.lines.height);
this.linesContext.lineTo((bl.xPercentage / 100) * this.lines.width, (bl.yPercentage / 100) * this.lines.height);
this.linesContext.closePath();
this.linesContext.stroke();
};
mmWave.prototype.addCorner = function (x, y, corner) {
var cornerPoint = (0, morphux_1.ce)('div', [
'ntsh_mmwave-corner',
"ntsh_mmwave-corner-".concat(corner),
]);
cornerPoint.style.setProperty('--sn-mmwave-corner-color', MAPPING_CORNER_COLOR);
cornerPoint.appendChild((0, morphux_1.ce)('div', 'ntsh_mmwave-corner-cross'));
cornerPoint.appendChild((0, morphux_1.ce)('div', 'ntsh_mmwave-corner-cross'));
var position = this.toPercentage(x, y);
cornerPoint.style.left = "".concat(position.xPercentage, "%");
cornerPoint.style.top = "".concat(position.yPercentage, "%");
cornerPoint.appendChild((0, morphux_1.ce)('div', 'ntsh_mmwave-label', null, "".concat(x, ", ").concat(y)));
this.nodes.appendChild(cornerPoint);
return position;
};
mmWave.prototype.toPercentage = function (x, y) {
var xPercentage = ((x - this.roi.x[0]) / (this.roi.x[1] - this.roi.x[0])) * 100;
var yPercentage = ((y - this.roi.y[0]) / (this.roi.y[1] - this.roi.y[0])) * 100;
return { xPercentage: xPercentage, yPercentage: yPercentage };
};
mmWave.prototype.toROI = function (xPercentage, yPercentage) {
var x = this.roi.x[0] +
(xPercentage / 100) * (this.roi.x[1] - this.roi.x[0]);
var y = this.roi.y[0] +
(yPercentage / 100) * (this.roi.y[1] - this.roi.y[0]);
return { x: x, y: y };
};
mmWave.prototype.scale = function () {
var elementWidth = this.container.clientWidth;
var elementHeight = this.container.clientHeight;
var parentWidth = this.container.parentElement.clientWidth;
var parentHeight = this.container.parentElement.clientHeight;
var ratioWidth = parentWidth / elementWidth;
var ratioHeight = parentHeight / elementHeight;
var ratio = elementHeight * ratioWidth > parentHeight
? ratioHeight
: ratioWidth;
this.container.style.transform = "scale(".concat(ratio, ")");
};
return mmWave;
}());
exports.mmWave = mmWave;
//# sourceMappingURL=mmWave.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,38 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Preview = void 0;
var morphux_1 = require("morphux");
var Preview = /** @class */ (function () {
function Preview(Main) {
this.container = document.querySelector(".ntsh_tab[tabid=\"preview\"]");
this._Main = Main;
this.registerTabListener();
}
Preview.prototype.createPreviewFrame = function () {
var container = (0, morphux_1.ce)('div', 'ntsh_preview');
var urlParams = new URLSearchParams(window.location.search);
var transform = urlParams.has('transform')
? "?transform=".concat(urlParams.get('transform'))
: '';
var frame = (0, morphux_1.ce)('iframe', 'ntsh_preview-frame', {
src: "http://".concat(window.location.hostname, ":84").concat(transform),
});
container.appendChild(frame);
this.container.appendChild(container);
};
Preview.prototype.removePreviewFrame = function () {
this.container.innerHTML = '';
};
Preview.prototype.registerTabListener = function () {
var _this = this;
this._Main.TabController.registerListener('preview', function (visible) {
if (visible)
_this.createPreviewFrame();
else
_this.removePreviewFrame();
});
};
return Preview;
}());
exports.Preview = Preview;
//# sourceMappingURL=preview.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../ts/preview.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAG7B;IAOC,iBAAY,IAAU;QAJtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,8BAA4B,CAC5B,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,oCAAkB,GAAlB;QACC,IAAI,SAAS,GAAG,IAAA,YAAE,EAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAE1C,IAAI,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,qBAAc,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QAEN,IAAI,KAAK,GAAG,IAAA,YAAE,EAAC,QAAQ,EAAE,oBAAoB,EAAE;YAC9C,GAAG,EAAE,iBAAU,MAAM,CAAC,QAAQ,CAAC,QAAQ,gBAAM,SAAS,CAAE;SACxD,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,oCAAkB,GAAlB;QACC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,qCAAmB,GAA3B;QAAA,iBAKC;QAJA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,OAAO;YAC5D,IAAI,OAAO;gBAAE,KAAI,CAAC,kBAAkB,EAAE,CAAC;;gBAClC,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,cAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,0BAAO"}

View File

@@ -0,0 +1,34 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Projection = void 0;
var morphux_1 = require("morphux");
var Projection = /** @class */ (function () {
function Projection(Main) {
this.container = document.querySelector(".ntsh_tab[tabid=\"projection\"]");
this._Main = Main;
this.registerTabListener();
}
Projection.prototype.createPreviewFrame = function () {
var container = (0, morphux_1.ce)('div', 'ntsh_projection');
var frame = (0, morphux_1.ce)('iframe', 'ntsh_projection-frame', {
src: "".concat(window.location.origin, "/visualization").concat(window.location.search),
});
container.appendChild(frame);
this.container.appendChild(container);
};
Projection.prototype.removePreviewFrame = function () {
this.container.innerHTML = '';
};
Projection.prototype.registerTabListener = function () {
var _this = this;
this._Main.TabController.registerListener('projection', function (visible) {
if (visible)
_this.createPreviewFrame();
else
_this.removePreviewFrame();
});
};
return Projection;
}());
exports.Projection = Projection;
//# sourceMappingURL=projection.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../ts/projection.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAG7B;IAOC,oBAAY,IAAU;QAJtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CACjD,iCAA+B,CAC/B,CAAC;QAGD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,CAAC;IAED,uCAAkB,GAAlB;QACC,IAAI,SAAS,GAAG,IAAA,YAAE,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAE7C,IAAI,KAAK,GAAG,IAAA,YAAE,EAAC,QAAQ,EAAE,uBAAuB,EAAE;YACjD,GAAG,EAAE,UAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,2BAAiB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAE;SACvE,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,uCAAkB,GAAlB;QACC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,wCAAmB,GAA3B;QAAA,iBAKC;QAJA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAC,OAAO;YAC/D,IAAI,OAAO;gBAAE,KAAI,CAAC,kBAAkB,EAAE,CAAC;;gBAClC,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;IACF,iBAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,gCAAU"}

View File

@@ -0,0 +1,120 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TabController = void 0;
var morphux_1 = require("morphux");
var TabController = /** @class */ (function () {
function TabController(main) {
this.container = document.querySelector('.ntsh_tabs');
this.tabListeners = new Map();
this._Main = main;
this.registerNavigationListener();
}
TabController.prototype.registerListener = function (tabId, callback) {
if (this.tabListeners.has(tabId))
throw new Error("Listener for tab id ".concat(tabId, " has already been registered!"));
this.tabListeners.set(tabId, callback);
callback(this.currentTabId == tabId);
};
TabController.prototype.showTab = function (tabId) {
return __awaiter(this, void 0, void 0, function () {
var confirmed, succeed, tabName;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (this.currentTabId == tabId)
return [2 /*return*/];
if (!(tabId !== 'dashboard' &&
!document.body.classList.contains('ntsh_service'))) return [3 /*break*/, 3];
return [4 /*yield*/, morphux_1.MorphFeature.Confirm({
title: 'Service Mode Required',
message: "You need to be in service mode to access tab ".concat(tabId, ", switch to Service Mode now?"),
})];
case 1:
confirmed = _a.sent();
if (!confirmed)
return [2 /*return*/, this.showTab('dashboard')];
return [4 /*yield*/, this._Main.MenuBar.toggleServiceMode(true)];
case 2:
succeed = _a.sent();
if (!succeed)
return [2 /*return*/, this.showTab('dashboard')];
_a.label = 3;
case 3:
this._Main.MenuBar.menubar.setSelected(tabId);
if (this.tabListeners.has(this.currentTabId))
this.tabListeners.get(this.currentTabId)(false);
if (this.tabListeners.has(tabId))
this.tabListeners.get(tabId)(true);
this.currentTabId = tabId;
this.container
.querySelectorAll('.ntsh_tab')
.forEach(function (tab) { return tab.classList.remove('ntsh_tab-visible'); });
this.container
.querySelector(".ntsh_tab[tabid=\"".concat(tabId, "\"]"))
.classList.add('ntsh_tab-visible');
window.history.pushState({ tab: tabId }, '', "/".concat(tabId).concat(window.location.search));
tabName = {
dashboard: 'Dashboard',
calibration: 'Calibration',
cameralogs: 'Camera Logs',
unitylogs: 'Unity Logs',
}[tabId];
document.title = "NTSH Control - ".concat(tabName);
return [2 /*return*/];
}
});
});
};
TabController.prototype.registerNavigationListener = function () {
var _this = this;
window.addEventListener('popstate', function (event) {
var state = event.state;
if (state && state.tab)
_this.showTab(state.tab);
});
var startTab = window.location.pathname
.replace('/', '')
.split('/')
.shift();
this.showTab(startTab.length > 0 ? startTab : 'dashboard');
};
return TabController;
}());
exports.TabController = TabController;
//# sourceMappingURL=tabController.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"tabController.js","sourceRoot":"","sources":["../ts/tabController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAuC;AAIvC;IAOC,uBAAY,IAAU;QAJtB,cAAS,GAAmB,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAUzD,iBAAY,GAA0C,IAAI,GAAG,EAAE,CAAC;QALvE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACnC,CAAC;IAGD,wCAAgB,GAAhB,UAAiB,KAAW,EAAE,QAAoC;QACjE,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAC/B,MAAM,IAAI,KAAK,CACd,8BAAuB,KAAK,kCAA+B,CAC3D,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;IACtC,CAAC;IAEK,+BAAO,GAAb,UAAc,KAAW;;;;;;wBACxB,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK;4BAAE,sBAAO;6BAGtC,CAAA,KAAK,KAAK,WAAW;4BACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA,EADjD,wBACiD;wBAE/B,qBAAM,sBAAY,CAAC,OAAO,CAAC;gCAC5C,KAAK,EAAE,uBAAuB;gCAC9B,OAAO,EAAE,uDAAgD,KAAK,kCAA+B;6BAC7F,CAAC,EAAA;;wBAHI,SAAS,GAAG,SAGhB;wBACF,IAAI,CAAC,SAAS;4BAAE,sBAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;wBAEjC,qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAA;;wBAA1D,OAAO,GAAG,SAAgD;wBAChE,IAAI,CAAC,OAAO;4BAAE,sBAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;;;wBAGhD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAE9C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;4BAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;wBACjD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;4BAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;wBACrE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAE1B,IAAI,CAAC,SAAS;6BACZ,gBAAgB,CAAC,WAAW,CAAC;6BAC7B,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAxC,CAAwC,CAAC,CAAC;wBAE7D,IAAI,CAAC,SAAS;6BACZ,aAAa,CAAC,4BAAoB,KAAK,QAAI,CAAC;6BAC5C,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBAEpC,MAAM,CAAC,OAAO,CAAC,SAAS,CACvB,EAAE,GAAG,EAAE,KAAK,EAAE,EACd,EAAE,EACF,WAAI,KAAK,SAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAE,CACpC,CAAC;wBAEE,OAAO,GAAG;4BACb,SAAS,EAAE,WAAW;4BACtB,WAAW,EAAE,aAAa;4BAC1B,UAAU,EAAE,aAAa;4BACzB,SAAS,EAAE,YAAY;yBACvB,CAAC,KAAK,CAAC,CAAC;wBACT,QAAQ,CAAC,KAAK,GAAG,yBAAkB,OAAO,CAAE,CAAC;;;;;KAC7C;IAEO,kDAA0B,GAAlC;QAAA,iBAWC;QAVA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAC,KAAK;YACzC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG;gBAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ;aACrC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;aAChB,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,EAAU,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IACF,oBAAC;AAAD,CAAC,AAnFD,IAmFC;AAnFY,sCAAa"}

198
frontend/views/dashboard/dist/testing.js vendored Normal file
View File

@@ -0,0 +1,198 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function () { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Testing = void 0;
var morphux_1 = require("morphux");
var Testing = /** @class */ (function () {
function Testing(Main) {
this.container = document.querySelector('.ntsh_testing');
this.alphaContainer = this.container.querySelector('.ntsh_testing-ledalpha');
this.weatherResetButton = this.container.querySelector('.ntsh_testing-weather-reset');
this.weather0Button = this.container.querySelector('.ntsh_testing-weather-0');
this.weather5Button = this.container.querySelector('.ntsh_testing-weather-5');
this.weather10Button = this.container.querySelector('.ntsh_testing-weather-10');
this.weather20Button = this.container.querySelector('.ntsh_testing-weather-20');
this.weather50Button = this.container.querySelector('.ntsh_testing-weather-50');
this.resetAllTracksButton = this.container.querySelector('.ntsh_testing-tracks-reset');
this.cloudAnimationsSimoultaneousContainer = this.container.querySelector('.ntsh_testing-cloud-animations-simoultaneous');
this.cloudAnimationsStandaloneContainer = this.container.querySelector('.ntsh_testing-cloud-animations-standalone');
this._Main = Main;
this.registerListeners();
}
Testing.prototype.registerListeners = function () {
var _this = this;
Array.from({ length: 21 }, function (_, i) { return i; }).forEach(function (i) {
var button = (0, morphux_1.ce)('div', ['mux_button', 'mux_normal', 'mux_text'], null, "".concat(i * 5, "%"));
// if (i == 20) button.innerText = '100%';
_this.alphaContainer.appendChild(button);
button.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/alpha/".concat(i * 0.05))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "LED alpha set to ".concat(i * 5, "%!"),
});
return [2 /*return*/];
}
});
});
};
});
this.weatherResetButton.onclick = function () { return _this.setWeather('reset'); };
this.weather0Button.onclick = function () { return _this.setWeather(0); };
this.weather5Button.onclick = function () { return _this.setWeather(5); };
this.weather10Button.onclick = function () { return _this.setWeather(10); };
this.weather20Button.onclick = function () { return _this.setWeather(20); };
this.weather50Button.onclick = function () { return _this.setWeather(50); };
[
'Rain',
'Blink',
'Breath',
'Fill',
'Rainbow',
'Wave',
'Pulse',
'Ambient',
'Flow',
'Thunder',
'Swipe Left',
'Swipe Right',
'Swipe Down',
'Swipe Up',
'Sphere Pulse',
].forEach(function (effect) {
var simoultaneous = (0, morphux_1.ce)('div', ['mux_button', 'mux_normal', 'mux_text'], null, effect);
var standalone = simoultaneous.cloneNode(true);
_this.cloudAnimationsSimoultaneousContainer.appendChild(simoultaneous);
_this.cloudAnimationsStandaloneContainer.appendChild(standalone);
simoultaneous.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/animation/cloud/simoultaneous/".concat(effect
.replace(/ /g, '')
.toLowerCase()))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Cloud animation set to ".concat(effect, " (simoultaneous)!"),
});
return [2 /*return*/];
}
});
});
};
standalone.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/animation/cloud/standalone/".concat(effect
.replace(/ /g, '')
.toLowerCase()))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "Cloud animation set to ".concat(effect, " (standalone)!"),
});
return [2 /*return*/];
}
});
});
};
});
this.resetAllTracksButton.onclick = function () {
return __awaiter(_this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch('/dev/resetTracks')];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: "All tracks have been reset!",
});
return [2 /*return*/];
}
});
});
};
};
Testing.prototype.setWeather = function (rainAmount) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.fetch("/dev/weather/".concat(rainAmount))];
case 1:
_a.sent();
morphux_1.MorphFeature.Notification({
level: 'success',
message: rainAmount == 'reset'
? 'Returned to actual weather!'
: "Weather set to ".concat(rainAmount, "!"),
});
return [2 /*return*/];
}
});
});
};
Testing.prototype.fetch = function (address) {
return __awaiter(this, void 0, void 0, function () {
var request;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
morphux_1.MorphFeature.Loader({ active: true });
return [4 /*yield*/, fetch(address)];
case 1:
request = _a.sent();
morphux_1.MorphFeature.Loader({ active: false });
return [2 /*return*/];
}
});
});
};
return Testing;
}());
exports.Testing = Testing;
//# sourceMappingURL=testing.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../ts/testing.ts"],"names":[],"mappings":"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"}

62
frontend/views/dashboard/dist/utils.js vendored Normal file
View File

@@ -0,0 +1,62 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createProgress = exports.setProgressState = exports.setStatusState = exports.lerp = void 0;
exports.capitalizeFirstLetter = capitalizeFirstLetter;
exports.formatUptime = formatUptime;
exports.delay = delay;
var morphux_1 = require("morphux");
/**
* A linear interpolation helper function.
* @param a The start value.
* @param b The end value.
* @param t The interpolation factor (0 to 1).
* @returns The interpolated value.
*/
var lerp = function (a, b, t) {
return a + (b - a) * t;
};
exports.lerp = lerp;
var setStatusState = function (statusElement, state) {
statusElement.classList.remove('ntsh_status-green', 'ntsh_status-yellow', 'ntsh_status-red', 'ntsh_status-gray');
statusElement.classList.add("ntsh_status-".concat(state));
};
exports.setStatusState = setStatusState;
var setProgressState = function (progressElement, percentage) {
var value = progressElement.querySelector('.ntsh_progress-value');
value.style.width = "".concat(percentage * 100, "%");
var label = progressElement.querySelector('.ntsh_progress-label');
label.innerText = "".concat(Math.round(percentage * 100), "%");
};
exports.setProgressState = setProgressState;
var createProgress = function (value) {
var progress = (0, morphux_1.ce)('div', 'ntsh_progress');
progress.appendChild((0, morphux_1.ce)('div', 'ntsh_progress-value'));
progress.appendChild((0, morphux_1.ce)('div', 'ntsh_progress-label'));
(0, exports.setProgressState)(progress, value);
return progress;
};
exports.createProgress = createProgress;
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
function formatUptime(seconds) {
if (seconds < 0)
return '';
var days = Math.floor(seconds / 86400);
seconds %= 86400;
var hours = Math.floor(seconds / 3600);
seconds %= 3600;
var minutes = Math.floor(seconds / 60);
seconds = Math.floor(seconds % 60);
var parts = [];
if (days > 0)
parts.push("".concat(days, "d"));
parts.push("".concat(hours.toString().padStart(2, '0'), ":").concat(minutes
.toString()
.padStart(2, '0'), ":").concat(seconds.toString().padStart(2, '0')));
return parts.join(' ');
}
function delay(duration) {
return new Promise(function (resolve) { return setTimeout(resolve, duration); });
}
//# sourceMappingURL=utils.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../ts/utils.ts"],"names":[],"mappings":"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"}