public TemplateRender(TemplateRenderOptions options) { _options = options; AddEntries(options.Target.GetChildren()); }
private void ImportBtn_Click(object sender, RoutedEventArgs e) { ICollectionView cards = CollectionViewSource.GetDefaultView(DG1.ItemsSource); Card card = cards .Cast <Card>() .Where(e => e.ToImport) .FirstOrDefault(); if (card.IsNull()) { MessageBox.Show("Failed to import card because card was null"); return; } TemplateRenderOptions opts = new TemplateRenderOptions(); opts.Refs .WithAuthor(AuthorTextbox.Text) .WithTitle(TitleTextbox.Text) .WithAuthor(SourceTextbox.Text); if (ImageExtractionCheckbox.IsChecked == true) { opts.AddImageComponents = true; } else { opts.AddImageComponents = false; } ElementBuilder builder = null; if (IgnoreDuplicateFieldsCheckbox.IsChecked == true) { var question = new Renderer(card).Render(TemplateType.Question, out var fieldDict); var answer = new Renderer(card).RenderAnswerIgnoreDuplicates(fieldDict, out _); builder = new AnkiCardBuilder(card, question, answer).CreateElementBuilder(); } else { builder = new AnkiCardBuilder(card).CreateElementBuilder(); } IElement parent = null; double priority = PrioritySlider.Value; if (priority < 0 || priority > 100) { priority = 30; } if (ImportChildRadio.IsChecked == true) { parent = Svc.SM.UI.ElementWdw.CurrentElement; } Svc.SM.Registry.Element.Add( out _, Interop.SuperMemo.Elements.Models.ElemCreationFlags.ForceCreate, builder .WithParent(parent) .WithPriority(priority) ); }