@umbraco/playwright-testhelpers 17.0.4 → 17.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/lib/helpers/ContentRenderUiHelper.d.ts +2 -0
  2. package/dist/lib/helpers/ContentRenderUiHelper.js +5 -0
  3. package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -1
  4. package/dist/lib/helpers/ContentUiHelper.d.ts +5 -0
  5. package/dist/lib/helpers/ContentUiHelper.js +31 -9
  6. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  7. package/dist/lib/helpers/DataTypeApiHelper.d.ts +2 -0
  8. package/dist/lib/helpers/DataTypeApiHelper.js +19 -0
  9. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DataTypeUiHelper.d.ts +2 -0
  11. package/dist/lib/helpers/DataTypeUiHelper.js +10 -3
  12. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  13. package/dist/lib/helpers/DictionaryUiHelper.js +3 -3
  14. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  15. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +2 -2
  16. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
  17. package/dist/lib/helpers/DocumentTypeUiHelper.js +3 -3
  18. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  19. package/dist/lib/helpers/LanguageUiHelper.js +2 -2
  20. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
  21. package/dist/lib/helpers/MediaTypeUiHelper.js +3 -3
  22. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -1
  23. package/dist/lib/helpers/MediaUiHelper.js +4 -4
  24. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  25. package/dist/lib/helpers/MemberGroupUiHelper.js +2 -2
  26. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  27. package/dist/lib/helpers/MemberUiHelper.js +2 -2
  28. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  29. package/dist/lib/helpers/PartialViewUiHelper.js +3 -3
  30. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  31. package/dist/lib/helpers/ScriptUiHelper.js +3 -3
  32. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  33. package/dist/lib/helpers/StylesheetUiHelper.js +3 -3
  34. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  35. package/dist/lib/helpers/TemplateApiHelper.d.ts +2 -0
  36. package/dist/lib/helpers/TemplateApiHelper.js +33 -0
  37. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  38. package/dist/lib/helpers/TemplateUiHelper.js +3 -3
  39. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  40. package/dist/lib/helpers/UiBaseLocators.d.ts +0 -1
  41. package/dist/lib/helpers/UiBaseLocators.js +0 -3
  42. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  43. package/dist/lib/helpers/UserGroupUiHelper.js +3 -3
  44. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  45. package/dist/lib/helpers/UserUiHelper.js +3 -3
  46. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +3 -3
@@ -42,13 +42,13 @@ class StylesheetUiHelper extends UiBaseLocators_1.UiBaseLocators {
42
42
  await this.newStylesheetFolderBtn.click();
43
43
  }
44
44
  async waitForStylesheetToBeCreated() {
45
- await this.waitForNetworkToBeIdle();
45
+ await this.page.waitForLoadState();
46
46
  }
47
47
  async waitForStylesheetToBeDeleted() {
48
- await this.waitForNetworkToBeIdle();
48
+ await this.page.waitForLoadState();
49
49
  }
50
50
  async waitForStylesheetToBeRenamed() {
51
- await this.waitForNetworkToBeIdle();
51
+ await this.page.waitForLoadState();
52
52
  }
