@@ -531,13 +531,8 @@ export default defineComponent({
531531 column:192 ,// 192-column grid for fine-grained positioning
532532 cellHeight:" 17px" ,// Base cell height
533533 margin:2 ,// Minimal margin between panels
534- draggable: {
535- enable:! props .viewOnly && ! saveDashboardData .isLoading .value ,// Enable dragging unless view-only or saving
536- handle:" .drag-allow" ,// Only allow dragging from specific handle
537- },
538- resizable: {
539- enable:! props .viewOnly && ! saveDashboardData .isLoading .value ,// Enable resizing unless view-only or saving
540- },
534+ disableResize:props .viewOnly || saveDashboardData .isLoading .value ,// Disable resize in view-only
535+ disableDrag:props .viewOnly || saveDashboardData .isLoading .value ,// Disable drag in view-only
541536 acceptWidgets:false ,// Don't accept external widgets
542537 removable:false ,// Don't allow removal by dragging out
543538 animate:false ,// Disable animations for better performance
@@ -553,6 +548,12 @@ export default defineComponent({
553548
554549// Handle layout changes (drag/resize) - only update layout data, don't save during operations
555550gridStackInstance .on (" change" ,async (event ,items )=> {
551+
552+ // skip if viewOnly mode
553+ if (props .viewOnly ) {
554+ return ;
555+ }
556+
556557if (gridStackUpdateInProgress ) {
557558return ;
558559 }