@umbraco/playwright-testhelpers 17.1.0-beta.3 → 17.1.0-beta.5

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 (69) hide show
  1. package/dist/lib/helpers/BasePage.d.ts +4 -2
  2. package/dist/lib/helpers/BasePage.js +7 -3
  3. package/dist/lib/helpers/BasePage.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.d.ts +1 -0
  5. package/dist/lib/helpers/ConstantHelper.js +2 -1
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -1
  7. package/dist/lib/helpers/ContentUiHelper.d.ts +13 -0
  8. package/dist/lib/helpers/ContentUiHelper.js +49 -2
  9. package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
  10. package/dist/lib/helpers/DataTypeUiHelper.js +4 -4
  11. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -1
  12. package/dist/lib/helpers/DictionaryUiHelper.js +1 -2
  13. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -1
  14. package/dist/lib/helpers/DocumentApiHelper.d.ts +4 -4
  15. package/dist/lib/helpers/DocumentApiHelper.js +32 -8
  16. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  17. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +1 -2
  18. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -1
  19. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +5 -0
  20. package/dist/lib/helpers/DocumentTypeApiHelper.js +35 -0
  21. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/DocumentTypeUiHelper.js +2 -2
  23. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -1
  24. package/dist/lib/helpers/ExamineManagementUiHelper.js +2 -3
  25. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -1
  26. package/dist/lib/helpers/FormsUiHelper.js +1 -2
  27. package/dist/lib/helpers/FormsUiHelper.js.map +1 -1
  28. package/dist/lib/helpers/HealthCheckUiHelper.js +4 -4
  29. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -1
  30. package/dist/lib/helpers/LanguageUiHelper.js +1 -2
  31. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -1
  32. package/dist/lib/helpers/LogViewerUiHelper.js +2 -2
  33. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -1
  34. package/dist/lib/helpers/LoginUiHelper.js +1 -2
  35. package/dist/lib/helpers/LoginUiHelper.js.map +1 -1
  36. package/dist/lib/helpers/MediaUiHelper.js +2 -2
  37. package/dist/lib/helpers/MediaUiHelper.js.map +1 -1
  38. package/dist/lib/helpers/MemberGroupUiHelper.js +2 -2
  39. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -1
  40. package/dist/lib/helpers/MemberUiHelper.js +1 -1
  41. package/dist/lib/helpers/MemberUiHelper.js.map +1 -1
  42. package/dist/lib/helpers/PackageUiHelper.js +1 -2
  43. package/dist/lib/helpers/PackageUiHelper.js.map +1 -1
  44. package/dist/lib/helpers/PartialViewUiHelper.js +1 -2
  45. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  46. package/dist/lib/helpers/ProfilingUiHelper.js +1 -1
  47. package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -1
  48. package/dist/lib/helpers/PublishedStatusUiHelper.js +1 -2
  49. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -1
  50. package/dist/lib/helpers/RelationTypeUiHelper.js +1 -2
  51. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -1
  52. package/dist/lib/helpers/ScriptUiHelper.js +1 -2
  53. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
  54. package/dist/lib/helpers/StylesheetUiHelper.js +1 -2
  55. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  56. package/dist/lib/helpers/TemplateApiHelper.d.ts +2 -0
  57. package/dist/lib/helpers/TemplateApiHelper.js +36 -0
  58. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  59. package/dist/lib/helpers/TemplateUiHelper.js +3 -4
  60. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
  61. package/dist/lib/helpers/UiBaseLocators.d.ts +1 -0
  62. package/dist/lib/helpers/UiBaseLocators.js +25 -17
  63. package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
  64. package/dist/lib/helpers/UserGroupUiHelper.js +5 -5
  65. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -1
  66. package/dist/lib/helpers/UserUiHelper.js +3 -3
  67. package/dist/lib/helpers/UserUiHelper.js.map +1 -1
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.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 MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedToggle: Locator;\n private readonly lockedOutToggle: Locator;\n private readonly twoFactorAuthenticationToggle: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly membersMenu: Locator;\n private readonly infoTab: Locator;\n private readonly membersCreateBtn: Locator;\n private readonly membersSidebar: Locator;\n private readonly membersSidebarBtn: Locator;\n private readonly memberTableCollectionRow: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({hasText: 'Comments'}).locator('#textarea');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedToggle = page.locator('[label=\"Approved\"] #toggle');\n this.lockedOutToggle = page.locator('[label=\"Locked out\"] #toggle');\n this.twoFactorAuthenticationToggle = page.locator('[label=\"Two-Factor authentication\"] #toggle');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n this.infoTab = page.locator('uui-tab').filter({hasText: 'Info'}).locator('svg');\n this.membersCreateBtn = page.locator('umb-create-member-collection-action').getByLabel('Create', {exact: true});\n this.membersSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarApp.Menu.MemberManagement');\n this.membersSidebarBtn = this.membersSidebar.locator('uui-menu-item').filter({hasText: 'Members'});\n this.memberTableCollectionRow = page.locator('umb-member-table-collection-view').locator('uui-table-row');\n }\n\n async clickMembersTab() {\n await this.click(this.membersTab);\n }\n\n async clickDetailsTab() {\n await this.click(this.detailsTab);\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.click(this.page.getByRole('link', {name: memberName}));\n }\n\n async isMemberWithNameVisible(memberName: string, isVisible: boolean = true) {\n await expect(this.memberTableCollectionRow.getByText(memberName, {exact: true})).toBeVisible({visible: isVisible});\n }\n\n async clickMembersSidebarButton() {\n await this.click(this.membersSidebarBtn);\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n }\n\n async enterMemberName(name: string) {\n await this.enterText(this.memberNameTxt, name);\n }\n\n async enterComments(comment: string) {\n await this.enterText(this.commentsTxt, comment);\n }\n\n async enterUsername(username: string) {\n await this.enterText(this.usernameTxt, username);\n }\n\n async enterEmail(email: string) {\n await this.enterText(this.emailTxt, email);\n }\n\n async enterPassword(password: string) {\n await this.enterText(this.passwordTxt, password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.enterText(this.confirmPasswordTxt, password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.enterText(this.confirmNewPasswordTxt, password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.click(this.page.getByText(memberGroupName, {exact: true}));\n await this.clickChooseContainerButton();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedToggle() {\n await this.click(this.approvedToggle);\n }\n\n async clickLockedOutToggle() {\n await this.click(this.lockedOutToggle);\n }\n\n async clickTwoFactorAuthenticationToggle() {\n await this.click(this.twoFactorAuthenticationToggle);\n }\n\n async clickChangePasswordButton() {\n await this.click(this.changePasswordBtn);\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.click(this.page.locator(`[name=\"${memberGroupName}\"]`).getByLabel('Remove'));\n }\n\n async enterNewPassword(password: string) {\n await this.enterText(this.newPasswordTxt, password);\n }\n\n async clickMembersMenu() {\n await this.click(this.membersMenu);\n }\n\n async waitForMemberToBeCreated(){\n await this.waitForLoadState();\n }\n\n async waitForMemberToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n\n async clickInfoTab() {\n await this.click(this.infoTab);\n }\n\n async clickCreateMembersButton() {\n await this.click(this.membersCreateBtn);\n }\n}\n"]}
1
+ {"version":3,"file":"MemberUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MemberUiHelper.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 MemberUiHelper extends UiBaseLocators {\n private readonly membersTab: Locator;\n private readonly searchTxt: Locator;\n private readonly memberNameTxt: Locator;\n private readonly commentsTxt: Locator;\n private readonly detailsTab: Locator;\n private readonly usernameTxt: Locator;\n private readonly emailTxt: Locator;\n private readonly passwordTxt: Locator;\n private readonly confirmNewPasswordTxt: Locator;\n private readonly approvedToggle: Locator;\n private readonly lockedOutToggle: Locator;\n private readonly twoFactorAuthenticationToggle: Locator;\n private readonly memberInfoItems: Locator;\n private readonly changePasswordBtn: Locator;\n private readonly membersMenu: Locator;\n private readonly infoTab: Locator;\n private readonly membersCreateBtn: Locator;\n private readonly membersSidebar: Locator;\n private readonly membersSidebarBtn: Locator;\n private readonly memberTableCollectionRow: Locator;\n\n constructor(page: Page) {\n super(page);\n this.membersTab = page.locator('uui-tab[label=\"Members\"]');\n this.searchTxt = page.locator('#input-search');\n this.memberNameTxt = page.locator('#name-input #input');\n this.commentsTxt = page.locator('umb-content-workspace-view-edit-tab').locator('umb-property').filter({hasText: 'Comments'}).locator('#textarea');\n this.detailsTab = page.locator('uui-tab').filter({hasText: 'Details'}).locator('svg');\n this.usernameTxt = page.getByLabel('Username', {exact: true});\n this.emailTxt = page.getByLabel('Email', {exact: true});\n this.passwordTxt = page.getByLabel('Enter your new password', {exact: true});\n this.confirmNewPasswordTxt = page.getByLabel('Confirm new password', {exact: true});\n this.approvedToggle = page.locator('[label=\"Approved\"] #toggle');\n this.lockedOutToggle = page.locator('[label=\"Locked out\"] #toggle');\n this.twoFactorAuthenticationToggle = page.locator('[label=\"Two-Factor authentication\"] #toggle');\n this.memberInfoItems = page.locator('umb-stack > div');\n this.changePasswordBtn = page.getByLabel('Change password', {exact: true});\n this.membersMenu = page.locator('umb-menu').getByLabel('Members', {exact: true});\n this.infoTab = page.locator('uui-tab').filter({hasText: 'Info'}).locator('svg');\n this.membersCreateBtn = page.locator('umb-create-member-collection-action').getByLabel('Create', {exact: true});\n this.membersSidebar = page.getByTestId('section-sidebar:Umb.SectionSidebarApp.Menu.MemberManagement');\n this.membersSidebarBtn = this.membersSidebar.locator('uui-menu-item').filter({hasText: 'Members'});\n this.memberTableCollectionRow = page.locator('umb-member-table-collection-view').locator('uui-table-row');\n }\n\n async clickMembersTab() {\n await this.click(this.membersTab);\n }\n\n async clickDetailsTab() {\n await this.click(this.detailsTab);\n }\n\n async clickMemberLinkByName(memberName: string) {\n await this.click(this.page.getByRole('link', {name: memberName}));\n }\n\n async isMemberWithNameVisible(memberName: string, isVisible: boolean = true) {\n await this.isVisible(this.memberTableCollectionRow.getByText(memberName, {exact: true}), isVisible);\n }\n\n async clickMembersSidebarButton() {\n await this.click(this.membersSidebarBtn);\n }\n\n async enterSearchKeyword(keyword: string) {\n await this.enterText(this.searchTxt, keyword);\n }\n\n async enterMemberName(name: string) {\n await this.enterText(this.memberNameTxt, name);\n }\n\n async enterComments(comment: string) {\n await this.enterText(this.commentsTxt, comment);\n }\n\n async enterUsername(username: string) {\n await this.enterText(this.usernameTxt, username);\n }\n\n async enterEmail(email: string) {\n await this.enterText(this.emailTxt, email);\n }\n\n async enterPassword(password: string) {\n await this.enterText(this.passwordTxt, password);\n }\n\n async enterConfirmPassword(password: string) {\n await this.enterText(this.confirmPasswordTxt, password);\n }\n\n async enterConfirmNewPassword(password: string) {\n await this.enterText(this.confirmNewPasswordTxt, password);\n }\n\n async chooseMemberGroup(memberGroupName: string) {\n await this.clickChooseButton();\n await this.click(this.page.getByText(memberGroupName, {exact: true}));\n await this.clickChooseContainerButton();\n }\n\n async doesMemberInfoHaveValue(infoName: string, value: string) {\n return expect(this.memberInfoItems.filter({hasText: infoName}).locator('span')).toHaveText(value);\n }\n\n async clickApprovedToggle() {\n await this.click(this.approvedToggle);\n }\n\n async clickLockedOutToggle() {\n await this.click(this.lockedOutToggle);\n }\n\n async clickTwoFactorAuthenticationToggle() {\n await this.click(this.twoFactorAuthenticationToggle);\n }\n\n async clickChangePasswordButton() {\n await this.click(this.changePasswordBtn);\n }\n\n async clickRemoveMemberGroupByName(memberGroupName: string) {\n await this.click(this.page.locator(`[name=\"${memberGroupName}\"]`).getByLabel('Remove'));\n }\n\n async enterNewPassword(password: string) {\n await this.enterText(this.newPasswordTxt, password);\n }\n\n async clickMembersMenu() {\n await this.click(this.membersMenu);\n }\n\n async waitForMemberToBeCreated(){\n await this.waitForLoadState();\n }\n\n async waitForMemberToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async goToMembers() {\n await this.goToSection(ConstantHelper.sections.members);\n await this.clickMembersMenu();\n }\n\n async clickInfoTab() {\n await this.click(this.infoTab);\n }\n\n async clickCreateMembersButton() {\n await this.click(this.membersCreateBtn);\n }\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PackageUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  const umbraco_config_1 = require("../../umbraco.config");
7
6
  const ConstantHelper_1 = require("./ConstantHelper");
@@ -84,7 +83,7 @@ class PackageUiHelper extends UiBaseLocators_1.UiBaseLocators {
84
83
  await this.page.waitForTimeout(ConstantHelper_1.ConstantHelper.wait.short);
85
84
  }
86
85
  async isPackageNameVisible(packageName, isVisible = true) {
87
- return await (0, test_1.expect)(this.page.getByRole('button', { name: packageName })).toBeVisible({ visible: isVisible });
86
+ return await this.isVisible(this.page.getByRole('button', { name: packageName }), isVisible);
88
87
  }
89
88
  async clickExistingPackageName(packageName) {
90
89
  await this.click(this.page.getByRole('button', { name: packageName }));
@@ -1 +1 @@
1
- {"version":3,"file":"PackageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page,} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class PackageUiHelper extends UiBaseLocators {\n private readonly createdTabBtn: Locator;\n private readonly marketPlaceIFrame: Locator;\n private readonly installedTabBtn: Locator;\n private readonly packagesTabBtn: Locator;\n private readonly createPackageBtn: Locator;\n private readonly packageNameTxt: Locator;\n private readonly saveChangesToPackageBtn: Locator;\n private readonly addContentToPackageBtn: Locator;\n private readonly addMediaToPackageBtn: Locator;\n private readonly addDocumentTypeToPackageBtn: Locator;\n private readonly addMediaTypeToPackageBtn: Locator;\n private readonly addLanguageToPackageBtn: Locator;\n private readonly addDictionaryToPackageBtn: Locator;\n private readonly addDataTypesToPackageBtn: Locator;\n private readonly addTemplatesToPackagesBtn: Locator;\n private readonly addPartialViewToPackageBtn: Locator;\n private readonly addScriptToPackageBtn: Locator;\n private readonly addStylesheetToPackageBtn: Locator;\n private readonly downloadPackageBtn: Locator;\n private readonly propertyLayout: Locator;\n private readonly umbracoBackofficePackage: Locator;\n private readonly viewsId: Locator;\n\n constructor(page: Page) {\n super(page);\n this.viewsId = page.locator('#views');\n // Packages\n this.packagesTabBtn = this.viewsId.getByRole('tab', { name: 'Packages' });\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = this.viewsId.getByRole('tab', { name: 'Installed' });\n // Created\n this.propertyLayout = page.locator('umb-property-layout');\n this.createdTabBtn = this.viewsId.getByRole('tab', { name: 'Created' });\n this.createPackageBtn = page.getByLabel(\"Create package\");\n this.packageNameTxt = page.getByLabel('Name of the package');\n this.saveChangesToPackageBtn = page.getByLabel('Save changes to package');\n this.addContentToPackageBtn = page.locator('umb-input-document').getByLabel('Choose');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('Choose');\n this.addDocumentTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Document Types'}).getByLabel('Choose');\n this.addMediaTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Media Types'}).getByLabel('Choose');\n this.addLanguageToPackageBtn = this.propertyLayout.filter({hasText: 'Languages'}).getByLabel('Choose');\n this.addDictionaryToPackageBtn = this.propertyLayout.filter({hasText: 'Dictionary'}).getByLabel('Choose');\n this.addDataTypesToPackageBtn = this.propertyLayout.filter({hasText: 'Data Types'}).getByLabel('Choose');\n this.addTemplatesToPackagesBtn = this.propertyLayout.filter({hasText: 'Templates'}).getByLabel('Choose');\n this.addPartialViewToPackageBtn = this.propertyLayout.filter({hasText: 'Partial Views'}).getByLabel('Choose');\n this.addScriptToPackageBtn = this.propertyLayout.filter({hasText: 'Scripts'}).getByLabel('Choose');\n this.addStylesheetToPackageBtn = this.propertyLayout.filter({hasText: 'Stylesheets'}).getByLabel('Choose');\n this.downloadPackageBtn = page.getByLabel('Download');\n this.umbracoBackofficePackage = page.locator('uui-ref-node-package', {hasText: '@umbraco-cms/backoffice'});\n }\n\n async isUmbracoBackofficePackageVisible(isVisible = true) {\n await this.isVisible(this.umbracoBackofficePackage, isVisible);\n }\n\n async clickCreatedTab() {\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n await this.click(this.createdTabBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickInstalledTab() {\n await this.click(this.installedTabBtn);\n }\n\n async clickPackagesTab() {\n await this.click(this.packagesTabBtn);\n }\n\n async clickChooseBtn() {\n await this.click(this.chooseModalBtn);\n }\n\n async isMarketPlaceIFrameVisible(isVisible = true) {\n await this.isVisible(this.marketPlaceIFrame, isVisible);\n }\n\n async clickCreatePackageButton() {\n await this.click(this.createPackageBtn);\n }\n\n async enterPackageName(packageName: string) {\n await this.enterText(this.packageNameTxt, packageName);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async isPackageNameVisible(packageName: string, isVisible = true) {\n return await expect(this.page.getByRole('button', {name: packageName})).toBeVisible({visible: isVisible});\n }\n\n async clickExistingPackageName(packageName: string) {\n await this.click(this.page.getByRole('button', {name: packageName}));\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n const deletePackageWithNameLocator = this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete');\n await this.click(deletePackageWithNameLocator);\n }\n\n async clickSaveChangesToPackageButton() {\n await this.click(this.saveChangesToPackageBtn);\n }\n\n async clickAddContentToPackageButton() {\n await this.click(this.addContentToPackageBtn);\n }\n\n async clickAddMediaToPackageButton() {\n await this.click(this.addMediaToPackageBtn);\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.click(this.addDocumentTypeToPackageBtn);\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.click(this.addMediaTypeToPackageBtn);\n }\n\n async clickAddLanguageToPackageButton() {\n await this.click(this.addLanguageToPackageBtn);\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.click(this.addDictionaryToPackageBtn);\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.click(this.addDataTypesToPackageBtn);\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.click(this.addTemplatesToPackagesBtn);\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.click(this.addPartialViewToPackageBtn);\n }\n\n async clickAddScriptToPackageButton() {\n await this.click(this.addScriptToPackageBtn);\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.click(this.addStylesheetToPackageBtn);\n }\n\n // Downloads the package and converts it to a string\n async downloadPackage(packageId: string) {\n const responsePromise = this.page.waitForResponse(`${umbracoConfig.environment.baseUrl}/umbraco/management/api/v1/package/created/${packageId}/download`);\n await this.click(this.downloadPackageBtn);\n const response = await responsePromise;\n const body = await response.body();\n return body.toString().trim();\n }\n}"]}
1
+ {"version":3,"file":"PackageUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PackageUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Locator, Page,} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {umbracoConfig} from \"../../umbraco.config\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class PackageUiHelper extends UiBaseLocators {\n private readonly createdTabBtn: Locator;\n private readonly marketPlaceIFrame: Locator;\n private readonly installedTabBtn: Locator;\n private readonly packagesTabBtn: Locator;\n private readonly createPackageBtn: Locator;\n private readonly packageNameTxt: Locator;\n private readonly saveChangesToPackageBtn: Locator;\n private readonly addContentToPackageBtn: Locator;\n private readonly addMediaToPackageBtn: Locator;\n private readonly addDocumentTypeToPackageBtn: Locator;\n private readonly addMediaTypeToPackageBtn: Locator;\n private readonly addLanguageToPackageBtn: Locator;\n private readonly addDictionaryToPackageBtn: Locator;\n private readonly addDataTypesToPackageBtn: Locator;\n private readonly addTemplatesToPackagesBtn: Locator;\n private readonly addPartialViewToPackageBtn: Locator;\n private readonly addScriptToPackageBtn: Locator;\n private readonly addStylesheetToPackageBtn: Locator;\n private readonly downloadPackageBtn: Locator;\n private readonly propertyLayout: Locator;\n private readonly umbracoBackofficePackage: Locator;\n private readonly viewsId: Locator;\n\n constructor(page: Page) {\n super(page);\n this.viewsId = page.locator('#views');\n // Packages\n this.packagesTabBtn = this.viewsId.getByRole('tab', { name: 'Packages' });\n this.marketPlaceIFrame = page.frameLocator('iframe[title=\"Umbraco Marketplace\"]').locator('umb-market-app');\n // Installed\n this.installedTabBtn = this.viewsId.getByRole('tab', { name: 'Installed' });\n // Created\n this.propertyLayout = page.locator('umb-property-layout');\n this.createdTabBtn = this.viewsId.getByRole('tab', { name: 'Created' });\n this.createPackageBtn = page.getByLabel(\"Create package\");\n this.packageNameTxt = page.getByLabel('Name of the package');\n this.saveChangesToPackageBtn = page.getByLabel('Save changes to package');\n this.addContentToPackageBtn = page.locator('umb-input-document').getByLabel('Choose');\n this.addMediaToPackageBtn = page.locator('umb-input-media').getByLabel('Choose');\n this.addDocumentTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Document Types'}).getByLabel('Choose');\n this.addMediaTypeToPackageBtn = this.propertyLayout.filter({hasText: 'Media Types'}).getByLabel('Choose');\n this.addLanguageToPackageBtn = this.propertyLayout.filter({hasText: 'Languages'}).getByLabel('Choose');\n this.addDictionaryToPackageBtn = this.propertyLayout.filter({hasText: 'Dictionary'}).getByLabel('Choose');\n this.addDataTypesToPackageBtn = this.propertyLayout.filter({hasText: 'Data Types'}).getByLabel('Choose');\n this.addTemplatesToPackagesBtn = this.propertyLayout.filter({hasText: 'Templates'}).getByLabel('Choose');\n this.addPartialViewToPackageBtn = this.propertyLayout.filter({hasText: 'Partial Views'}).getByLabel('Choose');\n this.addScriptToPackageBtn = this.propertyLayout.filter({hasText: 'Scripts'}).getByLabel('Choose');\n this.addStylesheetToPackageBtn = this.propertyLayout.filter({hasText: 'Stylesheets'}).getByLabel('Choose');\n this.downloadPackageBtn = page.getByLabel('Download');\n this.umbracoBackofficePackage = page.locator('uui-ref-node-package', {hasText: '@umbraco-cms/backoffice'});\n }\n\n async isUmbracoBackofficePackageVisible(isVisible = true) {\n await this.isVisible(this.umbracoBackofficePackage, isVisible);\n }\n\n async clickCreatedTab() {\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n await this.click(this.createdTabBtn);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickInstalledTab() {\n await this.click(this.installedTabBtn);\n }\n\n async clickPackagesTab() {\n await this.click(this.packagesTabBtn);\n }\n\n async clickChooseBtn() {\n await this.click(this.chooseModalBtn);\n }\n\n async isMarketPlaceIFrameVisible(isVisible = true) {\n await this.isVisible(this.marketPlaceIFrame, isVisible);\n }\n\n async clickCreatePackageButton() {\n await this.click(this.createPackageBtn);\n }\n\n async enterPackageName(packageName: string) {\n await this.enterText(this.packageNameTxt, packageName);\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async isPackageNameVisible(packageName: string, isVisible = true) {\n return await this.isVisible(this.page.getByRole('button', {name: packageName}), isVisible);\n }\n\n async clickExistingPackageName(packageName: string) {\n await this.click(this.page.getByRole('button', {name: packageName}));\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async clickDeleteButtonForPackageName(packageName: string) {\n const deletePackageWithNameLocator = this.page.locator('uui-ref-node-package', {hasText: packageName}).getByLabel('Delete');\n await this.click(deletePackageWithNameLocator);\n }\n\n async clickSaveChangesToPackageButton() {\n await this.click(this.saveChangesToPackageBtn);\n }\n\n async clickAddContentToPackageButton() {\n await this.click(this.addContentToPackageBtn);\n }\n\n async clickAddMediaToPackageButton() {\n await this.click(this.addMediaToPackageBtn);\n }\n\n async clickAddDocumentTypeToPackageButton() {\n await this.click(this.addDocumentTypeToPackageBtn);\n }\n\n async clickAddMediaTypeToPackageButton() {\n await this.click(this.addMediaTypeToPackageBtn);\n }\n\n async clickAddLanguageToPackageButton() {\n await this.click(this.addLanguageToPackageBtn);\n }\n\n async clickAddDictionaryToPackageButton() {\n await this.click(this.addDictionaryToPackageBtn);\n }\n\n async clickAddDataTypesToPackageButton() {\n await this.click(this.addDataTypesToPackageBtn);\n }\n\n async clickAddTemplatesToPackageButton() {\n await this.click(this.addTemplatesToPackagesBtn);\n }\n\n async clickAddPartialViewToPackageButton() {\n await this.click(this.addPartialViewToPackageBtn);\n }\n\n async clickAddScriptToPackageButton() {\n await this.click(this.addScriptToPackageBtn);\n }\n\n async clickAddStylesheetToPackageButton() {\n await this.click(this.addStylesheetToPackageBtn);\n }\n\n // Downloads the package and converts it to a string\n async downloadPackage(packageId: string) {\n const responsePromise = this.page.waitForResponse(`${umbracoConfig.environment.baseUrl}/umbraco/management/api/v1/package/created/${packageId}/download`);\n await this.click(this.downloadPackageBtn);\n const response = await responsePromise;\n const body = await response.body();\n return body.toString().trim();\n }\n}"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PartialViewUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  const ConstantHelper_1 = require("./ConstantHelper");
7
6
  class PartialViewUiHelper extends UiBaseLocators_1.UiBaseLocators {
@@ -76,7 +75,7 @@ class PartialViewUiHelper extends UiBaseLocators_1.UiBaseLocators {
76
75
  if (toReload) {
77
76
  await this.reloadPartialViewTree();
78
77
  }
79
- return (0, test_1.expect)(this.partialViewTree.getByText(partialView, { exact: true })).toBeVisible({ visible: isVisible });
78
+ return await this.isVisible(this.partialViewTree.getByText(partialView, { exact: true }), isVisible);
80
79
  }
81
80
  }
82
81
  exports.PartialViewUiHelper = PartialViewUiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"PartialViewUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PartialViewUiHelper.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 PartialViewUiHelper extends UiBaseLocators {\n private readonly newEmptyPartialViewBtn: Locator;\n private readonly newPartialViewFromSnippetBtn: Locator;\n private readonly partialViewTree: Locator;\n private readonly partialViewUiLoader: Locator;\n private readonly newFolderThreeDots: Locator;\n private readonly partialViewCreateModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.partialViewCreateModal = page.locator('umb-partial-view-create-options-modal');\n this.newEmptyPartialViewBtn = this.partialViewCreateModal.locator('uui-menu-item', {hasText: 'Empty partial view'});\n this.newPartialViewFromSnippetBtn = this.partialViewCreateModal.locator('uui-menu-item', {hasText: 'Partial view from snippet'});\n this.partialViewTree = page.locator('umb-tree[alias=\"Umb.Tree.PartialView\"]');\n this.partialViewUiLoader = page.locator('uui-loader');\n this.newFolderThreeDots = this.partialViewCreateModal.locator('uui-menu-item', {hasText: 'Folder'});\n }\n\n async clickActionsMenuForPartialView(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForPartialView('Partial Views');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Partial Views');\n }\n\n async waitForPartialViewToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForPartialViewToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForPartialViewToBeRenamed() {\n await this.waitForLoadState();\n }\n \n async clickNewEmptyPartialViewButton() {\n await this.click(this.newEmptyPartialViewBtn);\n }\n\n async clickNewPartialViewFromSnippetButton() {\n await this.click(this.newPartialViewFromSnippetBtn);\n }\n\n async enterPartialViewName(partialViewName: string) {\n await this.enterText(this.enterAName, partialViewName);\n await this.hasValue(this.enterAName, partialViewName);\n }\n\n async enterPartialViewContent(partialViewContent: string) {\n // The waits in this method is currently needed as the test will fail with expects\n await this.waitUntilPartialViewLoaderIsNoLongerVisible();\n await this.enterMonacoEditorValue(partialViewContent);\n // We need this wait, to be sure that the partial view content is loaded.\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async openPartialViewAtRoot(partialViewName: string) {\n await this.reloadPartialViewTree();\n await this.click(this.page.locator(`uui-menu-item[label=\"${partialViewName}\"]`));\n await this.waitForVisible(this.enterAName);\n }\n\n async createPartialViewFolder(folderName: string) {\n await this.clickCreateOptionsActionMenuOption();\n await this.click(this.newFolderThreeDots);\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async reloadPartialViewTree() {\n await this.reloadTree('Partial Views');\n }\n\n async waitUntilPartialViewLoaderIsNoLongerVisible() {\n await this.isVisible(this.partialViewUiLoader, false);\n }\n\n async isPartialViewRootTreeItemVisible(partialView: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadPartialViewTree();\n }\n return expect(this.partialViewTree.getByText(partialView, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
1
+ {"version":3,"file":"PartialViewUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PartialViewUiHelper.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAChD,qDAAgD;AAEhD,MAAa,mBAAoB,SAAQ,+BAAc;IACpC,sBAAsB,CAAU;IAChC,4BAA4B,CAAU;IACtC,eAAe,CAAU;IACzB,mBAAmB,CAAU;IAC7B,kBAAkB,CAAU;IAC5B,sBAAsB,CAAU;IAEjD,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACpF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,eAAe,EAAE,EAAC,OAAO,EAAE,oBAAoB,EAAC,CAAC,CAAC;QACpH,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,eAAe,EAAE,EAAC,OAAO,EAAE,2BAA2B,EAAC,CAAC,CAAC;QACjI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,eAAe,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,IAAY;QAC/C,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,6BAA6B;QACjC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,8BAA8B;QAClC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,oCAAoC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,eAAuB;QAChD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,kBAA0B;QACtD,kFAAkF;QAClF,MAAM,IAAI,CAAC,2CAA2C,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QACtD,yEAAyE;QACzE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,+BAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,eAAuB;QACjD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,eAAe,IAAI,CAAC,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,MAAM,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,2CAA2C;QAC/C,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,WAAmB,EAAE,YAAqB,IAAI,EAAE,WAAoB,IAAI;QAC7G,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACpC;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrG,CAAC;CACF;AA1FD,kDA0FC","sourcesContent":["import {Page, Locator} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class PartialViewUiHelper extends UiBaseLocators {\n private readonly newEmptyPartialViewBtn: Locator;\n private readonly newPartialViewFromSnippetBtn: Locator;\n private readonly partialViewTree: Locator;\n private readonly partialViewUiLoader: Locator;\n private readonly newFolderThreeDots: Locator;\n private readonly partialViewCreateModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.partialViewCreateModal = page.locator('umb-partial-view-create-options-modal');\n this.newEmptyPartialViewBtn = this.partialViewCreateModal.locator('uui-menu-item', {hasText: 'Empty partial view'});\n this.newPartialViewFromSnippetBtn = this.partialViewCreateModal.locator('uui-menu-item', {hasText: 'Partial view from snippet'});\n this.partialViewTree = page.locator('umb-tree[alias=\"Umb.Tree.PartialView\"]');\n this.partialViewUiLoader = page.locator('uui-loader');\n this.newFolderThreeDots = this.partialViewCreateModal.locator('uui-menu-item', {hasText: 'Folder'});\n }\n\n async clickActionsMenuForPartialView(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForPartialView('Partial Views');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Partial Views');\n }\n\n async waitForPartialViewToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForPartialViewToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForPartialViewToBeRenamed() {\n await this.waitForLoadState();\n }\n \n async clickNewEmptyPartialViewButton() {\n await this.click(this.newEmptyPartialViewBtn);\n }\n\n async clickNewPartialViewFromSnippetButton() {\n await this.click(this.newPartialViewFromSnippetBtn);\n }\n\n async enterPartialViewName(partialViewName: string) {\n await this.enterText(this.enterAName, partialViewName);\n await this.hasValue(this.enterAName, partialViewName);\n }\n\n async enterPartialViewContent(partialViewContent: string) {\n // The waits in this method is currently needed as the test will fail with expects\n await this.waitUntilPartialViewLoaderIsNoLongerVisible();\n await this.enterMonacoEditorValue(partialViewContent);\n // We need this wait, to be sure that the partial view content is loaded.\n await this.page.waitForTimeout(ConstantHelper.wait.short);\n }\n\n async openPartialViewAtRoot(partialViewName: string) {\n await this.reloadPartialViewTree();\n await this.click(this.page.locator(`uui-menu-item[label=\"${partialViewName}\"]`));\n await this.waitForVisible(this.enterAName);\n }\n\n async createPartialViewFolder(folderName: string) {\n await this.clickCreateOptionsActionMenuOption();\n await this.click(this.newFolderThreeDots);\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async reloadPartialViewTree() {\n await this.reloadTree('Partial Views');\n }\n\n async waitUntilPartialViewLoaderIsNoLongerVisible() {\n await this.isVisible(this.partialViewUiLoader, false);\n }\n\n async isPartialViewRootTreeItemVisible(partialView: string, isVisible: boolean = true, toReload: boolean = true) {\n if (toReload) {\n await this.reloadPartialViewTree();\n }\n return await this.isVisible(this.partialViewTree.getByText(partialView, {exact: true}), isVisible);\n }\n}"]}
@@ -11,7 +11,7 @@ class ProfilingUiHelper extends UiBaseLocators_1.UiBaseLocators {
11
11
  super(page);
12
12
  this.profilingTab = page.getByRole('tab', { name: 'Profiling' });
13
13
  this.activateProfilerByDefaultToggle = page.locator("[label='Activate the profiler by default'] #toggle");
14
- this.activateProfilerByDefaultCheckbox = page.locator("[label='Activate the profiler by default']");
14
+ this.activateProfilerByDefaultCheckbox = page.locator("[label='Activate the profiler by default'] input[type='checkbox']");
15
15
  }
16
16
  async clickProfilingTab() {
17
17
  await this.click(this.profilingTab);
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilingUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ProfilingUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,YAAY,CAAU;IACtB,+BAA+B,CAAU;IACzC,iCAAiC,CAAU;IAE5D,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QAC1G,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,oCAAoC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,SAAkB;QAC/D,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAvBD,8CAuBC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ProfilingUiHelper extends UiBaseLocators {\n private readonly profilingTab: Locator;\n private readonly activateProfilerByDefaultToggle: Locator;\n private readonly activateProfilerByDefaultCheckbox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.profilingTab = page.getByRole('tab', {name: 'Profiling'});\n this.activateProfilerByDefaultToggle = page.locator(\"[label='Activate the profiler by default'] #toggle\");\n this.activateProfilerByDefaultCheckbox = page.locator(\"[label='Activate the profiler by default']\");\n }\n\n async clickProfilingTab() {\n await this.click(this.profilingTab);\n }\n\n async clickActivateProfilerByDefaultToggle() {\n await this.click(this.activateProfilerByDefaultToggle);\n }\n\n async isActivateProfilerByDefaultToggleChecked(isChecked: boolean) {\n return expect(this.activateProfilerByDefaultCheckbox).toBeChecked({checked: isChecked});\n }\n}\n"]}
1
+ {"version":3,"file":"ProfilingUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ProfilingUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,+BAAc;IAClC,YAAY,CAAU;IACtB,+BAA+B,CAAU;IACzC,iCAAiC,CAAU;IAE5D,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;QAC1G,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;IAC7H,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,oCAAoC;QACxC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,SAAkB;QAC/D,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC,CAAC;IAC1F,CAAC;CACF;AAvBD,8CAuBC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class ProfilingUiHelper extends UiBaseLocators {\n private readonly profilingTab: Locator;\n private readonly activateProfilerByDefaultToggle: Locator;\n private readonly activateProfilerByDefaultCheckbox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.profilingTab = page.getByRole('tab', {name: 'Profiling'});\n this.activateProfilerByDefaultToggle = page.locator(\"[label='Activate the profiler by default'] #toggle\");\n this.activateProfilerByDefaultCheckbox = page.locator(\"[label='Activate the profiler by default'] input[type='checkbox']\");\n }\n\n async clickProfilingTab() {\n await this.click(this.profilingTab);\n }\n\n async clickActivateProfilerByDefaultToggle() {\n await this.click(this.activateProfilerByDefaultToggle);\n }\n\n async isActivateProfilerByDefaultToggleChecked(isChecked: boolean) {\n return expect(this.activateProfilerByDefaultCheckbox).toBeChecked({checked: isChecked});\n }\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PublishedStatusUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  class PublishedStatusUiHelper extends UiBaseLocators_1.UiBaseLocators {
7
6
  publishedStatusTab;
@@ -40,7 +39,7 @@ class PublishedStatusUiHelper extends UiBaseLocators_1.UiBaseLocators {
40
39
  await this.click(this.continueBtn);
41
40
  }
42
41
  async isPublishedCacheStatusVisible(status) {
43
- return (0, test_1.expect)(this.publishedCacheBox.getByText(status)).toBeVisible();
42
+ return await this.isVisible(this.publishedCacheBox.getByText(status));
44
43
  }
45
44
  }
46
45
  exports.PublishedStatusUiHelper = PublishedStatusUiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"PublishedStatusUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PublishedStatusUiHelper.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAgD;AAEhD,MAAa,uBAAwB,SAAQ,+BAAc;IACxC,kBAAkB,CAAU;IAC5B,gBAAgB,CAAU;IAC1B,oBAAoB,CAAU;IAC9B,uBAAuB,CAAU;IACjC,wBAAwB,CAAU;IAClC,WAAW,CAAU;IACrB,iBAAiB,CAAU;IAE5C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACzE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,MAAc;QAChD,OAAO,IAAA,aAAM,EAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,CAAC;CACF;AA/CD,0DA+CC","sourcesContent":["import {Page, Locator, expect} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class PublishedStatusUiHelper extends UiBaseLocators {\n private readonly publishedStatusTab: Locator;\n private readonly refreshStatusBtn: Locator;\n private readonly reloadMemoryCacheBtn: Locator;\n private readonly rebuildDatabaseCacheBtn: Locator;\n private readonly snapshotInternalCacheBtn: Locator;\n private readonly continueBtn: Locator;\n private readonly publishedCacheBox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.publishedStatusTab = page.getByRole('tab', {name: 'Published Status'});\n this.refreshStatusBtn = page.getByLabel('Refresh Status');\n this.reloadMemoryCacheBtn = page.getByLabel('Reload Memory Cache');\n this.rebuildDatabaseCacheBtn = page.getByLabel('Rebuild Database Cache');\n this.snapshotInternalCacheBtn = page.getByLabel('Snapshot Internal Cache');\n this.continueBtn = page.locator('#confirm').getByLabel('Continue');\n this.publishedCacheBox = page.locator('[headline=\"Published Cache Status\"]')\n }\n\n async clickPublishedStatusTab() {\n await this.click(this.publishedStatusTab);\n }\n\n async clickRefreshStatusButton() {\n await this.click(this.refreshStatusBtn);\n }\n\n async clickReloadMemoryCacheButton() {\n await this.click(this.reloadMemoryCacheBtn);\n }\n\n async clickRebuildDatabaseCacheButton() {\n await this.click(this.rebuildDatabaseCacheBtn);\n }\n\n async clickSnapshotInternalCacheButton() {\n await this.click(this.snapshotInternalCacheBtn);\n }\n\n async clickContinueButton() {\n await this.click(this.continueBtn);\n }\n\n async isPublishedCacheStatusVisible(status: string) {\n return expect(this.publishedCacheBox.getByText(status)).toBeVisible();\n }\n}\n"]}
1
+ {"version":3,"file":"PublishedStatusUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/PublishedStatusUiHelper.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEhD,MAAa,uBAAwB,SAAQ,+BAAc;IACxC,kBAAkB,CAAU;IAC5B,gBAAgB,CAAU;IAC1B,oBAAoB,CAAU;IAC9B,uBAAuB,CAAU;IACjC,wBAAwB,CAAU;IAClC,WAAW,CAAU;IACrB,iBAAiB,CAAU;IAE5C,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACzE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,gCAAgC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,MAAc;QAChD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;CACF;AA/CD,0DA+CC","sourcesContent":["import {Page, Locator} from \"@playwright/test\";\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class PublishedStatusUiHelper extends UiBaseLocators {\n private readonly publishedStatusTab: Locator;\n private readonly refreshStatusBtn: Locator;\n private readonly reloadMemoryCacheBtn: Locator;\n private readonly rebuildDatabaseCacheBtn: Locator;\n private readonly snapshotInternalCacheBtn: Locator;\n private readonly continueBtn: Locator;\n private readonly publishedCacheBox: Locator;\n\n constructor(page: Page) {\n super(page);\n this.publishedStatusTab = page.getByRole('tab', {name: 'Published Status'});\n this.refreshStatusBtn = page.getByLabel('Refresh Status');\n this.reloadMemoryCacheBtn = page.getByLabel('Reload Memory Cache');\n this.rebuildDatabaseCacheBtn = page.getByLabel('Rebuild Database Cache');\n this.snapshotInternalCacheBtn = page.getByLabel('Snapshot Internal Cache');\n this.continueBtn = page.locator('#confirm').getByLabel('Continue');\n this.publishedCacheBox = page.locator('[headline=\"Published Cache Status\"]')\n }\n\n async clickPublishedStatusTab() {\n await this.click(this.publishedStatusTab);\n }\n\n async clickRefreshStatusButton() {\n await this.click(this.refreshStatusBtn);\n }\n\n async clickReloadMemoryCacheButton() {\n await this.click(this.reloadMemoryCacheBtn);\n }\n\n async clickRebuildDatabaseCacheButton() {\n await this.click(this.rebuildDatabaseCacheBtn);\n }\n\n async clickSnapshotInternalCacheButton() {\n await this.click(this.snapshotInternalCacheBtn);\n }\n\n async clickContinueButton() {\n await this.click(this.continueBtn);\n }\n\n async isPublishedCacheStatusVisible(status: string) {\n return await this.isVisible(this.publishedCacheBox.getByText(status));\n }\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RelationTypeUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  class RelationTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
7
6
  relationTypeNameTxt;
@@ -69,7 +68,7 @@ class RelationTypeUiHelper extends UiBaseLocators_1.UiBaseLocators {
69
68
  await this.containsText(this.relationTypeDependency, value);
70
69
  }
71
70
  async isRelationWithParentAndChildVisible(parent, child, isVisible = true) {
72
- await (0, test_1.expect)(this.relationsTableRow.filter({ has: this.page.locator('uui-table-cell').first().getByText(parent) }).filter({ has: this.page.locator('uui-table-cell').nth(1).getByText(child) })).toBeVisible({ visible: isVisible });
71
+ await this.isVisible(this.relationsTableRow.filter({ has: this.page.locator('uui-table-cell').first().getByText(parent) }).filter({ has: this.page.locator('uui-table-cell').nth(1).getByText(child) }), isVisible);
73
72
  }
74
73
  async clickBidirectionalRadioButton() {
75
74
  await this.click(this.bidirectionalRadioBtn);
@@ -1 +1 @@
1
- {"version":3,"file":"RelationTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/RelationTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {expect, Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class RelationTypeUiHelper extends UiBaseLocators{\n private readonly relationTypeNameTxt: Locator;\n private readonly parentToChildRadioBtn: Locator;\n private readonly bidirectionalRadioBtn: Locator;\n private readonly isDependencyToggle: Locator;\n private readonly parentDropDownBox: Locator;\n private readonly childDropDownBox: Locator;\n private readonly relationTypeCollection: Locator;\n private readonly relationTypeWorkspace: Locator;\n private readonly relationTypeParentType: Locator;\n private readonly relationTypeChildType: Locator;\n private readonly relationTypeBidirectional: Locator;\n private readonly relationTypeDependency: Locator;\n private readonly relationsTableRow: Locator;\n\n constructor(page: Page) {\n super(page);\n this.relationTypeNameTxt = page.locator('#name #input');\n this.parentToChildRadioBtn = page.locator(\"uui-radio[label='Parent to child'] #button\");\n this.bidirectionalRadioBtn = page.locator(\"uui-radio[label='Bidirectional'] #button\");\n this.isDependencyToggle = page.locator(\"umb-property-layout[label='Is dependency'] #toggle\");\n this.parentDropDownBox = page.locator(\"umb-property-layout[label='Parent'] #native\");\n this.childDropDownBox = page.locator(\"umb-property-layout[label='Child'] #native\");\n this.relationTypeCollection = page.locator('umb-relation-type-table-collection-view')\n this.relationTypeWorkspace = page.locator('umb-relation-type-detail-workspace-view');\n this.relationTypeParentType = this.relationTypeWorkspace.locator('[label=\"Parent Type\"]').locator('[slot=\"editor\"]');\n this.relationTypeChildType = this.relationTypeWorkspace.locator('[label=\"Child Type\"]').locator('[slot=\"editor\"]');\n this.relationTypeBidirectional =this.relationTypeWorkspace.locator('[label=\"Bidirectional\"]').locator('[slot=\"editor\"]');\n this.relationTypeDependency = this.relationTypeWorkspace.locator('[label=\"Dependency\"]').locator('[slot=\"editor\"]');\n this.relationsTableRow = this.relationTypeWorkspace.locator('umb-table').locator('uui-table-row');\n }\n\n async clickActionsMenuForRelationType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n \n async goToRelationTypeWithName(name: string) {\n await this.click(this.relationTypeCollection.getByText(name));\n await this.waitUntilUiLoaderIsNoLongerVisible();\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName(\"Relation Types\");\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForRelationType(\"Relation Types\");\n }\n\n async openRelationTypeByNameAtRoot(relationTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.click(this.page.getByLabel(relationTypeName));\n }\n\n async enterRelationTypeName(name: string) {\n await this.enterText(this.relationTypeNameTxt, name);\n }\n\n async clickParentToChildRadioButton() {\n await this.click(this.parentToChildRadioBtn);\n }\n \n async doesParentTypeContainValue(value: string) {\n await this.containsText(this.relationTypeParentType, value);\n }\n\n async doesChildTypeContainValue(value: string) {\n await this.containsText(this.relationTypeChildType, value);\n }\n\n async doesBidirectionalContainValue(value: string) {\n await this.containsText(this.relationTypeBidirectional, value);\n }\n\n async doesDependencyContainValue(value: string) {\n await this.containsText(this.relationTypeDependency, value);\n }\n\n async isRelationWithParentAndChildVisible(parent: string, child: string, isVisible: boolean = true) {\n await expect(this.relationsTableRow.filter({has: this.page.locator('uui-table-cell').first().getByText(parent)}).filter({has: this.page.locator('uui-table-cell').nth(1).getByText(child)})).toBeVisible({visible: isVisible});\n }\n\n async clickBidirectionalRadioButton() {\n await this.click(this.bidirectionalRadioBtn);\n }\n\n async clickIsDependencyToggle() {\n await this.click(this.isDependencyToggle);\n }\n\n async selectParentOption(option: string) {\n await this.selectByText(this.parentDropDownBox, option);\n }\n\n async selectChildOption(option: string) {\n await this.selectByText(this.childDropDownBox, option);\n }\n}"]}
1
+ {"version":3,"file":"RelationTypeUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/RelationTypeUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Locator, Page} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\n\nexport class RelationTypeUiHelper extends UiBaseLocators{\n private readonly relationTypeNameTxt: Locator;\n private readonly parentToChildRadioBtn: Locator;\n private readonly bidirectionalRadioBtn: Locator;\n private readonly isDependencyToggle: Locator;\n private readonly parentDropDownBox: Locator;\n private readonly childDropDownBox: Locator;\n private readonly relationTypeCollection: Locator;\n private readonly relationTypeWorkspace: Locator;\n private readonly relationTypeParentType: Locator;\n private readonly relationTypeChildType: Locator;\n private readonly relationTypeBidirectional: Locator;\n private readonly relationTypeDependency: Locator;\n private readonly relationsTableRow: Locator;\n\n constructor(page: Page) {\n super(page);\n this.relationTypeNameTxt = page.locator('#name #input');\n this.parentToChildRadioBtn = page.locator(\"uui-radio[label='Parent to child'] #button\");\n this.bidirectionalRadioBtn = page.locator(\"uui-radio[label='Bidirectional'] #button\");\n this.isDependencyToggle = page.locator(\"umb-property-layout[label='Is dependency'] #toggle\");\n this.parentDropDownBox = page.locator(\"umb-property-layout[label='Parent'] #native\");\n this.childDropDownBox = page.locator(\"umb-property-layout[label='Child'] #native\");\n this.relationTypeCollection = page.locator('umb-relation-type-table-collection-view')\n this.relationTypeWorkspace = page.locator('umb-relation-type-detail-workspace-view');\n this.relationTypeParentType = this.relationTypeWorkspace.locator('[label=\"Parent Type\"]').locator('[slot=\"editor\"]');\n this.relationTypeChildType = this.relationTypeWorkspace.locator('[label=\"Child Type\"]').locator('[slot=\"editor\"]');\n this.relationTypeBidirectional =this.relationTypeWorkspace.locator('[label=\"Bidirectional\"]').locator('[slot=\"editor\"]');\n this.relationTypeDependency = this.relationTypeWorkspace.locator('[label=\"Dependency\"]').locator('[slot=\"editor\"]');\n this.relationsTableRow = this.relationTypeWorkspace.locator('umb-table').locator('uui-table-row');\n }\n\n async clickActionsMenuForRelationType(name: string) {\n await this.clickActionsMenuForName(name);\n }\n \n async goToRelationTypeWithName(name: string) {\n await this.click(this.relationTypeCollection.getByText(name));\n await this.waitUntilUiLoaderIsNoLongerVisible();\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName(\"Relation Types\");\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForRelationType(\"Relation Types\");\n }\n\n async openRelationTypeByNameAtRoot(relationTypeName: string) {\n await this.clickRootFolderCaretButton();\n await this.click(this.page.getByLabel(relationTypeName));\n }\n\n async enterRelationTypeName(name: string) {\n await this.enterText(this.relationTypeNameTxt, name);\n }\n\n async clickParentToChildRadioButton() {\n await this.click(this.parentToChildRadioBtn);\n }\n \n async doesParentTypeContainValue(value: string) {\n await this.containsText(this.relationTypeParentType, value);\n }\n\n async doesChildTypeContainValue(value: string) {\n await this.containsText(this.relationTypeChildType, value);\n }\n\n async doesBidirectionalContainValue(value: string) {\n await this.containsText(this.relationTypeBidirectional, value);\n }\n\n async doesDependencyContainValue(value: string) {\n await this.containsText(this.relationTypeDependency, value);\n }\n\n async isRelationWithParentAndChildVisible(parent: string, child: string, isVisible: boolean = true) {\n await this.isVisible(this.relationsTableRow.filter({has: this.page.locator('uui-table-cell').first().getByText(parent)}).filter({has: this.page.locator('uui-table-cell').nth(1).getByText(child)}), isVisible);\n }\n\n async clickBidirectionalRadioButton() {\n await this.click(this.bidirectionalRadioBtn);\n }\n\n async clickIsDependencyToggle() {\n await this.click(this.isDependencyToggle);\n }\n\n async selectParentOption(option: string) {\n await this.selectByText(this.parentDropDownBox, option);\n }\n\n async selectChildOption(option: string) {\n await this.selectByText(this.childDropDownBox, option);\n }\n}"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ScriptUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  const ConstantHelper_1 = require("./ConstantHelper");
7
6
  class ScriptUiHelper extends UiBaseLocators_1.UiBaseLocators {
@@ -66,7 +65,7 @@ class ScriptUiHelper extends UiBaseLocators_1.UiBaseLocators {
66
65
  if (toReload) {
67
66
  await this.reloadScriptTree();
68
67
  }
69
- return (0, test_1.expect)(this.scriptTree.getByText(scriptName, { exact: true })).toBeVisible({ visible: isVisible });
68
+ return await this.isVisible(this.scriptTree.getByText(scriptName, { exact: true }), isVisible);
70
69
  }
71
70
  }
72
71
  exports.ScriptUiHelper = ScriptUiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ScriptUiHelper.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 ScriptUiHelper extends UiBaseLocators{\n private readonly newJavascriptFileBtn: Locator;\n private readonly scriptTree: Locator;\n private readonly newFolderThreeDots: Locator;\n private readonly scriptCreateModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.scriptCreateModal = page.locator('umb-script-create-options-modal');\n this.newJavascriptFileBtn = this.scriptCreateModal.locator('umb-ref-item', {hasText: 'JavaScript file'});\n this.newFolderThreeDots = this.scriptCreateModal.locator('umb-ref-item', {hasText: 'Folder'});\n this.scriptTree = page.locator('umb-tree[alias=\"Umb.Tree.Script\"]');\n }\n\n async clickActionsMenuForScript(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async createScriptFolder(folderName: string) {\n await this.clickCreateOptionsActionMenuOption();\n await this.click(this.newFolderThreeDots);\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForScript('Scripts');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Scripts');\n }\n\n async clickNewJavascriptFileButton() {\n await this.click(this.newJavascriptFileBtn);\n }\n \n async waitForScriptToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForScriptToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForScriptToBeRenamed() {\n await this.waitForLoadState();\n }\n \n // Will only work for root scripts\n async goToScript(scriptName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadScriptTree();\n await this.click(this.page.getByLabel(scriptName, {exact: true}));\n }\n\n async enterScriptName(scriptContent: string) {\n await this.enterText(this.enterAName, scriptContent);\n }\n\n async enterScriptContent(scriptContent: string) {\n await this.enterMonacoEditorValue(scriptContent);\n }\n\n async openScriptAtRoot(scriptName: string) {\n await this.reloadScriptTree();\n await this.click(this.page.getByLabel(scriptName, {exact: true}));\n }\n\n async reloadScriptTree() {\n await this.reloadTree('Scripts');\n }\n\n async isScriptRootTreeItemVisible(scriptName: string, isVisible: boolean = true, toReload: boolean = true){\n if (toReload) {\n await this.reloadScriptTree();\n }\n return expect(this.scriptTree.getByText(scriptName, {exact: true})).toBeVisible({visible: isVisible});\n }\n}"]}
1
+ {"version":3,"file":"ScriptUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/ScriptUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator} from \"@playwright/test\"\nimport {UiBaseLocators} from \"./UiBaseLocators\";\nimport {ConstantHelper} from \"./ConstantHelper\";\n\nexport class ScriptUiHelper extends UiBaseLocators{\n private readonly newJavascriptFileBtn: Locator;\n private readonly scriptTree: Locator;\n private readonly newFolderThreeDots: Locator;\n private readonly scriptCreateModal: Locator;\n\n constructor(page: Page) {\n super(page);\n this.scriptCreateModal = page.locator('umb-script-create-options-modal');\n this.newJavascriptFileBtn = this.scriptCreateModal.locator('umb-ref-item', {hasText: 'JavaScript file'});\n this.newFolderThreeDots = this.scriptCreateModal.locator('umb-ref-item', {hasText: 'Folder'});\n this.scriptTree = page.locator('umb-tree[alias=\"Umb.Tree.Script\"]');\n }\n\n async clickActionsMenuForScript(name: string) {\n await this.clickActionsMenuForName(name);\n }\n\n async createScriptFolder(folderName: string) {\n await this.clickCreateOptionsActionMenuOption();\n await this.click(this.newFolderThreeDots);\n await this.enterFolderName(folderName);\n await this.clickConfirmCreateFolderButton();\n }\n\n async clickActionsMenuAtRoot() {\n await this.clickActionsMenuForScript('Scripts');\n }\n\n async clickRootFolderCaretButton() {\n await this.openCaretButtonForName('Scripts');\n }\n\n async clickNewJavascriptFileButton() {\n await this.click(this.newJavascriptFileBtn);\n }\n \n async waitForScriptToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForScriptToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForScriptToBeRenamed() {\n await this.waitForLoadState();\n }\n \n // Will only work for root scripts\n async goToScript(scriptName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadScriptTree();\n await this.click(this.page.getByLabel(scriptName, {exact: true}));\n }\n\n async enterScriptName(scriptContent: string) {\n await this.enterText(this.enterAName, scriptContent);\n }\n\n async enterScriptContent(scriptContent: string) {\n await this.enterMonacoEditorValue(scriptContent);\n }\n\n async openScriptAtRoot(scriptName: string) {\n await this.reloadScriptTree();\n await this.click(this.page.getByLabel(scriptName, {exact: true}));\n }\n\n async reloadScriptTree() {\n await this.reloadTree('Scripts');\n }\n\n async isScriptRootTreeItemVisible(scriptName: string, isVisible: boolean = true, toReload: boolean = true){\n if (toReload) {\n await this.reloadScriptTree();\n }\n return await this.isVisible(this.scriptTree.getByText(scriptName, {exact: true}), isVisible);\n }\n}"]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StylesheetUiHelper = void 0;
4
- const test_1 = require("@playwright/test");
5
4
  const UiBaseLocators_1 = require("./UiBaseLocators");
6
5
  const ConstantHelper_1 = require("./ConstantHelper");
7
6
  class StylesheetUiHelper extends UiBaseLocators_1.UiBaseLocators {
@@ -65,7 +64,7 @@ class StylesheetUiHelper extends UiBaseLocators_1.UiBaseLocators {
65
64
  if (toReload) {
66
65
  await this.reloadStylesheetTree();
67
66
  }
68
- return (0, test_1.expect)(this.stylesheetTree.getByText(stylesheetName, { exact: true })).toBeVisible({ visible: isVisible });
67
+ return await this.isVisible(this.stylesheetTree.getByText(stylesheetName, { exact: true }), isVisible);
69
68
  }
70
69
  async goToStylesheet(stylesheetName) {
71
70
  await this.goToSection(ConstantHelper_1.ConstantHelper.sections.settings);
@@ -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 this.click(this.newStylesheetBtn);\n }\n\n async clickNewStylesheetFolderButton() {\n await this.click(this.newStylesheetFolderBtn);\n }\n\n async waitForStylesheetToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForStylesheetToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForStylesheetToBeRenamed() {\n await this.waitForLoadState();\n }\n \n async enterStylesheetName(stylesheetName: string) {\n await this.enterText(this.stylesheetNameTxt, 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.click(this.page.getByLabel(stylesheetName, {exact: true}));\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.click(this.page.getByLabel(stylesheetName, {exact: true}));\n }\n}"]}
1
+ {"version":3,"file":"StylesheetUiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/StylesheetUiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {Page, Locator} 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 this.click(this.newStylesheetBtn);\n }\n\n async clickNewStylesheetFolderButton() {\n await this.click(this.newStylesheetFolderBtn);\n }\n\n async waitForStylesheetToBeCreated() {\n await this.waitForLoadState();\n }\n\n async waitForStylesheetToBeDeleted() {\n await this.waitForLoadState();\n }\n\n async waitForStylesheetToBeRenamed() {\n await this.waitForLoadState();\n }\n \n async enterStylesheetName(stylesheetName: string) {\n await this.enterText(this.stylesheetNameTxt, 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.click(this.page.getByLabel(stylesheetName, {exact: true}));\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 await this.isVisible(this.stylesheetTree.getByText(stylesheetName, {exact: true}), isVisible);\n }\n\n async goToStylesheet(stylesheetName: string) {\n await this.goToSection(ConstantHelper.sections.settings);\n await this.reloadStylesheetTree();\n await this.click(this.page.getByLabel(stylesheetName, {exact: true}));\n }\n}"]}
@@ -30,4 +30,6 @@ export declare class TemplateApiHelper {
30
30
  createTemplateWithContent(name: string, templateContent: string): Promise<string | undefined>;
31
31
  createTemplateWithEntityDataPickerValue(templateName: string, propertyName: string): Promise<string | undefined>;
32
32
  createTemplateWithDisplayingDefaultValue(name: string, valueAlias: string, defaultValue: string): Promise<string>;
33
+ createTemplateWithDisplayingBlockListItems(name: string, blockListPropertyName: string, elementPropertyAlias: string, noBlocksMessage?: string): Promise<string>;
34
+ createTemplateWithDisplayingBlockGridItems(name: string, blockGridPropertyName: string, elementPropertyAlias: string, noBlocksMessage?: string): Promise<string>;
33
35
  }
@@ -305,6 +305,42 @@ class TemplateApiHelper {
305
305
  const templateContent = '\n\t@Model.Value("' + valueAlias + '", fallback: Fallback.ToDefaultValue, defaultValue: (object)"' + defaultValue + '")';
306
306
  return this.createTemplateWithDisplayingValue(name, templateContent);
307
307
  }
308
+ async createTemplateWithDisplayingBlockListItems(name, blockListPropertyName, elementPropertyAlias, noBlocksMessage = 'No blocks available') {
309
+ const templateContent = '\n@using Umbraco.Cms.Core.Models.Blocks' +
310
+ '\n@{' +
311
+ '\n\tvar blocks = Model.Value<IEnumerable<BlockListItem>>("' + AliasHelper_1.AliasHelper.toAlias(blockListPropertyName) + '");' +
312
+ '\n\tif (blocks != null && blocks.Any())' +
313
+ '\n\t{' +
314
+ '\n\t\tforeach (var block in blocks)' +
315
+ '\n\t\t{' +
316
+ '\n\t\t\t<p>@block.Content.Value("' + AliasHelper_1.AliasHelper.toAlias(elementPropertyAlias) + '")</p>' +
317
+ '\n\t\t}' +
318
+ '\n\t}' +
319
+ '\n\telse' +
320
+ '\n\t{' +
321
+ '\n\t\t<p>' + noBlocksMessage + '</p>' +
322
+ '\n\t}' +
323
+ '\n}';
324
+ return this.createTemplateWithDisplayingValue(name, templateContent);
325
+ }
326
+ async createTemplateWithDisplayingBlockGridItems(name, blockGridPropertyName, elementPropertyAlias, noBlocksMessage = 'No blocks available') {
327
+ const templateContent = '\n@using Umbraco.Cms.Core.Models.Blocks' +
328
+ '\n@{' +
329
+ '\n\tvar blocks = Model.Value<BlockGridModel>("' + AliasHelper_1.AliasHelper.toAlias(blockGridPropertyName) + '");' +
330
+ '\n\tif (blocks != null && blocks.Any())' +
331
+ '\n\t{' +
332
+ '\n\t\tforeach (var block in blocks)' +
333
+ '\n\t\t{' +
334
+ '\n\t\t\t<p>@block.Content.Value("' + AliasHelper_1.AliasHelper.toAlias(elementPropertyAlias) + '")</p>' +
335
+ '\n\t\t}' +
336
+ '\n\t}' +
337
+ '\n\telse' +
338
+ '\n\t{' +
339
+ '\n\t\t<p>' + noBlocksMessage + '</p>' +
340
+ '\n\t}' +
341
+ '\n}';
342
+ return this.createTemplateWithDisplayingValue(name, templateContent);
343
+ }
308
344
  }
309
345
  exports.TemplateApiHelper = TemplateApiHelper;
310
346
  //# 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\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\n async createTemplateWithDisplayingDefaultValue(name: string, valueAlias: string, defaultValue: string) {\n const templateContent =\n '\\n\\t@Model.Value(\"' + valueAlias + '\", fallback: Fallback.ToDefaultValue, defaultValue: (object)\"' + defaultValue + '\")';\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;IAED,KAAK,CAAC,wCAAwC,CAAC,IAAY,EAAE,UAAkB,EAAE,YAAoB;QACnG,MAAM,eAAe,GACnB,oBAAoB,GAAG,UAAU,GAAG,+DAA+D,GAAG,YAAY,GAAG,IAAI,CAAC;QAC5H,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,0CAA0C,CAAC,IAAY,EAAE,qBAA6B,EAAE,oBAA4B,EAAE,kBAA0B,qBAAqB;QACzK,MAAM,eAAe,GACnB,yCAAyC;YACzC,MAAM;YACN,4DAA4D,GAAG,yBAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,KAAK;YACjH,yCAAyC;YACzC,OAAO;YACP,qCAAqC;YACrC,SAAS;YACT,mCAAmC,GAAG,yBAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,QAAQ;YAC1F,SAAS;YACT,OAAO;YACP,UAAU;YACV,OAAO;YACP,WAAW,GAAG,eAAe,GAAG,MAAM;YACtC,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,0CAA0C,CAAC,IAAY,EAAE,qBAA6B,EAAE,oBAA4B,EAAE,kBAA0B,qBAAqB;QACzK,MAAM,eAAe,GACnB,yCAAyC;YACzC,MAAM;YACN,gDAAgD,GAAG,yBAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,KAAK;YACrG,yCAAyC;YACzC,OAAO;YACP,qCAAqC;YACrC,SAAS;YACT,mCAAmC,GAAG,yBAAW,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,QAAQ;YAC1F,SAAS;YACT,OAAO;YACP,UAAU;YACV,OAAO;YACP,WAAW,GAAG,eAAe,GAAG,MAAM;YACtC,OAAO;YACP,KAAK,CAAC;QACR,OAAO,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;CACF;AAnYD,8CAmYC","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\n async createTemplateWithDisplayingDefaultValue(name: string, valueAlias: string, defaultValue: string) {\n const templateContent =\n '\\n\\t@Model.Value(\"' + valueAlias + '\", fallback: Fallback.ToDefaultValue, defaultValue: (object)\"' + defaultValue + '\")';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingBlockListItems(name: string, blockListPropertyName: string, elementPropertyAlias: string, noBlocksMessage: string = 'No blocks available') {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models.Blocks' +\n '\\n@{' +\n '\\n\\tvar blocks = Model.Value<IEnumerable<BlockListItem>>(\"' + AliasHelper.toAlias(blockListPropertyName) + '\");' +\n '\\n\\tif (blocks != null && blocks.Any())' +\n '\\n\\t{' +\n '\\n\\t\\tforeach (var block in blocks)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<p>@block.Content.Value(\"' + AliasHelper.toAlias(elementPropertyAlias) + '\")</p>' +\n '\\n\\t\\t}' +\n '\\n\\t}' +\n '\\n\\telse' +\n '\\n\\t{' +\n '\\n\\t\\t<p>' + noBlocksMessage + '</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n\n async createTemplateWithDisplayingBlockGridItems(name: string, blockGridPropertyName: string, elementPropertyAlias: string, noBlocksMessage: string = 'No blocks available') {\n const templateContent =\n '\\n@using Umbraco.Cms.Core.Models.Blocks' +\n '\\n@{' +\n '\\n\\tvar blocks = Model.Value<BlockGridModel>(\"' + AliasHelper.toAlias(blockGridPropertyName) + '\");' +\n '\\n\\tif (blocks != null && blocks.Any())' +\n '\\n\\t{' +\n '\\n\\t\\tforeach (var block in blocks)' +\n '\\n\\t\\t{' +\n '\\n\\t\\t\\t<p>@block.Content.Value(\"' + AliasHelper.toAlias(elementPropertyAlias) + '\")</p>' +\n '\\n\\t\\t}' +\n '\\n\\t}' +\n '\\n\\telse' +\n '\\n\\t{' +\n '\\n\\t\\t<p>' + noBlocksMessage + '</p>' +\n '\\n\\t}' +\n '\\n}';\n return this.createTemplateWithDisplayingValue(name, templateContent);\n }\n}"]}