@coolon/angular-ui-powerups 12.4.0-alpha.6 → 12.4.0-alpha.61

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 (439) hide show
  1. package/assets/activities/activities.scss +77 -0
  2. package/assets/activities/input-activities.scss +36 -0
  3. package/assets/cards.scss +17 -0
  4. package/assets/empty-state.scss +11 -0
  5. package/assets/form.scss +10 -2
  6. package/assets/forms/mixins.scss +6 -0
  7. package/assets/interaction/editor/inline-string-editor.scss +54 -0
  8. package/assets/interaction.scss +10 -7
  9. package/assets/mixins.scss +5 -7
  10. package/assets/styles.scss +8 -15
  11. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +748 -329
  12. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  13. package/bundles/coolon-angular-ui-powerups.umd.js +966 -270
  14. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  15. package/coolon-angular-ui-powerups.metadata.json +1 -1
  16. package/cypress/component-builder.d.ts +71 -0
  17. package/cypress/components/aup-abstract-activity.d.ts +31 -0
  18. package/cypress/components/aup-abstract-table.d.ts +18 -0
  19. package/cypress/components/aup-activity.d.ts +9 -0
  20. package/cypress/components/aup-alert-dialog.d.ts +27 -0
  21. package/cypress/components/aup-alert.d.ts +9 -0
  22. package/cypress/components/aup-command-face.d.ts +2 -8
  23. package/cypress/components/aup-command.d.ts +2 -1
  24. package/cypress/components/aup-confirm-dialog.d.ts +27 -0
  25. package/cypress/components/aup-confirm.d.ts +11 -0
  26. package/cypress/components/aup-empty-state.d.ts +4 -0
  27. package/cypress/components/aup-input.d.ts +11 -5
  28. package/cypress/components/aup-modal-activity.d.ts +24 -0
  29. package/cypress/components/aup-modal-mixin.d.ts +23 -0
  30. package/cypress/components/aup-table.d.ts +5 -18
  31. package/cypress/components/aup-tree-table.d.ts +16 -0
  32. package/cypress/components/button.d.ts +11 -7
  33. package/cypress/components/form-element-mixin.d.ts +22 -0
  34. package/cypress/components/mat-checkbox.d.ts +31 -0
  35. package/cypress/components/popup/aup-abstract-popup-menu.d.ts +15 -0
  36. package/cypress/components/popup/aup-more-menu.d.ts +5 -0
  37. package/cypress/components/popup/aup-popup-menu-panel.d.ts +3 -0
  38. package/cypress/components/popup/aup-popup-menu.d.ts +7 -0
  39. package/cypress/components/table/aup-table-cell.d.ts +9 -0
  40. package/cypress/components/table/aup-table-column.d.ts +10 -0
  41. package/cypress/components/table/aup-table-row.d.ts +17 -0
  42. package/cypress/components/table/aup-table-selection-cell.d.ts +5 -0
  43. package/cypress/components/table/aup-table-selection-column.d.ts +5 -0
  44. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  45. package/cypress/element-locator.d.ts +8 -0
  46. package/cypress/exports.d.ts +25 -4
  47. package/cypress/package.json +1 -1
  48. package/cypress/page-builder.d.ts +9 -0
  49. package/cypress/page-element.d.ts +12 -12
  50. package/cypress/page.d.ts +8 -33
  51. package/esm2015/cypress/component-builder.js +92 -0
  52. package/esm2015/cypress/component-builder.js.map +1 -0
  53. package/esm2015/cypress/component-builder.metadata.json +1 -0
  54. package/esm2015/cypress/components/aup-abstract-activity.js +12 -0
  55. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -0
  56. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -0
  57. package/esm2015/cypress/components/aup-abstract-table.js +50 -0
  58. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -0
  59. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -0
  60. package/esm2015/cypress/components/aup-activity.js +13 -0
  61. package/esm2015/cypress/components/aup-activity.js.map +1 -0
  62. package/esm2015/cypress/components/aup-activity.metadata.json +1 -0
  63. package/esm2015/cypress/components/aup-alert-dialog.js +8 -0
  64. package/esm2015/cypress/components/aup-alert-dialog.js.map +1 -0
  65. package/esm2015/cypress/components/aup-alert-dialog.metadata.json +1 -0
  66. package/esm2015/cypress/components/aup-alert.js +13 -0
  67. package/esm2015/cypress/components/aup-alert.js.map +1 -0
  68. package/esm2015/cypress/components/aup-alert.metadata.json +1 -0
  69. package/esm2015/cypress/components/aup-command-face.js +11 -22
  70. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  71. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  72. package/esm2015/cypress/components/aup-command.js +12 -6
  73. package/esm2015/cypress/components/aup-command.js.map +1 -1
  74. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  75. package/esm2015/cypress/components/aup-confirm-dialog.js +8 -0
  76. package/esm2015/cypress/components/aup-confirm-dialog.js.map +1 -0
  77. package/esm2015/cypress/components/aup-confirm-dialog.metadata.json +1 -0
  78. package/esm2015/cypress/components/aup-confirm.js +19 -0
  79. package/esm2015/cypress/components/aup-confirm.js.map +1 -0
  80. package/esm2015/cypress/components/aup-confirm.metadata.json +1 -0
  81. package/esm2015/cypress/components/aup-empty-state.js +7 -0
  82. package/esm2015/cypress/components/aup-empty-state.js.map +1 -0
  83. package/esm2015/cypress/components/aup-empty-state.metadata.json +1 -0
  84. package/esm2015/cypress/components/aup-input.js +17 -5
  85. package/esm2015/cypress/components/aup-input.js.map +1 -1
  86. package/esm2015/cypress/components/aup-input.metadata.json +1 -1
  87. package/esm2015/cypress/components/aup-modal-activity.js +5 -0
  88. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -0
  89. package/esm2015/cypress/components/aup-modal-activity.metadata.json +1 -0
  90. package/esm2015/cypress/components/aup-modal-mixin.js +18 -0
  91. package/esm2015/cypress/components/aup-modal-mixin.js.map +1 -0
  92. package/esm2015/cypress/components/aup-modal-mixin.metadata.json +1 -0
  93. package/esm2015/cypress/components/aup-navigation.js +1 -1
  94. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  95. package/esm2015/cypress/components/aup-table.js +5 -33
  96. package/esm2015/cypress/components/aup-table.js.map +1 -1
  97. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  98. package/esm2015/cypress/components/aup-tree-table.js +34 -0
  99. package/esm2015/cypress/components/aup-tree-table.js.map +1 -0
  100. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -0
  101. package/esm2015/cypress/components/button.js +4 -10
  102. package/esm2015/cypress/components/button.js.map +1 -1
  103. package/esm2015/cypress/components/button.metadata.json +1 -1
  104. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  105. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  106. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  107. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  108. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  109. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  110. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js +33 -0
  111. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.js.map +1 -0
  112. package/esm2015/cypress/components/popup/aup-abstract-popup-menu.metadata.json +1 -0
  113. package/esm2015/cypress/components/popup/aup-more-menu.js +8 -0
  114. package/esm2015/cypress/components/popup/aup-more-menu.js.map +1 -0
  115. package/esm2015/cypress/components/popup/aup-more-menu.metadata.json +1 -0
  116. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js +4 -0
  117. package/esm2015/cypress/components/popup/aup-popup-menu-panel.js.map +1 -0
  118. package/esm2015/cypress/components/popup/aup-popup-menu-panel.metadata.json +1 -0
  119. package/esm2015/cypress/components/popup/aup-popup-menu.js +12 -0
  120. package/esm2015/cypress/components/popup/aup-popup-menu.js.map +1 -0
  121. package/esm2015/cypress/components/popup/aup-popup-menu.metadata.json +1 -0
  122. package/esm2015/cypress/components/table/aup-table-cell.js +14 -0
  123. package/esm2015/cypress/components/table/aup-table-cell.js.map +1 -0
  124. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +1 -0
  125. package/esm2015/cypress/components/table/aup-table-column.js +19 -0
  126. package/esm2015/cypress/components/table/aup-table-column.js.map +1 -0
  127. package/esm2015/cypress/components/table/aup-table-column.metadata.json +1 -0
  128. package/esm2015/cypress/components/table/aup-table-row.js +28 -0
  129. package/esm2015/cypress/components/table/aup-table-row.js.map +1 -0
  130. package/esm2015/cypress/components/table/aup-table-row.metadata.json +1 -0
  131. package/esm2015/cypress/components/table/aup-table-selection-cell.js +6 -0
  132. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +1 -0
  133. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +1 -0
  134. package/esm2015/cypress/components/table/aup-table-selection-column.js +6 -0
  135. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +1 -0
  136. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +1 -0
  137. package/esm2015/cypress/element-locator.js +16 -0
  138. package/esm2015/cypress/element-locator.js.map +1 -0
  139. package/esm2015/cypress/element-locator.metadata.json +1 -0
  140. package/esm2015/cypress/exports.js +25 -4
  141. package/esm2015/cypress/exports.js.map +1 -1
  142. package/esm2015/cypress/exports.metadata.json +1 -1
  143. package/esm2015/cypress/page-builder.js +16 -0
  144. package/esm2015/cypress/page-builder.js.map +1 -0
  145. package/esm2015/cypress/page-builder.metadata.json +1 -0
  146. package/esm2015/cypress/page-element.js +26 -19
  147. package/esm2015/cypress/page-element.js.map +1 -1
  148. package/esm2015/cypress/page-element.metadata.json +1 -1
  149. package/esm2015/cypress/page.js +31 -19
  150. package/esm2015/cypress/page.js.map +1 -1
  151. package/esm2015/cypress/page.metadata.json +1 -1
  152. package/esm2015/cypress/path.js +3 -1
  153. package/esm2015/cypress/path.js.map +1 -1
  154. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  155. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +1 -1
  156. package/esm2015/lib/components/busy-overlay/busy-overlay.component.metadata.json +1 -1
  157. package/esm2015/lib/components/cards/abstract-card-container.component.js +29 -0
  158. package/esm2015/lib/components/cards/abstract-card-container.component.js.map +1 -0
  159. package/esm2015/lib/components/cards/abstract-card-container.component.metadata.json +1 -0
  160. package/esm2015/lib/components/cards/abstract-card-container.component.ngfactory.js.map +1 -0
  161. package/esm2015/lib/components/cards/card-container/card-container.component.js +123 -0
  162. package/esm2015/lib/components/cards/card-container/card-container.component.js.map +1 -0
  163. package/esm2015/lib/components/cards/card-container/card-container.component.metadata.json +1 -0
  164. package/esm2015/lib/components/cards/card-container/card-container.component.ngfactory.js.map +1 -0
  165. package/esm2015/lib/components/cards/card-container/card-container.component.scss.shim.ngstyle.js.map +1 -0
  166. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +78 -0
  167. package/esm2015/lib/components/cards/card-stack/card-stack.component.js.map +1 -0
  168. package/esm2015/lib/components/cards/card-stack/card-stack.component.metadata.json +1 -0
  169. package/esm2015/lib/components/cards/card-stack/card-stack.component.ngfactory.js.map +1 -0
  170. package/esm2015/lib/components/cards/card-stack/card-stack.component.scss.shim.ngstyle.js.map +1 -0
  171. package/esm2015/lib/components/commands/command/command.component.js +1 -1
  172. package/esm2015/lib/components/commands/command/command.component.metadata.json +1 -1
  173. package/esm2015/lib/components/commands/command-face/command-face.component.js +1 -1
  174. package/esm2015/lib/components/commands/command-face/command-face.component.metadata.json +1 -1
  175. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +1 -1
  176. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.metadata.json +1 -1
  177. package/esm2015/lib/components/components.module.js +37 -24
  178. package/esm2015/lib/components/components.module.js.map +1 -1
  179. package/esm2015/lib/components/components.module.metadata.json +1 -1
  180. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  181. package/esm2015/lib/components/empty-state/empty-state.component.js +1 -1
  182. package/esm2015/lib/components/empty-state/empty-state.component.metadata.json +1 -1
  183. package/esm2015/lib/components/exports.js +5 -3
  184. package/esm2015/lib/components/exports.js.map +1 -1
  185. package/esm2015/lib/components/exports.metadata.json +1 -1
  186. package/esm2015/lib/components/focus-container/focus-container.component.js +1 -1
  187. package/esm2015/lib/components/focus-container/focus-container.component.metadata.json +1 -1
  188. package/esm2015/lib/components/forms/abstract-input.component.js +1 -0
  189. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  190. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +1 -1
  191. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -1
  192. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +1 -1
  193. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  194. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +1 -1
  195. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  196. package/esm2015/lib/components/forms/select-input/select-input.component.js +1 -1
  197. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  198. package/esm2015/lib/components/forms/string-input/string-input.component.js +1 -1
  199. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  200. package/esm2015/lib/components/forms/text-input/text-input.component.js +1 -1
  201. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  202. package/esm2015/lib/components/icon/icon.component.js +1 -1
  203. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  204. package/esm2015/lib/components/labelled-value/labelled-value.component.js +22 -0
  205. package/esm2015/lib/components/labelled-value/labelled-value.component.js.map +1 -0
  206. package/esm2015/lib/components/labelled-value/labelled-value.component.metadata.json +1 -0
  207. package/esm2015/lib/components/labelled-value/labelled-value.component.ngfactory.js.map +1 -0
  208. package/esm2015/lib/components/{card-container/card-container.component.scss.shim.ngstyle.js.map → labelled-value/labelled-value.component.scss.shim.ngstyle.js.map} +1 -1
  209. package/esm2015/lib/components/loading-container/loading-container.component.js +45 -0
  210. package/esm2015/lib/components/loading-container/loading-container.component.js.map +1 -0
  211. package/esm2015/lib/components/loading-container/loading-container.component.metadata.json +1 -0
  212. package/esm2015/lib/components/loading-container/loading-container.component.ngfactory.js.map +1 -0
  213. package/esm2015/lib/components/loading-container/loading-container.component.scss.shim.ngstyle.js.map +1 -0
  214. package/esm2015/lib/components/noop/noop.component.js +1 -1
  215. package/esm2015/lib/components/noop/noop.component.metadata.json +1 -1
  216. package/esm2015/lib/components/scroll-container/scroll-container.component.js +1 -1
  217. package/esm2015/lib/components/scroll-container/scroll-container.component.metadata.json +1 -1
  218. package/esm2015/lib/components/section-header/section-header.component.js +12 -5
  219. package/esm2015/lib/components/section-header/section-header.component.js.map +1 -1
  220. package/esm2015/lib/components/section-header/section-header.component.metadata.json +1 -1
  221. package/esm2015/lib/components/switch-case/switch-case.component.js +1 -1
  222. package/esm2015/lib/components/switch-case/switch-case.component.metadata.json +1 -1
  223. package/esm2015/lib/components/tables/abstract-table-model.js +6 -2
  224. package/esm2015/lib/components/tables/abstract-table-model.js.map +1 -1
  225. package/esm2015/lib/components/tables/abstract-table-model.metadata.json +1 -1
  226. package/esm2015/lib/components/tables/table/column-model.js.map +1 -1
  227. package/esm2015/lib/components/tables/table/column-model.metadata.json +1 -1
  228. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +1 -1
  229. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.metadata.json +1 -1
  230. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +1 -1
  231. package/esm2015/lib/components/tables/table/paginator/paginator.component.metadata.json +1 -1
  232. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  233. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.metadata.json +1 -1
  234. package/esm2015/lib/components/tables/table/table.component.js +1 -1
  235. package/esm2015/lib/components/tables/table/table.component.metadata.json +1 -1
  236. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  237. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  238. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  239. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +1 -1
  240. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.metadata.json +1 -1
  241. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +13 -4
  242. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js.map +1 -1
  243. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.metadata.json +1 -1
  244. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +1 -1
  245. package/esm2015/lib/components/tables/tree-table/tree-table-component.js.map +1 -1
  246. package/esm2015/lib/components/tables/tree-table/tree-table-component.metadata.json +1 -1
  247. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +1 -0
  248. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  249. package/esm2015/lib/components/track-by.js +12 -0
  250. package/esm2015/lib/components/track-by.js.map +1 -1
  251. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js +1 -1
  252. package/esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.metadata.json +1 -1
  253. package/esm2015/lib/directives/directives.module.ngfactory.js.map +1 -1
  254. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +17 -11
  255. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js.map +1 -1
  256. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.metadata.json +1 -1
  257. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +2 -2
  258. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js.map +1 -1
  259. package/esm2015/lib/interaction/components/activity-container/activity-container.component.metadata.json +1 -1
  260. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js +1 -1
  261. package/esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.metadata.json +1 -1
  262. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +1 -1
  263. package/esm2015/lib/interaction/components/activity-title/activity-title.component.metadata.json +1 -1
  264. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js +4 -0
  265. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js.map +1 -1
  266. package/esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.metadata.json +1 -1
  267. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +5 -2
  268. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js.map +1 -1
  269. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.metadata.json +1 -1
  270. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +5 -2
  271. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js.map +1 -1
  272. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.metadata.json +1 -1
  273. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +5 -2
  274. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js.map +1 -1
  275. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.metadata.json +1 -1
  276. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +77 -0
  277. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js.map +1 -0
  278. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.metadata.json +1 -0
  279. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.ngfactory.js.map +1 -0
  280. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.scss.shim.ngstyle.js.map +1 -0
  281. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +1 -1
  282. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.metadata.json +1 -1
  283. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +1 -1
  284. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  285. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +1 -1
  286. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  287. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +1 -1
  288. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  289. package/esm2015/lib/interaction/components/editors/edit-context.js +2 -0
  290. package/esm2015/lib/interaction/components/editors/edit-context.js.map +1 -0
  291. package/esm2015/lib/interaction/components/editors/edit-context.metadata.json +1 -0
  292. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js +50 -0
  293. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js.map +1 -0
  294. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.metadata.json +1 -0
  295. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +161 -0
  296. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js.map +1 -0
  297. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.metadata.json +1 -0
  298. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.ngfactory.js.map +1 -0
  299. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +7 -3
  300. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js.map +1 -1
  301. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.metadata.json +1 -1
  302. package/esm2015/lib/interaction/components/input-activities/input-activity.js +95 -0
  303. package/esm2015/lib/interaction/components/input-activities/input-activity.js.map +1 -0
  304. package/esm2015/lib/interaction/components/input-activities/input-activity.metadata.json +1 -0
  305. package/esm2015/lib/interaction/components/input-activities/input-activity.ngfactory.js.map +1 -0
  306. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js +5 -3
  307. package/esm2015/lib/interaction/components/input-activities/select-input-activity.js.map +1 -1
  308. package/esm2015/lib/interaction/components/input-activities/select-input-activity.metadata.json +1 -1
  309. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js +6 -4
  310. package/esm2015/lib/interaction/components/input-activities/string-input-activity.js.map +1 -1
  311. package/esm2015/lib/interaction/components/input-activities/string-input-activity.metadata.json +1 -1
  312. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js +2 -1
  313. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js.map +1 -1
  314. package/esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.metadata.json +1 -1
  315. package/esm2015/lib/interaction/exports.js +5 -3
  316. package/esm2015/lib/interaction/exports.js.map +1 -1
  317. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  318. package/esm2015/lib/interaction/interaction.module.js +19 -5
  319. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  320. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  321. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  322. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +1 -1
  323. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.metadata.json +1 -1
  324. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +1 -1
  325. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.metadata.json +1 -1
  326. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +1 -1
  327. package/esm2015/lib/place/components/place-outlet/place-outlet.component.metadata.json +1 -1
  328. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +1 -1
  329. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.metadata.json +1 -1
  330. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +1 -1
  331. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.metadata.json +1 -1
  332. package/esm2015/lib/place/guards/consolidated-param-map.js +2 -1
  333. package/esm2015/lib/place/guards/consolidated-param-map.js.map +1 -1
  334. package/esm2015/lib/place/guards/consolidated-param-map.metadata.json +1 -1
  335. package/esm2015/lib/place/guards/place.guard.js +2 -1
  336. package/esm2015/lib/place/guards/place.guard.js.map +1 -1
  337. package/esm2015/lib/place/place-component.js +31 -4
  338. package/esm2015/lib/place/place-component.js.map +1 -1
  339. package/esm2015/lib/place/place-component.metadata.json +1 -1
  340. package/esm2015/lib/place/place-router.js +10 -13
  341. package/esm2015/lib/place/place-router.js.map +1 -1
  342. package/esm2015/lib/place/place-router.metadata.json +1 -1
  343. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  344. package/esm2015/lib/place/url-snapshot.js +1 -7
  345. package/esm2015/lib/place/url-snapshot.js.map +1 -1
  346. package/esm2015/lib/place/url-snapshot.metadata.json +1 -1
  347. package/esm2015/lib/place/visit.js +5 -1
  348. package/esm2015/lib/place/visit.js.map +1 -1
  349. package/esm2015/lib/place/visit.metadata.json +1 -1
  350. package/fesm2015/coolon-angular-ui-powerups-cypress.js +550 -237
  351. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  352. package/fesm2015/coolon-angular-ui-powerups.js +773 -178
  353. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  354. package/lib/components/cards/abstract-card-container.component.d.ts +11 -0
  355. package/lib/components/{card-container → cards/card-container}/card-container.component.d.ts +30 -9
  356. package/lib/components/cards/card-stack/card-stack.component.d.ts +65 -0
  357. package/lib/components/exports.d.ts +5 -3
  358. package/lib/components/labelled-value/labelled-value.component.d.ts +7 -0
  359. package/lib/components/loading-container/loading-container.component.d.ts +11 -0
  360. package/lib/components/section-header/section-header.component.d.ts +5 -2
  361. package/lib/components/tables/abstract-table-model.d.ts +4 -3
  362. package/lib/components/tables/table/column-model.d.ts +1 -1
  363. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +0 -1
  364. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  365. package/lib/components/tables/tree-table/tree-table-component.d.ts +1 -1
  366. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  367. package/lib/components/track-by.d.ts +9 -0
  368. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +14 -3
  369. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +1 -1
  370. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +2 -1
  371. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +2 -1
  372. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +2 -1
  373. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +39 -0
  374. package/lib/interaction/components/editors/edit-context.d.ts +3 -0
  375. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +24 -0
  376. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +57 -0
  377. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -0
  378. package/lib/interaction/components/input-activities/input-activity.d.ts +41 -0
  379. package/lib/interaction/components/input-activities/select-input-activity.d.ts +11 -3
  380. package/lib/interaction/components/input-activities/string-input-activity.d.ts +6 -2
  381. package/lib/interaction/exports.d.ts +5 -3
  382. package/lib/place/place-component.d.ts +6 -1
  383. package/lib/place/place-router.d.ts +2 -2
  384. package/package.json +16 -16
  385. package/schematics/activity/templates/component/__name@dasherize__.component.html.template +1 -1
  386. package/schematics/activity/templates/component/__name@dasherize__.component.ts.template +5 -3
  387. package/schematics/component/index.js +1 -1
  388. package/schematics/component/index.js.map +1 -1
  389. package/schematics/component/templates/component/__name@dasherize__.component.ts.template +1 -1
  390. package/schematics/place-routes/place-class-scanner.js +3 -1
  391. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  392. package/schematics/utils/build-context.d.ts +6 -3
  393. package/schematics/utils/build-context.js +3 -3
  394. package/schematics/utils/build-context.js.map +1 -1
  395. package/schematics/utils/workspace.d.ts +1 -0
  396. package/schematics/utils/workspace.js +11 -3
  397. package/schematics/utils/workspace.js.map +1 -1
  398. package/assets/activities.scss +0 -70
  399. package/cypress/components/aup-more-menu.d.ts +0 -4
  400. package/cypress/components/aup-popup-menu.d.ts +0 -7
  401. package/cypress/components/button-mixin.d.ts +0 -19
  402. package/cypress/section.d.ts +0 -52
  403. package/esm2015/cypress/components/aup-more-menu.js +0 -7
  404. package/esm2015/cypress/components/aup-more-menu.js.map +0 -1
  405. package/esm2015/cypress/components/aup-more-menu.metadata.json +0 -1
  406. package/esm2015/cypress/components/aup-popup-menu.js +0 -19
  407. package/esm2015/cypress/components/aup-popup-menu.js.map +0 -1
  408. package/esm2015/cypress/components/aup-popup-menu.metadata.json +0 -1
  409. package/esm2015/cypress/components/button-mixin.js +0 -15
  410. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  411. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
  412. package/esm2015/cypress/section.js +0 -72
  413. package/esm2015/cypress/section.js.map +0 -1
  414. package/esm2015/cypress/section.metadata.json +0 -1
  415. package/esm2015/lib/components/card-container/card-container.component.js +0 -84
  416. package/esm2015/lib/components/card-container/card-container.component.js.map +0 -1
  417. package/esm2015/lib/components/card-container/card-container.component.metadata.json +0 -1
  418. package/esm2015/lib/components/card-container/card-container.component.ngfactory.js.map +0 -1
  419. package/esm2015/lib/components/tables/tree-table/tree-node.js +0 -2
  420. package/esm2015/lib/components/tables/tree-table/tree-node.js.map +0 -1
  421. package/esm2015/lib/components/tables/tree-table/tree-node.metadata.json +0 -1
  422. package/esm2015/lib/components/tables/tree-table/visitable.class.js +0 -26
  423. package/esm2015/lib/components/tables/tree-table/visitable.class.js.map +0 -1
  424. package/esm2015/lib/components/tables/tree-table/visitable.class.metadata.json +0 -1
  425. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js +0 -43
  426. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.js.map +0 -1
  427. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.metadata.json +0 -1
  428. package/esm2015/lib/interaction/components/input-activities/abstract-input-activity.ngfactory.js.map +0 -1
  429. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js +0 -2
  430. package/esm2015/lib/interaction/components/input-activities/input-activity-data.js.map +0 -1
  431. package/esm2015/lib/interaction/components/input-activities/input-activity-data.metadata.json +0 -1
  432. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js +0 -2
  433. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.js.map +0 -1
  434. package/esm2015/lib/interaction/components/input-activities/select-input-activity-data.metadata.json +0 -1
  435. package/lib/components/tables/tree-table/tree-node.d.ts +0 -3
  436. package/lib/components/tables/tree-table/visitable.class.d.ts +0 -22
  437. package/lib/interaction/components/input-activities/abstract-input-activity.d.ts +0 -12
  438. package/lib/interaction/components/input-activities/input-activity-data.d.ts +0 -11
  439. package/lib/interaction/components/input-activities/select-input-activity-data.d.ts +0 -8
