Skip to content

Commit 396573f

Browse files
committed
feat(a13): recursive declarations
1 parent 750e13a commit 396573f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+619
-756
lines changed

.circleci/config.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -879,9 +879,9 @@ workflows:
879879
Testing:
880880
jobs:
881881
- Core
882-
- E2E:
883-
requires:
884-
- Core
882+
# - E2E:
883+
# requires:
884+
# - Core
885885
# - 'Core IE':
886886
# requires:
887887
# - Core
@@ -999,9 +999,9 @@ workflows:
999999
- 'Angular Jest ES2020 Ivy':
10001000
requires:
10011001
- Angular Install
1002-
# - 'Angular Min ES5 Ivy':
1003-
# requires:
1004-
# - Angular Install
1005-
# - 'Angular Min ES2015 Ivy':
1006-
# requires:
1007-
# - Angular Install
1002+
# - 'Angular Min ES5 Ivy':
1003+
# requires:
1004+
# - Angular Install
1005+
# - 'Angular Min ES2015 Ivy':
1006+
# requires:
1007+
# - Angular Install

.codeclimate.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ exclude_patterns:
1111
- 'examples/'
1212
- 'node_modules/'
1313
- 'test-reports/'
14-
- 'tests-angular/'
1514
- 'tests-failures/'
1615
- 'tests-performance/'
1716
- 'tests/'

e2e/a13/package-lock.json

Lines changed: 65 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

e2e/a13/package.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,20 @@
2222
},
2323
"dependencies": {
2424
"@angular/animations": "13.1.1",
25+
"@angular/cdk": "13.1.1",
2526
"@angular/common": "13.1.1",
2627
"@angular/compiler": "13.1.1",
2728
"@angular/core": "13.1.1",
2829
"@angular/forms": "13.1.1",
30+
"@angular/material": "13.1.1",
2931
"@angular/platform-browser": "13.1.1",
3032
"@angular/platform-browser-dynamic": "13.1.1",
3133
"@angular/router": "13.1.1",
34+
"@ng-select/ng-select": "8.1.1",
35+
"@ngrx/effects": "13.0.2",
36+
"@ngrx/store": "13.0.2",
37+
"@ngrx/store-devtools": "13.0.2",
38+
"primeng": "13.0.4",
3239
"rxjs": "6.6.7",
3340
"tslib": "2.3.1",
3441
"zone.js": "0.11.4"
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import {
2+
Component,
3+
ContentChild,
4+
ContentChildren,
5+
Directive,
6+
EventEmitter,
7+
HostBinding,
8+
HostListener,
9+
Input,
10+
Output,
11+
QueryList,
12+
ViewChild,
13+
ViewChildren,
14+
} from '@angular/core';
15+
16+
@Directive({
17+
selector: 'div',
18+
})
19+
export class DivCls {
20+
@Input() public prop: number | null = null;
21+
}
22+
23+
@Directive({
24+
selector: 'base1',
25+
})
26+
@Directive({
27+
selector: 'base2',
28+
})
29+
export class BaseCls {
30+
@ContentChild(DivCls) public contentChildBase?: DivCls;
31+
@ContentChildren(DivCls) public contentChildrenBase?: QueryList<DivCls>;
32+
33+
@HostBinding('attr.base1') public hostBase1: any;
34+
@HostBinding('attr.base2') public hostBase2: any;
35+
public hostBase3 = '';
36+
37+
@Output() @Input() public mix1: EventEmitter<void> | string = new EventEmitter();
38+
39+
@Input() @Output() public mix2: EventEmitter<void> | string = new EventEmitter();
40+
@Input() public prop1: EventEmitter<void> | string = '';
41+
42+
@Input('prop2alias') public prop2: EventEmitter<void> | string = '';
43+
@Input('prop3alias') public prop3: EventEmitter<void> | string = '';
44+
45+
@Input() public propBase1: EventEmitter<void> | string = '';
46+
@Output() public propBase2 = new EventEmitter<void>();
47+
48+
@ViewChild(DivCls) public viewChildBase?: DivCls;
49+
@ViewChildren(DivCls) public viewChildrenBase?: QueryList<DivCls>;
50+
51+
@HostListener('focus') public hostBaseHandler3() {
52+
this.hostBase3 = 'base3';
53+
}
54+
}
55+
56+
@Component({
57+
selector: 'override1',
58+
template: `override1<ng-content></ng-content>`,
59+
})
60+
@Component({
61+
selector: 'override2',
62+
template: `override2<ng-content></ng-content>`,
63+
})
64+
export class OverrideCls extends BaseCls {
65+
@ContentChild(DivCls) public contentChildOverride?: DivCls;
66+
@ContentChildren(DivCls) public contentChildrenOverride?: QueryList<DivCls>;
67+
68+
@HostBinding('attr.override2') public hostBase2: any;
69+
@HostBinding('attr.override1') public hostOverride1: any;
70+
public hostOverride3 = '';
71+
72+
@Output() public prop1: EventEmitter<void> | string = new EventEmitter();
73+
@Input('override2alias') public prop2: EventEmitter<void> | string = '';
74+
75+
@Input('override3alias') public prop3: EventEmitter<void> | string = '';
76+
@Input() public propOverride1: EventEmitter<void> | string = '';
77+
78+
@Output() public propOverride2 = new EventEmitter<void>();
79+
80+
@ContentChild(DivCls) public viewChildBase?: DivCls;
81+
@ContentChildren(DivCls) public viewChildrenBase?: QueryList<DivCls>;
82+
83+
@HostListener('click') public hostBaseHandler3() {
84+
this.hostOverride3 = 'override3';
85+
}
86+
}

0 commit comments

Comments
 (0)