Exemple #1
0
        private async void Dashboard_Loaded(object sender, RoutedEventArgs e)
        {
            // Event handler to set in-memory datasource
            this.revealView1.DataSourcesRequested
                += RevealView1_DataSourcesRequested;

            // Event handler to save dashboards
            this.revealView1.SaveDashboard += RevealView1_SaveDashboard;

            // Event handler to save images
            this.revealView1.ImageExported += RevealView1_ImageExported;

            // Data provider setting
            this.revealView1.DataProvider =
                new EmbedDataProvider(this.DataContext as DashboardViewModel);

            // If the file exists load it, if not create a new dashboard
            var         path       = @"..\..\Dashboards\Sales.rdash";
            var         revealView = new RevealView();
            RVDashboard dashboard  = null; // setting null means a new dashboard creation

            if (File.Exists(path))
            {
                using (var fileStream = File.OpenRead(path))
                {
                    // Load dashboard definition
                    dashboard = await RevealUtility.LoadDashboard(fileStream);
                }
            }
            var settings = new RevealSettings(dashboard);

            if (UserInfo.permissionLevel == 0)
            {
                // Editable
                settings.CanEdit  = true;
                settings.ShowMenu = true;
            }
            else
            {
                // Not editable
                settings.CanEdit  = false;
                settings.ShowMenu = true;
            }
            // Other option settings
            settings.ShowChangeVisualization = true;
            settings.CanSaveAs       = false;
            settings.ShowExportImage = true;
            settings.ShowFilters     = true;
            settings.ShowRefresh     = true;

            //Set Maximized visualization
            //settings.MaximizedVisualization = settings.Dashboard.Visualizations.First();

            this.revealView1.Settings = settings;

            if (UserInfo.permissionLevel != 0 && dashboard is null)
            {
                // In case no edit rights and no dashboard difined
                this.revealView1.Visibility = Visibility.Collapsed;
                MessageBox.Show("No dashboard defined !!");
            }
        }