using System; using AIStudio.Wpf.DiagramDesigner; using AIStudio.Wpf.DiagramDesigner.Services; using AIStudio.Wpf.DiagramHelper.Extensions.Models; namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels { public class PersistDesignerItemViewModel : DesignerItemViewModelBase { private IUIVisualizerService visualiserService; public PersistDesignerItemViewModel() : base() { } public PersistDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer) { } public PersistDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json) { } public override SelectableItemBase ToXmlObject() { return new PersistDesignerItem(this); } public override Type ToXmlType() { return typeof(PersistDesignerItem); } protected override void Init() { base.Init(); visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService; this.ShowConnectors = false; } protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase) { base.LoadDesignerItemViewModel(root, designerbase); if (designerbase is PersistDesignerItem designer) { this.HostUrl = designer.HostUrl; } } public string HostUrl { get; set; } protected override void ExecuteEditCommand(object parameter) { PersistDesignerItemData data = new PersistDesignerItemData(HostUrl); if (visualiserService.ShowDialog(data) == true) { this.HostUrl = data.HostUrl; } } } }