예제 #1
0
        protected async void HandleDownloadContractClicked(object sender, MouseEventArgs args)
        {
            //Request a force save
            await SaveManager.RequestStateSave();

            var serializedContract = ContractManager.SerializeContract();
            var contractName       = string.IsNullOrEmpty(ContractManager.GetContractName()) ? "contract" : ContractManager.GetContractName();
            await JSRunTime.InvokeVoidAsync("fileSaverLib.saveContract", $"{contractName}.dascontract", serializedContract);
        }
예제 #2
0
        protected async void HandleSaveContractClicked(object sender, MouseEventArgs args)
        {
            //Request a force save
            await SaveManager.RequestSave();

            var serializedContract = ContractManager.SerializeContract();
            await LocalStorage.SetItemAsync("contract", serializedContract);

            await JSRunTime.InvokeVoidAsync("fileSaverLib.saveFile", "contract.dascontract", serializedContract);
        }
예제 #3
0
        protected async override void OnAfterRender(bool firstRender)
        {
            base.OnAfterRender(firstRender);
            if (firstRender)
            {
                await JSRunTime.InvokeVoidAsync("dmnModellerLib.createModeler", BusinessRuleTask.BusinessRuleDefinitionXml ?? "");

                SaveManager.StateSaveRequested += HandleSaveRequested;
            }
        }
예제 #4
0
        private async Task RefreshDiagram()
        {
            try
            {
                var dataTypes = DataModelManager.GetDataTypes();
                MermaidScript = DataModelConverter.ConvertToDiagramCode(dataTypes);

                await JSRunTime.InvokeVoidAsync("mermaidLib.renderMermaidDiagram", "mermaid-canvas", MermaidScript);
            }
            catch (JSException)
            {
                Console.WriteLine("Could not render mermaid diagram");
            }
            catch (DataModelConversionException)
            {
                Console.WriteLine("Error when converting the model");
            }
        }
예제 #5
0
        private async void RefreshDiagram()
        {
            try
            {
                var dataTypes     = ContractManager.GetDataTypes();
                var mermaidScript = _mermaidTemplate.Render(new
                {
                    Relationships = GetModelRelationships(dataTypes),
                    Enums         = dataTypes.Values.OfType <Abstraction.Data.Enum>(),
                    Entities      = dataTypes.Values.OfType <Entity>().Where(e => e.GetType() == typeof(Entity)),
                    Tokens        = dataTypes.Values.OfType <Token>().Where(e => e.GetType() == typeof(Token))
                });

                await JSRunTime.InvokeVoidAsync("mermaidLib.renderMermaidDiagram", "mermaid-canvas", mermaidScript);
            }
            catch (JSException)
            {
                Console.WriteLine("Could not render mermaid diagram");
            }
        }
예제 #6
0
        async void InitializeSplitGutter()
        {
            await JSRunTime.InvokeVoidAsync("splitterLib.createSplit", ".gutter-col-1");

            await ResizeHandler.InitializeHandler();
        }
예제 #7
0
 private async void HandleSaveDiagramAsPng(object sender, MouseEventArgs args)
 {
     await JSRunTime.InvokeVoidAsync("modellerLib.saveAsPng", ContractManager.GetContractName());
 }
예제 #8
0
 private async void HandleSaveToPngClicked(object sender, MouseEventArgs args)
 {
     await JSRunTime.InvokeVoidAsync("mermaidLib.downloadPNG", ContractManager.GetContractName());
 }
예제 #9
0
 private async void HandleSaveDiagram(object sender, MouseEventArgs args)
 {
     await JSRunTime.InvokeVoidAsync("modellerLib.saveAsSvg");
 }