53
53
  async enterStylesheetName(stylesheetName) {
54
54
  await (0, test_1.expect)(this.stylesheetNameTxt).toBeVisible();
@@ -1 +1 @@
1
- {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly newStylesheetFolderBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly stylesheetTree: Locator;\n private readonly stylesheetCreateModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetCreateModal = page.locator('umb-entity-create-option-action-list-modal');\n this.newStylesheetBtn = this.stylesheetCreateModal.locator('umb-ref-item', {hasText: 'Stylesheet'});\n this.newStylesheetFolderBtn = this.stylesheetCreateModal.locator('umb-ref-item', {hasText: 'Folder'});\n this.stylesheetNameTxt = page.locator('umb-stylesheet-workspace-editor').locator('#nameInput #input');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async createStylesheetFolder(folderName: string) {\n await this.clickCreateActionMenuOption();\n await this.clickNewStylesheetFolderButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n \n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await expect(this.newStylesheetBtn).toBeVisible();\n await this.newStylesheetBtn.click();\n } \n \n async clickNewStylesheetFolderButton() {\n await expect(this.newStylesheetFolderBtn).toBeVisible();\n await this.newStylesheetFolderBtn.click();\n }\n\n async waitForStylesheetToBeCreated() {\n await this.waitForNetworkToBeIdle();\n }\n\n async waitForStylesheetToBeDeleted() {\n await this.waitForNetworkToBeIdle();\n }\n\n async waitForStylesheetToBeRenamed() {\n await this.waitForNetworkToBeIdle();\n }\n \n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.enterMonacoEditorValue(stylesheetContent);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName, {exact: true}).click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName, {exact: true}).click();\n }\n}"]}
1
+ {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class StylesheetUiHelper extends UiBaseLocators{\n private readonly newStylesheetBtn: Locator;\n private readonly newStylesheetFolderBtn: Locator;\n private readonly stylesheetNameTxt: Locator;\n private readonly stylesheetTree: Locator;\n private readonly stylesheetCreateModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.stylesheetCreateModal = page.locator('umb-entity-create-option-action-list-modal');\n this.newStylesheetBtn = this.stylesheetCreateModal.locator('umb-ref-item', {hasText: 'Stylesheet'});\n this.newStylesheetFolderBtn = this.stylesheetCreateModal.locator('umb-ref-item', {hasText: 'Folder'});\n this.stylesheetNameTxt = page.locator('umb-stylesheet-workspace-editor').locator('#nameInput #input');\n this.stylesheetTree = page.locator('umb-tree[alias=\"Umb.Tree.Stylesheet\"]');\n }\n\n async clickActionsMenuForStylesheet(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async createStylesheetFolder(folderName: string) {\n await this.clickCreateActionMenuOption();\n await this.clickNewStylesheetFolderButton();\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n \n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForStylesheet('Stylesheets');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Stylesheets');\n }\n\n async clickNewStylesheetButton() {\n await expect(this.newStylesheetBtn).toBeVisible();\n await this.newStylesheetBtn.click();\n } \n \n async clickNewStylesheetFolderButton() {\n await expect(this.newStylesheetFolderBtn).toBeVisible();\n await this.newStylesheetFolderBtn.click();\n }\n\n async waitForStylesheetToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async waitForStylesheetToBeDeleted() {\n await this.page.waitForLoadState();\n }\n\n async waitForStylesheetToBeRenamed() {\n await this.page.waitForLoadState();\n }\n \n async enterStylesheetName(stylesheetName: string) {\n await expect(this.stylesheetNameTxt).toBeVisible();\n await this.stylesheetNameTxt.clear();\n await this.stylesheetNameTxt.fill(stylesheetName);\n }\n \n async enterStylesheetContent(stylesheetContent: string) {\n await this.enterMonacoEditorValue(stylesheetContent);\n }\n\n async openStylesheetByNameAtRoot(stylesheetName: string) {\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName, {exact: true}).click();\n }\n\n async reloadStylesheetTree() {\n await this.reloadTree('Stylesheets');\n }\n\n async isStylesheetRootTreeItemVisible(stylesheetName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadStylesheetTree();\n }\n return expect(this.stylesheetTree.getByText(stylesheetName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.page.getByLabel(stylesheetName, {exact: true}).click();\n }\n}"]}
@@ -27,4 +27,6 @@ export declare class TemplateApiHelper {
27
27
  createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string): Promise<string>;
28
28
  createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string): Promise<string>;
29
29
  createTemplateUsingSiblingOfTypeMethod(name: string, documentTypeName: string): Promise<string>;
30
+ createTemplateWithContent(name: string, templateContent: string): Promise<string | undefined>;
31
+ createTemplateWithEntityDataPickerValue(templateName: string, propertyName: string): Promise<string | undefined>;
30
32
  }
@@ -268,6 +268,39 @@ class TemplateApiHelper {
268
268
  '\n<ul>';
269
269
  return this.createTemplateWithDisplayingValue(name, templateContent);
270
270
  }
271
+ async createTemplateWithContent(name, templateContent) {
272
+ await this.ensureNameNotExists(name);
273
+ const alias = AliasHelper_1.AliasHelper.toAlias(name);
274
+ return await this.create(name, alias, templateContent);
275
+ }
276
+ async createTemplateWithEntityDataPickerValue(templateName, propertyName) {
277
+ const templateContent = '@using Umbraco.Cms.Core.Models;\n' +
278
+ '@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;\n' +
279
+ '@{\n' +
280
+ '\tLayout = null;\n' +
281
+ '\tvar entityDataPickerValue = Model.Value<EntityDataPickerValue>("' + AliasHelper_1.AliasHelper.toAlias(propertyName) + '");\n' +
282
+ '}\n' +
283
+ '\n' +
284
+ '@if (entityDataPickerValue is null)\n' +
285
+ '{ }\n' +
286
+ 'else\n' +
287
+ '{\n' +
288
+ '\t<div data-mark="data-source-render-value">\n' +
289
+ '\t\t<p>@entityDataPickerValue.DataSource</p>\n' +
290
+ '\t</div>\n' +
291
+ '\n' +
292
+ '\t<div data-mark="content-render-value">\n' +
293
+ '\t\t<ul>\n' +
294
+ '\n' +
295
+ '\t\t@foreach (var id in @entityDataPickerValue.Ids)\n' +
296
+ '\t\t{\n' +
297
+ '\t\t\t<li>@id</li>\n' +
298
+ '\t\t}\n' +
299
+ '\t\t</ul>\n' +
300
+ '\t</div>\n' +
301
+ '}';
302
+ return this.createTemplateWithContent(templateName, templateContent);
303
+ }
271
304
  }
