Skip to content

Commit 81036cd

Browse files
author
Leo Vo
committed
Upgrade Bootstrap to 4 beta.
1 parent 6893630 commit 81036cd

10 files changed

+105
-119
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,8 @@ export class TreeviewConfig {
5656

5757
# [1.0.9](https://www.npmjs.com/package/ngx-treeview) (2017-07-21)
5858
### Enhancement:
59-
* Expose DropdownDirective from DropdownTreeviewComponent.
59+
* Expose DropdownDirective from DropdownTreeviewComponent.
60+
61+
# [1.1.0](https://www.npmjs.com/package/ngx-treeview) (2017-08-16)
62+
### Enhancement:
63+
* Support Bootstrap 4 beta.

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ An Angular treeview component with checkbox
1111

1212
* [Angular](https://angular.io)
1313
* [Lodash](https://lodash.com)
14-
* [Bootstrap 4 alpha 6](https://v4-alpha.getbootstrap.com)
14+
* [Bootstrap 4](https://getbootstrap.com)
1515
* [Font Awesome 4](http://fontawesome.io)
1616

17+
This component is currently supporting Bootstrap 4.0.0 beta. If you are using Bootstrap 4 alpha 6, please downgrade to the older version 1.0.10.
18+
1719
You can customize CSS yourself to break down dependencies to Bootstrap & Font Awesome.
1820

1921
## Features
@@ -61,6 +63,7 @@ export class AppModule {
6163
#### Treeview with dropdown:
6264
```html
6365
<ngx-dropdown-treeview
66+
[buttonClass]="buttonClass"
6467
[config]="config"
6568
[items]="items"
6669
(selectedChange)="onSelectedChange($event)">

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-treeview",
3-
"version": "1.0.10",
3+
"version": "1.1.0",
44
"license": "MIT",
55
"description": "An Angular treeview component with checkbox",
66
"scripts": {

src/demo/city/city.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ <h4>Example 3: Using ngxTreeview pipe, custom TreeviewI18n & how to enable/disab
1616
<label for="city-category" class="col-3 col-form-label">City category</label>
1717
<div class="col-9">
1818
<div class="d-inline-block">
19-
<ngx-dropdown-treeview [items]="cities | ngxTreeview:'name'" (selectedChange)="values = $event" [disabled]="!dropdownEnabled"
20-
[ngxDisabledOnSelector]="'button.dropdown-toggle'">
19+
<ngx-dropdown-treeview [items]="cities | ngxTreeview:'name'" [buttonClass]="'btn-outline-primary'" (selectedChange)="values = $event"
20+
[disabled]="!dropdownEnabled" [ngxDisabledOnSelector]="'button.dropdown-toggle'">
2121
</ngx-dropdown-treeview>
2222
</div>
2323
</div>

src/lib/dropdown-menu.directive.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Directive } from '@angular/core';
2+
import { DropdownDirective } from './dropdown.directive';
3+
4+
@Directive({
5+
selector: '[ngxDropdownMenu]',
6+
// tslint:disable-next-line:use-host-property-decorator
7+
host: {
8+
'[class.dropdown-menu]': 'true',
9+
'[class.show]': 'dropdown.isOpen'
10+
}
11+
})
12+
export class DropdownMenuDirective {
13+
constructor(
14+
private dropdown: DropdownDirective
15+
) { }
16+
}

src/lib/dropdown-toggle.directive.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,21 @@
1-
import { Directive, HostBinding, HostListener, ElementRef } from '@angular/core';
1+
import { Directive, ElementRef } from '@angular/core';
22
import { DropdownDirective } from './dropdown.directive';
33

44
@Directive({
55
selector: '[ngxDropdownToggle]',
66
// tslint:disable-next-line:use-host-property-decorator
77
host: {
88
'class': 'dropdown-toggle',
9-
'aria-haspopup': 'true'
9+
'aria-haspopup': 'true',
10+
'[attr.aria-expanded]': 'dropdown.isOpen',
11+
'(click)': 'dropdown.toggle()'
1012
}
1113
})
1214
export class DropdownToggleDirective {
13-
@HostBinding('attr.aria-expanded') get ariaExpanded(): boolean {
14-
return this.dropdown.isOpen;
15-
}
16-
1715
constructor(
1816
private dropdown: DropdownDirective,
1917
elementRef: ElementRef
2018
) {
2119
dropdown.toggleElement = elementRef.nativeElement;
2220
}
23-
24-
@HostListener('click')
25-
onClick() {
26-
this.dropdown.toggle();
27-
}
2821
}

src/lib/dropdown-treeview.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<div class="dropdown" ngxDropdown>
2-
<button class="btn btn-secondary" type="button" role="button" ngxDropdownToggle>
2+
<button class="btn" [ngClass]="buttonClass" type="button" role="button" ngxDropdownToggle>
33
{{getText()}}
44
</button>
5-
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton" (click)="$event.stopPropagation()">
5+
<div ngxDropdownMenu aria-labelledby="dropdownMenu" (click)="$event.stopPropagation()">
66
<div class="dropdown-container">
77
<ngx-treeview [config]="config" [headerTemplate]="headerTemplate" [items]="items" [itemTemplate]="itemTemplate" (selectedChange)="onSelectedChange($event)">
88
</ngx-treeview>

src/lib/dropdown-treeview.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { TreeviewItemTemplateContext } from './treeview-item-template-context';
1313
styleUrls: ['./dropdown-treeview.component.scss']
1414
})
1515
export class DropdownTreeviewComponent {
16+
@Input() buttonClass = 'btn-outline-secondary';
1617
@Input() headerTemplate: TemplateRef<TreeviewHeaderTemplateContext>;
1718
@Input() itemTemplate: TemplateRef<TreeviewItemTemplateContext>;
1819
@Input() items: TreeviewItem[];

src/lib/treeview.module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { FormsModule } from '@angular/forms';
33
import { CommonModule } from '@angular/common';
44
import { DropdownDirective } from './dropdown.directive';
5+
import { DropdownMenuDirective } from './dropdown-menu.directive';
56
import { DropdownToggleDirective } from './dropdown-toggle.directive';
67
import { DropdownTreeviewComponent } from './dropdown-treeview.component';
78
import { TreeviewComponent } from './treeview.component';
@@ -21,6 +22,7 @@ import { TreeviewEventParser, DefaultTreeviewEventParser } from './treeview-even
2122
TreeviewItemComponent,
2223
TreeviewPipe,
2324
DropdownDirective,
25+
DropdownMenuDirective,
2426
DropdownToggleDirective,
2527
DropdownTreeviewComponent
2628
], exports: [

0 commit comments

Comments
 (0)