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

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 (121) hide show
  1. package/bundles/coolon-angular-ui-powerups-cypress.umd.js +344 -119
  2. package/bundles/coolon-angular-ui-powerups-cypress.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.js +5 -4
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/cypress/builder.d.ts +11 -2
  7. package/cypress/components/aup-abstract-activity.d.ts +2 -1
  8. package/cypress/components/aup-abstract-table.d.ts +18 -0
  9. package/cypress/components/aup-activity.d.ts +2 -1
  10. package/cypress/components/aup-alert.d.ts +2 -1
  11. package/cypress/components/aup-command-face.d.ts +5 -4
  12. package/cypress/components/aup-command.d.ts +1 -1
  13. package/cypress/components/aup-modal-alert.d.ts +2 -1
  14. package/cypress/components/aup-popup-menu.d.ts +1 -2
  15. package/cypress/components/aup-table.d.ts +5 -15
  16. package/cypress/components/aup-tree-table.d.ts +16 -0
  17. package/cypress/components/button.d.ts +9 -7
  18. package/cypress/components/form-element-mixin.d.ts +20 -0
  19. package/cypress/components/mat-checkbox.d.ts +29 -0
  20. package/cypress/components/table/aup-table-cell.d.ts +9 -0
  21. package/cypress/components/table/aup-table-column.d.ts +10 -0
  22. package/cypress/components/table/aup-table-row.d.ts +17 -0
  23. package/cypress/components/table/aup-table-selection-cell.d.ts +5 -0
  24. package/cypress/components/table/aup-table-selection-column.d.ts +5 -0
  25. package/cypress/coolon-angular-ui-powerups-cypress.metadata.json +1 -1
  26. package/cypress/element-locator.d.ts +10 -0
  27. package/cypress/exports.d.ts +10 -1
  28. package/cypress/page-element.d.ts +9 -11
  29. package/cypress/page.d.ts +1 -1
  30. package/esm2015/cypress/builder.js +30 -18
  31. package/esm2015/cypress/builder.js.map +1 -1
  32. package/esm2015/cypress/builder.metadata.json +1 -1
  33. package/esm2015/cypress/components/aup-abstract-activity.js +1 -0
  34. package/esm2015/cypress/components/aup-abstract-activity.js.map +1 -1
  35. package/esm2015/cypress/components/aup-abstract-activity.metadata.json +1 -1
  36. package/esm2015/cypress/components/aup-abstract-table.js +54 -0
  37. package/esm2015/cypress/components/aup-abstract-table.js.map +1 -0
  38. package/esm2015/cypress/components/aup-abstract-table.metadata.json +1 -0
  39. package/esm2015/cypress/components/aup-activity.js.map +1 -1
  40. package/esm2015/cypress/components/aup-activity.metadata.json +1 -1
  41. package/esm2015/cypress/components/aup-alert.js.map +1 -1
  42. package/esm2015/cypress/components/aup-alert.metadata.json +1 -1
  43. package/esm2015/cypress/components/aup-command-face.js +6 -6
  44. package/esm2015/cypress/components/aup-command-face.js.map +1 -1
  45. package/esm2015/cypress/components/aup-command-face.metadata.json +1 -1
  46. package/esm2015/cypress/components/aup-command.js +3 -3
  47. package/esm2015/cypress/components/aup-command.js.map +1 -1
  48. package/esm2015/cypress/components/aup-command.metadata.json +1 -1
  49. package/esm2015/cypress/components/aup-empty-state.js +1 -1
  50. package/esm2015/cypress/components/aup-empty-state.js.map +1 -1
  51. package/esm2015/cypress/components/aup-input.js +5 -5
  52. package/esm2015/cypress/components/aup-input.js.map +1 -1
  53. package/esm2015/cypress/components/aup-modal-activity.js +1 -1
  54. package/esm2015/cypress/components/aup-modal-activity.js.map +1 -1
  55. package/esm2015/cypress/components/aup-modal-alert.js +1 -1
  56. package/esm2015/cypress/components/aup-modal-alert.js.map +1 -1
  57. package/esm2015/cypress/components/aup-modal-alert.metadata.json +1 -1
  58. package/esm2015/cypress/components/aup-navigation.js +1 -1
  59. package/esm2015/cypress/components/aup-navigation.js.map +1 -1
  60. package/esm2015/cypress/components/aup-popup-menu.js +3 -3
  61. package/esm2015/cypress/components/aup-popup-menu.js.map +1 -1
  62. package/esm2015/cypress/components/aup-popup-menu.metadata.json +1 -1
  63. package/esm2015/cypress/components/aup-table.js +5 -33
  64. package/esm2015/cypress/components/aup-table.js.map +1 -1
  65. package/esm2015/cypress/components/aup-table.metadata.json +1 -1
  66. package/esm2015/cypress/components/aup-tree-table.js +34 -0
  67. package/esm2015/cypress/components/aup-tree-table.js.map +1 -0
  68. package/esm2015/cypress/components/aup-tree-table.metadata.json +1 -0
  69. package/esm2015/cypress/components/button.js +4 -10
  70. package/esm2015/cypress/components/button.js.map +1 -1
  71. package/esm2015/cypress/components/button.metadata.json +1 -1
  72. package/esm2015/cypress/components/form-element-mixin.js +11 -0
  73. package/esm2015/cypress/components/form-element-mixin.js.map +1 -0
  74. package/esm2015/cypress/components/form-element-mixin.metadata.json +1 -0
  75. package/esm2015/cypress/components/mat-checkbox.js +34 -0
  76. package/esm2015/cypress/components/mat-checkbox.js.map +1 -0
  77. package/esm2015/cypress/components/mat-checkbox.metadata.json +1 -0
  78. package/esm2015/cypress/components/table/aup-table-cell.js +18 -0
  79. package/esm2015/cypress/components/table/aup-table-cell.js.map +1 -0
  80. package/esm2015/cypress/components/table/aup-table-cell.metadata.json +1 -0
  81. package/esm2015/cypress/components/table/aup-table-column.js +21 -0
  82. package/esm2015/cypress/components/table/aup-table-column.js.map +1 -0
  83. package/esm2015/cypress/components/table/aup-table-column.metadata.json +1 -0
  84. package/esm2015/cypress/components/table/aup-table-row.js +30 -0
  85. package/esm2015/cypress/components/table/aup-table-row.js.map +1 -0
  86. package/esm2015/cypress/components/table/aup-table-row.metadata.json +1 -0
  87. package/esm2015/cypress/components/table/aup-table-selection-cell.js +6 -0
  88. package/esm2015/cypress/components/table/aup-table-selection-cell.js.map +1 -0
  89. package/esm2015/cypress/components/table/aup-table-selection-cell.metadata.json +1 -0
  90. package/esm2015/cypress/components/table/aup-table-selection-column.js +6 -0
  91. package/esm2015/cypress/components/table/aup-table-selection-column.js.map +1 -0
  92. package/esm2015/cypress/components/table/aup-table-selection-column.metadata.json +1 -0
  93. package/esm2015/cypress/element-locator.js +22 -0
  94. package/esm2015/cypress/element-locator.js.map +1 -0
  95. package/esm2015/cypress/element-locator.metadata.json +1 -0
  96. package/esm2015/cypress/exports.js +10 -1
  97. package/esm2015/cypress/exports.js.map +1 -1
  98. package/esm2015/cypress/exports.metadata.json +1 -1
  99. package/esm2015/cypress/page-element.js +21 -18
  100. package/esm2015/cypress/page-element.js.map +1 -1
  101. package/esm2015/cypress/page-element.metadata.json +1 -1
  102. package/esm2015/cypress/page.js +1 -1
  103. package/esm2015/cypress/page.js.map +1 -1
  104. package/esm2015/cypress/page.metadata.json +1 -1
  105. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js +4 -4
  106. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js.map +1 -1
  107. package/esm2015/lib/components/tables/tree-table/flattened-tree-list-model.metadata.json +1 -1
  108. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +1 -0
  109. package/esm2015/lib/components/tables/tree-table/tree-table-model.js.map +1 -1
  110. package/esm2015/lib/components/tables/tree-table/tree-table-model.metadata.json +1 -1
  111. package/fesm2015/coolon-angular-ui-powerups-cypress.js +269 -94
  112. package/fesm2015/coolon-angular-ui-powerups-cypress.js.map +1 -1
  113. package/fesm2015/coolon-angular-ui-powerups.js +5 -4
  114. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  115. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +0 -1
  116. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  117. package/package.json +1 -1
  118. package/cypress/components/button-mixin.d.ts +0 -19
  119. package/esm2015/cypress/components/button-mixin.js +0 -15
  120. package/esm2015/cypress/components/button-mixin.js.map +0 -1
  121. package/esm2015/cypress/components/button-mixin.metadata.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tree-table-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListModel, MutableValueModel, SelectionModel, ValueModel } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { AbstractTableModel } from '../abstract-table-model';\nimport { SelectionColumnModel } from '../table/column-model';\nimport { DecoratedTreeNode } from './decorated-tree-node';\nimport { FlattenedTreeListModel } from './flattened-tree-list-model';\nimport { TreeExpansionModel } from './tree-expansion-model';\nimport { TreeLabelColumnModel } from './tree-label-column-model';\n\nexport type ChildArrayPropertiesOf<T> = { [K in keyof T]: T[K] extends T[] ? K : never }[keyof T];\n\n// TODO:\n// Selection Models:\n// - as simple navigation tree\n// - as editable grid (selecte all, even hidden etc?)\n// - fixing selection on underlying model changes.\n// - rendering selection: row highlighting, checkboxes (in the tree renderer or in separate column), both.\n// Expansion Models:\n// - Add ability to auto show to depth\n// - Add a predicate to check default expansion (i.e. has children of a certain type)\n//\nexport class TreeTableModel<Row> extends AbstractTableModel<Row> {\n\n readonly treeExpansionModel = new TreeExpansionModel<Row>(row => this.identityOf(row));\n private readonly flattenedDataSource: FlattenedTreeListModel<Row>;\n\n constructor(source: ListModel<Row>, childAccessor: ChildArrayPropertiesOf<Row> | ((node: Row) => Row[]), builder?: (model: TreeTableModel<Row>) => void) {\n super();\n if (builder) builder(this);\n const childExtractor = _.isFunction(childAccessor) ? childAccessor : row => row[childAccessor];\n this.flattenedDataSource = this.registerDisposable(new FlattenedTreeListModel<Row>(source, childExtractor, this.treeExpansionModel));\n this.setDataSource(this.flattenedDataSource);\n }\n\n treeControlColumn(builder: (column: TreeLabelColumnModel<Row>) => void) {\n const columnId = 'tree-label';\n const column = new TreeLabelColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId), this.treeExpansionModel);\n builder(column);\n this.addColumn(column);\n }\n\n expand(node: DecoratedTreeNode<Row>) {\n this.treeExpansionModel.expand(node);\n }\n\n collapse(node: DecoratedTreeNode<Row>) {\n this.treeExpansionModel.expand(node);\n }\n\n isCollapsed(node: DecoratedTreeNode<Row>): boolean {\n return this.treeExpansionModel.isCollapsed(node);\n }\n\n ensureAncestorsAndSelfVisible(node: DecoratedTreeNode<Row>) {\n this.treeExpansionModel.ensureAncestorsAndSelfVisible(node);\n }\n\n addSelectionColumn(selectionModel?: SelectionModel<Row>, showSelectionColumn?: ValueModel<boolean> | boolean): SelectionColumnModel<Row> {\n return this._addSelectionColumn(selectionModel, showSelectionColumn);\n }\n\n // saveSelection() {\n // let ids: number[] = [];\n // const selectedArea = this._decoratedSelectionModel.leadSelection.value;\n // if (selectedArea) {\n // ids.push(selectedArea.id);\n // ids = ids.concat(selectedArea.siblingsAfter().map(a => a.id));\n // ids = ids.concat(selectedArea.siblingsBefore().reverse().map(a => a.id));\n // ids = ids.concat(selectedArea.ancestorsToZone().reverse().map(a => a.id));\n // }\n // this._storedSelection = ids;\n // }\n //\n //\n // restoreSelection() {\n // const all = this.rootNodeModel.value.selfAndDescendants();\n // for (let i = 0; i < this._storedSelection.length; i++) {\n // const id = this._storedSelection[i];\n // const found = all.find(area => area.id === id);\n // if (found) {\n // this.selectedAreaId.value = found.id;\n // break;\n // }\n // }\n // }\n //\n // collapseAll(areas: T[]) {\n // this.collapsedAreaIds.value = [].concat(this.collapsedAreaIds.value, areas.map(a => a.id));\n // }\n\n // disableSelection(disable: boolean = true) {\n // this._disableSelection.value = disable;\n // }\n\n\n}\n\n\nexport namespace TreeTableModel {\n\n export interface Options<T, K extends keyof T> {\n storeIdIn: MutableValueModel<K>\n }\n\n export type IconFactory<Row> = (node: Row, expanded: boolean, defaultIcon: string) => string;\n\n}\n\n\n// export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {\n//\n// private _areas: T[] = [];\n// private _collapsed: Set<T>;\n//\n// constructor(private collapsedIds: T[]) {\n// super();\n// this._collapsed = new Set<T>(collapsedIds);\n// }\n//\n// protected onVisit(it: T) {\n// this._areas.push(it);\n// }\n//\n// protected shouldVisitChildrenOf(it: T): boolean {\n// return !this._collapsed.has(it);\n// }\n//\n// get flattenedAreas(): T[] {\n// return this._areas;\n// }\n//\n// }\n\n// class DecoratorCache {\n//\n// private map = new Map<number, T>();\n//\n// get(area:T): T {\n//\n// if (!area) return null;\n//\n// let decoratedArea = this.map.get(area.id);\n// if (!decoratedArea) {\n// decoratedArea = TreeModel.AreaDecorator.decorate(area);\n// this.map.set(area.id, decoratedArea);\n// }\n// return decoratedArea;\n// }\n//\n// clear() {\n// this.map.clear();\n// }\n//\n//\n// }\n\n\n\n\n"]}