272
305
  exports.TemplateApiHelper = TemplateApiHelper;
273
306
  //# sourceMappingURL=TemplateApiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class TemplateApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/template/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n return this.get(template.id);\n } else if (template.isContainer || template.hasChildren) {\n const result = await this.recurseChildren(name, template.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n if (template.isContainer || template.hasChildren) {\n await this.recurseDeleteChildren(template.id);\n }\n await this.delete(template.id);\n } else {\n if (template.isContainer || template.hasChildren) {\n await this.recurseChildren(name, template.id, true);\n }\n }\n }\n }\n\n async createDefaultTemplate(name: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, '');\n }\n\n async createTemplateWithDisplayingValue(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n const content =\n '@using Umbraco.Cms.Web.Common.PublishedModels;' +\n '\\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;' +\n '\\n@{' +\n '\\n\\tLayout = null;' +\n '\\n}' + \n '\\n<div data-mark=\"content-render-value\">' + \n templateContent +\n '\\n</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n\n async createTemplateWithDisplayingStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\")){' +\n '\\n\\t\\t<p>@(Model.Value<string>(\"' + valueAlias + '\"))</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMulitpleStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@if(Model.HasValue(\"' + valueAlias +'\"))' +\n '\\n{' +\n '\\nvar items = Model.Value<IEnumerable<string>>(\"' + valueAlias + '\");' +\n '\\n\\t<ul>' +\n '\\n\\t\\t@foreach(var item in items)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<li>@item</li>' +\n '\\n\\t\\t}' +\n '\\n\\t</ul>' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingApprovedColorValue(name: string, valueAlias: string, useLabel: boolean = true) {\n let templateContent = '';\n if (useLabel) {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tvar colorLabel = Model.Value<ColorPickerValueConverter.PickedColor>(\"' + valueAlias + '\").Label;' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@colorLabel</div>' +\n '\\n\\t}' +\n '\\n}';\n } else {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@hexColor</div>' +\n '\\n\\t}' +\n '\\n}';\n } \n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n\\t<img src=\"@Url.GetCropUrl(Model.Value<ImageCropperValue>(\"' + valueAlias + '\"), \"' + cropName + '\")\" />';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tIPublishedContent typedContentPicker = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\tif (typedContentPicker != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<p>@typedContentPicker.Name</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using System.IO;' +\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar myFile = Model.Value<string>(\"' + valueAlias + '\");' +\n '\\n\\t\\t<a href=\"@myFile\">@System.IO.Path.GetFileName(myFile)</a>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMemberPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar member = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\t\\t@member.Name' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models' +\n '\\n@{' +\n '\\n\\tvar links = Model.Value<IEnumerable<Link>>(\"' + valueAlias + '\");' +\n '\\n\\tif (links.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var link in links)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@link.Url\" target=\"@link.Target\">@link.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n \n async createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models;' +\n '\\n@{' +\n '\\n\\tvar medias = Model.Value<IEnumerable<MediaWithCrops>>(\"' + valueAlias + '\");' +\n '\\n\\tif (medias.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var media in medias)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@media.MediaUrl()\">@media.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateUsingSiblingOfTypeMethod(name: string, documentTypeName: string) {\n const templateContent =\n '\\n<ul>' +\n '\\n\\t@foreach(var item in Model.SiblingsOfType(\"' + AliasHelper.toAlias(documentTypeName) + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\t<li><a href=\"@item.Url()\">@item.Name</a></li>' +\n '\\n\\t}' +\n '\\n<ul>';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n}"]}
