moved logs to 'edit' modal, removed log button

This commit is contained in:
BroodjeAap 2022-11-22 20:35:36 +00:00
parent 919a369945
commit ca9ed70ce3
5 changed files with 66 additions and 110 deletions

View file

@ -272,7 +272,6 @@ var DiagramNode = /** @class */ (function (_super) {
_this.resize(ctx); _this.resize(ctx);
_this.deleteButton = new Button(0, 0, "Del", ctx, _diagram.deleteNodeCallback, _this); _this.deleteButton = new Button(0, 0, "Del", ctx, _diagram.deleteNodeCallback, _this);
_this.editButton = new Button(0, 0, "Edit", ctx, _diagram.editNodeCallback, _this); _this.editButton = new Button(0, 0, "Edit", ctx, _diagram.editNodeCallback, _this);
_this.logButton = new Button(0, 0, "Log", ctx, _diagram.logNodeCallback, _this);
_this.input = new NodeIO(_this, true); _this.input = new NodeIO(_this, true);
_this.output = new NodeIO(_this, false); _this.output = new NodeIO(_this, false);
_this.results = results; _this.results = results;
@ -288,8 +287,7 @@ var DiagramNode = /** @class */ (function (_super) {
if (this.hover) { if (this.hover) {
this.deleteButton.update(ms); this.deleteButton.update(ms);
this.editButton.update(ms); this.editButton.update(ms);
this.logButton.update(ms); var onButtons = this.deleteButton.hover || this.editButton.hover;
var onButtons = this.deleteButton.hover || this.editButton.hover || this.logButton.hover;
if (!this.dragging && ms.leftDown && !ms.draggingNode && !ms.draggingConnection && !onButtons) { if (!this.dragging && ms.leftDown && !ms.draggingNode && !ms.draggingConnection && !onButtons) {
this.dragging = true; this.dragging = true;
ms.draggingNode = true; ms.draggingNode = true;
@ -300,7 +298,6 @@ var DiagramNode = /** @class */ (function (_super) {
else { else {
this.deleteButton.hover = false; this.deleteButton.hover = false;
this.editButton.hover = false; this.editButton.hover = false;
this.logButton.hover = false;
} }
if (!ms.leftDown) { if (!ms.leftDown) {
this.dragging = false; this.dragging = false;
@ -324,8 +321,9 @@ var DiagramNode = /** @class */ (function (_super) {
var labelY = ms.offset.y + this.y + 3 * 2 + this.labelHeight; var labelY = ms.offset.y + this.y + 3 * 2 + this.labelHeight;
ctx.fillText(this.label, labelX, labelY); ctx.fillText(this.label, labelX, labelY);
ctx.font = "15px Helvetica"; ctx.font = "15px Helvetica";
ctx.fillStyle = "#898989";
var typeX = ms.offset.x + this.x + this.width / 2 - this.typeWidth / 2; var typeX = ms.offset.x + this.x + this.width / 2 - this.typeWidth / 2;
var typeY = ms.offset.y + this.y + 3 * 3 + this.typeHeight + this.labelHeight; var typeY = ms.offset.y + this.y + this.height - 3;
ctx.fillText(this.type, typeX, typeY); ctx.fillText(this.type, typeX, typeY);
var resultCount = "" + this.results.length; var resultCount = "" + this.results.length;
var resultCountSize = ctx.measureText(resultCount); var resultCountSize = ctx.measureText(resultCount);
@ -340,9 +338,6 @@ var DiagramNode = /** @class */ (function (_super) {
this.editButton.x = ms.offset.x + this.x + this.width - this.editButton.width; this.editButton.x = ms.offset.x + this.x + this.width - this.editButton.width;
this.editButton.y = ms.offset.y + this.y + this.height - this.editButton.height; this.editButton.y = ms.offset.y + this.y + this.height - this.editButton.height;
this.editButton.draw(ctx, ms); this.editButton.draw(ctx, ms);
this.logButton.x = ms.offset.x + this.x + this.width / 2 - this.logButton.width / 2;
this.logButton.y = ms.offset.y + this.y + this.height - this.logButton.height;
this.logButton.draw(ctx, ms);
this.input.draw(ctx, ms); this.input.draw(ctx, ms);
this.output.draw(ctx, ms); this.output.draw(ctx, ms);
if (this.logs.length > 0) { if (this.logs.length > 0) {
@ -448,10 +443,9 @@ var MouseState = /** @class */ (function () {
return MouseState; return MouseState;
}()); }());
var Diagrams = /** @class */ (function () { var Diagrams = /** @class */ (function () {
function Diagrams(canvasId, editNodeCallback, deleteNodeCallback, logNodeCallback) { function Diagrams(canvasId, editNodeCallback, deleteNodeCallback) {
if (editNodeCallback === void 0) { editNodeCallback = function () { }; } if (editNodeCallback === void 0) { editNodeCallback = function () { }; }
if (deleteNodeCallback === void 0) { deleteNodeCallback = function () { }; } if (deleteNodeCallback === void 0) { deleteNodeCallback = function () { }; }
if (logNodeCallback === void 0) { logNodeCallback = function () { }; }
this.shouldTick = true; this.shouldTick = true;
this.nodes = new Map(); this.nodes = new Map();
this.connections = new Array(); this.connections = new Array();
@ -462,7 +456,6 @@ var Diagrams = /** @class */ (function () {
this.newConnection = null; this.newConnection = null;
this.scale = 1.0; this.scale = 1.0;
this.editNodeCallback = function () { }; this.editNodeCallback = function () { };
this.logNodeCallback = function () { };
this.deleteNodeCallback = function () { }; this.deleteNodeCallback = function () { };
this.canvas = document.getElementById(canvasId); this.canvas = document.getElementById(canvasId);
if (this.canvas === null) { if (this.canvas === null) {
@ -475,7 +468,6 @@ var Diagrams = /** @class */ (function () {
_diagram = this; _diagram = this;
this.ctx = ctx; this.ctx = ctx;
this.editNodeCallback = editNodeCallback; this.editNodeCallback = editNodeCallback;
this.logNodeCallback = logNodeCallback;
this.deleteNodeCallback = deleteNodeCallback; this.deleteNodeCallback = deleteNodeCallback;
this.canvas.onmousemove = diagramOnMouseMove; this.canvas.onmousemove = diagramOnMouseMove;
this.canvas.onmousedown = diagramOnMouseDown; this.canvas.onmousedown = diagramOnMouseDown;

View file

@ -298,7 +298,6 @@ class DiagramNode extends CanvasObject {
deleteButton: Button; deleteButton: Button;
editButton: Button; editButton: Button;
logButton: Button;
dragging: boolean = false; dragging: boolean = false;
dragOrigin: Point = new Point(); dragOrigin: Point = new Point();
@ -332,7 +331,6 @@ class DiagramNode extends CanvasObject {
this.deleteButton = new Button(0, 0, "Del", ctx, _diagram.deleteNodeCallback, this); this.deleteButton = new Button(0, 0, "Del", ctx, _diagram.deleteNodeCallback, this);
this.editButton = new Button(0, 0, "Edit", ctx, _diagram.editNodeCallback, this); this.editButton = new Button(0, 0, "Edit", ctx, _diagram.editNodeCallback, this);
this.logButton = new Button(0, 0, "Log", ctx, _diagram.logNodeCallback, this);
this.input = new NodeIO(this, true); this.input = new NodeIO(this, true);
this.output = new NodeIO(this, false); this.output = new NodeIO(this, false);
@ -349,8 +347,7 @@ class DiagramNode extends CanvasObject {
if (this.hover){ if (this.hover){
this.deleteButton.update(ms); this.deleteButton.update(ms);
this.editButton.update(ms); this.editButton.update(ms);
this.logButton.update(ms); let onButtons = this.deleteButton.hover || this.editButton.hover;
let onButtons = this.deleteButton.hover || this.editButton.hover || this.logButton.hover;
if (!this.dragging && ms.leftDown && !ms.draggingNode && !ms.draggingConnection && !onButtons){ if (!this.dragging && ms.leftDown && !ms.draggingNode && !ms.draggingConnection && !onButtons){
this.dragging = true; this.dragging = true;
ms.draggingNode = true; ms.draggingNode = true;
@ -360,7 +357,6 @@ class DiagramNode extends CanvasObject {
} else { } else {
this.deleteButton.hover = false; this.deleteButton.hover = false;
this.editButton.hover = false; this.editButton.hover = false;
this.logButton.hover = false;
} }
if (!ms.leftDown){ if (!ms.leftDown){
@ -388,8 +384,9 @@ class DiagramNode extends CanvasObject {
ctx.fillText(this.label, labelX, labelY); ctx.fillText(this.label, labelX, labelY);
ctx.font = "15px Helvetica"; ctx.font = "15px Helvetica";
ctx.fillStyle = "#898989";
let typeX = ms.offset.x + this.x + this.width / 2 - this.typeWidth / 2; let typeX = ms.offset.x + this.x + this.width / 2 - this.typeWidth / 2;
let typeY = ms.offset.y + this.y + 3 * 3 + this.typeHeight + this.labelHeight; let typeY = ms.offset.y + this.y + this.height - 3;
ctx.fillText(this.type, typeX, typeY); ctx.fillText(this.type, typeX, typeY);
let resultCount = `${this.results.length}` let resultCount = `${this.results.length}`
@ -407,10 +404,6 @@ class DiagramNode extends CanvasObject {
this.editButton.x = ms.offset.x + this.x + this.width - this.editButton.width; this.editButton.x = ms.offset.x + this.x + this.width - this.editButton.width;
this.editButton.y = ms.offset.y + this.y + this.height - this.editButton.height; this.editButton.y = ms.offset.y + this.y + this.height - this.editButton.height;
this.editButton.draw(ctx, ms); this.editButton.draw(ctx, ms);
this.logButton.x = ms.offset.x + this.x + this.width / 2 - this.logButton.width / 2;
this.logButton.y = ms.offset.y + this.y + this.height - this.logButton.height;
this.logButton.draw(ctx, ms);
this.input.draw(ctx, ms); this.input.draw(ctx, ms);
this.output.draw(ctx, ms); this.output.draw(ctx, ms);
@ -543,14 +536,12 @@ class Diagrams {
scale: number = 1.0; scale: number = 1.0;
editNodeCallback: (node: DiagramNode) => void = function (){}; editNodeCallback: (node: DiagramNode) => void = function (){};
logNodeCallback: (node: DiagramNode) => void = function (){};
deleteNodeCallback: (node: DiagramNode) => void = function (){}; deleteNodeCallback: (node: DiagramNode) => void = function (){};
constructor( constructor(
canvasId: string, canvasId: string,
editNodeCallback: (node: DiagramNode) => void = function (){}, editNodeCallback: (node: DiagramNode) => void = function (){},
deleteNodeCallback: (node: DiagramNode) => void = function (){}, deleteNodeCallback: (node: DiagramNode) => void = function (){},
logNodeCallback: (node: DiagramNode) => void = function (){},
){ ){
this.canvas = document.getElementById(canvasId) as HTMLCanvasElement; this.canvas = document.getElementById(canvasId) as HTMLCanvasElement;
if (this.canvas === null){ if (this.canvas === null){
@ -563,7 +554,6 @@ class Diagrams {
_diagram = this; _diagram = this;
this.ctx = ctx; this.ctx = ctx;
this.editNodeCallback = editNodeCallback; this.editNodeCallback = editNodeCallback;
this.logNodeCallback = logNodeCallback;
this.deleteNodeCallback = deleteNodeCallback; this.deleteNodeCallback = deleteNodeCallback;
this.canvas.onmousemove = diagramOnMouseMove; this.canvas.onmousemove = diagramOnMouseMove;

View file

@ -692,7 +692,7 @@ function onSubmitNewFilter() {
}); });
} }
function editNode(node) { function editNode(node) {
var e_2, _a; var e_2, _a, e_3, _b;
var addFilterButton = document.getElementById("filterButton"); var addFilterButton = document.getElementById("filterButton");
addFilterButton.click(); addFilterButton.click();
var name = node.label; var name = node.label;
@ -717,11 +717,39 @@ function editNode(node) {
onTypeChange(node); onTypeChange(node);
var submitButton = document.getElementById("submitFilterButton"); var submitButton = document.getElementById("submitFilterButton");
submitButton.innerHTML = "Save"; submitButton.innerHTML = "Save";
var logHeader = document.getElementById("logHeader");
if (node.logs.length > 0) {
logHeader.innerHTML = "Logs";
}
else {
logHeader.innerHTML = "";
}
var logBody = document.getElementById("logTableBody");
logBody.innerHTML = "";
try {
for (var _c = __values(node.logs), _d = _c.next(); !_d.done; _d = _c.next()) {
var log = _d.value;
var row = document.createElement("tr");
var cell = document.createElement("td");
var code = document.createElement("code");
code.innerHTML = log;
cell.appendChild(code);
row.appendChild(cell);
logBody.appendChild(row);
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (_d && !_d.done && (_a = _c["return"])) _a.call(_c);
}
finally { if (e_2) throw e_2.error; }
}
var filterModalFooter = document.getElementById("filterResultsDiv"); var filterModalFooter = document.getElementById("filterResultsDiv");
filterModalFooter.innerHTML = ""; filterModalFooter.innerHTML = "";
try { try {
for (var _b = __values(node.results), _c = _b.next(); !_c.done; _c = _b.next()) { for (var _e = __values(node.results), _f = _e.next(); !_f.done; _f = _e.next()) {
var result = _c.value; var result = _f.value;
var cardDiv = document.createElement("div"); var cardDiv = document.createElement("div");
cardDiv.classList.add("card", "my-2"); cardDiv.classList.add("card", "my-2");
var cardBody = document.createElement("div"); var cardBody = document.createElement("div");
@ -741,43 +769,14 @@ function editNode(node) {
filterModalFooter.appendChild(cardDiv); filterModalFooter.appendChild(cardDiv);
} }
} }
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b["return"])) _a.call(_b);
}
finally { if (e_2) throw e_2.error; }
}
submitButton.onclick = function () { submitEditNode(node); };
}
function logNode(node) {
var e_3, _a;
var logButton = document.getElementById("logButton");
logButton.click();
var logTitle = document.getElementById("logModalLabel");
logTitle.innerHTML = node.label;
var logBody = document.getElementById("logTableBody");
logBody.innerHTML = "";
var logTable = document.getElementById("logTable");
try {
for (var _b = __values(node.logs), _c = _b.next(); !_c.done; _c = _b.next()) {
var log = _c.value;
var row = document.createElement("tr");
var cell = document.createElement("td");
var code = document.createElement("code");
code.innerHTML = log;
cell.appendChild(code);
row.appendChild(cell);
logBody.appendChild(row);
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; } catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally { finally {
try { try {
if (_c && !_c.done && (_a = _b["return"])) _a.call(_b); if (_f && !_f.done && (_b = _e["return"])) _b.call(_e);
} }
finally { if (e_3) throw e_3.error; } finally { if (e_3) throw e_3.error; }
} }
submitButton.onclick = function () { submitEditNode(node); };
} }
function deleteNode(node) { function deleteNode(node) {
_diagram.nodes["delete"](node.id); _diagram.nodes["delete"](node.id);

View file

@ -724,6 +724,24 @@ function editNode(node: DiagramNode){
let submitButton = document.getElementById("submitFilterButton") as HTMLButtonElement; let submitButton = document.getElementById("submitFilterButton") as HTMLButtonElement;
submitButton.innerHTML = "Save"; submitButton.innerHTML = "Save";
let logHeader = document.getElementById("logHeader") as HTMLHeadElement;
if (node.logs.length > 0){
logHeader.innerHTML = "Logs";
} else {
logHeader.innerHTML = "";
}
let logBody = document.getElementById("logTableBody") as HTMLElement;
logBody.innerHTML = "";
for (let log of node.logs){
let row = document.createElement("tr");
let cell = document.createElement("td");
let code = document.createElement("code");
code.innerHTML = log;
cell.appendChild(code);
row.appendChild(cell);
logBody.appendChild(row);
}
let filterModalFooter = document.getElementById("filterResultsDiv") as HTMLDivElement; let filterModalFooter = document.getElementById("filterResultsDiv") as HTMLDivElement;
filterModalFooter.innerHTML = ""; filterModalFooter.innerHTML = "";
for (let result of node.results){ for (let result of node.results){
@ -747,26 +765,6 @@ function editNode(node: DiagramNode){
submitButton.onclick = function() {submitEditNode(node);} submitButton.onclick = function() {submitEditNode(node);}
} }
function logNode(node: DiagramNode){
let logButton = document.getElementById("logButton") as HTMLButtonElement;
logButton.click();
let logTitle = document.getElementById("logModalLabel") as HTMLHeadElement;
logTitle.innerHTML = node.label;
let logBody = document.getElementById("logTableBody") as HTMLElement;
logBody.innerHTML = "";
let logTable = document.getElementById("logTable") as HTMLTableElement;
for (let log of node.logs){
let row = document.createElement("tr");
let cell = document.createElement("td");
let code = document.createElement("code");
code.innerHTML = log;
cell.appendChild(code);
row.appendChild(cell);
logBody.appendChild(row);
}
}
function deleteNode(node: DiagramNode){ function deleteNode(node: DiagramNode){
_diagram.nodes.delete(node.id) _diagram.nodes.delete(node.id)
for (let i = 0; i < _diagram.connections.length; i++){ for (let i = 0; i < _diagram.connections.length; i++){

View file

@ -39,11 +39,6 @@
Import Watch Import Watch
</button> </button>
</td> </td>
<td id="OpenLogTD" hidden>
<button type="button" id="logButton" class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#LogModal">
Open Log
</button>
</td>
<td> <td>
<a href="/watch/view/{{ .Watch.ID }}" class="btn btn-outline-secondary btn-sm"> <a href="/watch/view/{{ .Watch.ID }}" class="btn btn-outline-secondary btn-sm">
View Watch View Watch
@ -106,6 +101,13 @@
<div > <div >
<button class="btn btn-primary mt-4" data-bs-dismiss="modal" id="submitFilterButton">Add Filter</button> <button class="btn btn-primary mt-4" data-bs-dismiss="modal" id="submitFilterButton">Add Filter</button>
</div> </div>
<div class="h3 text-center text-danger" id="logHeader">Logs</div>
<table class="table table-hover table-sm" id="logTable">
<tbody id="logTableBody">
</tbody>
</table>
<div class="h3 text-center">Outputs</div>
<div id="filterResultsDiv"> <div id="filterResultsDiv">
</div> </div>
</div> </div>
@ -158,31 +160,6 @@
</div> </div>
</div> </div>
<div class="modal fade" id="LogModal" tabindex="-1" aria-labelledby="logModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="logModalLabel">-</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div>
<table class="table table-hover table-sm" id="logTable">
<thead>
<tr>
<th scope="col">Message</th>
</tr>
</thead>
<tbody id="logTableBody">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="ImportModal" tabindex="-1" aria-labelledby="ImportModalLabel" aria-hidden="true"> <div class="modal fade" id="ImportModal" tabindex="-1" aria-labelledby="ImportModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
@ -211,7 +188,7 @@
<script> <script>
var diagrams; var diagrams;
function canvasInit() { function canvasInit() {
diagrams = new Diagrams("canvas", editNode, deleteNode, logNode); diagrams = new Diagrams("canvas", editNode, deleteNode);
{{ range .Filters }} {{ range .Filters }}
diagrams.addNode( diagrams.addNode(
{{ .ID }}, {{ .ID }},