public TemplateMetaData ShowUiAndGetTemplate(TemplateMetaData[] templates) { var templatesViewModel = templates .Select(t => new TemplateViewModel {DisplayName = t.Name, FullName = t.FullName}) .ToArray(); var selectTemplateViewModel = new SelectTemplateViewModel { Templates = templatesViewModel, SelectedTemplate = templatesViewModel.First() }; var showDialogResult = new SelectTemplateWindow(selectTemplateViewModel).ShowDialog(); return (showDialogResult ?? false) ? templates.First(t => t.FullName == selectTemplateViewModel.SelectedTemplate.FullName) : null; }
public void TestNoFieldsItemIsCorrectlyFormatted() { var expectedResult = $@"var itemWithNoFieldsTemplate: SinjItemDto = {{ id: ""{_itemWithNoFields.Id}"", name: ""{_itemWithNoFields.Name}"", template: ""{_itemWithNoFields.TemplatePath}"", parent: ""{_itemWithNoFields.ParentPath}"", language: ""{_itemWithNoFields.Language}"", fields: {{}} }}"; var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Item Templates//Sinj.hbs" }; AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _itemWithNoFields), expectedResult); }
public void TestModelIsCorrectlyFormatted() { var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Item Templates//minq.hbs" }; var expectedResult = $@"[SitecoreTemplate(""{_itemWithFields.TemplateId}"")] public class ItemWithFieldsModel : SitecoreItemModel {{ [SitecoreField(""Field Name 1"")] public string FieldName1 {{ get; set; }} [SitecoreField(""Field Name 2"")] public string FieldName2 {{ get; set; }} }} "; AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _itemWithFields), expectedResult); }
public void TestModelIsCorrectlyFormatted() { var expectedResult = $@"[SitecoreTemplate(""{_template.Id}"")] public class TemplateModel : SitecoreItemModel {{ [SitecoreField(""Field 1"")] public string Field1 {{ get; set; }} [SitecoreField(""Field 2"")] public string Field2 {{ get; set; }} [SitecoreField(""Field 3"")] public bool Field3 {{ get; set; }} [SitecoreField(""Field 4"")] public int Field4 {{ get; set; }} [SitecoreField(""Field 5"")] public SLink Field5 {{ get; set; }} [SitecoreField(""Field 6"")] public SMedia Field6 {{ get; set; }} }} "; var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Template Templates//minq.hbs" }; AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _template), expectedResult); AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _template), expectedResult); }
public void TestSubItemsAreCorrectlyFormatted() { var expectedResult = $@"var subItem1Template: SinjItemDto = {{ id: ""{_subItem1.Id}"", name: ""{_subItem1.Name}"", template: ""{_subItem1.TemplatePath}"", parent: ""{_subItem1.ParentPath}"", language: ""{_subItem1.Language}"", fields: {{ ""Field Name 1"": ""Field Value 1"", ""Field Name 2"": ""Field Value 2"" }} }} var subItem2Template: SinjItemDto = {{ id: ""{_subItem2.Id}"", name: ""{_subItem2.Name}"", template: ""{_subItem2.TemplatePath}"", parent: ""{_subItem2.ParentPath}"", language: ""{_subItem2.Language}"", fields: {{ ""Field Name 1"": ""Field Value 1"", ""Field Name 2"": ""Field Value 2"" }} }} "; var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Item Templates//sinj-subitems.hbs" }; Assert.That(new TemplateEngineService().Render(template, _itemWithSubItems), Is.EqualTo(expectedResult)); }
public string Render(TemplateMetaData template, object data) { var source = _fileService.GetTemplateContent(template); return TemplateEngine.Compile(source)(data); }
private void CopyToClipboard(TemplateMetaData template, object item) { if (template == null || item == null) return; AppHost.Clipboard.SetText(_templateEngineService.Render(template, item)); }
public void TestModelWithChildrenIsCorrectlyFormatted() { var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Item Templates//minq.hbs" }; var expectedResult = $@"[SitecoreTemplate(""{_itemWithChildren.TemplateId}"")] public class ItemWithChildrenModel : SitecoreItemModel {{ [SitecoreChildren] public ICollection<FirstChildModel> FirstChilds {{ get; set; }} }} "; AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _itemWithChildren), expectedResult); }
public void TestNothingIsReturnedWhenTheItemHasNoFields() { var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Item Templates//minq.hbs" }; AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _itemWithNoFields), string.Empty); }
public string GetTemplateContent(TemplateMetaData template) { return File.ReadAllText(template.FullName); }
public void TemplateWithNoSectionsNorStandardValuesFormatedCorrectly() { var template = new TemplateMetaData { FullName = "..//..//..//Sitecore.Rocks.Templates//Resources//Template Templates//copy-sinj.hbs" }; var expectedResult = File.ReadAllText("..//..//Resources//sinj-template-no-sections.js"); AssertThatTemplatesMatch( new TemplateEngineService().Render(template, _templateNoSectionsNorStandardValues), expectedResult); }