1
+ {"version":3,"file":"tree-table-model.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/tables/tree-table/tree-table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListModel, MutableValueModel, SelectionModel, ValueModel } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { AbstractTableModel } from '../abstract-table-model';\nimport { SelectionColumnModel } from '../table/column-model';\nimport { FlattenedTreeListModel } from './flattened-tree-list-model';\nimport { TreeExpansionModel } from './tree-expansion-model';\nimport { TreeLabelColumnModel } from './tree-label-column-model';\n\nexport type ChildArrayPropertiesOf<T> = { [K in keyof T]: T[K] extends T[] ? K : never }[keyof T];\n\n// TODO:\n// Selection Models:\n// - as simple navigation tree\n// - as editable grid (selecte all, even hidden etc?)\n// - fixing selection on underlying model changes.\n// - rendering selection: row highlighting, checkboxes (in the tree renderer or in separate column), both.\n// Expansion Models:\n// - Add ability to auto show to depth\n// - Add a predicate to check default expansion (i.e. has children of a certain type)\n//\nexport class TreeTableModel<Row> extends AbstractTableModel<Row> {\n\n readonly treeExpansionModel = new TreeExpansionModel<Row>(row => this.identityOf(row));\n private readonly flattenedDataSource: FlattenedTreeListModel<Row>;\n\n constructor(source: ListModel<Row>, childAccessor: ChildArrayPropertiesOf<Row> | ((node: Row) => Row[]), builder?: (model: TreeTableModel<Row>) => void) {\n super();\n if (builder) builder(this);\n const childExtractor = _.isFunction(childAccessor) ? childAccessor : row => row[childAccessor];\n this.flattenedDataSource = this.registerDisposable(new FlattenedTreeListModel<Row>(source, childExtractor, this.treeExpansionModel));\n this.setDataSource(this.flattenedDataSource);\n\n this.addRowClass('aup-node-collapsed', row => this.isCollapsed(row));\n }\n\n treeControlColumn(builder: (column: TreeLabelColumnModel<Row>) => void) {\n const columnId = 'tree-label';\n const column = new TreeLabelColumnModel<Row>(columnId, () => this.getColumnTextProperties(columnId), this.treeExpansionModel);\n builder(column);\n this.addColumn(column);\n }\n\n expand(node: Row) {\n this.treeExpansionModel.expand(node);\n }\n\n collapse(node: Row) {\n this.treeExpansionModel.expand(node);\n }\n\n isCollapsed(node: Row): boolean {\n return this.treeExpansionModel.isCollapsed(node);\n }\n\n ensureAncestorsAndSelfVisible(node: Row) {\n this.treeExpansionModel.ensureAncestorsAndSelfVisible(node);\n }\n\n addSelectionColumn(selectionModel?: SelectionModel<Row>, showSelectionColumn?: ValueModel<boolean> | boolean): SelectionColumnModel<Row> {\n return this._addSelectionColumn(selectionModel, showSelectionColumn);\n }\n\n // saveSelection() {\n // let ids: number[] = [];\n // const selectedArea = this._decoratedSelectionModel.leadSelection.value;\n // if (selectedArea) {\n // ids.push(selectedArea.id);\n // ids = ids.concat(selectedArea.siblingsAfter().map(a => a.id));\n // ids = ids.concat(selectedArea.siblingsBefore().reverse().map(a => a.id));\n // ids = ids.concat(selectedArea.ancestorsToZone().reverse().map(a => a.id));\n // }\n // this._storedSelection = ids;\n // }\n //\n //\n // restoreSelection() {\n // const all = this.rootNodeModel.value.selfAndDescendants();\n // for (let i = 0; i < this._storedSelection.length; i++) {\n // const id = this._storedSelection[i];\n // const found = all.find(area => area.id === id);\n // if (found) {\n // this.selectedAreaId.value = found.id;\n // break;\n // }\n // }\n // }\n //\n // collapseAll(areas: T[]) {\n // this.collapsedAreaIds.value = [].concat(this.collapsedAreaIds.value, areas.map(a => a.id));\n // }\n\n // disableSelection(disable: boolean = true) {\n // this._disableSelection.value = disable;\n // }\n\n\n}\n\n\nexport namespace TreeTableModel {\n\n export interface Options<T, K extends keyof T> {\n storeIdIn: MutableValueModel<K>\n }\n\n export type IconFactory<Row> = (node: Row, expanded: boolean, defaultIcon: string) => string;\n\n}\n\n\n// export class FlattenStrategy<T extends VisitableTree<any>> extends SelfAndDescendantsVisitor<T> {\n//\n// private _areas: T[] = [];\n// private _collapsed: Set<T>;\n//\n// constructor(private collapsedIds: T[]) {\n// super();\n// this._collapsed = new Set<T>(collapsedIds);\n// }\n//\n// protected onVisit(it: T) {\n// this._areas.push(it);\n// }\n//\n// protected shouldVisitChildrenOf(it: T): boolean {\n// return !this._collapsed.has(it);\n// }\n//\n// get flattenedAreas(): T[] {\n// return this._areas;\n// }\n//\n// }\n\n// class DecoratorCache {\n//\n// private map = new Map<number, T>();\n//\n// get(area:T): T {\n//\n// if (!area) return null;\n//\n// let decoratedArea = this.map.get(area.id);\n// if (!decoratedArea) {\n// decoratedArea = TreeModel.AreaDecorator.decorate(area);\n// this.map.set(area.id, decoratedArea);\n// }\n// return decoratedArea;\n// }\n//\n// clear() {\n// this.map.clear();\n// }\n//\n//\n// }\n\n\n\n\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ChildArrayPropertiesOf":{"__symbolic":"interface"},"TreeTableModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-table-model","name":"AbstractTableModel","line":21,"character":41},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"ListModel","line":26,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":26,"character":32,"context":{"typeName":"Row"}}]},{"__symbolic":"error","message":"Could not resolve type","line":26,"character":53,"context":{"typeName":"ChildArrayPropertiesOf"}},{"__symbolic":"error","message":"Expression form not supported","line":26,"character":117}]}],"treeControlColumn":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"isCollapsed":[{"__symbolic":"method"}],"ensureAncestorsAndSelfVisible":[{"__symbolic":"method"}],"addSelectionColumn":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ChildArrayPropertiesOf":{"__symbolic":"interface"},"TreeTableModel":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-table-model","name":"AbstractTableModel","line":20,"character":41},"arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@coolon/pectin","name":"ListModel","line":25,"character":22,"arguments":[{"__symbolic":"error","message":"Could not resolve type","line":25,"character":32,"context":{"typeName":"Row"}}]},{"__symbolic":"error","message":"Could not resolve type","line":25,"character":53,"context":{"typeName":"ChildArrayPropertiesOf"}},{"__symbolic":"error","message":"Expression form not supported","line":25,"character":117}]}],"treeControlColumn":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"collapse":[{"__symbolic":"method"}],"isCollapsed":[{"__symbolic":"method"}],"ensureAncestorsAndSelfVisible":[{"__symbolic":"method"}],"addSelectionColumn":[{"__symbolic":"method"}]}}}}]
@@ -1,27 +1,46 @@
1
1
  import { lang, Mixin } from '@coolon/typescript-utilities';
