@coolon/angular-ui-powerups 12.4.0-alpha.19 → 12.4.0-alpha.2

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 (146) hide show
  1. package/assets/styles.scss +0 -1
  2. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +267 -626
  3. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.js +11 -7
  5. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/cypress/components/aup-command-face.d.ts +4 -5
  8. package/cypress/components/aup-command.d.ts +1 -1
  9. package/cypress/components/aup-input.d.ts +5 -11
  10. package/cypress/components/aup-popup-menu.d.ts +2 -1
  11. package/cypress/components/aup-table.d.ts +16 -5
  12. package/cypress/components/button-mixin.d.ts +19 -0
  13. package/cypress/components/button.d.ts +7 -9
  14. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  15. package/cypress/exports.d.ts +2 -18
  16. package/cypress/page-element.d.ts +10 -9
  17. package/cypress/page.d.ts +33 -5
  18. package/cypress/section.d.ts +51 -0
  19. package/esm2015/cypress/components/aup-command-face.js +6 -6
  20. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  21. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  22. package/esm2015/cypress/components/aup-command.js +4 -12
  23. package/esm2015/cypress/components/aup-command.js.map +1 -1
  24. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  25. package/esm2015/cypress/components/aup-input.js +5 -17
  26. package/esm2015/cypress/components/aup-input.js.map +1 -1
  27. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  28. package/esm2015/cypress/components/aup-navigation.js +1 -1
  29. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  30. package/esm2015/cypress/components/aup-popup-menu.js +3 -3
  31. package/esm2015/cypress/components/aup-popup-menu.js.map +1 -1
  32. package/esm2015/cypress/components/aup-popup-menu.metadata.json +1 -1
  33. package/esm2015/cypress/components/aup-table.js +33 -5
  34. package/esm2015/cypress/components/aup-table.js.map +1 -1
  35. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  36. package/esm2015/cypress/components/button-mixin.js +15 -0
  37. package/esm2015/cypress/components/button-mixin.js.map +1 -0
  38. package/esm2015/cypress/components/button-mixin.metadata.json +1 -0
  39. package/esm2015/cypress/components/button.js +10 -4
  40. package/esm2015/cypress/components/button.js.map +1 -1
  41. package/esm2015/cypress/components/button.metadata.json +1 -1
  42. package/esm2015/cypress/exports.js +2 -18
  43. package/esm2015/cypress/exports.js.map +1 -1
  44. package/esm2015/cypress/exports.metadata.json +1 -1
  45. package/esm2015/cypress/page-element.js +18 -21
  46. package/esm2015/cypress/page-element.js.map +1 -1
  47. package/esm2015/cypress/page-element.metadata.json +1 -1
  48. package/esm2015/cypress/page.js +10 -8
  49. package/esm2015/cypress/page.js.map +1 -1
  50. package/esm2015/cypress/page.metadata.json +1 -1
  51. package/esm2015/cypress/path.js +1 -3
  52. package/esm2015/cypress/path.js.map +1 -1
  53. package/esm2015/cypress/section.js +58 -0
  54. package/esm2015/cypress/section.js.map +1 -0
  55. package/esm2015/cypress/section.metadata.json +1 -0
  56. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  57. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  58. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  59. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  60. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  61. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +0 -1
  62. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  63. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  64. package/esm2015/lib/place/url-snapshot.js +7 -1
  65. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  66. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  67. package/fesm2015/coolon-angular-ui-powerups-cypress.js +185 -476
  68. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  69. package/fesm2015/coolon-angular-ui-powerups.js +11 -7
  70. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  71. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -0
  72. package/lib/components/tables/tree-table/tree-table-model.d.ts +5 -4
  73. package/package.json +1 -1
  74. package/assets/empty-state.scss +0 -11
  75. package/cypress/builder.d.ts +0 -43
  76. package/cypress/components/aup-abstract-activity.d.ts +0 -9
  77. package/cypress/components/aup-abstract-table.d.ts +0 -18
  78. package/cypress/components/aup-activity.d.ts +0 -9
  79. package/cypress/components/aup-alert.d.ts +0 -9
  80. package/cypress/components/aup-empty-state.d.ts +0 -4
  81. package/cypress/components/aup-modal-activity.d.ts +0 -4
  82. package/cypress/components/aup-modal-alert.d.ts +0 -7
  83. package/cypress/components/aup-tree-table.d.ts +0 -16
  84. package/cypress/components/form-element-mixin.d.ts +0 -20
  85. package/cypress/components/mat-checkbox.d.ts +0 -29
  86. package/cypress/components/table/aup-table-cell.d.ts +0 -9
  87. package/cypress/components/table/aup-table-column.d.ts +0 -10
  88. package/cypress/components/table/aup-table-row.d.ts +0 -17
  89. package/cypress/components/table/aup-table-selection-cell.d.ts +0 -5
  90. package/cypress/components/table/aup-table-selection-column.d.ts +0 -5
  91. package/cypress/element-locator.d.ts +0 -10
  92. package/cypress/page-builder.d.ts +0 -8
  93. package/esm2015/cypress/builder.js +0 -101
  94. package/esm2015/cypress/builder.js.map +0 -1
  95. package/esm2015/cypress/builder.metadata.json +0 -1
  96. package/esm2015/cypress/components/aup-abstract-activity.js +0 -12
  97. package/esm2015/cypress/components/aup-abstract-activity.js.map +0 -1
  98. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +0 -1
  99. package/esm2015/cypress/components/aup-abstract-table.js +0 -54
  100. package/esm2015/cypress/components/aup-abstract-table.js.map +0 -1
  101. package/esm2015/cypress/components/aup-abstract-table.metadata.json +0 -1
  102. package/esm2015/cypress/components/aup-activity.js +0 -13
  103. package/esm2015/cypress/components/aup-activity.js.map +0 -1
  104. package/esm2015/cypress/components/aup-activity.metadata.json +0 -1
  105. package/esm2015/cypress/components/aup-alert.js +0 -13
  106. package/esm2015/cypress/components/aup-alert.js.map +0 -1
  107. package/esm2015/cypress/components/aup-alert.metadata.json +0 -1
  108. package/esm2015/cypress/components/aup-empty-state.js +0 -7
  109. package/esm2015/cypress/components/aup-empty-state.js.map +0 -1
  110. package/esm2015/cypress/components/aup-empty-state.metadata.json +0 -1
  111. package/esm2015/cypress/components/aup-modal-activity.js +0 -7
  112. package/esm2015/cypress/components/aup-modal-activity.js.map +0 -1
  113. package/esm2015/cypress/components/aup-modal-activity.metadata.json +0 -1
  114. package/esm2015/cypress/components/aup-modal-alert.js +0 -12
  115. package/esm2015/cypress/components/aup-modal-alert.js.map +0 -1
  116. package/esm2015/cypress/components/aup-modal-alert.metadata.json +0 -1
  117. package/esm2015/cypress/components/aup-tree-table.js +0 -34
  118. package/esm2015/cypress/components/aup-tree-table.js.map +0 -1
  119. package/esm2015/cypress/components/aup-tree-table.metadata.json +0 -1
  120. package/esm2015/cypress/components/form-element-mixin.js +0 -11
  121. package/esm2015/cypress/components/form-element-mixin.js.map +0 -1
  122. package/esm2015/cypress/components/form-element-mixin.metadata.json +0 -1
  123. package/esm2015/cypress/components/mat-checkbox.js +0 -34
  124. package/esm2015/cypress/components/mat-checkbox.js.map +0 -1
  125. package/esm2015/cypress/components/mat-checkbox.metadata.json +0 -1
  126. package/esm2015/cypress/components/table/aup-table-cell.js +0 -18
  127. package/esm2015/cypress/components/table/aup-table-cell.js.map +0 -1
  128. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +0 -1
  129. package/esm2015/cypress/components/table/aup-table-column.js +0 -21
  130. package/esm2015/cypress/components/table/aup-table-column.js.map +0 -1
  131. package/esm2015/cypress/components/table/aup-table-column.metadata.json +0 -1
  132. package/esm2015/cypress/components/table/aup-table-row.js +0 -30
  133. package/esm2015/cypress/components/table/aup-table-row.js.map +0 -1
  134. package/esm2015/cypress/components/table/aup-table-row.metadata.json +0 -1
  135. package/esm2015/cypress/components/table/aup-table-selection-cell.js +0 -6
  136. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +0 -1
  137. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +0 -1
  138. package/esm2015/cypress/components/table/aup-table-selection-column.js +0 -6
  139. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +0 -1
  140. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +0 -1
  141. package/esm2015/cypress/element-locator.js +0 -22
  142. package/esm2015/cypress/element-locator.js.map +0 -1
  143. package/esm2015/cypress/element-locator.metadata.json +0 -1
  144. package/esm2015/cypress/page-builder.js +0 -15
  145. package/esm2015/cypress/page-builder.js.map +0 -1
  146. package/esm2015/cypress/page-builder.metadata.json +0 -1