@@ -0,0 +1,14 @@
1
+ import { PageElement } from '../../page-element';
2
+ import { AupAbstractTable } from '../aup-abstract-table';
3
+ export class AupTableCell extends PageElement {
4
+ rowId() {
5
+ return this.dom().closest('tr').invoke('attr', 'aup-row-id');
6
+ }
7
+ row() {
8
+ const self = this;
9
+ return this.parent.createRow(parent => {
10
+ return self.rowId().then(rowId => parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId)));
11
+ });
12
+ }
13
+ }
14
+ //# sourceMappingURL=aup-table-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aup-table-cell.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,OAAO,YAAqC,SAAQ,WAAiC;IAEzF,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED,GAAG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableRow } from './aup-table-row';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableCell<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n rowId(): Chainable<string> {\n return this.dom().closest('tr').invoke('attr', 'aup-row-id');\n }\n\n row(): TR {\n const self = this;\n return this.parent.createRow(parent => {\n return self.rowId().then(rowId => parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId)));\n });\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupTableCell":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../page-element","name":"PageElement","line":5,"character":58},"arity":1,"members":{"rowId":[{"__symbolic":"method"}],"row":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,19 @@
1
+ import { PageElement } from '../../page-element';
2
+ import { AupAbstractTable } from '../aup-abstract-table';
3
+ import { AupTableCell } from './aup-table-cell';
4
+ export class AupTableColumn extends PageElement {
5
+ constructor(table, columnId) {
6
+ super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));
7
+ this.columnId = columnId;
8
+ }
9
+ cellContaining(content) {
10
+ const self = this;
11
+ return new AupTableCell(this.parent, parent => {
12
+ return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);
13
+ });
14
+ }
15
+ rowContaining(content) {
16
+ return this.cellContaining(content).row();
17
+ }
18
+ }
19
+ //# sourceMappingURL=aup-table-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aup-table-column.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,OAAO,cAAuC,SAAQ,WAAiC;IAE3F,YAAY,KAA4B,EAAW,QAAgB;QACjE,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAD7B,aAAQ,GAAR,QAAQ,CAAQ;IAEnE,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAC,MAAM,CAAC,EAAE;YAC3C,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableColumn<TR extends AupTableRow> extends PageElement<AupAbstractTable<TR>> {\n\n constructor(table: AupAbstractTable<any>, readonly columnId: string) {\n super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));\n }\n\n cellContaining(content: string): AupTableCell<TR> {\n const self = this;\n return new AupTableCell(this.parent,parent => {\n return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);\n });\n }\n\n rowContaining(content: string): TR {\n return this.cellContaining(content).row();\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupTableColumn":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../page-element","name":"PageElement","line":5,"character":60},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../aup-abstract-table","name":"AupAbstractTable","line":7,"character":21,"arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","name":"string"}]}],"cellContaining":[{"__symbolic":"method"}],"rowContaining":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,28 @@
1
+ /* tslint:disable:unified-signatures */
2
+ import { PageElement } from '../../page-element';
3
+ import { AupAbstractTable } from '../aup-abstract-table';
4
+ import { AupTableCell } from './aup-table-cell';
5
+ export class AupTableRow extends PageElement {
6
+ rowId() {
7
+ return this.dom()
8
+ .invoke('attr', 'aup-row-id');
9
+ }
10
+ shouldHaveRowId(rowId) {
11
+ this.rowId().should('eq', rowId);
12
+ }
13
+ cell(columnOrId) {
14
+ const self = this;
15
+ return new AupTableCell(this.parent, parent => {
16
+ return self.rowId()
17
+ .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))
18
+ .then(selector => parent.dom().find(selector));
19
+ });
20
+ }
21
+ shouldBeSelected() {
22
+ this.dom().should('have.class', 'aup-row-selected');
23
+ }
24
+ shouldNotBeSelected() {
25
+ this.dom().should('not.have.class', 'aup-row-selected');
26
+ }
27
+ }
28
+ //# sourceMappingURL=aup-table-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aup-table-row.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-row.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhD,MAAM,OAAO,WAAY,SAAQ,WAAkC;IAEjE,KAAK;QACH,OAAO,IAAI,CAAC,GAAG,EAAE;aACd,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAKD,IAAI,CAAC,UAAyC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC,KAAK,EAAE;iBAChB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;iBACrE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACtD,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;CAEF","sourcesContent":["/* tslint:disable:unified-signatures */\nimport { PageElement } from '../../page-element';\nimport { AupAbstractTable } from '../aup-abstract-table';\nimport { AupTableCell } from './aup-table-cell';\nimport { AupTableColumn } from './aup-table-column';\nimport { AupTableSelectionCell } from './aup-table-selection-cell';\nimport { AupTableSelectionColumn } from './aup-table-selection-column';\nimport Chainable = Cypress.Chainable;\n\nexport class AupTableRow extends PageElement<AupAbstractTable<any>> {\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): AupTableCell<this>\n cell(column: AupTableColumn<this>): AupTableCell<this>\n cell(column: AupTableSelectionColumn<this>): AupTableSelectionCell<this>\n cell(columnOrId: string | AupTableColumn<this>): AupTableCell<this> {\n const self = this;\n return new AupTableCell(this.parent, parent => {\n return self.rowId()\n .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))\n .then(selector => parent.dom().find(selector));\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"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupTableRow":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../page-element","name":"PageElement","line":9,"character":33},"members":{"rowId":[{"__symbolic":"method"}],"shouldHaveRowId":[{"__symbolic":"method"}],"cell":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"shouldBeSelected":[{"__symbolic":"method"}],"shouldNotBeSelected":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,6 @@
1
+ import { AupTableCell } from './aup-table-cell';
2
+ export class AupTableSelectionCell extends AupTableCell {
3
+ selectAll() {
4
+ }
5
+ }
6
+ //# sourceMappingURL=aup-table-selection-cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aup-table-selection-cell.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,OAAO,qBAA8C,SAAQ,YAAgB;IACjF,SAAS;IACT,CAAC;CACF","sourcesContent":["import { AupTableCell } from './aup-table-cell';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionCell<TR extends AupTableRow> extends AupTableCell<TR> {\n selectAll() {\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupTableSelectionCell":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./aup-table-cell","name":"AupTableCell","line":3,"character":67},"arity":1,"members":{"selectAll":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,6 @@
1
+ import { AupTableColumn } from './aup-table-column';
2
+ export class AupTableSelectionColumn extends AupTableColumn {
3
+ selectAll() {
4
+ }
5
+ }
6
+ //# sourceMappingURL=aup-table-selection-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aup-table-selection-column.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/cypress/src/components/table/aup-table-selection-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,OAAO,uBAAgD,SAAQ,cAAkB;IACrF,SAAS;IACT,CAAC;CACF","sourcesContent":["import { AupTableColumn } from './aup-table-column';\nimport { AupTableRow } from './aup-table-row';\n\nexport class AupTableSelectionColumn<TR extends AupTableRow> extends AupTableColumn<TR> {\n selectAll() {\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AupTableSelectionColumn":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./aup-table-column","name":"AupTableColumn","line":3,"character":69},"arity":1,"members":{"selectAll":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1,16 @@
1
+ export var ElementLocator;
2
+ (function (ElementLocator) {
3
+ function findByCssSelector(selector) {
4
+ return parent => parent.dom().find(selector);
5
+ }
6
+ ElementLocator.findByCssSelector = findByCssSelector;
7
+ function findByTextContent(text) {
8
+ return parent => parent.dom().contains(text);
9
+ }
10
+ ElementLocator.findByTextContent = findByTextContent;
11
+ function findBySelectorAndTextContent(selector, text) {
12
+ return parent => parent.dom().contains(selector, text);
13
+ }
14
+ ElementLocator.findBySelectorAndTextContent = findBySelectorAndTextContent;
15
+ })(ElementLocator || (ElementLocator = {}));
16
+ //# sourceMappingURL=element-locator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element-locator.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/element-locator.ts"],"names":[],"mappings":"AAIA,MAAM,KAAW,cAAc,CAc9B;AAdD,WAAiB,cAAc;IAE7B,SAAgB,iBAAiB,CAAC,QAAgB;QAChD,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAFe,gCAAiB,oBAEhC,CAAA;IAED,SAAgB,iBAAiB,CAAC,IAAY;QAC5C,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAFe,gCAAiB,oBAEhC,CAAA;IAED,SAAgB,4BAA4B,CAAC,QAAgB,EAAE,IAAY;QACzE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAFe,2CAA4B,+BAE3C,CAAA;AAEH,CAAC,EAdgB,cAAc,KAAd,cAAc,QAc9B","sourcesContent":["import { PageElement } from './page-element';\n\nexport type ElementLocator = (parent: PageElement) => Cypress.Chainable<JQuery>;\n\nexport namespace ElementLocator {\n\n export function findByCssSelector(selector: string): ElementLocator {\n return parent => parent.dom().find(selector)\n }\n\n export function findByTextContent(text: string): ElementLocator {\n return parent => parent.dom().contains(text);\n }\n\n export function findBySelectorAndTextContent(selector: string, text: string): ElementLocator {\n return parent => parent.dom().contains(selector, text);\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"ElementLocator":{"__symbolic":"interface"}}}]
@@ -1,20 +1,41 @@
1
1
  /**
2
2
  * @file Automatically generated by barrelsby.
3
3
  */
