mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-26 02:07:36 +00:00
add updating and removing of drawings/sheets
This commit is contained in:
@@ -33,6 +33,7 @@ function connectSocket() {
|
|||||||
socket.on("blender_disconnect", handleBlenderDisconnect);
|
socket.on("blender_disconnect", handleBlenderDisconnect);
|
||||||
socket.on("connect", handleWebConnect);
|
socket.on("connect", handleWebConnect);
|
||||||
socket.on("connected_clients", handleConnectedClients);
|
socket.on("connected_clients", handleConnectedClients);
|
||||||
|
socket.on("default_data", handleDefaultData);
|
||||||
socket.on("theme_data", handleThemeData);
|
socket.on("theme_data", handleThemeData);
|
||||||
socket.on("drawings_data", handleDrawingsData);
|
socket.on("drawings_data", handleDrawingsData);
|
||||||
socket.on("svg_data", handleSvgData);
|
socket.on("svg_data", handleSvgData);
|
||||||
@@ -40,13 +41,7 @@ function connectSocket() {
|
|||||||
|
|
||||||
// function used to get drawings data from blenderbim
|
// function used to get drawings data from blenderbim
|
||||||
function handleWebConnect() {
|
function handleWebConnect() {
|
||||||
const msg = {
|
getDrawingsData();
|
||||||
sourcePage: "drawings",
|
|
||||||
operator: {
|
|
||||||
type: "getDrawings",
|
|
||||||
},
|
|
||||||
};
|
|
||||||
socket.emit("web_operator", msg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to handle 'blender_connect' event
|
// Function to handle 'blender_connect' event
|
||||||
@@ -74,12 +69,17 @@ function handleBlenderConnect(blenderId) {
|
|||||||
socket.emit("web_operator", msg);
|
socket.emit("web_operator", msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Function to handle 'default_data' event
|
||||||
|
function handleDefaultData(data) {
|
||||||
|
getDrawingsData();
|
||||||
|
}
|
||||||
|
|
||||||
// Function to handle 'blender_disconnect' event
|
// Function to handle 'blender_disconnect' event
|
||||||
function handleBlenderDisconnect(blenderId) {
|
function handleBlenderDisconnect(blenderId) {
|
||||||
console.log("blender_disconnect: ", blenderId);
|
console.log("blender_disconnect: ", blenderId);
|
||||||
if (connectedClients.hasOwnProperty(blenderId)) {
|
if (connectedClients.hasOwnProperty(blenderId)) {
|
||||||
delete connectedClients[blenderId];
|
delete connectedClients[blenderId];
|
||||||
// remove(blenderId);
|
removeSelectOption(blenderId);
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#blender-count").text(function (i, text) {
|
$("#blender-count").text(function (i, text) {
|
||||||
@@ -155,7 +155,7 @@ function handleDrawingsData(data) {
|
|||||||
};
|
};
|
||||||
addSelectOption(blenderId, filename);
|
addSelectOption(blenderId, filename);
|
||||||
} else {
|
} else {
|
||||||
// update(blenderId, data, filename);
|
updateSelectOption(blenderId, filename);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
connectedClients[blenderId] = {
|
connectedClients[blenderId] = {
|
||||||
@@ -200,6 +200,32 @@ function addSelectOption(blenderId, filename) {
|
|||||||
$("#dropdown-menu").append(filenameOption);
|
$("#dropdown-menu").append(filenameOption);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateSelectOption(blenderId, filename) {
|
||||||
|
$("#blender-" + blenderId).text(filename);
|
||||||
|
console.log(blenderId, filename);
|
||||||
|
console.log($("#dropdown-menu").val());
|
||||||
|
|
||||||
|
if ($("#dropdown-menu").val() === filename) {
|
||||||
|
console.log("here");
|
||||||
|
displayDrawingsNames(blenderId, filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeSelectOption(blenderId) {
|
||||||
|
const filename = $("#blender-" + blenderId).val();
|
||||||
|
const selectedOption = $("#dropdown-menu").val();
|
||||||
|
|
||||||
|
$("#blender-" + blenderId).remove();
|
||||||
|
delete allDrawings[filename];
|
||||||
|
|
||||||
|
if (selectedOption == filename) {
|
||||||
|
$("#dropdown-menu").val("0");
|
||||||
|
|
||||||
|
$("#drawings-sub-panel").empty();
|
||||||
|
$("#sheets-sub-panel").empty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function displayDrawingsNames(blenderId, ifcFile) {
|
function displayDrawingsNames(blenderId, ifcFile) {
|
||||||
drawings = allDrawings[ifcFile].drawings;
|
drawings = allDrawings[ifcFile].drawings;
|
||||||
sheets = allDrawings[ifcFile].sheets;
|
sheets = allDrawings[ifcFile].sheets;
|
||||||
@@ -328,3 +354,13 @@ function toggleClientList() {
|
|||||||
});
|
});
|
||||||
clientList.addClass("show");
|
clientList.addClass("show");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDrawingsData() {
|
||||||
|
const msg = {
|
||||||
|
sourcePage: "drawings",
|
||||||
|
operator: {
|
||||||
|
type: "getDrawings",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
socket.emit("web_operator", msg);
|
||||||
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
<label for="dropdown-menu">IFC File:</label>
|
<label for="dropdown-menu">IFC File:</label>
|
||||||
<select class="p-0 pl-2" id="dropdown-menu">
|
<select class="p-0 pl-2" id="dropdown-menu">
|
||||||
<!-- IFC files will be dynamically populated here -->
|
<!-- IFC files will be dynamically populated here -->
|
||||||
<option value="" selected disabled hidden>IFC File</option>
|
<option value="0" selected hidden>IFC File</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<!-- Panel with sub-panels -->
|
<!-- Panel with sub-panels -->
|
||||||
|
|||||||
Reference in New Issue
Block a user