Skip to content

Commit 38bcda2

Browse files
author
Ben Grynhaus
committed
Fixed some issues with fabric command bar
1 parent e26b493 commit 38bcda2

File tree

4 files changed

+18
-65
lines changed

4 files changed

+18
-65
lines changed

apps/demo/src/app/app.component.html

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -15,31 +15,12 @@ <h2>Getting up and running...</h2>
1515
</ol>
1616
</div>
1717

18-
<div style="height: 500vh">
19-
18+
<div>
2019
<fab-command-bar #commandBar [items]="commandBarItems" [farItems]="commandBarFarItems">
2120
</fab-command-bar>
2221

2322
<fab-default-button (onClick)="toggleRun()" text="Toggle run"></fab-default-button>
2423

2524
<fab-panel [isOpen]="isPanelOpen" (onDismiss)="isPanelOpen = false">
2625
</fab-panel>
27-
28-
<ng-template #customRange let-item="item">
29-
<div>
30-
Data: {{ item.data | json }}
31-
</div>
32-
33-
<div>
34-
<span>From: </span>
35-
<input type="date" />
36-
</div>
37-
38-
<div>
39-
<span>To: </span>
40-
<input type="date" />
41-
</div>
42-
43-
<fab-default-button text="Done" (onClick)="item.onClick()"></fab-default-button>
44-
</ng-template>
4526
</div>

apps/demo/src/app/app.component.ts