@@ -11,7 +11,7 @@ export class AupNavigation extends PageElement {
11
11
  this.face(label).shouldBeVisible();
12
12
  }
13
13
  shouldNotHaveLink(label) {
14
- this.face(label).shouldNotExist();
14
+ this.face(label).shouldNotBeVisible();
15
15
  }
16
16
  }
17
17
  //# sourceMappingURL=aup-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aup-navigation.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;CACF","sourcesContent":["import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\n\nexport class AupNavigation extends PageElement {\n\n click(label: string) {\n return super.click(label);\n }\n\n face(label: string): AupCommandFace {\n return new AupCommandFace(this, { text: () => label });\n }\n\n shouldHaveLink(label: string) {\n this.face(label).shouldBeVisible();\n }\n\n shouldNotHaveLink(label: string) {\n this.face(label).shouldNotExist();\n }\n}\n"]}
1
+ {"version":3,"file":"aup-navigation.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAE5C,KAAK,CAAC,KAAa;QACjB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;CACF","sourcesContent":["import { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\n\nexport class AupNavigation extends PageElement {\n\n click(label: string) {\n return super.click(label);\n }\n\n face(label: string): AupCommandFace {\n return new AupCommandFace(this, { text: () => label });\n }\n\n shouldHaveLink(label: string) {\n this.face(label).shouldBeVisible();\n }\n\n shouldNotHaveLink(label: string) {\n this.face(label).shouldNotBeVisible();\n }\n}\n"]}
@@ -2,13 +2,13 @@ import { PageElement } from '../page-element';
2
2
  import { AupCommandFace } from './aup-command-face';