4
+ export * from "./component-builder";
5
+ export * from "./element-locator";
6
+ export * from "./page-builder";
4
7
  export * from "./page-element";
5
8
  export * from "./page";
6
9
  export * from "./path";
7
- export * from "./section";
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-dialog";
14
+ export * from "./components/aup-alert";
8
15
  export * from "./components/aup-command-face";
9
16
  export * from "./components/aup-command-group";
10
17
  export * from "./components/aup-command";
18
+ export * from "./components/aup-confirm-dialog";
19
+ export * from "./components/aup-confirm";
20
+ export * from "./components/aup-empty-state";
11
21
  export * from "./components/aup-input";
12
- export * from "./components/aup-more-menu";
22
+ export * from "./components/aup-modal-activity";
23
+ export * from "./components/aup-modal-mixin";
13
24
  export * from "./components/aup-navigation";
14
- export * from "./components/aup-popup-menu";
15
25
  export * from "./components/aup-table";
16
26
  export * from "./components/aup-tool-bar";
17
- export * from "./components/button-mixin";
27
+ export * from "./components/aup-tree-table";
18
28
  export * from "./components/button";
29
+ export * from "./components/form-element-mixin";
30
+ export * from "./components/mat-checkbox";
19
31
  export * from "./components/types";
32
+ export * from "./components/popup/aup-abstract-popup-menu";
33
+ export * from "./components/popup/aup-more-menu";
34
+ export * from "./components/popup/aup-popup-menu-panel";
35
+ export * from "./components/popup/aup-popup-menu";
36
+ export * from "./components/table/aup-table-cell";
37
+ export * from "./components/table/aup-table-column";
38
+ export * from "./components/table/aup-table-row";
39
+ export * from "./components/table/aup-table-selection-cell";
40
+ export * from "./components/table/aup-table-selection-column";
20
41
  //# 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,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
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/exports.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,qBAAqB,CAAC;AACpC,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,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,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,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,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 \"./component-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-dialog\";\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-confirm-dialog\";\nexport * from \"./components/aup-confirm\";\nexport * from \"./components/aup-empty-state\";\nexport * from \"./components/aup-input\";\nexport * from \"./components/aup-modal-activity\";\nexport * from \"./components/aup-modal-mixin\";\nexport * from \"./components/aup-navigation\";\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/popup/aup-abstract-popup-menu\";\nexport * from \"./components/popup/aup-more-menu\";\nexport * from \"./components/popup/aup-popup-menu-panel\";\nexport * from \"./components/popup/aup-popup-menu\";\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 +1 @@
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
+ [{"__symbolic":"module","version":4,"metadata":{},"exports":[{"from":"./component-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-dialog"},{"from":"./components/aup-alert"},{"from":"./components/aup-command-face"},{"from":"./components/aup-command-group"},{"from":"./components/aup-command"},{"from":"./components/aup-confirm-dialog"},{"from":"./components/aup-confirm"},{"from":"./components/aup-empty-state"},{"from":"./components/aup-input"},{"from":"./components/aup-modal-activity"},{"from":"./components/aup-modal-mixin"},{"from":"./components/aup-navigation"},{"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/popup/aup-abstract-popup-menu"},{"from":"./components/popup/aup-more-menu"},{"from":"./components/popup/aup-popup-menu-panel"},{"from":"./components/popup/aup-popup-menu"},{"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"}]}]
@@ -0,0 +1,16 @@
1
+ import { ComponentBuilder } from './component-builder';
2
+ import { AupAlertDialog } from './components/aup-alert-dialog';
3
+ import { AupConfirmDialog } from './components/aup-confirm-dialog';
4
+ import { AupModalActivity } from './components/aup-modal-activity';
5
+ export class PageBuilder extends ComponentBuilder {
6
+ aupModalActivity(selector, builder) {
7
+ return this.component(AupModalActivity, selector, builder);
8
+ }
9
+ aupModalAlert(builder) {
10
+ return this.component(AupAlertDialog, builder);
11
+ }
12
+ aupModelConfirm(builder) {
13
+ return this.component(AupConfirmDialog, builder);
14
+ }
15
+ }
16
+ //# sourceMappingURL=page-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-builder.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,OAAO,WAAY,SAAQ,gBAAgB;IAG/C,gBAAgB,CAAmB,QAAgB,EAAE,OAAgE;QACnH,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAmB,OAA+D;QAC7F,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAmB,OAAiE;QACjG,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACF","sourcesContent":["import { ComponentBuilder } from './component-builder';\nimport { AupAlertDialog } from './components/aup-alert-dialog';\nimport { AupConfirmDialog } from './components/aup-confirm-dialog';\nimport { AupModalActivity } from './components/aup-modal-activity';\n\nexport class PageBuilder extends ComponentBuilder {\n\n\n aupModalActivity<T extends object>(selector: string, builder: ComponentBuilder.ContainerCallback<T, AupModalActivity>): T & AupModalActivity {\n return this.component(AupModalActivity, selector, builder);\n }\n\n aupModalAlert<T extends object>(builder?: ComponentBuilder.ContainerCallback<T, AupAlertDialog>): T & AupAlertDialog {\n return this.component(AupAlertDialog, builder);\n }\n\n aupModelConfirm<T extends object>(builder?: ComponentBuilder.ContainerCallback<T, AupConfirmDialog>): T & AupConfirmDialog {\n return this.component(AupConfirmDialog, builder);\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"PageBuilder":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./component-builder","name":"ComponentBuilder","line":5,"character":33},"members":{"aupModalActivity":[{"__symbolic":"method"}],"aupModalAlert":[{"__symbolic":"method"}],"aupModelConfirm":[{"__symbolic":"method"}]}}}}]
@@ -1,25 +1,29 @@
1
- import { lang } from '@coolon/typescript-utilities';
1
+ import { Stringy } from '@coolon/typescript-utilities';
2
2
  import * as _ from 'lodash';
