Skip to content
Snippets Groups Projects
Commit 19ec6667 authored by Robin Leber's avatar Robin Leber
Browse files

validation for pipes

parent d70a049d
No related branches found
No related tags found
No related merge requests found
...@@ -12,7 +12,7 @@ export const runCustomCode = () => { ...@@ -12,7 +12,7 @@ export const runCustomCode = () => {
loader(false); loader(false);
if (response.status === 200) { if (response.status === 200) {
successFeedback(); successFeedback();
showDocker(window.selectedFilter); showDocker();
} else { } else {
errorFeedback(response); errorFeedback(response);
} }
...@@ -50,7 +50,7 @@ export const restartCustomCode = () => { ...@@ -50,7 +50,7 @@ export const restartCustomCode = () => {
loader(false); loader(false);
if (response.status === 200) { if (response.status === 200) {
successFeedback(); successFeedback();
showDocker(window.selectedFilter); showDocker();
} else { } else {
errorFeedback(response); errorFeedback(response);
} }
... ...
......
import { duplicatePipe, duplicateFilter } from "./duplication"; import { duplicatePipe, duplicateFilter, extendPipe } from "./duplication";
import { codeEditor } from "./codeEditor"; import { codeEditor } from "./codeEditor";
import { scaleOut } from "./api"; import { scaleOut } from "./api";
import { showCheck } from "./visualValidation";
export const initContextmenu = (instance) => { export const initContextmenu = (instance) => {
// Kontext Menü für Connections // Kontext Menü für Connections
...@@ -70,6 +71,9 @@ export const initContextmenu = (instance) => { ...@@ -70,6 +71,9 @@ export const initContextmenu = (instance) => {
window.selectedPipe = $(event.currentTarget).attr("id"); window.selectedPipe = $(event.currentTarget).attr("id");
$( $(
`<div style='display: flex; flex-direction: column;' class='custom-menu'> `<div style='display: flex; flex-direction: column;' class='custom-menu'>
<button style='border: none; padding: 6px 12px;' class='name-pipe'>
Name Pipe
</button>
<button style='border: none; padding: 6px 12px;' class='duplicate-pipe'> <button style='border: none; padding: 6px 12px;' class='duplicate-pipe'>
Duplicate Pipe Duplicate Pipe
</button> </button>
...@@ -88,14 +92,8 @@ export const initContextmenu = (instance) => { ...@@ -88,14 +92,8 @@ export const initContextmenu = (instance) => {
$("body").on("click", ".duplicate-pipe", (event) => { $("body").on("click", ".duplicate-pipe", (event) => {
duplicatePipe(instance); duplicatePipe(instance);
}); });
$("body").on("click", ".name-pipe", (event) => {
$("body").on("dblclick", "#Diagram .Pipe", (event) => { extendPipe();
event.preventDefault(); showCheck(window.selectedPipe);
window.selectedPipe = $(event.currentTarget);
let pipeName = prompt("Bitte geben Sie einen Pipe Namen ein:");
if (pipeName !== null) {
let currentHTML = window.selectedPipe.html();
window.selectedPipe.html(`${currentHTML} <br> ${pipeName}`);
}
}); });
}; };
...@@ -52,3 +52,26 @@ export const duplicateFilter = (instance) => { ...@@ -52,3 +52,26 @@ export const duplicateFilter = (instance) => {
instance.draggable(newFilter.id, { containment: true }); instance.draggable(newFilter.id, { containment: true });
createEndpoints(instance, newFilter.id, newFilter.dataset.type); createEndpoints(instance, newFilter.id, newFilter.dataset.type);
}; };
export const extendPipe = () => {
let pipeName = prompt("Bitte geben Sie einen Pipe Namen ein:");
const pipeToName = document.getElementById(window.selectedPipe);
if (pipeToName) {
var textIndex = pipeToName.innerHTML.indexOf("Queue");
textIndex === -1
? (textIndex = pipeToName.innerHTML.indexOf("Topic"))
: null;
if (textIndex !== -1) {
var beforeQueue = pipeToName.innerHTML.slice(
0,
textIndex + "Queue".length
);
var afterQueue = pipeToName.innerHTML.slice(textIndex + "Queue".length);
var newContent = beforeQueue + `<br> "${pipeName}"` + afterQueue;
pipeToName.innerHTML = newContent;
}
}
};
...@@ -16,13 +16,10 @@ export const showCheck = (id) => { ...@@ -16,13 +16,10 @@ export const showCheck = (id) => {
var dockerDomElement = selectedElement.querySelector("#Docker"); var dockerDomElement = selectedElement.querySelector("#Docker");
dockerDomElement.style.visibility = "hidden"; dockerDomElement.style.visibility = "hidden";
}; };
export const showDocker = (id) => { export const showDocker = () => {
console.log("### hi:", id); let elementsToHide = document.querySelectorAll("#Warning, #Check");
const selectedElement = document.getElementById(id); elementsToHide.forEach((element) => (element.style.visibility = "hidden"));
var checkDomElement = selectedElement.querySelector("#Warning");
checkDomElement.style.visibility = "hidden"; let elementsToShow = document.querySelectorAll("#Diagram #Docker");
var dockerDomElement = selectedElement.querySelector("#Check"); elementsToShow.forEach((element) => (element.style.visibility = "visible"));
dockerDomElement.style.visibility = "hidden";
var dockerDomElement = selectedElement.querySelector("#Docker");
dockerDomElement.style.visibility = "visible";
}; };
...@@ -25,8 +25,24 @@ ...@@ -25,8 +25,24 @@
<h4>TOOLBOX</h4> <h4>TOOLBOX</h4>
<div> <div>
<h5>PIPES</h5> <h5>PIPES</h5>
<div class="Pipe" data-type="Default">Queue</div> <div class="Pipe" data-type="Default">
<div class="Pipe" data-type="Distributor">Topic</div> Queue
<i
id="Warning"
class="fa-sharp fa-solid fa-xl fa-circle-exclamation"
></i>
<i id="Check" class="fa-sharp fa-xl fa-solid fa-circle-check"></i>
<i id="Docker" class="fa-brands fa-xl fa-docker"></i>
</div>
<div class="Pipe" data-type="Distributor">
Topic
<i
id="Warning"
class="fa-sharp fa-solid fa-xl fa-circle-exclamation"
></i>
<i id="Check" class="fa-sharp fa-xl fa-solid fa-circle-check"></i>
<i id="Docker" class="fa-brands fa-xl fa-docker"></i>
</div>
</div> </div>
<hr /> <hr />
<div> <div>
... ...
......
...@@ -12,7 +12,6 @@ import { ...@@ -12,7 +12,6 @@ import {
clearArchitecture, clearArchitecture,
} from "./functions/api"; } from "./functions/api";
import { getScaleValues } from "./functions/scaling"; import { getScaleValues } from "./functions/scaling";
import { showDocker } from "./functions/visualValidation";
function App() { function App() {
const appState = (() => { const appState = (() => {
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment