The viewer and designer can be combined into one edit-and-preview flow, switching between them with a flag.

In Vue.
<script setup lang="ts">
import { ref } from "vue";
import { Viewer, Stimulsoft } from "stimulsoft-dashboards-js-vuejs/viewer";
import { Designer } from "stimulsoft-dashboards-js-vuejs/designer";

const isViewer = ref(true);
var report = new Stimulsoft.Report.StiReport();
report.loadFile("Dashboards/Dashboard.mrt");

function onDesignReport(a) { isViewer.value = false; }
function onOpenedReport(a) { report = a.report; }
async function onExitDesigner() { await report.renderAsync2(); isViewer.value = true; }
function onAssignedReport(a) { report = a.report; }
</script>

<template>
    <Viewer v-if="isViewer" :report="report" @design-report="onDesignReport" @opened-report="onOpenedReport" />
    <Designer v-else :report="report" @exit="onExitDesigner" @assigned-report="onAssignedReport" />
</template>

How it works. A single flag chooses which component renders, so users move from dashboard preview to editing and back within one screen.

Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.