Esempio n. 1
0
        public UserState(ILogger <UserState> logger,
                         IJSRuntime jsRuntime,
                         IServiceProvider serviceProvider,
                         AppState appState,
                         UserIdService userIdService,
                         AuthenticationStateProvider authenticationStateProvider,
                         DatabaseManager databaseManager,
                         NexusOptions options,
                         DataService dataService)
        {
            this.Logger = logger;

            _jsRuntime                   = jsRuntime;
            _serviceProvider             = serviceProvider;
            _appState                    = appState;
            _userIdService               = userIdService;
            _authenticationStateProvider = authenticationStateProvider;
            _databaseManager             = databaseManager;
            _options        = options;
            _dataService    = dataService;
            _codeDefinition = this.CreateCodeDefinition(CodeType.Filter);

            this.VisualizeBeginAtZero = true;
            this.SampleRateValues     = new List <string>();
            this.ExportParameters     = new ExportParameters();

            _appState.PropertyChanged += this.OnAppStatePropertyChanged;

            if (_appState.IsDatabaseInitialized)
            {
                this.Initialize(_databaseManager.Database);
            }
        }
Esempio n. 2
0
        private async Task CopyCodeDefinitionAsync(CodeDefinitionViewModel filter)
        {
            var owner = this.User.Identity.Name;

            this.UserState.CodeDefinition = new CodeDefinitionViewModel(filter.Model with
            {
                Id        = Guid.NewGuid().ToString(),
                IsEnabled = false,
                Owner     = owner
            });
        }
Esempio n. 3
0
        private async Task UpdateMonacoAndRoslyn(CodeDefinitionViewModel codeDefinition)
        {
            // create roslyn project
            await this.CreateProjectAsync();

            // get diagnostics
            this.Diagnostics = await this.MonacoService.GetDiagnosticsAsync();

            // set monaco value
            await this.JS.SetMonacoValueAsync(_editorId, codeDefinition.Code);

            // set monaco diagnostics
            await this.JS.SetMonacoDiagnosticsAsync(_editorId, this.Diagnostics);
        }
Esempio n. 4
0
        private async Task OnCodeDefinitionChangedAsync(CodeDefinitionViewModel codeDefinition)
        {
            // attach to events
            if (this.UserState.CodeDefinition is not null)
            {
                this.UserState.CodeDefinition.PropertyChanged -= this.OnCodeDefinitionPropertyChanged;
            }

            this.UserState.SetCodeDefinitionSilently(codeDefinition);
            this.UserState.CodeDefinition.PropertyChanged += this.OnCodeDefinitionPropertyChanged;

            // update monaco and roslyn
            await this.UpdateMonacoAndRoslyn(codeDefinition);
        }
 private void Accept(CodeDefinitionViewModel codeDefinition)
 {
     this.OnIsOpenChanged(false);
     this.OnCodeDefinitionSelected?.Invoke(codeDefinition);
 }
Esempio n. 6
0
 public void SetCodeDefinitionSilently(CodeDefinitionViewModel codeDefinition)
 {
     _codeDefinition = codeDefinition;
 }