2
2
  import * as _ from 'lodash';
3
+ import { __decorate, __metadata } from 'tslib';
4
+ import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
3
5
  import { DefaultUrlSerializer } from '@angular/router';
4
6
 
5
- class PageElement {
6
- constructor(parent, selector) {
7
- this.parentElementAccessor = parent instanceof PageElement ? () => parent.element() : parent;
8
- this.elementAccessStrategy = _.isString(selector) ? {
9
- findIn: p => p.find(selector),
10
- shouldNotExist: (p) => p.find(selector).should('not.exist')
11
- } : selector;
7
+ var ElementLocator;
8
+ (function (ElementLocator) {
9
+ function findByCssSelector(selector) {
10
+ return {
11
+ findIn: parent => parent.dom().find(selector),
12
+ shouldNotExist: (p) => p.dom().find(selector).should('not.exist')
13
+ };
14
+ }
15
+ ElementLocator.findByCssSelector = findByCssSelector;
16
+ function findByTextContent(selector, text) {
17
+ return {
18
+ findIn(parent) {
19
+ return parent.dom().contains(selector, text);
20
+ },
21
+ shouldNotExist(parent) {
22
+ return parent.dom().should('not.contain', text);
23
+ }
24
+ };
12
25
  }
13
- element() {
14
- const parent = this.getParentElement();
15
- return parent ? this.elementAccessStrategy.findIn(parent) : undefined;
26
+ ElementLocator.findByTextContent = findByTextContent;
27
+ })(ElementLocator || (ElementLocator = {}));
28
+
29
+ class PageElement {
30
+ constructor(parent, selectorOrLocator) {
31
+ this.parent = parent;
32
+ this.elementAccessStrategy = _.isString(selectorOrLocator) ?
33
+ ElementLocator.findByCssSelector(selectorOrLocator) :
34
+ selectorOrLocator;
16
35
  }
17
- getParentElement() {
18
- return this.parentElementAccessor ? this.parentElementAccessor() : undefined;
36
+ dom() {
37
+ return this.elementAccessStrategy.findIn(this.parent);
19
38
  }
20
39
  find(selector) {
21
- return new PageElement(() => this.element(), selector);
40
+ return new PageElement(this, selector);
22
41
  }
23
42
  click(text) {
24
- text ? this.element().contains(text).click() : this.element().click();
43
+ text ? this.dom().contains(text).click() : this.dom().click();
25
44
  }
26
45
  get should() {
27
46
  return this.getShoulder(this.getShouldElement());
@@ -30,28 +49,36 @@ class PageElement {
30
49
  return element.should.bind(element);
31
50
  }
32
51
  getShouldElement() {
33
- return this.element();
52
+ return this.dom();
34
53
  }
35
54
  shouldBeVisible() {
36
55
  this.should('be.visible');
37
56
  }
38
57
  shouldNotBeVisible() {
58
+ this.should('not.be.visible');
59
+ }
60
+ shouldExist() {
61
+ this.dom().should('exist');
62
+ }
63
+ shouldNotExist() {
39
64
  if (!this.elementAccessStrategy.shouldNotExist) {
40
- lang.abstractMethod(this.constructor);
65
+ this.dom().should('not.exist');
66
+ }
67
+ else {
68
+ this.elementAccessStrategy.shouldNotExist(this.parent);
41
69
  }
42
- this.elementAccessStrategy.shouldNotExist(this.getParentElement());
43
70
  }
44
71
  }
45
72
 
46
- class FaceAccessor {
73
+ class FaceElementLocator {
47
74
  constructor(face) {
48
75
  this.face = face;
49
76
  }
50
77
  findIn(parent) {
51
78
  return this.face.text ?
52
- parent.contains(`aup-command-face`, this.face.text()) :
79
+ parent.dom().contains(`aup-command-face`, this.face.text()) :
53
80
  this.face.icon ?
54
- parent.find(`aup-icon[ng-reflect-icon=${this.face.icon()}]`).closest('aup-command-face') :
81
+ parent.dom().find(`aup-icon[ng-reflect-icon=${this.face.icon()}]`).closest('aup-command-face') :
55
82
  undefined;
56
83
  }
57
84
  shouldNotExist(parent) {
@@ -64,10 +91,10 @@ class FaceAccessor {
64
91
  }
65
92
  class AupCommandFace extends PageElement {
66
93
  constructor(parentElement, face) {
67
- super(() => parentElement.element(), AupCommandFace.createAccessor(face));
94
+ super(parentElement, AupCommandFace.createElementLocator(face));
68
95
  }
69
- static createAccessor(face) {
70
- return new FaceAccessor(face);
96
+ static createElementLocator(face) {
97
+ return new FaceElementLocator(face);
71
98
  }
72
99
  }
73
100
 
@@ -76,10 +103,10 @@ class AupCommand extends PageElement {
76
103
  super(parent, {
77
104
  findIn(parentElement) {
78
105
  if (_.isString(faceOrSelector)) {
79
- return parentElement.find(faceOrSelector);
106
+ return parentElement.dom().find(faceOrSelector);
80
107
  }
81
108
  else {
82
- return AupCommandFace.createAccessor(faceOrSelector).findIn(parentElement).closest('aup-command');
109
+ return AupCommandFace.createElementLocator(faceOrSelector).findIn(parentElement).closest('aup-command');
83
110
  }
84
111
  },
85
112
  shouldNotExist(parentElement) {
@@ -97,25 +124,25 @@ class AupCommand extends PageElement {
97
124
  this.getButton().should('be.disabled');
98
125
  }
99
126
  getButton() {
100
- return this.element().find('button');
127
+ return this.dom().find('button');
101
128
  }
102
129
  }
103
130
 
104
131
  class AupEmptyState extends PageElement {
105
132
  shouldContainText(text) {
106
- this.element().should("contain.text", text);
133
+ this.dom().should("contain.text", text);
107
134
  }
108
135
  }
109
136
 
110
137
  class AupInput extends PageElement {
111
138
  label() {
112
- return this.element().find('label');
139
+ return this.dom().find('label');
113
140
  }
114
141
  hint() {
115
- return this.element().find('mat-hint');
142
+ return this.dom().find('mat-hint');
116
143
  }
117
144
  error() {
118
- return this.element().find('mat-error');
145
+ return this.dom().find('mat-error');
119
146
  }
120
147
  get labelShould() {
121
148
  return this.getShoulder(this.label());
@@ -151,7 +178,7 @@ class AupInput extends PageElement {
151
178
  (function (AupInput) {
152
179
  class HtmlInput extends AupInput {
153
180
  input() {
154
- return this.element().find('input');
181
+ return this.dom().find('input');
155
182
  }
156
183
  clear() {
157
184
  this.input().clear();
@@ -172,7 +199,7 @@ class AupInput extends PageElement {
172
199
  return this.input();
173
200
  }
174
201
  input() {
175
- return this.element().find('textarea');
202
+ return this.dom().find('textarea');
176
203
  }
177
204
  clear() {
178
205
  this.input().clear();
@@ -198,115 +225,257 @@ class AupNavigation extends PageElement {
198
225
  this.face(label).shouldBeVisible();
199
226
  }
200
227
  shouldNotHaveLink(label) {
201
- this.face(label).shouldNotBeVisible();
228
+ this.face(label).shouldNotExist();
202
229
  }
203
230
  }
204
231
 
205
- class AupTable extends PageElement {
206
- constructor(parentElementAccessor, selector) {
207
- super(parentElementAccessor, selector);
232
+ class AupTableCell extends PageElement {
233
+ rowId() {
234
+ return this.dom().closest('tr').invoke('attr', 'aup-row-id');
235
+ }
236
+ row() {
237
+ const self = this;
238
+ return this.parent.createRow({
239
+ findIn(parent) {
240
+ return self.rowId().then(rowId => {
241
+ return parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId));
242
+ });
243
+ }
244
+ });
208
245
  }
246
+ }
247
+
248
+ class AupTableColumn extends PageElement {
249
+ constructor(table, columnId) {
250
+ super(table, AupAbstractTable.cssSelectorForColumnCellRendererById(columnId));
251
+ this.columnId = columnId;
252
+ }
253
+ cellContaining(content) {
254
+ const self = this;
255
+ return new AupTableCell(this.parent, {
256
+ findIn(parent) {
257
+ return parent.dom().contains(AupAbstractTable.cssSelectorForColumnCellRendererById(self.columnId), content);
258
+ }
259
+ });
260
+ }
261
+ rowContaining(content) {
262
+ return this.cellContaining(content).row();
263
+ }
264
+ }
265
+
266
+ class AupTableSelectionColumn extends AupTableColumn {
267
+ selectAll() {
268
+ }
269
+ }
270
+
271
+ class AupAbstractTable extends PageElement {
209
272
  row(rowId) {
210
- return new AupTable.Row(() => this.element(), `tr[aup-table-id=${rowId}]`);
273
+ return this.createRow({
274
+ findIn(parent) {
275
+ return parent.dom().find(AupAbstractTable.cssSelectorForTableRowById(rowId));
276
+ }
277
+ });
278
+ }
279
+ rowNumber(rowNumber) {
280
+ return this.createRow({
281
+ findIn(parent) {
282
+ return parent.dom().find(AupAbstractTable.cssSelectorForNthTableRow(rowNumber));
283
+ }
284
+ });
211
285
  }
212
286
  column(columnId) {
213
- return new AupTable.Column(this, columnId);
287
+ return new AupTableColumn(this, columnId);
288
+ }
289
+ get selectionColumn() {
290
+ return new AupTableSelectionColumn(this, 'selection-column');
291
+ }
292
+ }
293
+ __decorate([
294
+ Memoize(),
295
+ __metadata("design:type", AupTableSelectionColumn),
296
+ __metadata("design:paramtypes", [])
297
+ ], AupAbstractTable.prototype, "selectionColumn", null);
298
+ (function (AupAbstractTable) {
299
+ function cssSelectorForTableRowById(rowId) {
300
+ return `tbody tr[aup-row-id=${rowId}]`;
301
+ }
302
+ AupAbstractTable.cssSelectorForTableRowById = cssSelectorForTableRowById;
303
+ function cssSelectorForNthTableRow(rowNumber) {
304
+ return `tbody tr:nth-child(${rowNumber})`;
305
+ }
306
+ AupAbstractTable.cssSelectorForNthTableRow = cssSelectorForNthTableRow;
307
+ function cssSelectorForColumnCellRendererById(columnOrId) {
308
+ const columnId = _.isString(columnOrId) ? columnOrId : columnOrId.columnId;
309
+ return `aup-table-cell-renderer[column-id=${columnId}]`;
310
+ }
311
+ AupAbstractTable.cssSelectorForColumnCellRendererById = cssSelectorForColumnCellRendererById;
312
+ function cssSelectorForCell(rowId, columnOrId) {
313
+ return `${cssSelectorForTableRowById(rowId)} ${cssSelectorForColumnCellRendererById(columnOrId)}`;
314
+ }
315
+ AupAbstractTable.cssSelectorForCell = cssSelectorForCell;
316
+ })(AupAbstractTable || (AupAbstractTable = {}));
317
+
318
+ /* tslint:disable:unified-signatures */
319
+ class AupTableRow extends PageElement {
320
+ rowId() {
321
+ return this.dom()
322
+ .invoke('attr', 'aup-row-id');
323
+ }
324
+ shouldHaveRowId(rowId) {
325
+ this.rowId().should('eq', rowId);
326
+ }
327
+ cell(columnOrId) {
328
+ const self = this;
329
+ return new AupTableCell(this.parent, {
330
+ findIn(parent) {
331
+ return self.rowId()
332
+ .then(rowId => AupAbstractTable.cssSelectorForCell(rowId, columnOrId))
333
+ .then(selector => parent.dom().find(selector));
334
+ }
335
+ });
336
+ }
337
+ shouldBeSelected() {
338
+ this.dom().should('have.class', 'aup-row-selected');
339
+ }
340
+ shouldNotBeSelected() {
341
+ this.dom().should('not.have.class', 'aup-row-selected');
342
+ }
343
+ }
344
+
345
+ class AupTable extends AupAbstractTable {
346
+ createRow(locator) {
347
+ return new AupTableRow(this, locator);
348
+ }
349
+ }
350
+
351
+ class AupTreeTable extends AupAbstractTable {
352
+ get treeControlColumn() {
353
+ return new AupTreeTable.TreeControlColumn(this, 'tree-label');
354
+ }
355
+ createRow(locator) {
356
+ return new AupTreeTable.Row(this, locator);
214
357
  }
215
358
  }
216
- (function (AupTable) {
217
- class Row extends PageElement {
218
- }
219
- AupTable.Row = Row;
220
- class Column {
221
- constructor(table, columnId) {
222
- this.table = table;
223
- this.columnId = columnId;
359
+ __decorate([
360
+ Memoize(),
361
+ __metadata("design:type", AupTreeTable.TreeControlColumn),
362
+ __metadata("design:paramtypes", [])
363
+ ], AupTreeTable.prototype, "treeControlColumn", null);
364
+ (function (AupTreeTable) {
365
+ class Row extends AupTableRow {
366
+ shouldBeExpanded() {
367
+ this.dom().should("not.have.class", "aup-node-collapsed");
224
368
  }
225
- cell(content) {
226
- const self = this;
227
- return new Cell(this.table, {
228
- findIn(parent) {
229
- return parent.contains(`aup-table-cell-renderer[column-id=${self.columnId}]`, content);
230
- }
231
- });
369
+ shouldBeCollapsed() {
370
+ this.dom().should("have.class", "aup-node-collapsed");
232
371
  }
233
372
  }
234
- AupTable.Column = Column;
235
- class Cell extends PageElement {
373
+ AupTreeTable.Row = Row;
374
+ class TreeControlColumn extends AupTableColumn {
236
375
  }
237
- AupTable.Cell = Cell;
238
- })(AupTable || (AupTable = {}));
376
+ AupTreeTable.TreeControlColumn = TreeControlColumn;
377
+ })(AupTreeTable || (AupTreeTable = {}));
239
378
 
240
- function ButtonMixin(Base) {
379
+ function FormElementMixin(Base) {
241
380
  return class extends Base {
242
381
  constructor(...args) {
243
382
  super(...args);
244
383
  }
245
- click() {
246
- return this.element().click();
247
- }
248
384
  shouldBeDisabled() {
249
385
  this.should("be.disabled");
250
- // this.should("have.css", "color", "rgba(0,0,0,0.26)")
251
386
  }
252
387
  };
253
388
  }
254
389
 
255
- class Button extends ButtonMixin(PageElement) {
390
+ class Button extends FormElementMixin(PageElement) {
256
391
  constructor(parentElementAccessor, buttonText) {
257
- super(parentElementAccessor, {
258
- findIn(parent) {
259
- return parent.contains('button', buttonText);
260
- },
261
- shouldNotExist(parent) {
262
- return parent.should('not.contain', buttonText);
392
+ super(parentElementAccessor, ElementLocator.findByTextContent('button', buttonText));
393
+ }
394
+ }
395
+
396
+ class MatCheckbox extends FormElementMixin(PageElement) {
397
+ constructor(parentElementAccessor, text) {
398
+ super(parentElementAccessor, ElementLocator.findByTextContent('mat-checkbox', text));
399
+ }
400
+ shouldBeChecked() {
401
+ this.hiddenCheckBoxElement().should('be.checked');
402
+ }
403
+ shouldNotBeChecked() {
404
+ this.hiddenCheckBoxElement().should('not.be.checked');
405
+ }
406
+ hiddenCheckBoxElement() {
407
+ return this.dom().find('input[type=checkbox]');
408
+ }
409
+ check() {
410
+ this.hiddenCheckBoxElement().then(el => {
411
+ if (!el.prop('checked')) {
412
+ this.click();
413
+ this.shouldBeChecked();
414
+ }
415
+ });
416
+ }
417
+ uncheck() {
418
+ this.hiddenCheckBoxElement().then(el => {
419
+ if (el.prop('checked')) {
420
+ this.click();
421
+ this.shouldNotBeChecked();
263
422
  }
264
423
  });
265
424
  }
266
425
  }
267
426
 
268
427
  class Builder {
269
- constructor(source) {
270
- this.source = source;
428
+ constructor(parentPageElement) {
429
+ this.parentPageElement = parentPageElement;
271
430
  }
272
431
  find(selector) {
273
- return new PageElement(this.source, selector);
432
+ return new PageElement(this.parentPageElement, selector);
274
433
  }
275
434
  section(selector, builder) {
276
435
  return this.createContainerElement(PageElement, selector, builder);
277
436
  }
278
437
  contains(text) {
279
- return new PageElement(this.source, {
280
- findIn: parent => parent.contains(text),
281
- shouldNotExist: (parent) => parent.should('not.contain', text)
438
+ return new PageElement(this.parentPageElement, {
439
+ findIn(parent) {
440
+ return parent.dom().contains(text);
441
+ },
442
+ shouldNotExist(parent) {
443
+ return parent.dom().should('not.contain', text);
444
+ }
282
445
  });
283
446
  }
284
447
  button(text) {
285
- return new Button(this.source, text);
448
+ return new Button(this.parentPageElement, text);
449
+ }
450
+ matCheckbox(text) {
451
+ return new MatCheckbox(this.parentPageElement, text);
286
452
  }
287
453
  aupStringInput(selector) {
288
- return new AupInput.HtmlInput(this.source, selector !== null && selector !== void 0 ? selector : 'aup-string-input');
454
+ return new AupInput.HtmlInput(this.parentPageElement, selector !== null && selector !== void 0 ? selector : 'aup-string-input');
289
455
  }
290
456
  aupTextInput(selector) {
291
- return new AupInput.TextAreaInput(this.source, selector !== null && selector !== void 0 ? selector : 'aup-text-input');
457
+ return new AupInput.TextAreaInput(this.parentPageElement, selector !== null && selector !== void 0 ? selector : 'aup-text-input');
292
458
  }
293
459
  aupPasswordInput(selector) {
294
- return new AupInput.HtmlInput(this.source, selector !== null && selector !== void 0 ? selector : 'aup-password-input');
460
+ return new AupInput.HtmlInput(this.parentPageElement, selector !== null && selector !== void 0 ? selector : 'aup-password-input');
295
461
  }
296
462
  aupNumberInput(selector) {
297
- return new AupInput.HtmlInput(this.source, selector !== null && selector !== void 0 ? selector : 'aup-number-input');
463
+ return new AupInput.HtmlInput(this.parentPageElement, selector !== null && selector !== void 0 ? selector : 'aup-number-input');
298
464
  }
299
465
  aupCommand(faceOrSelector) {
300
- return new AupCommand(this.source, faceOrSelector);
466
+ return new AupCommand(this.parentPageElement, faceOrSelector);
301
467
  }
302
468
  aupTabbedNavigation() {
303
- return new AupNavigation(this.source, 'aup-tabbed-place-navigation');
469
+ return new AupNavigation(this.parentPageElement, 'aup-tabbed-place-navigation');
304
470
  }
305
471
  aupSideNavigation() {
306
- return new AupNavigation(this.source, 'aup-list-place-nav');
472
+ return new AupNavigation(this.parentPageElement, 'aup-list-place-nav');
307
473
  }
308
- aupTable(selector) {
309
- return new AupTable(this.source, selector !== null && selector !== void 0 ? selector : 'aup-table');
474
+ aupTable(selectorOrBuilder, optionalBuilder) {
475
+ return this.createContainerElement(AupTable, selectorOrBuilder, optionalBuilder, 'aup-table');
476
+ }
477
+ aupTreeTable(selectorOrBuilder, optionalBuilder) {
478
+ return this.createContainerElement(AupTreeTable, selectorOrBuilder, optionalBuilder, 'aup-tree-table');
310
479
  }
311
480
  aupEmptyState(selectorOrBuilder, optionalBuilder) {
312
481
  return this.createContainerElement(AupEmptyState, selectorOrBuilder, optionalBuilder, 'aup-empty-state');
@@ -318,7 +487,7 @@ class Builder {
318
487
  if (!selector) {
319
488
  lang.illegalState('This element requires a selector but none was provided');
320
489
  }
321
- const element = new klass(this.source, selector);
490
+ const element = new klass(this.parentPageElement, selector);
322
491
  if (builder) {
323
492
  return Mixin.createProxy(element, builder(element));
324
493
  }
@@ -332,7 +501,7 @@ class Builder {
332
501
  if (!selector) {
333
502
  lang.illegalState('This element requires a selector but none was provided');
334
503
  }
335
- const element = new klass(this.source, selector);
504
+ const element = new klass(this.parentPageElement, selector);
336
505
  if (builder) {
337
506
  // create the B&E type that the builder has access to
338
507
  const decoratedElement = Mixin.createProxy(element, new Builder(element));
@@ -347,6 +516,7 @@ class Builder {
347
516
 
348
517
  class AupAbstractActivity extends PageElement {
349
518
  constructor(parent, selector) {
519
+ // @ts-ignore
350
520
  super(parent, selector);
351
521
  this.title = this.find('aup-activity-title');
352
522
  this._confirmCommand = new Builder(this).aupCommand('[data-cy=confirm-command]');
@@ -368,7 +538,7 @@ class AupActivity extends AupAbstractActivity {
368
538
 
369
539
  class AupModalActivity extends AupActivity {
370
540
  clickBackdrop() {
371
- this.element().closest(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });
541
+ this.dom().closest(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });
372
542
  }
373
543
  }
374
544
 
@@ -389,7 +559,7 @@ class AupModalAlert extends AupAlert {
389
559
  super(parent, selector);
390
560
  }
391
561
  clickBackdrop() {
392
- this.element()
562
+ this.dom()
393
563
  .closest(`.cdk-overlay-container`)
394
564
  .find(`.cdk-overlay-backdrop`).click(-50, -50, { force: true });
395
565
  }
@@ -475,7 +645,7 @@ class Page extends PageElement {
475
645
  this.path = path;
476
646
  this.rootElementSelector = 'body';
477
647
  }
478
- element() {
648
+ dom() {
479
649
  return cy.get(this.rootElementSelector);
480
650
  }
481
651
  visit(visitParams, queryParams) {
@@ -542,13 +712,13 @@ class AupMoreMenu extends PageElement {
542
712
 
543
713
  class AupPopupMenu extends PageElement {
544
714
  constructor(parentElementAccessor, face) {
545
- const accessor = AupCommandFace.createAccessor(face);
715
+ const locator = AupCommandFace.createElementLocator(face);
546
716
  super(parentElementAccessor, {
547
717
  findIn(parent) {
548
- return accessor.findIn(parent).closest('button');
718
+ return locator.findIn(parent).closest('button');
549
719
  },
550
720
  shouldNotExist(parent) {
551
- accessor.shouldNotExist(parent);
721
+ locator.shouldNotExist(parent);
552
722
  }
553
723
  });
554
724
  }
@@ -564,6 +734,11 @@ class AupToolBar extends PageElement {
564
734
  }
565
735
  }
566
736
 
737
+ class AupTableSelectionCell extends AupTableCell {
738
+ selectAll() {
739
+ }
740
+ }
741
+
567
742
  /**
568
743
  * @file Automatically generated by barrelsby.
569
744
  */
@@ -572,5 +747,5 @@ class AupToolBar extends PageElement {
572
747
  * Generated bundle index. Do not edit.
573
748
  */
574
749
 
575
- export { AupAbstractActivity, AupActivity, AupAlert, AupCommand, AupCommandFace, AupCommandGroup, AupEmptyState, AupInput, AupModalActivity, AupModalAlert, AupMoreMenu, AupNavigation, AupPopupMenu, AupTable, AupToolBar, Builder, Button, ButtonMixin, FaceAccessor, Page, PageBuilder, PageElement, Path };
750
+ export { AupAbstractActivity, AupAbstractTable, AupActivity, AupAlert, AupCommand, AupCommandFace, AupCommandGroup, AupEmptyState, AupInput, AupModalActivity, AupModalAlert, AupMoreMenu, AupNavigation, AupPopupMenu, AupTable, AupTableCell, AupTableColumn, AupTableRow, AupTableSelectionCell, AupTableSelectionColumn, AupToolBar, AupTreeTable, Builder, Button, ElementLocator, FaceElementLocator, FormElementMixin, MatCheckbox, Page, PageBuilder, PageElement, Path };
576
751
  //# sourceMappingURL=coolon-angular-ui-powerups-cypress.js.map