1
+ {"version":3,"file":"TemplateApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateApiHelper.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAE1C,MAAa,iBAAiB;IAC5B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe;QACvD,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,OAAO;SACnB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,qCAAqC,EAAE,YAAY,CAAC,CAAC;QAC7G,yCAAyC;QACzC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAgB;QACvC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,8DAA8D,EAAE,oBAAoB,CAAC,CAAC;QAC7I,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAa;QAC1B,IAAI,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAS,CAAC;QAEd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,OAAO,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,gDAAgD,GAAG,OAAO,CAAC,CAAC;QACnH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,iEAAiE,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,EAAU;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC1C,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC5C;iBAAM;gBACL,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,EAAU,EAAE,QAAiB;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE;oBAC1C,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACnD;qBAAM;oBACL,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACpC;aACF;iBAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE;gBACjD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aACtD;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE;YAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC9B;iBAAM,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE;YAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC1B,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;oBAChD,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBAC/C;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE;oBAChD,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;iBACrD;aACF;SACF;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAY;QACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,yBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iCAAiC,CAAC,IAAY,EAAE,eAAuB;QAC3E,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,yBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GACX,gDAAgD;YAChD,2DAA2D;YAC3D,MAAM;YACN,oBAAoB;YACpB,KAAK;YACL,0CAA0C;YAC1C,eAAe;YACf,YAAY,CAAC;QAEf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uCAAuC,CAAC,IAAY,EAAE,UAAkB;QAC5E,MAAM,eAAe,GACnB,MAAM;YACN,0BAA0B,GAAG,UAAU,GAAG,MAAM;YAChD,kCAAkC,GAAG,UAAU,GAAG,SAAS;YAC3D,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,+CAA+C,CAAC,IAAY,EAAE,UAAkB;QACpF,MAAM,eAAe,GACnB,wBAAwB,GAAG,UAAU,GAAG,KAAK;YAC7C,KAAK;YACL,kDAAkD,GAAG,UAAU,GAAG,KAAK;YACvE,UAAU;YACV,mCAAmC;YACnC,SAAS;YACT,wBAAwB;YACxB,SAAS;YACT,WAAW;YACX,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,8CAA8C,CAAC,IAAY,EAAE,UAAkB,EAAE,WAAoB,IAAI;QAC7G,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,QAAQ,EAAE;YACZ,eAAe;gBACb,2DAA2D;oBAC3D,MAAM;oBACN,kCAAkC,GAAG,UAAU,GAAG,KAAK;oBACvD,2EAA2E,GAAG,UAAU,GAAG,WAAW;oBACtG,2BAA2B;oBAC3B,OAAO;oBACP,mEAAmE;oBACnE,OAAO;oBACP,KAAK,CAAC;SACT;aAAM;YACL,eAAe;gBACb,2DAA2D;oBAC3D,MAAM;oBACN,kCAAkC,GAAG,UAAU,GAAG,KAAK;oBACvD,2BAA2B;oBAC3B,OAAO;oBACP,iEAAiE;oBACjE,OAAO;oBACP,KAAK,CAAC;SACT;QACD,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,6CAA6C,CAAC,IAAY,EAAE,UAAkB,EAAE,QAAgB;QACpG,MAAM,eAAe,GACnB,2DAA2D;YAC3D,gEAAgE,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAChH,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,8CAA8C,CAAC,IAAY,EAAE,UAAkB;QACnF,MAAM,eAAe,GACnB,MAAM;YACN,6EAA6E,GAAG,UAAU,GAAG,KAAK;YAClG,qCAAqC;YACrC,OAAO;YACP,uCAAuC;YACvC,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,6CAA6C,CAAC,IAAY,EAAE,UAAkB;QAClF,MAAM,eAAe,GACnB,qBAAqB;YACrB,MAAM;YACN,0BAA0B,GAAG,UAAU,GAAG,KAAK;YAC/C,OAAO;YACP,0CAA0C,GAAG,UAAU,GAAG,KAAK;YAC/D,iEAAiE;YACjE,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,6CAA6C,CAAC,IAAY,EAAE,UAAkB;QAClF,MAAM,eAAe,GACnB,MAAM;YACN,0BAA0B,GAAG,UAAU,GAAG,KAAK;YAC/C,OAAO;YACP,qDAAqD,GAAG,UAAU,GAAG,KAAK;YAC1E,oBAAoB;YACpB,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,+CAA+C,CAAC,IAAY,EAAE,UAAkB;QACpF,MAAM,eAAe,GACnB,kCAAkC;YAClC,MAAM;YACN,kDAAkD,GAAG,UAAU,GAAG,KAAK;YACvE,sBAAsB;YACtB,OAAO;YACP,YAAY;YACZ,sCAAsC;YACtC,WAAW;YACX,6EAA6E;YAC7E,WAAW;YACX,aAAa;YACb,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,oDAAoD,CAAC,IAAY,EAAE,UAAkB;QACzF,MAAM,eAAe,GACnB,mCAAmC;YACnC,MAAM;YACN,6DAA6D,GAAG,UAAU,GAAG,KAAK;YAClF,uBAAuB;YACvB,OAAO;YACP,YAAY;YACZ,wCAAwC;YACxC,WAAW;YACX,gEAAgE;YAChE,WAAW;YACX,aAAa;YACb,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,sCAAsC,CAAC,IAAY,EAAE,gBAAwB;QACjF,MAAM,eAAe,GACnB,QAAQ;YACR,iDAAiD,GAAG,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK;YACjG,OAAO;YACP,qDAAqD;YACrD,OAAO;YACP,QAAQ,CAAC;QACX,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY,EAAE,eAAuB;QACnE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,yBAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,uCAAuC,CAAC,YAAoB,EAAE,YAAoB;QACtF,MAAM,eAAe,GACnB,mCAAmC;YACnC,2DAA2D;YAC3D,MAAM;YACN,oBAAoB;YACpB,oEAAoE,GAAG,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO;YAClH,KAAK;YACL,IAAI;YACJ,uCAAuC;YACvC,OAAO;YACP,QAAQ;YACR,KAAK;YACL,gDAAgD;YAChD,gDAAgD;YAChD,YAAY;YACZ,IAAI;YACJ,4CAA4C;YAC5C,YAAY;YACZ,IAAI;YACJ,uDAAuD;YACvD,SAAS;YACT,sBAAsB;YACtB,SAAS;YACT,aAAa;YACb,YAAY;YACZ,GAAG,CAAC;QACN,OAAO,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;CACF;AArVD,8CAqVC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class TemplateApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, alias: string, content: string) {\n const templateData = {\n \"name\": name,\n \"alias\": alias,\n \"content\": content\n };\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/template', templateData);\n // Returns the id of the created template\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id);\n }\n\n async update(id: string, template: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/template/' + id, template);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/template/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/template/root?skip=0&take=10000');\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n return this.get(template.id);\n } else if (template.isContainer || template.hasChildren) {\n const result = await this.recurseChildren(name, template.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootTemplates = await this.getAllAtRoot();\n const jsonTemplates = await rootTemplates.json();\n\n for (const template of jsonTemplates.items) {\n if (template.name === name) {\n if (template.isContainer || template.hasChildren) {\n await this.recurseDeleteChildren(template.id);\n }\n await this.delete(template.id);\n } else {\n if (template.isContainer || template.hasChildren) {\n await this.recurseChildren(name, template.id, true);\n }\n }\n }\n }\n\n async createDefaultTemplate(name: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, '');\n }\n\n async createTemplateWithDisplayingValue(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n const content =\n '@using Umbraco.Cms.Web.Common.PublishedModels;' +\n '\\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;' +\n '\\n@{' +\n '\\n\\tLayout = null;' +\n '\\n}' +\n '\\n<div data-mark=\"content-render-value\">' +\n templateContent +\n '\\n</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n\n async createTemplateWithDisplayingStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\")){' +\n '\\n\\t\\t<p>@(Model.Value<string>(\"' + valueAlias + '\"))</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMulitpleStringValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@if(Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n{' +\n '\\nvar items = Model.Value<IEnumerable<string>>(\"' + valueAlias + '\");' +\n '\\n\\t<ul>' +\n '\\n\\t\\t@foreach(var item in items)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<li>@item</li>' +\n '\\n\\t\\t}' +\n '\\n\\t</ul>' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingApprovedColorValue(name: string, valueAlias: string, useLabel: boolean = true) {\n let templateContent = '';\n if (useLabel) {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tvar colorLabel = Model.Value<ColorPickerValueConverter.PickedColor>(\"' + valueAlias + '\").Label;' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@colorLabel</div>' +\n '\\n\\t}' +\n '\\n}';\n } else {\n templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n@{' +\n '\\n\\tvar hexColor = Model.Value(\"' + valueAlias + '\");' +\n '\\n\\tif (hexColor != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<div style=\"background-color: #@hexColor\">@hexColor</div>' +\n '\\n\\t}' +\n '\\n}';\n }\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingImageCropperValue(name: string, valueAlias: string, cropName: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.PropertyEditors.ValueConverters' +\n '\\n\\t<img src=\"@Url.GetCropUrl(Model.Value<ImageCropperValue>(\"' + valueAlias + '\"), \"' + cropName + '\")\" />';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingContentPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tIPublishedContent typedContentPicker = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\tif (typedContentPicker != null)' +\n '\\n\\t{' +\n '\\n\\t\\t<p>@typedContentPicker.Name</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingUploadedFileValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using System.IO;' +\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar myFile = Model.Value<string>(\"' + valueAlias + '\");' +\n '\\n\\t\\t<a href=\"@myFile\">@System.IO.Path.GetFileName(myFile)</a>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMemberPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@{' +\n '\\n\\tif (Model.HasValue(\"' + valueAlias + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\tvar member = Model.Value<IPublishedContent>(\"' + valueAlias + '\");' +\n '\\n\\t\\t@member.Name' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultiURLPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models' +\n '\\n@{' +\n '\\n\\tvar links = Model.Value<IEnumerable<Link>>(\"' + valueAlias + '\");' +\n '\\n\\tif (links.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var link in links)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@link.Url\" target=\"@link.Target\">@link.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingMultipleMediaPickerValue(name: string, valueAlias: string) {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models;' +\n '\\n@{' +\n '\\n\\tvar medias = Model.Value<IEnumerable<MediaWithCrops>>(\"' + valueAlias + '\");' +\n '\\n\\tif (medias.Any())' +\n '\\n\\t{' +\n '\\n\\t\\t<ul>' +\n '\\n\\t\\t\\t@foreach (var media in medias)' +\n '\\n\\t\\t\\t{' +\n '\\n\\t\\t\\t\\t<li><a href=\"@media.MediaUrl()\">@media.Name</a></li>' +\n '\\n\\t\\t\\t}' +\n '\\n\\t\\t</ul>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateUsingSiblingOfTypeMethod(name: string, documentTypeName: string) {\n const templateContent =\n '\\n<ul>' +\n '\\n\\t@foreach(var item in Model.SiblingsOfType(\"' + AliasHelper.toAlias(documentTypeName) + '\"))' +\n '\\n\\t{' +\n '\\n\\t\\t<li><a href=\"@item.Url()\">@item.Name</a></li>' +\n '\\n\\t}' +\n '\\n<ul>';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithContent(name: string, templateContent: string) {\n await this.ensureNameNotExists(name);\n const alias = AliasHelper.toAlias(name);\n return await this.create(name, alias, templateContent);\n }\n\n async createTemplateWithEntityDataPickerValue(templateName: string, propertyName: string) {\n const templateContent = \n '@using Umbraco.Cms.Core.Models;\\n' +\n '@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage;\\n' +\n '@{\\n' +\n '\\tLayout = null;\\n' +\n '\\tvar entityDataPickerValue = Model.Value<EntityDataPickerValue>(\"' + AliasHelper.toAlias(propertyName) + '\");\\n' +\n '}\\n' +\n '\\n' +\n '@if (entityDataPickerValue is null)\\n' +\n '{ }\\n' +\n 'else\\n' +\n '{\\n' +\n '\\t<div data-mark=\"data-source-render-value\">\\n' +\n '\\t\\t<p>@entityDataPickerValue.DataSource</p>\\n' +\n '\\t</div>\\n' +\n '\\n' +\n '\\t<div data-mark=\"content-render-value\">\\n' +\n '\\t\\t<ul>\\n' +\n '\\n' +\n '\\t\\t@foreach (var id in @entityDataPickerValue.Ids)\\n' +\n '\\t\\t{\\n' +\n '\\t\\t\\t<li>@id</li>\\n' +\n '\\t\\t}\\n' +\n '\\t\\t</ul>\\n' +\n '\\t</div>\\n' +\n '}';\n return this.createTemplateWithContent(templateName, templateContent);\n }\n}"]}
@@ -28,13 +28,13 @@ class TemplateUiHelper extends UiBaseLocators_1.UiBaseLocators {
28
28
  await this.openCaretButtonForName('Templates');
29
29
  }
