widget create and delete
This commit is contained in:
@@ -17,6 +17,7 @@ export interface widget extends Document {
|
||||
measurements: {};
|
||||
duration: string;
|
||||
};
|
||||
zoneId:string
|
||||
}
|
||||
const widgetSchema: Schema = new Schema(
|
||||
{
|
||||
@@ -35,6 +36,7 @@ const widgetSchema: Schema = new Schema(
|
||||
fontWeight: { type: String },
|
||||
isArchive: { type: Boolean, default: false },
|
||||
panelID: { type: mongoose.Schema.Types.ObjectId, ref: "Panel" },
|
||||
zoneId:{ type: String }
|
||||
},
|
||||
{ timestamps: true }
|
||||
);
|
||||
|
||||
@@ -61,6 +61,7 @@ export const addWidget = async (data: any) => {
|
||||
widgetName: widget.title,
|
||||
panelID: existingPanel._id,
|
||||
widgetside: widget.panel,
|
||||
zoneId: zoneId
|
||||
// Data: {
|
||||
// measurements: widget.Data.measurements || {},
|
||||
// duration: widget.Data.duration || "1hr",
|
||||
@@ -87,9 +88,15 @@ export const addWidget = async (data: any) => {
|
||||
}
|
||||
}
|
||||
export const Widgetdelete = async (data: any) => {
|
||||
const { widgetID, organization } = data
|
||||
const { widgetID, zoneId, organization } = data
|
||||
console.log('data: ', data);
|
||||
try {
|
||||
const existingZone = await zoneSchema(organization).findOne({
|
||||
zoneId: zoneId,
|
||||
isArchive: false,
|
||||
});
|
||||
if (!existingZone)
|
||||
return { success: false, message: "Zone not found", organization: organization }
|
||||
const findWidget = await widgetSchema(organization).findOne({
|
||||
widgetID: widgetID,
|
||||
isArchive: false,
|
||||
@@ -107,6 +114,7 @@ export const Widgetdelete = async (data: any) => {
|
||||
panelID: findWidget.panelID,
|
||||
isArchive: false,
|
||||
});
|
||||
console.log('widgets: ', widgets);
|
||||
// .sort({ widgetOrder: 1 });
|
||||
|
||||
// Reassign widgetOrder values
|
||||
@@ -123,8 +131,40 @@ export const Widgetdelete = async (data: any) => {
|
||||
panelData.widgets.splice(index1, 1);
|
||||
}
|
||||
const panelDeletedata = await panelData.save();
|
||||
console.log('Widget deleted successfully: ');
|
||||
return { success: false, message: "Widget deleted successfully",data:panelDeletedata,organization: organization}
|
||||
|
||||
// console.log('Widget deleted successfully: ',panelDeletedata);
|
||||
// if (panelData?.widgets.includes(findWidget._id)) {
|
||||
// panelData.widgets = panelData.widgets.filter(
|
||||
// (id: any) => id.toString() !== findWidget._id.toString()
|
||||
// );
|
||||
// await panelData.save();
|
||||
// }
|
||||
|
||||
// Fetch active widgets after deletion
|
||||
const activeWidgets = await widgetSchema(organization).find({
|
||||
zoneId: zoneId,
|
||||
isArchive: false,
|
||||
});
|
||||
|
||||
// console.log('activeWidgets: ', activeWidgets);
|
||||
|
||||
// // Format data
|
||||
const formattedWidgets = activeWidgets.map((widget) => ({
|
||||
id: widget.widgetID,
|
||||
type: widget.elementType, // Ensure this field exists
|
||||
title: widget.widgetName,
|
||||
panel: widget.widgetside,
|
||||
data: {
|
||||
duration: "1h",
|
||||
measurements: {}, // Add actual data if available
|
||||
},
|
||||
}));
|
||||
const widgetData1 = {
|
||||
widgetDeleteDatas: formattedWidgets, zoneId: zoneId, zoneName: existingZone.zoneName
|
||||
|
||||
}
|
||||
// console.log("formattedWidgets",widgetData1);
|
||||
return { success: true, message: "Widget deleted successfully", data: widgetData1, organization: organization }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -618,7 +618,7 @@ const widgetHandleEvent = async (event: string, socket: Socket, data: any, names
|
||||
// console.log(`👀 Active sockets in room:`, namespace.adapter.rooms.get(organization));
|
||||
// console.log('emitTarget: ', emitTarget);
|
||||
if (organization) {
|
||||
socket.emit(responseEvent, {
|
||||
socket.to(organization).emit(responseEvent, {
|
||||
success: result.success,
|
||||
message: result.message,
|
||||
data: result.data,
|
||||
|
||||
Reference in New Issue
Block a user