public WebElementCreateEditDialog(Func <WebElementInfoViewModel, string> validate, CombinedWebElementInfoViewModel parent, string elementType, WebElementInfoViewModel baseInfo) { _validate = validate; IsEditMode = false; Title = $"Create new WebElement with type: {elementType}"; WebElement = WebElementsViewModelsHelper.CreateModelFromWebElementType(elementType); if (baseInfo != null) { WebElementsViewModelsHelper.FillModelWithBaseInfo(WebElement, baseInfo, true); } if (WebElement.InnerKey != null) { Title = $"Specify new WebElement with role {WebElement.InnerKey}"; } WebElement.Parent = parent; InitializeComponent(); DataContext = this; }
private WebElementInfoViewModel CreateWebElementInfo(CombinedWebElementInfoViewModel parent = null, WebElementInfoViewModel template = null) { var validator = WebElementCommandsHelper.GetCreateUpdateWebElementValidator(_webElementsTreeUserControl, null); //TODO: add ctor override to accept WebElementInfoViewModel with default data var dialog = new WebElementCreateEditDialog(validator, parent ?? Selected as CombinedWebElementInfoViewModel, _elementType, template); dialog.WebElements = _webElementsTreeUserControl.WebElements; if (dialog.ShowDialog() != true) { return(null); } var createdWebElement = WebElementsViewModelsHelper.CreateModelFromWebElementType(_elementType); WebElementsViewModelsHelper.FillModelWithBaseInfo( createdWebElement, dialog.WebElement); return(createdWebElement); }