@umbraco/playwright-testhelpers 2.0.0-beta.89 → 2.0.0-beta.90
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.
- package/dist/lib/helpers/ContentRenderUiHelper.d.ts +8 -0
- package/dist/lib/helpers/ContentRenderUiHelper.js +21 -0
- package/dist/lib/helpers/ContentRenderUiHelper.js.map +1 -0
- package/dist/lib/helpers/ContentUiHelper.js +3 -3
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +1 -0
- package/dist/lib/helpers/DocumentApiHelper.js +26 -0
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +1 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js +26 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +1 -0
- package/dist/lib/helpers/TemplateApiHelper.js +12 -0
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +6 -6
- package/dist/lib/helpers/UiBaseLocators.js +1 -1
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UiHelpers.d.ts +2 -0
- package/dist/lib/helpers/UiHelpers.js +3 -0
- package/dist/lib/helpers/UiHelpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentTypeApiHelper.ts"],"names":[],"mappings":";;;AACA,wEAAkE;AAClE,+CAA0C;AAE1C,MAAa,qBAAqB;IAChC,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAEzD,KAAK,MAAM,YAAY,IAAI,iBAAiB,CAAC,KAAK,EAAE;YAClD,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC9B,IAAI,YAAY,CAAC,QAAQ,EAAE;oBACzB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;iBACvD;gBACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aAC3C;iBAAM,IAAI,YAAY,CAAC,WAAW,EAAE;gBACnC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;aACzD;SACF;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,wFAAwF,CAAC,CAAC;IACzI,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,IAAI,KAAK,CAAC,QAAQ,EAAE;wBAClB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACvC;oBACD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,QAAQ,EAAE;oBAClB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;iBAChD;gBACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACpC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC5B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aAC7D;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,kBAAkB;QACpD,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;YACnC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;SACvD;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAE5D,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACnC;iBAAM;gBACL,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,mEAAmE,EAAE,sCAAsC,CAAC,CAAC;QACpK,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAY;QACvB,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,0CAA0C,EAAE,YAAY,CAAC,CAAC;QAClH,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;QACzG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC;SACb;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAEzD,KAAK,MAAM,YAAY,IAAI,iBAAiB,CAAC,KAAK,EAAE;YAClD,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC9B,IAAI,YAAY,CAAC,QAAQ,EAAE;oBACzB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;iBACxC;gBACD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aAClC;iBAAM,IAAI,YAAY,CAAC,WAAW,EAAE;gBACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACxE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC;QAC5G,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;IACT,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kDAAkD,GAAG,EAAE,CAAC,CAAC;QAChH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAU;QAC3B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kDAAkD,GAAG,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAAiB;QAChD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI;SAEzC,CAAA;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,iDAAiD,EAAE,MAAM,CAAC,CAAC;QACnH,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,UAAkB;QACrD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,UAAU;SACjB,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,kDAAkD,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtH,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,gBAAwB;QACtD,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,oCAAoC,CAAC,gBAAwB,EAAE,YAAoB,EAAE,UAAkB,EAAE,YAAoB,WAAW,EAAE,aAAuB;QACrK,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,qBAAqB,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;QAClF,MAAM,yBAAyB,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,YAAY,EAAE;aACZ,QAAQ,CAAC,SAAS,CAAC;aACnB,MAAM,CAAC,WAAW,CAAC;aACnB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,WAAW,CAAC;aAC5B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,QAAQ,CAAC,YAAY,CAAC;aACtB,cAAc,CAAC,UAAU,CAAC;aAC1B,mBAAmB,CAAC,qBAAqB,CAAC;aAC1C,IAAI,EAAE;aACR,mBAAmB,CAAC,yBAAyB,CAAC;aAC9C,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,gBAAwB,EAAE,YAAoB,EAAE,UAAkB,EAAE,OAAe,EAAE,YAAoB,WAAW,EAAE,gBAAyB,KAAK;QAClM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,YAAY,EAAE;aACZ,QAAQ,CAAC,OAAO,CAAC;aACjB,MAAM,CAAC,KAAK,CAAC;aACb,QAAQ,CAAC,KAAK,CAAC;aACf,IAAI,EAAE;aACR,YAAY,EAAE;aACZ,QAAQ,CAAC,SAAS,CAAC;aACnB,MAAM,CAAC,OAAO,CAAC;aACf,QAAQ,CAAC,OAAO,CAAC;aACjB,YAAY,CAAC,KAAK,CAAC;aACnB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,OAAO,CAAC;aACxB,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,QAAQ,CAAC,YAAY,CAAC;aACtB,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,mBAAmB,CAAC,aAAa,CAAC;aAClC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,gBAAwB,EAAE,eAAuB,EAAE,aAAqB,EAAE,eAAuB,EAAE,aAAqB,EAAE,YAAoB,WAAW;QACtM,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,YAAY,EAAE;aACZ,QAAQ,CAAC,SAAS,CAAC;aACnB,MAAM,CAAC,WAAW,CAAC;aACnB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,WAAW,CAAC;aAC5B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aAC/C,QAAQ,CAAC,eAAe,CAAC;aACzB,cAAc,CAAC,aAAa,CAAC;aAC7B,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,WAAW,CAAC;aAC5B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aAC/C,QAAQ,CAAC,eAAe,CAAC;aACzB,cAAc,CAAC,aAAa,CAAC;aAC7B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,gBAAwB;QACrE,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sCAAsC,CAAC,gBAAwB,EAAE,kBAA0B;QAC/F,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,sBAAsB,EAAE;aACtB,MAAM,CAAC,kBAAkB,CAAC;aAC1B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,0DAA0D,CAAC,gBAAwB,EAAE,YAAoB,EAAE,UAAkB,EAAE,kBAA0B,EAAE,YAAoB,WAAW;QAC9L,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,YAAY,EAAE;aACZ,QAAQ,CAAC,SAAS,CAAC;aACnB,MAAM,CAAC,WAAW,CAAC;aACnB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,WAAW,CAAC;aAC5B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,QAAQ,CAAC,YAAY,CAAC;aACtB,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,sBAAsB,EAAE;aACtB,MAAM,CAAC,kBAAkB,CAAC;aAC1B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAGD,KAAK,CAAC,qCAAqC,CAAC,gBAAwB,EAAE,iBAAyB,EAAE,kBAA0B,KAAK;QAC9H,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,eAAe,CAAC;aAClC,oBAAoB,EAAE;aACpB,MAAM,CAAC,iBAAiB,CAAC;aACzB,IAAI,EAAE;aACR,qBAAqB,CAAC,iBAAiB,CAAC;aACxC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,yCAAyC,CAAC,gBAAwB,EAAE,oBAA4B,EAAE,oBAA4B,EAAE,kBAA2B,KAAK,EAAE,iBAA0B;QAChM,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAEnG,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,eAAe,CAAC;aAClC,oBAAoB,EAAE;aACpB,MAAM,CAAC,oBAAoB,CAAC;aAC5B,IAAI,EAAE;aACR,oBAAoB,EAAE;aACpB,MAAM,CAAC,oBAAoB,CAAC;aAC5B,IAAI,EAAE;aACR,qBAAqB,CAAC,eAAe,CAAC;aACtC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,gBAAwB,EAAC,QAAgB,EAAE,UAAkB,EAAE,YAAoB,EAAE,YAAoB;QAC7I,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,YAAY,EAAE;aACZ,QAAQ,CAAC,YAAY,CAAC;aACtB,MAAM,CAAC,UAAU,CAAC;aAClB,QAAQ,CAAC,OAAO,CAAC;aACjB,aAAa,CAAC,CAAC,CAAC;aAChB,IAAI,EAAE;aACR,YAAY,EAAE;aACZ,QAAQ,CAAC,YAAY,CAAC;aACtB,MAAM,CAAC,UAAU,CAAC;aAClB,QAAQ,CAAC,OAAO,CAAC;aACjB,aAAa,CAAC,CAAC,CAAC;aAChB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,UAAU,CAAC;aAC3B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;aAChD,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,UAAU,CAAC;aAC3B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;aAChD,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,gBAAwB,EAAE,aAAqB;QACtF,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,cAAc,EAAE;aACd,kBAAkB,CAAC,aAAa,CAAC;aACjC,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,eAAuB;QAClD,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAEhD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,eAAe,CAAC;aACzB,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aAC/C,aAAa,CAAC,IAAI,CAAC;aACnB,QAAQ,CAAC,aAAa,CAAC;aACvB,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,gBAAwB,EAAE,QAAgB,EAAE,UAAkB,EAAE,UAAkB,EAAE,UAAkB;QACxI,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,YAAY,EAAE;aACZ,QAAQ,CAAC,UAAU,CAAC;aACpB,MAAM,CAAC,QAAQ,CAAC;aAChB,QAAQ,CAAC,KAAK,CAAC;aACf,aAAa,CAAC,CAAC,CAAC;aAChB,IAAI,EAAE;aACR,YAAY,EAAE;aACZ,QAAQ,CAAC,UAAU,CAAC;aACpB,MAAM,CAAC,QAAQ,CAAC;aAChB,QAAQ,CAAC,KAAK,CAAC;aACf,aAAa,CAAC,CAAC,CAAC;aAChB,IAAI,EAAE;aACR,YAAY,EAAE;aACZ,QAAQ,CAAC,cAAc,CAAC;aACxB,MAAM,CAAC,UAAU,CAAC;aAClB,QAAQ,CAAC,OAAO,CAAC;aACjB,YAAY,CAAC,QAAQ,CAAC;aACtB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,UAAU,CAAC;aAC3B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;aAChD,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,YAAY,EAAE;aACZ,QAAQ,CAAC,cAAc,CAAC;aACxB,MAAM,CAAC,UAAU,CAAC;aAClB,QAAQ,CAAC,OAAO,CAAC;aACjB,YAAY,CAAC,QAAQ,CAAC;aACtB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,UAAU,CAAC;aAC3B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;aAChD,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;aAC1B,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,WAAmB,EAAE,YAAoB,WAAW,EAAE,eAAuB,YAAY,EAAE,UAAkB;QAC1I,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAExC,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,WAAW,CAAC;aACrB,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aAC3C,aAAa,CAAC,IAAI,CAAC;aACnB,YAAY,EAAE;aACZ,QAAQ,CAAC,SAAS,CAAC;aACnB,MAAM,CAAC,WAAW,CAAC;aACnB,QAAQ,CAAC,OAAO,CAAC;aACjB,IAAI,EAAE;aACR,WAAW,EAAE;aACX,eAAe,CAAC,WAAW,CAAC;aAC5B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,QAAQ,CAAC,YAAY,CAAC;aACtB,cAAc,CAAC,UAAU,CAAC;aAC1B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,gBAAwB,EAAE,YAAoB,EAAE,UAAkB,EAAE,SAAiB;QAC/H,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACtE,4BAA4B;QAC5B,IAAI,KAAK,EAAE;YACT,oGAAoG;YACpG,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;SAClI;aAAM;YACL,kBAAkB;YAClB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,KAAK,CAAC,0CAA0C,CAAC,gBAAwB,EAAE,YAAoB,EAAE,UAAkB,EAAE,OAAe,EAAE,SAAiB;QACrJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAClE,0BAA0B;QAC1B,IAAI,GAAG,EAAE;YACP,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAChG,4BAA4B;YAC5B,IAAI,KAAK,EAAE;gBACT,oGAAoG;gBACpG,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;aAClI;iBAAM;gBACL,kBAAkB;gBAClB,OAAO,KAAK,CAAC;aACd;SACF;aAAM;YACL,gBAAgB;YAChB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,KAAK,CAAC,gDAAgD,CAAC,gBAAwB,EAAE,SAAiB,EAAE,SAAiB;QACnH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACtE,4BAA4B;QAC5B,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;SACtC;aAAM;YACL,kBAAkB;YAClB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,KAAK,CAAC,8CAA8C,CAAC,gBAAwB,EAAE,OAAe,EAAE,SAAiB;QAC/G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAClE,0BAA0B;QAC1B,IAAI,GAAG,EAAE;YACP,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC;SACpC;aAAM;YACL,gBAAgB;YAChB,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,gBAAwB,EAAE,aAAqB;QAC1E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAC9E,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC,EAAE,CAAC;SACrB;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,0CAA0C,CAAC,gBAAwB,EAAE,qBAA6B,EAAE,qBAA6B;QACrI,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,sBAAsB,EAAE;aACtB,MAAM,CAAC,qBAAqB,CAAC;aAC7B,IAAI,EAAE;aACR,sBAAsB,EAAE;aACtB,MAAM,CAAC,qBAAqB,CAAC;aAC7B,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,qDAAqD,CAAC,gBAAwB,EAAE,kBAA0B,EAAE,YAAoB;QACpI,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,sBAAsB,EAAE;aACtB,MAAM,CAAC,kBAAkB,CAAC;aAC1B,IAAI,EAAE;aACR,gBAAgB,CAAC,YAAY,CAAC;aAC9B,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,gBAAwB,EAAE,YAAoB;QACrF,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,gBAAgB,CAAC,YAAY,CAAC;aAC9B,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,wCAAwC,CAAC,gBAAwB;QACrE,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,IAAI,0CAAmB,EAAE;aAC3C,QAAQ,CAAC,gBAAgB,CAAC;aAC1B,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;aAChD,iBAAiB,CAAC,IAAI,CAAC;aACvB,mBAAmB,CAAC,IAAI,CAAC;aACzB,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;CACF;AAnlBD,sDAmlBC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {DocumentTypeBuilder} from \"@umbraco/json-models-builders\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class DocumentTypeApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDocumentTypes = await this.getAllAtRoot();\n const jsonDocumentTypes = await rootDocumentTypes.json();\n\n for (const documentType of jsonDocumentTypes.items) {\n if (documentType.name === name) {\n if (documentType.isFolder) {\n return await this.recurseDeleteChildren(documentType);\n }\n return await this.delete(documentType.id);\n } else if (documentType.hasChildren) {\n await this.recurseChildren(name, documentType.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document-type/root?skip=0&take=10000&foldersOnly=false');\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 if (child.isFolder) {\n return await this.getFolder(child.id);\n }\n return await this.get(child.id);\n }\n if (child.isFolder) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(documentTypeFolder) {\n if (!documentTypeFolder.hasChildren) {\n return await this.deleteFolder(documentTypeFolder.id);\n }\n const items = await this.getChildren(documentTypeFolder.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else if (child.isFolder) {\n await this.deleteFolder(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.deleteFolder(documentTypeFolder.id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document-type/children?parentId=${id}&skip=0&take=10000&foldersOnly=false`);\n const items = await response.json();\n return items.items;\n }\n\n async create(documentType) {\n if (documentType == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-type', documentType);\n return response.headers().location.split(\"/\").pop();\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-type/' + id);\n const json = await response.json();\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByName(name: string) {\n const rootDocumentTypes = await this.getAllAtRoot();\n const jsonDocumentTypes = await rootDocumentTypes.json();\n\n for (const documentType of jsonDocumentTypes.items) {\n if (documentType.name === name) {\n if (documentType.isFolder) {\n return this.getFolder(documentType.id);\n }\n return this.get(documentType.id);\n } else if (documentType.hasChildren) {\n const result = await this.recurseChildren(name, documentType.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document-type/' + id);\n return response.status();\n }\n\n // FOLDER\n async getFolder(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + id);\n return await response.json();\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + id);\n }\n\n async createFolder(name: string, parentId?: string) {\n const folder = {\n name: name,\n parent: parentId ? {id: parentId} : null\n\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder', folder);\n return response.headers().location.split(\"/\").pop();\n }\n\n async renameFolder(folderId: string, folderName: string) {\n const folder = {\n name: folderName\n }\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + folderId, folder);\n }\n\n async createDefaultDocumentType(documentTypeName: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string = \"TestGroup\", varyByCulture?: boolean) {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n const varyByCultureProperty = varyByCulture === undefined ? false : varyByCulture;\n const varyByCultureDocumentType = varyByCulture === undefined ? false : true;\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .withVariesByCulture(varyByCultureProperty)\n .done()\n .withVariesByCulture(varyByCultureDocumentType)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithPropertyEditorInTab(documentTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName: string = \"TestGroup\", varyByCulture: boolean = false) {\n const crypto = require('crypto');\n const tabId = crypto.randomUUID();\n const groupId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(tabName)\n .withId(tabId)\n .withType(\"Tab\")\n .done()\n .addContainer()\n .withName(groupName)\n .withId(groupId)\n .withType(\"Group\")\n .withParentId(tabId)\n .done()\n .addProperty()\n .withContainerId(groupId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .withVariesByCulture(varyByCulture)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithTwoPropertyEditors(documentTypeName: string, dataTypeNameOne: string, dataTypeIdOne: string, dataTypeNameTwo: string, dataTypeIdTwo: string, groupName: string = \"TestGroup\") {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameOne))\n .withName(dataTypeNameOne)\n .withDataTypeId(dataTypeIdOne)\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameTwo))\n .withName(dataTypeNameTwo)\n .withDataTypeId(dataTypeIdTwo)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDefaultDocumentTypeWithAllowAsRoot(documentTypeName: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAllowedChildNode(documentTypeName: string, allowedChildNodeId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addAllowedDocumentType()\n .withId(allowedChildNodeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAPropertyEditorAndAnAllowedChildNode(documentTypeName: string, dataTypeName: string, dataTypeId: string, allowedChildNodeId: string, groupName: string = \"TestGroup\") {\n await this.ensureNameNotExists(documentTypeName);\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .addAllowedDocumentType()\n .withId(allowedChildNodeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n\n async createDocumentTypeWithAllowedTemplate(documentTypeName: string, allowedTemplateId: string, isAllowedAsRoot:boolean = false) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(isAllowedAsRoot)\n .addAllowedTemplateId()\n .withId(allowedTemplateId)\n .done()\n .withDefaultTemplateId(allowedTemplateId)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithTwoAllowedTemplates(documentTypeName: string, allowedTemplateOneId: string, allowedTemplateTwoId: string, isAllowedAsRoot: boolean = false, defaultTemplateId?: string) {\n await this.ensureNameNotExists(documentTypeName);\n const defaultTemplate = defaultTemplateId === undefined ? allowedTemplateOneId : defaultTemplateId;\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(isAllowedAsRoot)\n .addAllowedTemplateId()\n .withId(allowedTemplateOneId)\n .done()\n .addAllowedTemplateId()\n .withId(allowedTemplateTwoId)\n .done()\n .withDefaultTemplateId(defaultTemplate)\n .build();\n return await this.create(documentType);\n }\n \n async createDocumentTypeWithTwoGroups(documentTypeName: string,dataType: string, dataTypeId: string, groupNameOne: string, groupNameTwo: string) {\n const crypto = require('crypto');\n const groupOneId = crypto.randomUUID();\n const groupTwoId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(groupNameOne)\n .withId(groupOneId)\n .withType(\"Group\")\n .withSortOrder(0)\n .done()\n .addContainer()\n .withName(groupNameTwo)\n .withId(groupTwoId)\n .withType(\"Group\")\n .withSortOrder(1)\n .done()\n .addProperty()\n .withContainerId(groupOneId)\n .withAlias(AliasHelper.toAlias(dataType + \"One\"))\n .withName(dataType + \"One\")\n .withDataTypeId(dataTypeId)\n .done()\n .addProperty()\n .withContainerId(groupTwoId)\n .withAlias(AliasHelper.toAlias(dataType + \"Two\"))\n .withName(dataType + \"Two\")\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n \n async createDocumentTypeWithAComposition(documentTypeName: string, compositionId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addComposition()\n .withDocumentTypeId(compositionId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createEmptyElementType(elementTypeName: string) {\n await this.ensureNameNotExists(elementTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(elementTypeName)\n .withAlias(AliasHelper.toAlias(elementTypeName))\n .withIsElement(true)\n .withIcon(\"icon-plugin\")\n .build();\n return await this.create(documentType);\n }\n \n async createDocumentTypeWithTwoTabs(documentTypeName: string, dataType: string, dataTypeId: string, tabNameOne: string, tabNameTwo: string) {\n const crypto = require('crypto');\n const tabOneId = crypto.randomUUID();\n const tabTwoId = crypto.randomUUID();\n const groupOneId = crypto.randomUUID();\n const groupTwoId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(tabNameOne)\n .withId(tabOneId)\n .withType(\"Tab\")\n .withSortOrder(0)\n .done()\n .addContainer()\n .withName(tabNameTwo)\n .withId(tabTwoId)\n .withType(\"Tab\")\n .withSortOrder(1)\n .done()\n .addContainer()\n .withName(\"GroupTestOne\")\n .withId(groupOneId)\n .withType(\"Group\")\n .withParentId(tabOneId)\n .done()\n .addProperty()\n .withContainerId(groupOneId)\n .withAlias(AliasHelper.toAlias(dataType + \"One\"))\n .withName(dataType + \"One\")\n .withDataTypeId(dataTypeId)\n .done()\n .addContainer()\n .withName(\"GroupTestTwo\")\n .withId(groupTwoId)\n .withType(\"Group\")\n .withParentId(tabTwoId)\n .done()\n .addProperty()\n .withContainerId(groupTwoId)\n .withAlias(AliasHelper.toAlias(dataType + \"Two\"))\n .withName(dataType + \"Two\")\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDefaultElementType(elementName: string, groupName: string = 'TestGroup', dataTypeName: string = 'Textstring', dataTypeId: string) {\n await this.ensureNameNotExists(elementName);\n \n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n \n const documentType = new DocumentTypeBuilder()\n .withName(elementName)\n .withAlias(AliasHelper.toAlias(elementName))\n .withIsElement(true)\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n \n async doesGroupContainCorrectPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string) {\n const documentType = await this.getByName(documentTypeName);\n const group = documentType.containers.find(x => x.name === groupName);\n // Check if group is defined\n if (group) {\n // Check if the document type properties include the specified property, and it belongs to the group\n return documentType.properties.find(x => x.name === dataTypeName && x.dataType.id === dataTypeId && x.container.id === group.id);\n } else {\n // Group not found\n return false;\n }\n }\n\n async doesTabContainCorrectPropertyEditorInGroup(documentTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName: string) {\n const documentType = await this.getByName(documentTypeName);\n const tab = documentType.containers.find(x => x.name === tabName);\n // Check if tab is defined\n if (tab) {\n const group = documentType.containers.find(x => x.name === groupName && x.parent.id === tab.id);\n // Check if group is defined\n if (group) {\n // Check if the document type properties include the specified property, and it belongs to the group\n return documentType.properties.find(x => x.name === dataTypeName && x.dataType.id === dataTypeId && x.container.id === group.id);\n } else {\n // Group not found\n return false;\n }\n } else {\n // Tab not found\n return false;\n }\n }\n \n async doesDocumentTypeGroupNameContainCorrectSortOrder(documentTypeName: string, groupName: string, sortOrder: number) {\n const documentType = await this.getByName(documentTypeName);\n const group = documentType.containers.find(x => x.name === groupName);\n // Check if group is defined\n if (group) {\n return group.sortOrder === sortOrder;\n } else {\n // Group not found\n return false;\n }\n }\n \n async doesDocumentTypeTabNameContainCorrectSortOrder(documentTypeName: string, tabName: string, sortOrder: number) {\n const documentType = await this.getByName(documentTypeName);\n const tab = documentType.containers.find(x => x.name === tabName);\n // Check if tab is defined\n if (tab) {\n return tab.sortOrder === sortOrder;\n } else {\n // Tab not found\n return false;\n }\n }\n \n async getContainerIdWithName(documentTypeName: string, containerName: string) {\n const documentType = await this.getByName(documentTypeName);\n const container = documentType.containers.find(x => x.name === containerName);\n if (container) {\n return container.id;\n } else {\n return null;\n }\n }\n\n async createDocumentTypeWithAllowedTwoChildNodes(documentTypeName: string, allowedChildNodeOneId: string, allowedChildNodeTwoId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addAllowedDocumentType()\n .withId(allowedChildNodeOneId)\n .done()\n .addAllowedDocumentType()\n .withId(allowedChildNodeTwoId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAllowedChildNodeAndCollectionId(documentTypeName: string, allowedChildNodeId: string, collectionId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addAllowedDocumentType()\n .withId(allowedChildNodeId)\n .done()\n .withCollectionId(collectionId)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithCollectionId(documentTypeName: string, collectionId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .withCollectionId(collectionId)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAllowVaryByCulture(documentTypeName: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .withVariesByCulture(true)\n .build();\n return await this.create(documentType);\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"DocumentTypeApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentTypeApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {DocumentTypeBuilder} from \"@umbraco/json-models-builders\";\nimport {AliasHelper} from \"./AliasHelper\";\n\nexport class DocumentTypeApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDocumentTypes = await this.getAllAtRoot();\n const jsonDocumentTypes = await rootDocumentTypes.json();\n\n for (const documentType of jsonDocumentTypes.items) {\n if (documentType.name === name) {\n if (documentType.isFolder) {\n return await this.recurseDeleteChildren(documentType);\n }\n return await this.delete(documentType.id);\n } else if (documentType.hasChildren) {\n await this.recurseChildren(name, documentType.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document-type/root?skip=0&take=10000&foldersOnly=false');\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 if (child.isFolder) {\n return await this.getFolder(child.id);\n }\n return await this.get(child.id);\n }\n if (child.isFolder) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(documentTypeFolder) {\n if (!documentTypeFolder.hasChildren) {\n return await this.deleteFolder(documentTypeFolder.id);\n }\n const items = await this.getChildren(documentTypeFolder.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else if (child.isFolder) {\n await this.deleteFolder(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.deleteFolder(documentTypeFolder.id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document-type/children?parentId=${id}&skip=0&take=10000&foldersOnly=false`);\n const items = await response.json();\n return items.items;\n }\n\n async create(documentType) {\n if (documentType == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-type', documentType);\n return response.headers().location.split(\"/\").pop();\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-type/' + id);\n const json = await response.json();\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByName(name: string) {\n const rootDocumentTypes = await this.getAllAtRoot();\n const jsonDocumentTypes = await rootDocumentTypes.json();\n\n for (const documentType of jsonDocumentTypes.items) {\n if (documentType.name === name) {\n if (documentType.isFolder) {\n return this.getFolder(documentType.id);\n }\n return this.get(documentType.id);\n } else if (documentType.hasChildren) {\n const result = await this.recurseChildren(name, documentType.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document-type/' + id);\n return response.status();\n }\n\n // FOLDER\n async getFolder(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + id);\n return await response.json();\n }\n\n async deleteFolder(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + id);\n }\n\n async createFolder(name: string, parentId?: string) {\n const folder = {\n name: name,\n parent: parentId ? {id: parentId} : null\n\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder', folder);\n return response.headers().location.split(\"/\").pop();\n }\n\n async renameFolder(folderId: string, folderName: string) {\n const folder = {\n name: folderName\n }\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document-type/folder/' + folderId, folder);\n }\n\n async createDefaultDocumentType(documentTypeName: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string = \"TestGroup\", varyByCulture?: boolean) {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n const varyByCultureProperty = varyByCulture === undefined ? false : varyByCulture;\n const varyByCultureDocumentType = varyByCulture === undefined ? false : true;\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .withVariesByCulture(varyByCultureProperty)\n .done()\n .withVariesByCulture(varyByCultureDocumentType)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithPropertyEditorInTab(documentTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName: string = \"TestGroup\", varyByCulture: boolean = false) {\n const crypto = require('crypto');\n const tabId = crypto.randomUUID();\n const groupId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(tabName)\n .withId(tabId)\n .withType(\"Tab\")\n .done()\n .addContainer()\n .withName(groupName)\n .withId(groupId)\n .withType(\"Group\")\n .withParentId(tabId)\n .done()\n .addProperty()\n .withContainerId(groupId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .withVariesByCulture(varyByCulture)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithTwoPropertyEditors(documentTypeName: string, dataTypeNameOne: string, dataTypeIdOne: string, dataTypeNameTwo: string, dataTypeIdTwo: string, groupName: string = \"TestGroup\") {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameOne))\n .withName(dataTypeNameOne)\n .withDataTypeId(dataTypeIdOne)\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeNameTwo))\n .withName(dataTypeNameTwo)\n .withDataTypeId(dataTypeIdTwo)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDefaultDocumentTypeWithAllowAsRoot(documentTypeName: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAllowedChildNode(documentTypeName: string, allowedChildNodeId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addAllowedDocumentType()\n .withId(allowedChildNodeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAPropertyEditorAndAnAllowedChildNode(documentTypeName: string, dataTypeName: string, dataTypeId: string, allowedChildNodeId: string, groupName: string = \"TestGroup\") {\n await this.ensureNameNotExists(documentTypeName);\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .addAllowedDocumentType()\n .withId(allowedChildNodeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n\n async createDocumentTypeWithAllowedTemplate(documentTypeName: string, allowedTemplateId: string, isAllowedAsRoot:boolean = false) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(isAllowedAsRoot)\n .addAllowedTemplateId()\n .withId(allowedTemplateId)\n .done()\n .withDefaultTemplateId(allowedTemplateId)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithTwoAllowedTemplates(documentTypeName: string, allowedTemplateOneId: string, allowedTemplateTwoId: string, isAllowedAsRoot: boolean = false, defaultTemplateId?: string) {\n await this.ensureNameNotExists(documentTypeName);\n const defaultTemplate = defaultTemplateId === undefined ? allowedTemplateOneId : defaultTemplateId;\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(isAllowedAsRoot)\n .addAllowedTemplateId()\n .withId(allowedTemplateOneId)\n .done()\n .addAllowedTemplateId()\n .withId(allowedTemplateTwoId)\n .done()\n .withDefaultTemplateId(defaultTemplate)\n .build();\n return await this.create(documentType);\n }\n \n async createDocumentTypeWithTwoGroups(documentTypeName: string,dataType: string, dataTypeId: string, groupNameOne: string, groupNameTwo: string) {\n const crypto = require('crypto');\n const groupOneId = crypto.randomUUID();\n const groupTwoId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(groupNameOne)\n .withId(groupOneId)\n .withType(\"Group\")\n .withSortOrder(0)\n .done()\n .addContainer()\n .withName(groupNameTwo)\n .withId(groupTwoId)\n .withType(\"Group\")\n .withSortOrder(1)\n .done()\n .addProperty()\n .withContainerId(groupOneId)\n .withAlias(AliasHelper.toAlias(dataType + \"One\"))\n .withName(dataType + \"One\")\n .withDataTypeId(dataTypeId)\n .done()\n .addProperty()\n .withContainerId(groupTwoId)\n .withAlias(AliasHelper.toAlias(dataType + \"Two\"))\n .withName(dataType + \"Two\")\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n \n async createDocumentTypeWithAComposition(documentTypeName: string, compositionId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addComposition()\n .withDocumentTypeId(compositionId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createEmptyElementType(elementTypeName: string) {\n await this.ensureNameNotExists(elementTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(elementTypeName)\n .withAlias(AliasHelper.toAlias(elementTypeName))\n .withIsElement(true)\n .withIcon(\"icon-plugin\")\n .build();\n return await this.create(documentType);\n }\n \n async createDocumentTypeWithTwoTabs(documentTypeName: string, dataType: string, dataTypeId: string, tabNameOne: string, tabNameTwo: string) {\n const crypto = require('crypto');\n const tabOneId = crypto.randomUUID();\n const tabTwoId = crypto.randomUUID();\n const groupOneId = crypto.randomUUID();\n const groupTwoId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .addContainer()\n .withName(tabNameOne)\n .withId(tabOneId)\n .withType(\"Tab\")\n .withSortOrder(0)\n .done()\n .addContainer()\n .withName(tabNameTwo)\n .withId(tabTwoId)\n .withType(\"Tab\")\n .withSortOrder(1)\n .done()\n .addContainer()\n .withName(\"GroupTestOne\")\n .withId(groupOneId)\n .withType(\"Group\")\n .withParentId(tabOneId)\n .done()\n .addProperty()\n .withContainerId(groupOneId)\n .withAlias(AliasHelper.toAlias(dataType + \"One\"))\n .withName(dataType + \"One\")\n .withDataTypeId(dataTypeId)\n .done()\n .addContainer()\n .withName(\"GroupTestTwo\")\n .withId(groupTwoId)\n .withType(\"Group\")\n .withParentId(tabTwoId)\n .done()\n .addProperty()\n .withContainerId(groupTwoId)\n .withAlias(AliasHelper.toAlias(dataType + \"Two\"))\n .withName(dataType + \"Two\")\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDefaultElementType(elementName: string, groupName: string = 'TestGroup', dataTypeName: string = 'Textstring', dataTypeId: string) {\n await this.ensureNameNotExists(elementName);\n \n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n \n const documentType = new DocumentTypeBuilder()\n .withName(elementName)\n .withAlias(AliasHelper.toAlias(elementName))\n .withIsElement(true)\n .addContainer()\n .withName(groupName)\n .withId(containerId)\n .withType(\"Group\")\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withName(dataTypeName)\n .withDataTypeId(dataTypeId)\n .done()\n .build();\n return await this.create(documentType);\n }\n \n async doesGroupContainCorrectPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string) {\n const documentType = await this.getByName(documentTypeName);\n const group = documentType.containers.find(x => x.name === groupName);\n // Check if group is defined\n if (group) {\n // Check if the document type properties include the specified property, and it belongs to the group\n return documentType.properties.find(x => x.name === dataTypeName && x.dataType.id === dataTypeId && x.container.id === group.id);\n } else {\n // Group not found\n return false;\n }\n }\n\n async doesTabContainCorrectPropertyEditorInGroup(documentTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName: string) {\n const documentType = await this.getByName(documentTypeName);\n const tab = documentType.containers.find(x => x.name === tabName);\n // Check if tab is defined\n if (tab) {\n const group = documentType.containers.find(x => x.name === groupName && x.parent.id === tab.id);\n // Check if group is defined\n if (group) {\n // Check if the document type properties include the specified property, and it belongs to the group\n return documentType.properties.find(x => x.name === dataTypeName && x.dataType.id === dataTypeId && x.container.id === group.id);\n } else {\n // Group not found\n return false;\n }\n } else {\n // Tab not found\n return false;\n }\n }\n \n async doesDocumentTypeGroupNameContainCorrectSortOrder(documentTypeName: string, groupName: string, sortOrder: number) {\n const documentType = await this.getByName(documentTypeName);\n const group = documentType.containers.find(x => x.name === groupName);\n // Check if group is defined\n if (group) {\n return group.sortOrder === sortOrder;\n } else {\n // Group not found\n return false;\n }\n }\n \n async doesDocumentTypeTabNameContainCorrectSortOrder(documentTypeName: string, tabName: string, sortOrder: number) {\n const documentType = await this.getByName(documentTypeName);\n const tab = documentType.containers.find(x => x.name === tabName);\n // Check if tab is defined\n if (tab) {\n return tab.sortOrder === sortOrder;\n } else {\n // Tab not found\n return false;\n }\n }\n \n async getContainerIdWithName(documentTypeName: string, containerName: string) {\n const documentType = await this.getByName(documentTypeName);\n const container = documentType.containers.find(x => x.name === containerName);\n if (container) {\n return container.id;\n } else {\n return null;\n }\n }\n\n async createDocumentTypeWithAllowedTwoChildNodes(documentTypeName: string, allowedChildNodeOneId: string, allowedChildNodeTwoId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addAllowedDocumentType()\n .withId(allowedChildNodeOneId)\n .done()\n .addAllowedDocumentType()\n .withId(allowedChildNodeTwoId)\n .done()\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAllowedChildNodeAndCollectionId(documentTypeName: string, allowedChildNodeId: string, collectionId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addAllowedDocumentType()\n .withId(allowedChildNodeId)\n .done()\n .withCollectionId(collectionId)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithCollectionId(documentTypeName: string, collectionId: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .withCollectionId(collectionId)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithAllowVaryByCulture(documentTypeName: string) {\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .withVariesByCulture(true)\n .build();\n return await this.create(documentType);\n }\n\n async createDocumentTypeWithPropertyEditorAndAllowedTemplate(documentTypeName: string, dataTypeId: string, propertyName: string, templateId: string) {\n const crypto = require('crypto');\n const containerId = crypto.randomUUID();\n await this.ensureNameNotExists(documentTypeName);\n\n const documentType = new DocumentTypeBuilder()\n .withName(documentTypeName)\n .withAlias(AliasHelper.toAlias(documentTypeName))\n .withAllowedAsRoot(true)\n .addContainer()\n .withName('TestGroup')\n .withId(containerId)\n .withType('Group')\n .done()\n .addProperty()\n .withContainerId(containerId)\n .withAlias(AliasHelper.toAlias(propertyName))\n .withName(propertyName)\n .withDataTypeId(dataTypeId)\n .done()\n .addAllowedTemplateId()\n .withId(templateId)\n .done()\n .withDefaultTemplateId(templateId)\n .build();\n \n return await this.create(documentType);\n }\n}"]}
|
|
@@ -16,4 +16,5 @@ export declare class TemplateApiHelper {
|
|
|
16
16
|
getByName(name: string): Promise<any>;
|
|
17
17
|
ensureNameNotExists(name: string): Promise<void>;
|
|
18
18
|
createDefaultTemplate(name: string): Promise<string | undefined>;
|
|
19
|
+
createTemplateWithDisplayingValue(name: string, valueAlias: string): Promise<string>;
|
|
19
20
|
}
|
|
@@ -129,6 +129,18 @@ class TemplateApiHelper {
|
|
|
129
129
|
const alias = AliasHelper_1.AliasHelper.toAlias(name);
|
|
130
130
|
return await this.create(name, alias, '');
|
|
131
131
|
}
|
|
132
|
+
async createTemplateWithDisplayingValue(name, valueAlias) {
|
|
133
|
+
await this.ensureNameNotExists(name);
|
|
134
|
+
const alias = AliasHelper_1.AliasHelper.toAlias(name);
|
|
135
|
+
const content = '@using Umbraco.Cms.Web.Common.PublishedModels;'
|
|
136
|
+
+ '\n@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage'
|
|
137
|
+
+ '\n@{'
|
|
138
|
+
+ '\n\tLayout = null;'
|
|
139
|
+
+ '\n}'
|
|
140
|
+
+ '\n<div data-mark="content-render-value">@Model.Value("' + valueAlias + '")</div>\n';
|
|
141
|
+
const templateId = await this.create(name, alias, content);
|
|
142
|
+
return templateId === undefined ? '' : templateId;
|
|
143
|
+
}
|
|
132
144
|
}
|
|
133
145
|
exports.TemplateApiHelper = TemplateApiHelper;
|
|
134
146
|
//# 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}"]}
|
|
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, valueAlias: 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\">@Model.Value(\"' + valueAlias + '\")</div>\\n';\n\n const templateId = await this.create(name, alias, content);\n return templateId === undefined ? '' : templateId;\n }\n}\n"]}
|
|
@@ -106,12 +106,12 @@ export declare class UiBaseLocators {
|
|
|
106
106
|
readonly groupLabel: Locator;
|
|
107
107
|
readonly containerSaveAndPublishBtn: Locator;
|
|
108
108
|
readonly confirmTrashBtn: Locator;
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
109
|
+
readonly recycleBinBtn: Locator;
|
|
110
|
+
readonly recycleBinMenuItemCaretBtn: Locator;
|
|
111
|
+
readonly recycleBinMenuItem: Locator;
|
|
112
|
+
readonly gridBtn: Locator;
|
|
113
|
+
readonly listBtn: Locator;
|
|
114
|
+
readonly viewBundleBtn: Locator;
|
|
115
115
|
constructor(page: Page);
|
|
116
116
|
clickActionsMenuForName(name: string): Promise<void>;
|
|
117
117
|
clickCaretButtonForName(name: string): Promise<void>;
|
|
@@ -206,7 +206,7 @@ class UiBaseLocators {
|
|
|
206
206
|
this.returnedItemsCount = page.locator('#results-count');
|
|
207
207
|
this.chooseRootContentBtn = page.getByLabel('Choose root document');
|
|
208
208
|
this.queryResults = page.locator('query-results');
|
|
209
|
-
this.reloadBtn = page.
|
|
209
|
+
this.reloadBtn = page.getByRole('button', { name: 'Reload', exact: true });
|
|
210
210
|
this.confirmToRemoveBtn = page.locator('#confirm').getByLabel('Remove');
|
|
211
211
|
this.typeGroups = page.locator('umb-content-type-design-editor-group');
|
|
212
212
|
this.allowedChildNodesModal = page.locator('umb-tree-picker-modal');
|