Lines changed: 7 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,20 @@ import { ChangeDetectorRef, ViewEncapsulation, Component, ComponentFactoryResolv
22
import { DialogType, ITheme, IChoiceGroupProps, SpinnerSize, PersonaSize, PersonaPresence, PivotLinkSize, SelectableOptionMenuItemType, PanelType, ICommandBarItemProps, IBreadcrumbItem, IButtonProps, Button, MessageBarType, ShimmerElementType } from 'office-ui-fabric-react';
33
import { IExpandingCardOptions } from '@angular-react/fabric/src/components/hover-card';
44
import { ICommandBarItemOptions, FabCommandBarComponent } from '@angular-react/fabric/src/components/command-bar';
5-
import { DateRangeModel } from 'apps/demo/src/app/daterange.model';
65

7-
@Component({
8-
selector: 'fab-panel-header',
9-
template: `
10-
<div>props: {{ props }}</div>
11-
12-
<div>{{ dynamicText }}</div>
13-
14-
<button (click)="onClick()">Click</button>
15-
`
16-
})
17-
export class PanelBodyComponent {
18-
@Input() props: any;
19-
20-
@Input() headerTextId: any;
21-
22-
dynamicText: string = "initial";
23-
24-
constructor(private cd: ChangeDetectorRef) { }
25-
26-
onClick() {
27-
this.dynamicText = "new text!";
28-
this.cd.detectChanges();
29-
}
30-
}
316

327
@Component({
338
selector: 'app-root',
349
templateUrl: './app.component.html',
3510
styleUrls: ['./app.component.css'],
36-
entryComponents: [PanelBodyComponent],
3711
encapsulation: ViewEncapsulation.None,
3812
})
3913
export class AppComponent {
4014

4115
@ViewChild(FabCommandBarComponent) commandBar: FabCommandBarComponent;
4216
@ViewChild('customRange') customRangeTemplate: TemplateRef<{ item: any, dismissMenu: (ev?: any, dismissAll?: boolean) => void }>;
4317

44-
commandBarItems: ICommandBarItemOptions[] = [
18+
commandBarItems: ReadonlyArray<ICommandBarItemOptions> = [
4519
{
4620
key: 'run',
4721
text: 'Run',
@@ -164,7 +138,7 @@ export class AppComponent {
164138
},
165139
];
166140

167-
readonly commandBarFarItems: ICommandBarItemOptions[] = [
141+
commandBarFarItems: ReadonlyArray<ICommandBarItemOptions> = [
168142
{
169143
key: 'help',
170144
text: 'Help',
@@ -185,14 +159,12 @@ export class AppComponent {
185159

186160
isPanelOpen = false;
187161

188-
constructor(private readonly cd: ChangeDetectorRef) {
189-
}
190-
191162
toggleRun() {
192-
const runItem = this.commandBarItems.find(item => item.key === 'run');
193-
runItem.disabled = !runItem.disabled;
194-
195-
this.commandBar.detectChanges();
163+
this.commandBarItems = this.commandBarItems.map(item =>
164+
item.key === 'run'
165+
? { ...item, disabled: !item.disabled }
166+
: item
167+
);
196168
}
197169

198170
}

apps/demo/src/app/app.module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { FabBreadcrumbModule, FabButtonModule, FabCalloutModule, FabModalModule,
33
import { NgModule } from '@angular/core';
44
import { NxModule } from '@nrwl/nx';
55
import { initializeIcons } from 'office-ui-fabric-react/lib/Icons';
6-
import { AppComponent, PanelBodyComponent } from './app.component';
6+
import { AppComponent } from './app.component';
77

88
@NgModule({
99
imports: [
@@ -37,7 +37,7 @@ import { AppComponent, PanelBodyComponent } from './app.component';
3737
FabSliderModule,
3838
FabSearchBoxModule,
3939
],
40-
declarations: [AppComponent, PanelBodyComponent],
40+
declarations: [AppComponent],
4141
bootstrap: [AppComponent],
4242
})
4343
export class AppModule {

libs/fabric/src/components/command-bar/command-bar.component.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import omit from "../../utils/omit";
1313
[componentRef]="componentRef"
1414
[items]="transformedItems"
1515
[farItems]="transformedFarItems"
16-
[overflowItems]="overflowItems"
16+
[overflowItems]="transformedOverflowItems"
1717
[overflowButtonProps]="overflowButtonProps"
1818
[overflowButtonAs]="overflowButtonAs"
1919
[overflowMenuProps]="overflowMenuProps"
@@ -49,9 +49,9 @@ export class FabCommandBarComponent extends ReactWrapperComponent<ICommandBarPro
4949
@Input() onReduceData?: ICommandBarProps['onReduceData'];
5050
@Input() onGrowData?: ICommandBarProps['onGrowData'];
5151

52-
@Input() overflowItems: ReadonlyArray<ICommandBarItemOptions>;
5352
@Input() items: ReadonlyArray<ICommandBarItemOptions>;
5453
@Input() farItems: ReadonlyArray<ICommandBarItemOptions>;
54+
@Input() overflowItems: ReadonlyArray<ICommandBarItemOptions>;
5555

5656
@Output() readonly onDataReduced = new EventEmitter<{ movedItem: ICommandBarItemProps }>();
5757
@Output() readonly onDataGrown = new EventEmitter<{ movedItem: ICommandBarItemProps }>();
@@ -65,22 +65,22 @@ export class FabCommandBarComponent extends ReactWrapperComponent<ICommandBarPro
6565
}
6666

6767
ngOnChanges(changes: SimpleChanges) {
68-
if (changes['items'].previousValue !== changes['items'].currentValue && changes['items'].currentValue) this._createTransformedItems(changes['items'].currentValue);
69-
if (changes['farItems'].previousValue !== changes['farItems'].currentValue && changes['farItems'].currentValue) this._createTransformedItems(changes['farItems'].currentValue);
70-
if (changes['overflowItems'].previousValue !== changes['overflowItems'].currentValue && changes['overflowItems'].currentValue) this._createTransformedItems(changes['overflowItems'].currentValue);
68+
if (changes['items'] && changes['items'].previousValue !== changes['items'].currentValue && changes['items'].currentValue) this._createTransformedItems(changes['items'].currentValue);
69+
if (changes['farItems'] && changes['farItems'].previousValue !== changes['farItems'].currentValue && changes['farItems'].currentValue) this._createTransformedFarItems(changes['farItems'].currentValue);
70+
if (changes['overflowItems'] && changes['overflowItems'].previousValue !== changes['overflowItems'].currentValue && changes['overflowItems'].currentValue) this._createTransformedOverflowItems(changes['overflowItems'].currentValue);
7171

7272
this.detectChanges();
7373
}
7474

75-
private _createTransformedItems(newItems: ICommandBarItemOptions[]) {
75+
private _createTransformedItems(newItems: ReadonlyArray<ICommandBarItemOptions>) {
7676
this.transformedItems = newItems.map(item => this._transformCommandBarItemOptionsToProps(item));
7777
}
7878

79-
private _createTransformedFarItems(newItems: ICommandBarItemOptions[]) {
79+
private _createTransformedFarItems(newItems: ReadonlyArray<ICommandBarItemOptions>) {
8080
this.transformedFarItems = newItems.map(item => this._transformCommandBarItemOptionsToProps(item));
8181
}
8282

83-
private _createTransformedOverflowItems(newItems: ICommandBarItemOptions[]) {
83+
private _createTransformedOverflowItems(newItems: ReadonlyArray<ICommandBarItemOptions>) {
8484
this.transformedOverflowItems = newItems.map(item => this._transformCommandBarItemOptionsToProps(item));
8585
}
8686

0 commit comments

Comments
 (0)