30
30
  async waitForTemplateToBeCreated() {
31
- await this.waitForNetworkToBeIdle();
31
+ await this.page.waitForLoadState();
32
32
  }
33
33
  async waitForTemplateToBeDeleted() {
34
- await this.waitForNetworkToBeIdle();
34
+ await this.page.waitForLoadState();
35
35
  }
36
36
  async waitForTemplateToBeRenamed() {
37
- await this.waitForNetworkToBeIdle();
37
+ await this.page.waitForLoadState();
38
38
  }
39
39
  async goToTemplate(templateName, childTemplateName = '') {
40
40
  await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class TemplateUiHelper extends UiBaseLocators {\n private readonly changeMasterTemplateBtn: Locator;\n private readonly sectionsBtn: Locator;\n private readonly removeMasterTemplateBtn: Locator;\n private readonly sectionNameTxt: Locator;\n private readonly templateTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.changeMasterTemplateBtn = page.locator('#master-template-button');\n this.sectionsBtn = page.locator('#sections-button', {hasText: 'Sections'});\n this.removeMasterTemplateBtn = page.locator('[name=\"icon-delete\"] svg');\n this.sectionNameTxt = page.getByLabel('Section Name');\n this.templateTree = page.locator('umb-tree[alias=\"Umb.Tree.Template\"]');\n }\n\n async clickActionsMenuForTemplate(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForTemplate('Templates');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Templates');\n }\n\n async waitForTemplateToBeCreated() {\n await this.waitForNetworkToBeIdle();\n }\n\n async waitForTemplateToBeDeleted() {\n await this.waitForNetworkToBeIdle();\n }\n\n async waitForTemplateToBeRenamed() {\n await this.waitForNetworkToBeIdle();\n }\n\n async goToTemplate(templateName: string, childTemplateName: string = '') {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadTemplateTree();\n if (childTemplateName === '') {\n await this.page.getByLabel(templateName, {exact: true}).click();\n await expect(this.enterAName).toHaveValue(templateName);\n } else {\n await this.openCaretButtonForName(templateName);\n await this.page.getByLabel(childTemplateName , {exact: true}).click();\n await expect(this.enterAName).toHaveValue(childTemplateName);\n }\n await this.page.waitForTimeout(1000);\n }\n\n async clickSectionsButton() {\n await expect(this.sectionsBtn).toBeVisible();\n await this.sectionsBtn.click();\n }\n\n async clickChangeMasterTemplateButton() {\n await expect(this.changeMasterTemplateBtn).toBeVisible();\n await this.changeMasterTemplateBtn.click();\n }\n\n async enterTemplateName(templateName: string) {\n await expect(this.enterAName).toBeVisible();\n await this.enterAName.clear();\n await this.enterAName.fill(templateName);\n }\n\n async enterTemplateContent(templateContent: string) {\n // We need this wait, to be sure that the template content is loaded.\n await this.page.waitForTimeout(200);\n await this.enterMonacoEditorValue(templateContent);\n }\n\n async isMasterTemplateNameVisible(templateName: string, isVisible: boolean = true) {\n await expect(this.page.getByLabel('Master template: ' + templateName)).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveMasterTemplateButton() {\n await expect(this.removeMasterTemplateBtn).toBeVisible();\n await this.removeMasterTemplateBtn.click();\n }\n\n async insertSection(sectionType: string, sectionName: string = '') {\n await this.clickSectionsButton();\n await expect(this.submitBtn).toBeVisible();\n await this.page.locator('[label=\"' + sectionType + '\"]').click();\n if (sectionName !== '') {\n await expect(this.sectionNameTxt).toBeVisible();\n await this.sectionNameTxt.fill(sectionName);\n }\n await this.clickSubmitButton();\n }\n\n async isTemplateTreeItemVisible(templateName: string, isVisible: boolean = true) {\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async reloadTemplateTree() {\n await this.reloadTree('Templates');\n }\n\n async isTemplateRootTreeItemVisible(templateName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadTemplateTree();\n }\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
1
+ {"version":3,"file":"TemplateUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/TemplateUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class TemplateUiHelper extends UiBaseLocators {\n private readonly changeMasterTemplateBtn: Locator;\n private readonly sectionsBtn: Locator;\n private readonly removeMasterTemplateBtn: Locator;\n private readonly sectionNameTxt: Locator;\n private readonly templateTree: Locator;\n\n constructor(page: Page) {\n super(page);\n this.changeMasterTemplateBtn = page.locator('#master-template-button');\n this.sectionsBtn = page.locator('#sections-button', {hasText: 'Sections'});\n this.removeMasterTemplateBtn = page.locator('[name=\"icon-delete\"] svg');\n this.sectionNameTxt = page.getByLabel('Section Name');\n this.templateTree = page.locator('umb-tree[alias=\"Umb.Tree.Template\"]');\n }\n\n async clickActionsMenuForTemplate(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForTemplate('Templates');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Templates');\n }\n\n async waitForTemplateToBeCreated() {\n await this.page.waitForLoadState();\n }\n\n async waitForTemplateToBeDeleted() {\n await this.page.waitForLoadState();\n }\n\n async waitForTemplateToBeRenamed() {\n await this.page.waitForLoadState();\n }\n\n async goToTemplate(templateName: string, childTemplateName: string = '') {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadTemplateTree();\n if (childTemplateName === '') {\n await this.page.getByLabel(templateName, {exact: true}).click();\n await expect(this.enterAName).toHaveValue(templateName);\n } else {\n await this.openCaretButtonForName(templateName);\n await this.page.getByLabel(childTemplateName , {exact: true}).click();\n await expect(this.enterAName).toHaveValue(childTemplateName);\n }\n await this.page.waitForTimeout(1000);\n }\n\n async clickSectionsButton() {\n await expect(this.sectionsBtn).toBeVisible();\n await this.sectionsBtn.click();\n }\n\n async clickChangeMasterTemplateButton() {\n await expect(this.changeMasterTemplateBtn).toBeVisible();\n await this.changeMasterTemplateBtn.click();\n }\n\n async enterTemplateName(templateName: string) {\n await expect(this.enterAName).toBeVisible();\n await this.enterAName.clear();\n await this.enterAName.fill(templateName);\n }\n\n async enterTemplateContent(templateContent: string) {\n // We need this wait, to be sure that the template content is loaded.\n await this.page.waitForTimeout(200);\n await this.enterMonacoEditorValue(templateContent);\n }\n\n async isMasterTemplateNameVisible(templateName: string, isVisible: boolean = true) {\n await expect(this.page.getByLabel('Master template: ' + templateName)).toBeVisible({visible: isVisible});\n }\n\n async clickRemoveMasterTemplateButton() {\n await expect(this.removeMasterTemplateBtn).toBeVisible();\n await this.removeMasterTemplateBtn.click();\n }\n\n async insertSection(sectionType: string, sectionName: string = '') {\n await this.clickSectionsButton();\n await expect(this.submitBtn).toBeVisible();\n await this.page.locator('[label=\"' + sectionType + '\"]').click();\n if (sectionName !== '') {\n await expect(this.sectionNameTxt).toBeVisible();\n await this.sectionNameTxt.fill(sectionName);\n }\n await this.clickSubmitButton();\n }\n\n async isTemplateTreeItemVisible(templateName: string, isVisible: boolean = true) {\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async reloadTemplateTree() {\n await this.reloadTree('Templates');\n }\n\n async isTemplateRootTreeItemVisible(templateName: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadTemplateTree();\n }\n return expect(this.templateTree.getByText(templateName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
@@ -164,7 +164,6 @@ export declare class UiBaseLocators {
164
164
  clickReloadChildrenButton(): Promise<void>;
165
165
  isSuccessStateVisibleForSaveButton(isVisible?: boolean): Promise<void>;
166
166
  clickSaveButton(): Promise<void>;
167
- waitForNetworkToBeIdle(): Promise<void>;
168
167
  clickChooseButton(): Promise<void>;
169
168
  clickChooseContainerButton(): Promise<void>;
170
169
  clickFilterChooseButton(): Promise<void>;
@@ -374,9 +374,6 @@ class UiBaseLocators {
374
374
  await this.saveBtn.click();
375
375
  await this.page.waitForTimeout(500);
376
376
  }
377
- async waitForNetworkToBeIdle() {
378
- await this.page.waitForLoadState('networkidle');
379
- }
380
377
  async clickChooseButton() {
381
378
  await (0, test_1.expect)(this.chooseBtn).toBeVisible();
382
379
  await this.chooseBtn.click();