3
3
  export class AupPopupMenu extends PageElement {
4
4
  constructor(parentElementAccessor, face) {
5
- const locator = AupCommandFace.createElementLocator(face);
5
+ const accessor = AupCommandFace.createAccessor(face);
6
6
  super(parentElementAccessor, {
7
7
  findIn(parent) {
8
- return locator.findIn(parent).closest('button');
8
+ return accessor.findIn(parent).closest('button');
9
9
  },
10
10
  shouldNotExist(parent) {
11
- locator.shouldNotExist(parent);
11
+ accessor.shouldNotExist(parent);
12
12
  }
13
13
  });
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aup-popup-menu.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-popup-menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,OAAO,YAAa,SAAQ,WAAW;IAE3C,YAAY,qBAAkC,EAAE,IAAuB;QACrE,MAAM,OAAO,GAAG,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QACzD,KAAK,CAAC,qBAAqB,EAAE;YAC3B,MAAM,CAAC,MAAmB;gBACxB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;YACD,cAAc,CAAC,MAAmB;gBAChC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAmB,EAAE,IAAuB;QACxD,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF","sourcesContent":["import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\n\nexport class AupPopupMenu extends PageElement {\n\n constructor(parentElementAccessor: PageElement, face: Types.CommandFace) {\n const locator = AupCommandFace.createElementLocator(face)\n super(parentElementAccessor, {\n findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n return locator.findIn(parent).closest('button');\n },\n shouldNotExist(parent: PageElement) {\n locator.shouldNotExist(parent);\n }\n });\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n"]}
1
+ {"version":3,"file":"aup-popup-menu.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-popup-menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,OAAO,YAAa,SAAQ,WAAW;IAE3C,YAAY,qBAAsE,EAAE,IAAuB;QACzG,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpD,KAAK,CAAC,qBAAqB,EAAE;YAC3B,MAAM,CAAC,MAAiC;gBACtC,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YACD,cAAc,CAAC,MAAiC;gBAC9C,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAmB,EAAE,IAAuB;QACxD,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF","sourcesContent":["import { lang } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\nimport { AupCommandFace } from './aup-command-face';\nimport { Types } from './types';\n\nexport class AupPopupMenu extends PageElement {\n\n constructor(parentElementAccessor: PageElement | (() => Cypress.Chainable<JQuery>), face: Types.CommandFace) {\n const accessor = AupCommandFace.createAccessor(face)\n super(parentElementAccessor, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return accessor.findIn(parent).closest('button');\n },\n shouldNotExist(parent: Cypress.Chainable<JQuery>) {\n accessor.shouldNotExist(parent);\n }\n });\n }\n\n static create(parent: PageElement, face: Types.CommandFace) {\n return new AupPopupMenu(parent, face);\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"AupPopupMenu":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":5,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":7,"character":37},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./types","name":"Types","line":7,"character":56},"member":"CommandFace"}]}]},"statics":{"create":{"__symbolic":"function","parameters":["parent","face"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AupPopupMenu"},"arguments":[{"__symbolic":"reference","name":"parent"},{"__symbolic":"reference","name":"face"}]}}}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupPopupMenu":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":5,"character":34},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":7,"character":51},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./types","name":"Types","line":7,"character":92},"member":"CommandFace"}]}]},"statics":{"create":{"__symbolic":"function","parameters":["parent","face"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AupPopupMenu"},"arguments":[{"__symbolic":"reference","name":"parent"},{"__symbolic":"reference","name":"face"}]}}}}}}]
@@ -1,8 +1,36 @@
1
- import { AupAbstractTable } from './aup-abstract-table';
2
- import { AupTableRow } from './table/aup-table-row';
3
- export class AupTable extends AupAbstractTable {
4
- createRow(locator) {
5
- return new AupTableRow(this, locator);
1
+ import { PageElement } from '../page-element';
2
+ export class AupTable extends PageElement {
3
+ constructor(parentElementAccessor, selector) {
4
+ super(parentElementAccessor, selector);
5
+ }
6
+ row(rowId) {
7
+ return new AupTable.Row(() => this.element(), `tr[aup-table-id=${rowId}]`);
8
+ }
9
+ column(columnId) {
10
+ return new AupTable.Column(this, columnId);
6
11
  }
7
12
  }
13
+ (function (AupTable) {
14
+ class Row extends PageElement {
15
+ }
16
+ AupTable.Row = Row;
17
+ class Column {
18
+ constructor(table, columnId) {
19
+ this.table = table;
20
+ this.columnId = columnId;
21
+ }
22
+ cell(content) {
23
+ const self = this;
24
+ return new Cell(this.table, {
25
+ findIn(parent) {
26
+ return parent.contains(`aup-table-cell-renderer[column-id=${self.columnId}]`, content);
27
+ }
28
+ });
29
+ }
30
+ }
31
+ AupTable.Column = Column;
32
+ class Cell extends PageElement {
33
+ }
34
+ AupTable.Cell = Cell;
35
+ })(AupTable || (AupTable = {}));
8
36
  //# sourceMappingURL=aup-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aup-table.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,OAAO,QAAS,SAAQ,gBAA6B;IAEzD,SAAS,CAAC,OAAuB;QAC/B,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CAEF","sourcesContent":["/* tslint:disable:unified-signatures */\nimport * as _ from 'lodash';\nimport { ElementLocator } from '../element-locator';\nimport { AupAbstractTable } from './aup-abstract-table';\nimport { AupTableRow } from './table/aup-table-row';\n\nexport class AupTable extends AupAbstractTable<AupTableRow> {\n\n createRow(locator: ElementLocator): AupTableRow {\n return new AupTableRow(this, locator);\n }\n\n}\n\nexport namespace AupTable {\n\n\n // export function cssSelectorForTableRowById(rowId: string) {\n // return `tbody tr[aup-row-id=${rowId}]`;\n // }\n //\n // export function cssSelectorForNthTableRow(rowNumber: number) {\n // return `tbody tr:nth-child(${rowNumber})`;\n // }\n //\n // export function cssSelectorForColumnCellRendererById(columnOrId: AupTable.Column | string) {\n // const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;\n // return `aup-table-cell-renderer[column-id=${columnId}]`;\n // }\n //\n // export function cssSelectorForCell(rowId: string, columnOrId: string | AupTable.Column) {\n // return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnOrId)}`;\n // }\n\n // export class Row extends PageElement<AupTable> {\n //\n // rowId(): Chainable<string> {\n // return this.dom()\n // .invoke('attr', 'aup-row-id');\n // }\n //\n // shouldHaveRowId(rowId: string) {\n // this.rowId().should('eq', rowId);\n // }\n //\n // cell(columnId: string): Cell\n // cell(column: AupTable.Column): Cell\n // cell(column: AupTable.SelectionColumn): SelectionColumnCell\n // cell(columnOrId: string | AupTable.Column): Cell {\n // const self = this;\n // return new Cell(this.parent, {\n // findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n // return self.rowId()\n // .then(rowId => AupTable.cssSelectorForCell(rowId, columnOrId))\n // .then(selector => parent.dom().find(selector));\n // }\n // });\n // }\n //\n // shouldBeSelected() {\n // this.dom().should('have.class', 'aup-row-selected');\n // }\n //\n // shouldNotBeSelected() {\n // this.dom().should('not.have.class', 'aup-row-selected');\n // }\n //\n // }\n\n // export class Column extends PageElement<AupTable> {\n //\n // constructor(table: AupTable, readonly columnId: string) {\n // super(table, AupTable.cssSelectorForColumnCellRendererById(columnId));\n // }\n //\n // cellContaining(content: string): Cell {\n // const self = this;\n // return new Cell(this.parent, {\n // findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n // return parent.dom().contains(cssSelectorForColumnCellRendererById(self.columnId), content);\n // }\n // });\n // }\n //\n // rowContaining(content: string): Row {\n // return this.cellContaining(content).row();\n // }\n // }\n\n // export class SelectionColumn extends Column {\n // selectAll() {\n //\n // }\n // }\n\n // export class Cell extends PageElement<AupTable> {\n //\n // rowId(): Chainable<string> {\n // return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n // }\n //\n // row(): Row {\n // const self = this;\n // return new Row(this.table, {\n // findIn(parent: PageElement): Cypress.Chainable<JQuery> {\n // return self.rowId()\n // .then(rowId => parent.dom().find(AupTable.cssSelectorForTableRowById(rowId)));\n // }\n // });\n // }\n // }\n\n // export class SelectionColumnCell extends Cell {\n //\n // }\n}\n"]}
1
+ {"version":3,"file":"aup-table.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/aup-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,OAAO,QAAS,SAAQ,WAAW;IAEvC,YAAY,qBAAsD,EAAE,QAAuC;QACzG,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,KAAU;QACZ,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,KAAK,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,QAAgB;QACrB,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;CAEF;AAED,WAAiB,QAAQ;IACvB,MAAa,GAAI,SAAQ,WAAW;KAEnC;IAFY,YAAG,MAEf,CAAA;IAED,MAAa,MAAM;QACjB,YAAqB,KAAe,EAAW,QAAgB;YAA1C,UAAK,GAAL,KAAK,CAAU;YAAW,aAAQ,GAAR,QAAQ,CAAQ;QAC/D,CAAC;QAED,IAAI,CAAC,OAAe;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC1B,MAAM,CAAC,MAAiC;oBACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,qCAAqC,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzF,CAAC;aACF,CAAC,CAAC;QACL,CAAC;KACF;IAZY,eAAM,SAYlB,CAAA;IAED,MAAa,IAAK,SAAQ,WAAW;KACpC;IADY,aAAI,OAChB,CAAA;AACH,CAAC,EArBgB,QAAQ,KAAR,QAAQ,QAqBxB","sourcesContent":["import { PageElement } from '../page-element';\nimport { Section } from '../section';\n\nexport class AupTable extends PageElement {\n\n constructor(parentElementAccessor: () => Cypress.Chainable<JQuery>, selector: string | PageElement.Accessor) {\n super(parentElementAccessor, selector);\n }\n\n row(rowId: any): AupTable.Row {\n return new AupTable.Row(() => this.element(), `tr[aup-table-id=${rowId}]`);\n }\n\n column(columnId: string): AupTable.Column {\n return new AupTable.Column(this, columnId);\n }\n\n}\n\nexport namespace AupTable {\n export class Row extends PageElement {\n\n }\n\n export class Column {\n constructor(readonly table: AupTable, readonly columnId: string) {\n }\n\n cell(content: string): Cell {\n const self = this;\n return new Cell(this.table, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return parent.contains(`aup-table-cell-renderer[column-id=${self.columnId}]`, content);\n }\n });\n }\n }\n\n export class Cell extends PageElement {\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"AupTable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./aup-abstract-table","name":"AupAbstractTable","line":6,"character":30},"members":{"createRow":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupTable":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":3,"character":30},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":5,"character":37},{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":5,"character":89},"member":"Accessor"}]}],"row":[{"__symbolic":"method"}],"column":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,15 @@
1
+ export function ButtonMixin(Base) {
2
+ return class extends Base {
3
+ constructor(...args) {
4
+ super(...args);
5
+ }
6
+ click() {
7
+ return this.element().click();
8
+ }
9
+ shouldBeDisabled() {
10
+ this.should("be.disabled");
11
+ // this.should("have.css", "color", "rgba(0,0,0,0.26)")
12
+ }
13
+ };
14
+ }
15
+ //# sourceMappingURL=button-mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-mixin.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/button-mixin.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,WAAW,CAA2C,IAAQ;IAC5E,OAAO,KAAM,SAAQ,IAAI;QACvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;QAED,KAAK;YACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QAED,gBAAgB;YACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC3B,uDAAuD;QACzD,CAAC;KAEF,CAAC;AACJ,CAAC","sourcesContent":["import { Constructable } from '@coolon/typescript-utilities';\nimport { PageElement } from '../page-element';\n\nexport function ButtonMixin<T, BC extends Constructable<PageElement>>(Base: BC) {\n return class extends Base {\n constructor(...args: any[]) {\n super(...args);\n }\n\n click() {\n return this.element().click();\n }\n\n shouldBeDisabled() {\n this.should(\"be.disabled\");\n // this.should(\"have.css\", \"color\", \"rgba(0,0,0,0.26)\")\n }\n\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"ButtonMixin":{"__symbolic":"function","parameters":["Base"],"value":{"__symbolic":"class"}}}}]
@@ -1,9 +1,15 @@
1
- import { ElementLocator } from '../element-locator';
2
1
  import { PageElement } from '../page-element';
3
- import { FormElementMixin } from './form-element-mixin';
4
- export class Button extends FormElementMixin(PageElement) {
2
+ import { ButtonMixin } from './button-mixin';
3
+ export class Button extends ButtonMixin(PageElement) {
5
4
  constructor(parentElementAccessor, buttonText) {
6
- super(parentElementAccessor, ElementLocator.findByTextContent('button', buttonText));
5
+ super(parentElementAccessor, {
6
+ findIn(parent) {
7
+ return parent.contains('button', buttonText);
8
+ },
9
+ shouldNotExist(parent) {
10
+ return parent.should('not.contain', buttonText);
11
+ }
12
+ });
7
13
  }
8
14
  }
9
15
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,OAAO,MAAO,SAAQ,gBAAgB,CAAC,WAAW,CAAC;IAEvD,YAAY,qBAAkC,EAAE,UAAkB;QAChE,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IACvF,CAAC;CAEF","sourcesContent":["import { ElementLocator } from '../element-locator';\nimport { PageElement } from '../page-element';\nimport { FormElementMixin } from './form-element-mixin';\n\nexport class Button extends FormElementMixin(PageElement) {\n\n constructor(parentElementAccessor: PageElement, buttonText: string) {\n super(parentElementAccessor, ElementLocator.findByTextContent('button', buttonText));\n }\n\n}\n\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/cypress/src/components/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,OAAO,MAAO,SAAQ,WAAW,CAAC,WAAW,CAAC;IAElD,YAAY,qBAAsD,EAAE,UAAkB;QACpF,KAAK,CAAC,qBAAqB,EAAE;YAC3B,MAAM,CAAC,MAAiC;gBACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;YACD,cAAc,CAAC,MAAiC;gBAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAClD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CAEF","sourcesContent":["import { PageElement } from '../page-element';\nimport { ButtonMixin } from './button-mixin';\n\nexport class Button extends ButtonMixin(PageElement) {\n\n constructor(parentElementAccessor: () => Cypress.Chainable<JQuery>, buttonText: string) {\n super(parentElementAccessor, {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery> {\n return parent.contains('button', buttonText);\n },\n shouldNotExist(parent: Cypress.Chainable<JQuery>) {\n return parent.should('not.contain', buttonText);\n }\n });\n }\n\n}\n\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"Button":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":4,"character":28},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../page-element","name":"PageElement","line":6,"character":37},{"__symbolic":"reference","name":"string"}]}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"Button":{"__symbolic":"class","extends":{"__symbolic":"error","message":"Symbol reference expected","line":3,"character":28},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":5,"character":37},{"__symbolic":"reference","name":"string"}]}]}}}}]
@@ -1,36 +1,20 @@
1
1
  /**
2
2
  * @file Automatically generated by barrelsby.
3
3
  */
4
- export * from "./builder";
5
- export * from "./element-locator";
6
- export * from "./page-builder";
7
4
  export * from "./page-element";
8
5
  export * from "./page";
9
6
  export * from "./path";
10
- export * from "./components/aup-abstract-activity";
11
- export * from "./components/aup-abstract-table";
12
- export * from "./components/aup-activity";
13
- export * from "./components/aup-alert";
7
+ export * from "./section";
14
8
  export * from "./components/aup-command-face";
15
9
  export * from "./components/aup-command-group";
16
10
  export * from "./components/aup-command";
17
- export * from "./components/aup-empty-state";
18
11
  export * from "./components/aup-input";
19
- export * from "./components/aup-modal-activity";
20
- export * from "./components/aup-modal-alert";
21
12
  export * from "./components/aup-more-menu";
22
13
  export * from "./components/aup-navigation";
23
14
  export * from "./components/aup-popup-menu";
24
15
  export * from "./components/aup-table";
25
16
  export * from "./components/aup-tool-bar";
26
- export * from "./components/aup-tree-table";
17
+ export * from "./components/button-mixin";
27
18
  export * from "./components/button";
28
- export * from "./components/form-element-mixin";
29
- export * from "./components/mat-checkbox";
30
19
  export * from "./components/types";
31
- export * from "./components/table/aup-table-cell";
32
- export * from "./components/table/aup-table-column";
33
- export * from "./components/table/aup-table-row";
34
- export * from "./components/table/aup-table-selection-cell";
35
- export * from "./components/table/aup-table-selection-column";
36
20
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/exports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+CAA+C,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./builder\";\nexport * from \"./element-locator\";\nexport * from \"./page-builder\";\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./components/aup-abstract-activity\";\nexport * from \"./components/aup-abstract-table\";\nexport * from \"./components/aup-activity\";\nexport * from \"./components/aup-alert\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-empty-state\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-modal-activity\";\nexport * from \"./components/aup-modal-alert\";\nexport * from \"./components/aup-more-menu\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-popup-menu\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/aup-tree-table\";\nexport * from \"./components/button\";\nexport * from \"./components/form-element-mixin\";\nexport * from \"./components/mat-checkbox\";\nexport * from \"./components/types\";\nexport * from \"./components/table/aup-table-cell\";\nexport * from \"./components/table/aup-table-column\";\nexport * from \"./components/table/aup-table-row\";\nexport * from \"./components/table/aup-table-selection-cell\";\nexport * from \"./components/table/aup-table-selection-column\";\n"]}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/exports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC","sourcesContent":["/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./page-element\";\nexport * from \"./page\";\nexport * from \"./path\";\nexport * from \"./section\";\nexport * from \"./components/aup-command-face\";\nexport * from \"./components/aup-command-group\";\nexport * from \"./components/aup-command\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-more-menu\";\nexport * from \"./components/aup-navigation\";\nexport * from \"./components/aup-popup-menu\";\nexport * from \"./components/aup-table\";\nexport * from \"./components/aup-tool-bar\";\nexport * from \"./components/button-mixin\";\nexport * from \"./components/button\";\nexport * from \"./components/types\";\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./builder"},{"from":"./element-locator"},{"from":"./page-builder"},{"from":"./page-element"},{"from":"./page"},{"from":"./path"},{"from":"./components/aup-abstract-activity"},{"from":"./components/aup-abstract-table"},{"from":"./components/aup-activity"},{"from":"./components/aup-alert"},{"from":"./components/aup-command-face"},{"from":"./components/aup-command-group"},{"from":"./components/aup-command"},{"from":"./components/aup-empty-state"},{"from":"./components/aup-input"},{"from":"./components/aup-modal-activity"},{"from":"./components/aup-modal-alert"},{"from":"./components/aup-more-menu"},{"from":"./components/aup-navigation"},{"from":"./components/aup-popup-menu"},{"from":"./components/aup-table"},{"from":"./components/aup-tool-bar"},{"from":"./components/aup-tree-table"},{"from":"./components/button"},{"from":"./components/form-element-mixin"},{"from":"./components/mat-checkbox"},{"from":"./components/types"},{"from":"./components/table/aup-table-cell"},{"from":"./components/table/aup-table-column"},{"from":"./components/table/aup-table-row"},{"from":"./components/table/aup-table-selection-cell"},{"from":"./components/table/aup-table-selection-column"}]}]
1
+ [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./page-element"},{"from":"./page"},{"from":"./path"},{"from":"./section"},{"from":"./components/aup-command-face"},{"from":"./components/aup-command-group"},{"from":"./components/aup-command"},{"from":"./components/aup-input"},{"from":"./components/aup-more-menu"},{"from":"./components/aup-navigation"},{"from":"./components/aup-popup-menu"},{"from":"./components/aup-table"},{"from":"./components/aup-tool-bar"},{"from":"./components/button-mixin"},{"from":"./components/button"},{"from":"./components/types"}]}]
@@ -1,20 +1,25 @@
1
+ import { lang } from '@coolon/typescript-utilities';
1
2
  import * as _ from 'lodash';
2
- import { ElementLocator } from './element-locator';
3
3
  export class PageElement {
4
- constructor(parent, selectorOrLocator) {
5
- this.parent = parent;
6
- this.elementAccessStrategy = _.isString(selectorOrLocator) ?
7
- ElementLocator.findByCssSelector(selectorOrLocator) :
8
- selectorOrLocator;
4
+ constructor(parent, selector) {
5
+ this.parentElementAccessor = parent instanceof PageElement ? () => parent.element() : parent;
6
+ this.elementAccessStrategy = _.isString(selector) ? {
7
+ findIn: p => p.find(selector),
8
+ shouldNotExist: (p) => p.should('not.have', selector)
9
+ } : selector;
9
10
  }
10
- dom() {
11
- return this.elementAccessStrategy.findIn(this.parent);
11
+ element() {
12
+ const parent = this.getParentElement();
13
+ return parent ? this.elementAccessStrategy.findIn(parent) : undefined;
14
+ }
15
+ getParentElement() {
16
+ return this.parentElementAccessor ? this.parentElementAccessor() : undefined;
12
17
  }
13
18
  find(selector) {
14
- return new PageElement(this, selector);
19
+ return new PageElement(() => this.element(), selector);
15
20
  }
16
21
  click(text) {
17
- text ? this.dom().contains(text).click() : this.dom().click();
22
+ text ? this.element().contains(text).click() : this.element().click();
18
23
  }
19
24
  get should() {
20
25
  return this.getShoulder(this.getShouldElement());
@@ -23,24 +28,16 @@ export class PageElement {
23
28
  return element.should.bind(element);
24
29
  }
25
30
  getShouldElement() {
26
- return this.dom();
31
+ return this.element();
27
32
  }
28
33
  shouldBeVisible() {
29
34
  this.should('be.visible');
30
35
  }
31
36
  shouldNotBeVisible() {
32
- this.should('not.be.visible');
33
- }
34
- shouldExist() {
35
- this.dom().should('exist');
36
- }
37
- shouldNotExist() {
38
37
  if (!this.elementAccessStrategy.shouldNotExist) {
39
- this.dom().should('not.exist');
40
- }
41
- else {
42
- this.elementAccessStrategy.shouldNotExist(this.parent);
38
+ lang.abstractMethod(this.constructor);
43
39
  }
40
+ this.elementAccessStrategy.shouldNotExist(this.getParentElement());
44
41
  }
45
42
  }
46
43
  //# sourceMappingURL=page-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,WAAW;IAMtB,YAAqB,MAAS,EAAE,iBAA0C;QAArD,WAAM,GAAN,MAAM,CAAG;QAC5B,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1D,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACrD,iBAAiB,CAAC;IACtB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,OAA0B;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACxD;IACH,CAAC;CACF","sourcesContent":["/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly elementAccessStrategy: ElementLocator;\n\n constructor(parent: P, selector: string)\n constructor(parent: P, locator: ElementLocator)\n constructor(readonly parent: P, selectorOrLocator: string | ElementLocator) {\n this.elementAccessStrategy = _.isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n dom(): Chainable<JQuery> {\n return this.elementAccessStrategy.findIn(this.parent);\n }\n\n find(selector: string): PageElement {\n return new PageElement(this, selector);\n }\n\n click(text?: string) {\n text ? this.dom().contains(text).click() : this.dom().click();\n }\n\n get should() {\n return this.getShoulder(this.getShouldElement());\n }\n\n getShoulder(element: Chainable<JQuery>) {\n return element.should.bind(element);\n }\n\n getShouldElement(): Chainable<JQuery> {\n return this.dom();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n this.should('not.be.visible');\n }\n\n shouldExist() {\n this.dom().should('exist');\n }\n\n shouldNotExist() {\n if (!this.elementAccessStrategy.shouldNotExist) {\n this.dom().should('not.exist');\n } else {\n this.elementAccessStrategy.shouldNotExist(this.parent);\n }\n }\n}\n\nexport namespace PageElement {\n\n // export type ParentLocator = PageElement | (() => Cypress.Chainable<JQuery>);\n // export type ParentLocator = PageElement;\n\n}\n"]}
1
+ {"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,WAAW;IAKtB,YAAY,MAAuD,EAAE,QAAuC;QAE1G,IAAI,CAAC,qBAAqB,GAAG,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7F,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,cAAc,EAAE,CAAC,CAA4B,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;SACjF,CAAC,CAAC,CAAC,QAAQ,CAAC;IACf,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC,QAAgB;QACnB,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,WAAW,CAAC,OAA0B;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrE,CAAC;CACF","sourcesContent":["import Chainable = Cypress.Chainable;\nimport { lang } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\n\nexport class PageElement {\n\n readonly elementAccessStrategy: PageElement.Accessor;\n readonly parentElementAccessor: () => Cypress.Chainable<JQuery>;\n\n constructor(parent: PageElement | (() => Cypress.Chainable<JQuery>), selector: string | PageElement.Accessor) {\n\n this.parentElementAccessor = parent instanceof PageElement ? () => parent.element() : parent;\n this.elementAccessStrategy = _.isString(selector) ? {\n findIn: p => p.find(selector),\n shouldNotExist: (p: Cypress.Chainable<JQuery>) => p.should('not.have', selector)\n } : selector;\n }\n\n element(): Chainable<JQuery> {\n const parent = this.getParentElement();\n return parent ? this.elementAccessStrategy.findIn(parent) : undefined;\n }\n\n getParentElement(): Cypress.Chainable<JQuery> {\n return this.parentElementAccessor ? this.parentElementAccessor() : undefined;\n }\n\n find(selector: string): PageElement {\n return new PageElement(() => this.element(), selector);\n }\n\n click(text?: string) {\n text ? this.element().contains(text).click() : this.element().click();\n }\n\n get should() {\n return this.getShoulder(this.getShouldElement());\n }\n\n getShoulder(element: Chainable<JQuery>) {\n return element.should.bind(element);\n }\n\n getShouldElement(): Chainable<JQuery> {\n return this.element();\n }\n\n shouldBeVisible() {\n this.should('be.visible');\n }\n\n shouldNotBeVisible() {\n if (!this.elementAccessStrategy.shouldNotExist) {\n lang.abstractMethod(this.constructor);\n }\n this.elementAccessStrategy.shouldNotExist(this.getParentElement());\n }\n}\n\nexport namespace PageElement {\n export interface Accessor {\n findIn(parent: Cypress.Chainable<JQuery>): Cypress.Chainable<JQuery>;\n\n shouldNotExist?(parent: Cypress.Chainable<JQuery>);\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":9,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","module":"./element-locator","name":"ElementLocator","line":10,"character":34}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":31,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]}],"dom":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"getShoulder":[{"__symbolic":"method"}],"getShouldElement":[{"__symbolic":"method"}],"shouldBeVisible":[{"__symbolic":"method"}],"shouldNotBeVisible":[{"__symbolic":"method"}],"shouldExist":[{"__symbolic":"method"}],"shouldNotExist":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Expression form not supported","line":9,"character":36},{"__symbolic":"select","expression":{"__symbolic":"reference","name":"PageElement"},"member":"Accessor"}]}],"element":[{"__symbolic":"method"}],"getParentElement":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}],"click":[{"__symbolic":"method"}],"getShoulder":[{"__symbolic":"method"}],"getShouldElement":[{"__symbolic":"method"}],"shouldBeVisible":[{"__symbolic":"method"}],"shouldNotBeVisible":[{"__symbolic":"method"}]}}}}]
@@ -1,15 +1,15 @@
1
1
  import { Mixin } from '@coolon/typescript-utilities';
2
2
  import * as _ from 'lodash';
3
- import { PageBuilder } from './page-builder';
4
3
  import { PageElement } from './page-element';
5
4
  import { Path } from './path';
5
+ import { Section } from './section';
6
6
  export class Page extends PageElement {
7
7
  constructor(path) {
8
8
  super(undefined, undefined);
9
9
  this.path = path;
10
10
  this.rootElementSelector = 'body';
11
11
  }
12
- dom() {
12
+ element() {
13
13
  return cy.get(this.rootElementSelector);
14
14
  }
15
15
  visit(visitParams, queryParams) {
@@ -32,7 +32,7 @@ export class Page extends PageElement {
32
32
  }
33
33
  shouldBeActive(withParameters) {
34
34
  // Note: cy.window() doesn't return a promise... it's a chainable.
35
- cy['waitUntil'](() => {
35
+ cy["waitUntil"](() => {
36
36
  return cy.window().then(window => {
37
37
  return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();
38
38
  });
@@ -50,18 +50,20 @@ export class Page extends PageElement {
50
50
  }
51
51
  }
52
52
  (function (Page) {
53
- function create(pathOrPathBuilder, builder) {
53
+ function create(pathOrPathBuilder, page) {
54
54
  const pathBuilder = new Path.Builder();
55
55
  if (_.isString(pathOrPathBuilder)) {
56
- pathOrPathBuilder.split('/').filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));
56
+ pathOrPathBuilder.split("/").filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));
57
57
  }
58
58
  else {
59
59
  pathOrPathBuilder(pathBuilder);
60
60
  }
61
- const instance = new Page(pathBuilder.getPath());
62
- const content = builder.call(instance, new PageBuilder(instance));
63
- return Mixin.createProxy(content, instance);
61
+ const builder = new PageBuilder(pathBuilder.getPath());
62
+ return Mixin.createProxy(page(builder), builder);
64
63
  }
65
64
  Page.create = create;
65
+ class PageBuilder extends Section.Mixin(Page) {
66
+ }
67
+ Page.PageBuilder = PageBuilder;
66
68
  })(Page || (Page = {}));
67
69
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page.ts"],"names":[],"mappings":"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","sourcesContent":["import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { Builder } from './builder';\nimport { PageBuilder } from './page-builder';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n dom(): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(this.rootElementSelector);\n }\n\n visit(visitParams?: object, queryParams?: { [key: string]: string }) {\n this.tryAndVisit(visitParams, queryParams);\n this.shouldBeActive(visitParams);\n }\n\n tryAndVisit(params?: object, queryParams?: { [key: string]: string }) {\n const path = this.path.toUrl(params ?? {});\n const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : '';\n cy.visit(`/${path}${queryString}`);\n }\n\n shouldHaveActivityIds(...ids: string[]) {\n cy.location('search').should('contain', `?aup-interactions=${ids.join('--')}`);\n }\n\n shouldNotHaveActivityIds() {\n cy.location('search').should('not.contain', `?aup-interactions`);\n }\n\n shouldHaveTitle(title: string) {\n cy.title().should('eq', title);\n }\n\n shouldBeActive(withParameters?: object) {\n // Note: cy.window() doesn't return a promise... it's a chainable.\n cy['waitUntil'](() => {\n return cy.window().then(window => {\n return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();\n });\n });\n\n if (withParameters) {\n cy.location('pathname').then(path => {\n const urlParams = Path.extractVisitParameters(path);\n Object.keys(withParameters).forEach(param => {\n const expected = withParameters[param];\n // @ts-ignore\n expect(urlParams[param]).to.equal(expected);\n });\n });\n }\n }\n\n}\n\n\nexport namespace Page {\n\n export function create<T extends object>(path: string, builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), builder: Builder.ContainerCallback<T, Page, PageBuilder>): T & Page {\n const pathBuilder = new Path.Builder();\n if (_.isString(pathOrPathBuilder)) {\n pathOrPathBuilder.split('/').filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));\n } else {\n pathOrPathBuilder(pathBuilder);\n }\n const instance = new Page(pathBuilder.getPath());\n const content = builder.call(instance, new PageBuilder(instance));\n return Mixin.createProxy(content, instance) as T & Page;\n }\n}\n"]}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page.ts"],"names":[],"mappings":"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","sourcesContent":["import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { PageElement } from './page-element';\nimport { Path } from './path';\nimport { Section } from './section';\n\nexport class Page extends PageElement {\n\n protected rootElementSelector = 'body';\n\n constructor(readonly path: Path) {\n super(undefined, undefined);\n }\n\n element(): Cypress.Chainable<JQuery<HTMLElement>> {\n return cy.get(this.rootElementSelector);\n }\n\n visit(visitParams?: object, queryParams?: {[key:string]:string}) {\n this.tryAndVisit(visitParams, queryParams);\n this.shouldBeActive(visitParams);\n }\n\n tryAndVisit(params?: object, queryParams?: {[key:string]:string}) {\n const path = this.path.toUrl(params ?? {});\n const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : '';\n cy.visit(`/${path}${queryString}`);\n }\n\n shouldHaveActivityIds(...ids: string[]) {\n cy.location('search').should('contain', `?aup-interactions=${ids.join('--')}`);\n }\n\n shouldNotHaveActivityIds() {\n cy.location('search').should('not.contain', `?aup-interactions`);\n }\n\n shouldHaveTitle(title: string) {\n cy.title().should('eq', title);\n }\n\n shouldBeActive(withParameters?: object) {\n // Note: cy.window() doesn't return a promise... it's a chainable.\n cy[\"waitUntil\"](() => {\n return cy.window().then(window => {\n return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();\n });\n });\n\n if (withParameters) {\n cy.location('pathname').then(path => {\n const urlParams = Path.extractVisitParameters(path);\n Object.keys(withParameters).forEach(param => {\n const expected = withParameters[param];\n // @ts-ignore\n expect(urlParams[param]).to.equal(expected);\n })\n });\n }\n }\n\n}\n\n\nexport namespace Page {\n\n\n export function create<T extends object>(path: string, page: (page: PageBuilder) => T): T & Page\n // tslint:disable-next-line:unified-signatures\n export function create<T extends object>(pathBuilder: ((pathBuilder: Path.Builder) => void), page: (page: PageBuilder) => T): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), page: (page: PageBuilder) => T): T & Page {\n const pathBuilder = new Path.Builder();\n if (_.isString(pathOrPathBuilder)) {\n pathOrPathBuilder.split(\"/\").filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p))\n } else {\n pathOrPathBuilder(pathBuilder)\n }\n const builder = new PageBuilder(pathBuilder.getPath());\n return Mixin.createProxy(page(builder), builder) as T & Page;\n }\n\n\n export class PageBuilder extends Section.Mixin(Page) {\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"Page":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./page-element","name":"PageElement","line":7,"character":26},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./path","name":"Path","line":11,"character":29}]}],"dom":[{"__symbolic":"method"}],"visit":[{"__symbolic":"method"}],"tryAndVisit":[{"__symbolic":"method"}],"shouldHaveActivityIds":[{"__symbolic":"method"}],"shouldNotHaveActivityIds":[{"__symbolic":"method"}],"shouldHaveTitle":[{"__symbolic":"method"}],"shouldBeActive":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"Page":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./page-element","name":"PageElement","line":6,"character":26},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./path","name":"Path","line":10,"character":29}]}],"element":[{"__symbolic":"method"}],"visit":[{"__symbolic":"method"}],"tryAndVisit":[{"__symbolic":"method"}],"shouldHaveActivityIds":[{"__symbolic":"method"}],"shouldNotHaveActivityIds":[{"__symbolic":"method"}],"shouldHaveTitle":[{"__symbolic":"method"}],"shouldBeActive":[{"__symbolic":"method"}]}}}}]
@@ -5,11 +5,9 @@ export class Path {
5
5
  this.segments = segments;
6
6
  }
7
7
  static extractVisitParameters(url) {
8
- var _a, _b;
9
8
  let result = {};
10
9
  const urlTree = urlSerialiser.parse(url);
11
- const urlSegments = (_b = (_a = urlTree.root.children.primary) === null || _a === void 0 ? void 0 : _a.segments) !== null && _b !== void 0 ? _b : [];
12
- urlSegments === null || urlSegments === void 0 ? void 0 : urlSegments.forEach(s => {
10
+ urlTree.root.children.primary.segments.forEach(s => {
13
11
  result = Object.assign(Object.assign({}, result), s.parameters);
14
12
  });
15
13
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAiB,MAAM,iBAAiB,CAAC;AAEtE,IAAI,aAAa,GAAkB,IAAI,oBAAoB,EAAE,CAAC;AAE9D,MAAM,OAAO,IAAI;IAEf,YAAqB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAC7C,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,GAAW;;QACvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,MAAA,MAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,QAAQ,mCAAI,EAAE,CAAC;QAClE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,MAAM,mCAAQ,MAAM,GAAK,CAAC,CAAC,UAAU,CAAE,CAAA;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;CAEF;AAED,WAAiB,IAAI;IAEnB,SAAgB,gBAAgB,CAAC,UAAyB;QACxD,aAAa,GAAG,UAAU,CAAC;IAC7B,CAAC;IAFe,qBAAgB,mBAE/B,CAAA;IAED,MAAa,OAAO;QAKlB,YAAqB,IAAY,EAAE,SAAwB,EAAE;;YAAxC,SAAI,GAAJ,IAAI,CAAQ;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,EAAE,CAAC;QAC/C,CAAC;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,KAAK,EAAE;oBACT,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAEF;IAxBY,YAAO,UAwBnB,CAAA;IAED,MAAa,OAAO;QAApB;YAEU,aAAQ,GAAc,EAAE,CAAC;QAWnC,CAAC;QATC,OAAO,CAAC,IAAY,EAAE,MAAsB;YAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;KACF;IAbY,YAAO,UAanB,CAAA;AAMH,CAAC,EAnDgB,IAAI,KAAJ,IAAI,QAmDpB","sourcesContent":["import { DefaultUrlSerializer, UrlSerializer } from '@angular/router';\n\nlet urlSerialiser: UrlSerializer = new DefaultUrlSerializer();\n\nexport class Path {\n\n constructor(readonly segments: Path.Segment[]) {\n }\n\n static extractVisitParameters(url: string): object {\n let result = {};\n const urlTree = urlSerialiser.parse(url);\n const urlSegments = urlTree.root.children.primary?.segments ?? [];\n urlSegments?.forEach(s => {\n result = { ...result, ...s.parameters }\n });\n return result;\n }\n\n toUrl(matrixParams: object): string {\n return this.segments.map(s => s.toUrlPart(matrixParams)).join('/');\n }\n\n}\n\nexport namespace Path {\n\n export function setUrlSerialiser(serialiser: UrlSerializer) {\n urlSerialiser = serialiser;\n }\n\n export class Segment {\n\n private routeId: string | undefined;\n private visitParams: string[];\n\n constructor(readonly path: string, params: SegmentParams = {}) {\n this.routeId = params?.routeId;\n this.visitParams = params?.visitParams ?? [];\n }\n\n toUrlPart(params: object) {\n let path: string = this.path;\n this.visitParams.forEach(p => {\n const value = params[p];\n if (value) {\n path = `${path};${p}=${value}`;\n }\n });\n if (this.routeId && params[this.routeId]) {\n path = path + '/' + params[this.routeId];\n }\n return path;\n }\n\n }\n\n export class Builder {\n\n private segments: Segment[] = [];\n\n segment(name: string, params?: SegmentParams): this {\n const builder = new Segment(name, params);\n this.segments.push(builder);\n return this;\n }\n\n getPath(): Path {\n return new Path(this.segments);\n }\n }\n\n export interface SegmentParams {\n routeId?: string;\n visitParams?: string[]\n }\n}\n"]}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAiB,MAAM,iBAAiB,CAAC;AAEtE,IAAI,aAAa,GAAkB,IAAI,oBAAoB,EAAE,CAAC;AAE9D,MAAM,OAAO,IAAI;IAEf,YAAqB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAC7C,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,GAAW;QACvC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjD,MAAM,mCAAQ,MAAM,GAAK,CAAC,CAAC,UAAU,CAAE,CAAA;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAoB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;CAEF;AAED,WAAiB,IAAI;IAEnB,SAAgB,gBAAgB,CAAC,UAAyB;QACxD,aAAa,GAAG,UAAU,CAAC;IAC7B,CAAC;IAFe,qBAAgB,mBAE/B,CAAA;IAED,MAAa,OAAO;QAKlB,YAAqB,IAAY,EAAE,SAAwB,EAAE;;YAAxC,SAAI,GAAJ,IAAI,CAAQ;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,mCAAI,EAAE,CAAC;QAC/C,CAAC;QAED,SAAS,CAAC,MAAc;YACtB,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,KAAK,EAAE;oBACT,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAEF;IAxBY,YAAO,UAwBnB,CAAA;IAED,MAAa,OAAO;QAApB;YAEU,aAAQ,GAAc,EAAE,CAAC;QAWnC,CAAC;QATC,OAAO,CAAC,IAAY,EAAE,MAAsB;YAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;KACF;IAbY,YAAO,UAanB,CAAA;AAMH,CAAC,EAnDgB,IAAI,KAAJ,IAAI,QAmDpB","sourcesContent":["import { DefaultUrlSerializer, UrlSerializer } from '@angular/router';\n\nlet urlSerialiser: UrlSerializer = new DefaultUrlSerializer();\n\nexport class Path {\n\n constructor(readonly segments: Path.Segment[]) {\n }\n\n static extractVisitParameters(url: string): object {\n let result = {};\n const urlTree = urlSerialiser.parse(url);\n urlTree.root.children.primary.segments.forEach(s => {\n result = { ...result, ...s.parameters }\n });\n return result;\n }\n\n toUrl(matrixParams: object): string {\n return this.segments.map(s => s.toUrlPart(matrixParams)).join('/');\n }\n\n}\n\nexport namespace Path {\n\n export function setUrlSerialiser(serialiser: UrlSerializer) {\n urlSerialiser = serialiser;\n }\n\n export class Segment {\n\n private routeId: string | undefined;\n private visitParams: string[];\n\n constructor(readonly path: string, params: SegmentParams = {}) {\n this.routeId = params?.routeId;\n this.visitParams = params?.visitParams ?? [];\n }\n\n toUrlPart(params: object) {\n let path: string = this.path;\n this.visitParams.forEach(p => {\n const value = params[p];\n if (value) {\n path = `${path};${p}=${value}`;\n }\n });\n if (this.routeId && params[this.routeId]) {\n path = path + '/' + params[this.routeId];\n }\n return path;\n }\n\n }\n\n export class Builder {\n\n private segments: Segment[] = [];\n\n segment(name: string, params?: SegmentParams): this {\n const builder = new Segment(name, params);\n this.segments.push(builder);\n return this;\n }\n\n getPath(): Path {\n return new Path(this.segments);\n }\n }\n\n export interface SegmentParams {\n routeId?: string;\n visitParams?: string[]\n }\n}\n"]}
@@ -0,0 +1,58 @@
1
+ import { Mixin as CreateMixin } from '@coolon/typescript-utilities';
2
+ import { AupCommand } from './components/aup-command';
3
+ import { AupInput } from './components/aup-input';
4
+ import { AupNavigation } from './components/aup-navigation';
5
+ import { AupTable } from './components/aup-table';
6
+ import { Button } from './components/button';
7
+ import { PageElement } from './page-element';
8
+ export var Section;
9
+ (function (Section) {
10
+ function Mixin(Base) {
11
+ return class extends Base {
12
+ section(selector, section) {
13
+ const impl = new Impl(() => this.element(), selector);
14
+ return CreateMixin.createProxy(section(impl), impl);
15
+ }
16
+ find(selector) {
17
+ return new PageElement(() => this.element(), selector);
18
+ }
19
+ contains(text) {
20
+ return new PageElement(() => this.element(), {
21
+ findIn: parent => parent.contains(text),
22
+ shouldNotExist: (parent) => parent.should('not.contain', text)
23
+ });
24
+ }
25
+ button(text) {
26
+ return new Button(() => this.element(), text);
27
+ }
28
+ aupStringInput(selector) {
29
+ return new AupInput.HtmlInput(() => this.element(), selector !== null && selector !== void 0 ? selector : 'aup-string-input');
30
+ }
31
+ aupTextInput(selector) {
32
+ return new AupInput.TextAreaInput(() => this.element(), selector !== null && selector !== void 0 ? selector : 'aup-text-input');
33
+ }
34
+ aupPasswordInput(selector) {
35
+ return new AupInput.HtmlInput(() => this.element(), selector !== null && selector !== void 0 ? selector : 'aup-password-input');
36
+ }
37
+ aupNumberInput(selector) {
38
+ return new AupInput.HtmlInput(() => this.element(), selector !== null && selector !== void 0 ? selector : 'aup-number-input');
39
+ }
40
+ aupCommand(face) {
41
+ return new AupCommand(this, face);
42
+ }
43
+ aupTabbedNavigation() {
44
+ return new AupNavigation(this, 'aup-tabbed-place-navigation');
45
+ }
46
+ aupSideNavigation() {
47
+ return new AupNavigation(() => this.element(), 'aup-list-place-nav');
48
+ }
49
+ aupTable(selector) {
50
+ return new AupTable(() => this.element(), selector !== null && selector !== void 0 ? selector : 'aup-table');
51
+ }
52
+ };
53
+ }
54
+ Section.Mixin = Mixin;
55
+ class Impl extends Mixin(PageElement) {
56
+ }
57
+ })(Section || (Section = {}));
58
+ //# sourceMappingURL=section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/section.ts"],"names":[],"mappings":"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","sourcesContent":["import { Constructable } from '@coolon/pectin';\nimport { Mixin as CreateMixin } from '@coolon/typescript-utilities';\nimport { AupCommand } from './components/aup-command';\nimport { AupInput } from './components/aup-input';\nimport { AupNavigation } from './components/aup-navigation';\nimport { AupTable } from './components/aup-table';\nimport { Button } from './components/button';\nimport { Types } from './components/types';\nimport { PageElement } from './page-element';\n\nexport interface Section {\n section<T extends object>(selector: string, section: (section: Section) => T): T & PageElement;\n\n find(selector: string): PageElement;\n\n contains(text: string): PageElement;\n\n button(text: string): Button;\n\n aupStringInput(selector?: string): AupInput<string>;\n\n aupTextInput(selector?: string): AupInput<string>;\n\n aupPasswordInput(selector?: string): AupInput<string>;\n\n aupNumberInput(selector?: string): AupInput<number>;\n\n aupCommand(face: Types.CommandFace): AupCommand\n\n // aupToolbar<T extends object>(builder: () => T): AupToolBar & T\n //\n // aupToolbar<T extends object>(selector: string, builder: () => T): AupToolBar & T\n //\n // aupToolbar<T extends object>(selectorOrBuilder: string | (() => T), builder?: () => T): AupToolBar & T\n //\n // aupPopupMenu<T extends object>(face: CommandFace, builder: () => T): AupPopupMenu & T\n\n aupTabbedNavigation<T extends object>(): AupNavigation;\n\n aupSideNavigation<T extends object>(): AupNavigation;\n\n aupTable(selector?: string): AupTable;\n\n}\n\n\nexport namespace Section {\n\n export function Mixin<BC extends Constructable<PageElement>>(Base: BC) {\n\n return class extends Base implements Section {\n\n section<T extends object>(selector: string, section: (section: Section) => T): T & PageElement {\n const impl = new Impl(() => this.element(), selector);\n return CreateMixin.createProxy(section(impl), impl);\n }\n\n find(selector: string): PageElement {\n return new PageElement(() => this.element(), selector);\n }\n\n contains(text: string): PageElement {\n return new PageElement(() => this.element(), {\n findIn: parent => parent.contains(text),\n shouldNotExist: (parent: Cypress.Chainable<JQuery>) => parent.should('not.contain', text)\n });\n }\n\n button(text: string): Button {\n return new Button(() => this.element(), text);\n }\n\n aupStringInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(() => this.element(), selector ?? 'aup-string-input');\n }\n\n aupTextInput(selector?: string): AupInput<string> {\n return new AupInput.TextAreaInput(() => this.element(), selector ?? 'aup-text-input');\n }\n\n aupPasswordInput(selector?: string): AupInput<string> {\n return new AupInput.HtmlInput(() => this.element(), selector ?? 'aup-password-input');\n }\n\n aupNumberInput(selector?: string): AupInput<number> {\n return new AupInput.HtmlInput(() => this.element(), selector ?? 'aup-number-input');\n }\n\n aupCommand(face: Types.CommandFace): AupCommand {\n return new AupCommand(this, face);\n }\n\n aupTabbedNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(this, 'aup-tabbed-place-navigation');\n }\n\n aupSideNavigation<T extends object>(): AupNavigation {\n return new AupNavigation(() => this.element(), 'aup-list-place-nav');\n }\n\n aupTable(selector?: string): AupTable {\n return new AupTable(() => this.element(), selector ?? 'aup-table');\n }\n\n // aupToolbar<T extends object>(builder: () => T): AupToolBar\n // aupToolbar<T extends object>(selector: string, builder: () => T): AupToolBar\n // aupToolbar<T extends object>(selectorOrBuilder: string | (() => T), builder?: () => T): AupToolBar {\n // return lang.notImplemented();\n // }\n //\n // aupPopupMenu<T extends object>(face: CommandFace, builder: () => T): AupPopupMenu & T {\n // return lang.notImplemented();\n // }\n //\n // aupMoreMenu<T extends object>(builder: () => T): AupPopupMenu & T {\n // return lang.notImplemented();\n // }\n\n };\n }\n\n class Impl extends Mixin(PageElement) {\n }\n\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"Section":{"__symbolic":"interface"}}}]
@@ -13,7 +13,7 @@ EmptyStateComponent.decorators = [
13
13
  <ng-content></ng-content>
14
14
  </div>
15
15
  `,
16
- styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{display:flex;flex-direction:column;align-items:stretch;padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
16
+ styles: [":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]
17
17
  },] }
18
18
  ];
19
19
  EmptyStateComponent.ctorParameters = () => [];
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"EmptyStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-empty-state","template":"\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n ","styles":[":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{display:flex;flex-direction:column;align-items:stretch;padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"EmptyStateComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"aup-empty-state","template":"\n <div class=\"container\">\n <ng-content></ng-content>\n </div>\n ","styles":[":host{display:flex;flex-direction:column;justify-content:center;align-items:center}.container{padding:var(--aup-default-padding);border:2px dashed rgba(0,0,0,.2);border-radius:5px;font-size:14px;font-weight:300}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]