3
+ import { ElementLocator } from './element-locator';
3
4
  export class PageElement {
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.find(selector).should('not.exist')
9
- } : selector;
5
+ constructor(parent, selectorOrLocator) {
6
+ this.parent = parent;
7
+ this.domElementLocator = _.isNil(selectorOrLocator) ?
8
+ this.getDefaultElementLocator() :
9
+ _.isString(selectorOrLocator) ?
10
+ ElementLocator.findByCssSelector(selectorOrLocator) :
11
+ selectorOrLocator;
10
12
  }
11
- element() {
12
- const parent = this.getParentElement();
13
- return parent ? this.elementAccessStrategy.findIn(parent) : undefined;
13
+ getDefaultElementLocator() {
14
+ return ElementLocator.findByCssSelector(this.getDefaultElementSelector());
14
15
  }
15
- getParentElement() {
16
- return this.parentElementAccessor ? this.parentElementAccessor() : undefined;
16
+ getDefaultElementSelector() {
17
+ return Stringy.from(this.constructor.name).dasherize().toString();
18
+ }
19
+ dom() {
20
+ return this.domElementLocator(this.parent);
17
21
  }
18
22
  find(selector) {
19
- return new PageElement(() => this.element(), selector);
23
+ return new PageElement(this, selector);
20
24
  }
21
25
  click(text) {
22
- text ? this.element().contains(text).click() : this.element().click();
26
+ text ? this.dom().contains(text).click() : this.dom().click();
23
27
  }
24
28
  get should() {
25
29
  return this.getShoulder(this.getShouldElement());
@@ -28,16 +32,19 @@ export class PageElement {
28
32
  return element.should.bind(element);
29
33
  }
30
34
  getShouldElement() {
31
- return this.element();
35
+ return this.dom();
32
36
  }
33
37
  shouldBeVisible() {
34
38
  this.should('be.visible');
35
39
  }
36
40
  shouldNotBeVisible() {
37
- if (!this.elementAccessStrategy.shouldNotExist) {
38
- lang.abstractMethod(this.constructor);
39
- }
40
- this.elementAccessStrategy.shouldNotExist(this.getParentElement());
41
+ this.should('not.be.visible');
42
+ }
43
+ shouldExist() {
44
+ this.dom().should('exist');
45
+ }
46
+ shouldNotExist() {
47
+ this.dom().should('not.exist');
41
48
  }
42
49
  }
43
50
  //# 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":"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,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;SACvF,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.find(selector).should('not.exist')\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
+ {"version":3,"file":"page-element.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page-element.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,WAAW;IAOtB,YAAqB,MAAS,EAAE,iBAA2C;QAAtD,WAAM,GAAN,MAAM,CAAG;QAC5B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC7B,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACrD,iBAAiB,CAAC;IACxB,CAAC;IAED,wBAAwB;QACtB,OAAO,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,yBAAyB;QACvB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,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,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;CACF","sourcesContent":["/* tslint:disable:unified-signatures */\nimport Chainable = Cypress.Chainable;\nimport { Stringy } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ElementLocator } from './element-locator';\n\nexport class PageElement<P extends PageElement<any> = PageElement<any>> {\n\n readonly domElementLocator: ElementLocator;\n\n constructor(parent: P, selector?: string)\n constructor(parent: P, locator?: ElementLocator)\n constructor(parent: P, selectorOrLocator?: string | ElementLocator)\n constructor(readonly parent: P, selectorOrLocator?: string | ElementLocator) {\n this.domElementLocator = _.isNil(selectorOrLocator) ?\n this.getDefaultElementLocator() :\n _.isString(selectorOrLocator) ?\n ElementLocator.findByCssSelector(selectorOrLocator) :\n selectorOrLocator;\n }\n\n getDefaultElementLocator(): ElementLocator {\n return ElementLocator.findByCssSelector(this.getDefaultElementSelector());\n }\n\n getDefaultElementSelector() {\n return Stringy.from(this.constructor.name).dasherize().toString();\n }\n\n dom(): Chainable<JQuery> {\n return this.domElementLocator(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 this.dom().should('not.exist');\n }\n}\n"]}
@@ -1 +1 @@
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
+ [{"__symbolic":"module","version":4,"metadata":{"PageElement":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":10,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":11,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","module":"./element-locator","name":"ElementLocator","line":11,"character":35}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":12,"character":22,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]},{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":13,"character":31,"context":{"typeName":"P"}},{"__symbolic":"reference","name":"string"}]}],"getDefaultElementLocator":[{"__symbolic":"method"}],"getDefaultElementSelector":[{"__symbolic":"method"}],"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,15 +1,15 @@
1
1
  import { Mixin } from '@coolon/typescript-utilities';
2
2
  import * as _ from 'lodash';
3
+ import { PageBuilder } from './page-builder';
3
4
  import { PageElement } from './page-element';
4
5
  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
- element() {
12
+ dom() {
13
13
  return cy.get(this.rootElementSelector);
14
14
  }
15
15
  visit(visitParams, queryParams) {
@@ -19,7 +19,9 @@ export class Page extends PageElement {
19
19
  tryAndVisit(params, queryParams) {
20
20
  const path = this.path.toUrl(params !== null && params !== void 0 ? params : {});
21
21
  const queryString = queryParams ? `?${new URLSearchParams(queryParams).toString()}` : '';
22
- cy.visit(`/${path}${queryString}`);
22
+ const fullPath = `/${path}${queryString}`;
23
+ cy.log(`Visiting -> ${fullPath}`);
24
+ cy.visit(fullPath);
23
25
  }
24
26
  shouldHaveActivityIds(...ids) {
25
27
  cy.location('search').should('contain', `?aup-interactions=${ids.join('--')}`);
@@ -32,38 +34,48 @@ export class Page extends PageElement {
32
34
  }
33
35
  shouldBeActive(withParameters) {
34
36
  // Note: cy.window() doesn't return a promise... it's a chainable.
35
- cy["waitUntil"](() => {
37
+ cy['waitUntil'](() => {
36
38
  return cy.window().then(window => {
37
39
  return window['aup.PlaceRouter'] && !window['aup.PlaceRouter'].isNavigating();
38
40
  });
39
41
  });
40
42
  if (withParameters) {
41
- cy.location('pathname').then(path => {
42
- const urlParams = Path.extractVisitParameters(path);
43
- Object.keys(withParameters).forEach(param => {
44
- const expected = withParameters[param];
45
- // @ts-ignore
46
- expect(urlParams[param]).to.equal(expected);
47
- });
48
- });
43
+ this.shouldIncludeParameters(withParameters);
49
44
  }
50
45
  }
46
+ shouldIncludeParameters(parameters) {
47
+ cy.location('pathname').then(path => {
48
+ const urlParams = Path.extractVisitParameters(path);
49
+ Object.keys(parameters).forEach(param => {
50
+ const expected = parameters[param];
51
+ const actual = urlParams[param];
52
+ // cy.log(`${actual} - ${expected}`);
53
+ expect(urlParams[param]).to.equal(expected);
54
+ });
55
+ });
56
+ }
57
+ shouldNotHaveParameter(name) {
58
+ this.getUrlParameters().then(params => {
59
+ expect(params[name]).to.be.undefined;
60
+ });
61
+ }
62
+ getUrlParameters() {
63
+ return cy.location('pathname').then(path => Path.extractVisitParameters(path));
64
+ }
51
65
  }
52
66
  (function (Page) {
53
- function create(pathOrPathBuilder, page) {
67
+ function create(pathOrPathBuilder, builder) {
54
68
  const pathBuilder = new Path.Builder();
55
69
  if (_.isString(pathOrPathBuilder)) {
56
- pathOrPathBuilder.split("/").filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));
70
+ pathOrPathBuilder.split('/').filter(p => !_.isEmpty(p)).forEach(p => pathBuilder.segment(p));
57
71
  }
58
72
  else {
59
73
  pathOrPathBuilder(pathBuilder);
60
74
  }
61
- const builder = new PageBuilder(pathBuilder.getPath());
62
- return Mixin.createProxy(page(builder), builder);
75
+ const instance = new Page(pathBuilder.getPath());
76
+ const content = builder.call(instance, new PageBuilder(instance));
77
+ return Mixin.createProxy(content, instance);
63
78
  }
64
79
  Page.create = create;
65
- class PageBuilder extends Section.Mixin(Page) {
66
- }
67
- Page.PageBuilder = PageBuilder;
68
80
  })(Page || (Page = {}));
69
81
  //# 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 { 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
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../libs/angular-ui-powerups/cypress/src/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,IAAK,SAAQ,WAAW;IAInC,YAAqB,IAAU;QAC7B,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QADT,SAAI,GAAJ,IAAI,CAAM;QAFrB,wBAAmB,GAAG,MAAM,CAAC;IAIvC,CAAC;IAED,GAAG;QACD,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAoB,EAAE,WAAuC;QACjE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,MAAe,EAAE,WAAuC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;QAC1C,EAAE,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QAClC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED,qBAAqB,CAAC,GAAG,GAAa;QACpC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,wBAAwB;QACtB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,cAAuB;QACpC,kEAAkE;QAClE,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE;YACnB,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC/B,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;SAC9C;IACH,CAAC;IAED,uBAAuB,CAAC,UAAkB;QACxC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBAChC,qCAAqC;gBACrC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,IAAY;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,OAAO,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;CAEF;AAGD,WAAiB,IAAI;IAKnB,SAAgB,MAAM,CAAmB,iBAAiE,EAAE,OAAiE;QAC3K,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACjC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9F;aAAM;YACL,iBAAiB,CAAC,WAAW,CAAC,CAAC;SAChC;QACD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAa,CAAC;IAC1D,CAAC;IAVe,WAAM,SAUrB,CAAA;AACH,CAAC,EAhBgB,IAAI,KAAJ,IAAI,QAgBpB","sourcesContent":["import { Mixin } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { ComponentBuilder } from './component-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 const fullPath = `/${path}${queryString}`;\n cy.log(`Visiting -> ${fullPath}`);\n cy.visit(fullPath);\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 this.shouldIncludeParameters(withParameters);\n }\n }\n\n shouldIncludeParameters(parameters: object) {\n cy.location('pathname').then(path => {\n const urlParams = Path.extractVisitParameters(path);\n Object.keys(parameters).forEach(param => {\n const expected = parameters[param];\n const actual = urlParams[param];\n // cy.log(`${actual} - ${expected}`);\n expect(urlParams[param]).to.equal(expected);\n });\n });\n }\n\n shouldNotHaveParameter(name: string) {\n this.getUrlParameters().then(params => {\n expect(params[name]).to.be.undefined;\n });\n }\n\n getUrlParameters() {\n return cy.location('pathname').then(path => Path.extractVisitParameters(path));\n }\n\n}\n\n\nexport namespace Page {\n\n export function create<T extends object>(path: string, builder: ComponentBuilder.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: ComponentBuilder.ContainerCallback<T, Page, PageBuilder>): T & Page\n export function create<T extends object>(pathOrPathBuilder: string | ((pathBuilder: Path.Builder) => void), builder: ComponentBuilder.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 +1 @@
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"}]}}}}]
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"}],"shouldIncludeParameters":[{"__symbolic":"method"}],"shouldNotHaveParameter":[{"__symbolic":"method"}],"getUrlParameters":[{"__symbolic":"method"}]}}}}]
@@ -5,9 +5,11 @@ export class Path {
5
5
  this.segments = segments;
6
6
  }
7
7
  static extractVisitParameters(url) {
8
+ var _a, _b;
8
9
  let result = {};
9
10
  const urlTree = urlSerialiser.parse(url);
10
- urlTree.root.children.primary.segments.forEach(s => {
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 => {
11
13
  result = Object.assign(Object.assign({}, result), s.parameters);
12
14
  });
13
15
  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,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"]}
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"]}