Skip to content

Commit ab52c0c

Browse files
committed
feat(calendar): use nb-icon in navigation buttons (#1388)
1 parent 3f6ca4f commit ab52c0c

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

src/framework/theme/components/calendar-kit/calendar-kit.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { DatePipe } from '@angular/common';
99

1010
import { NbSharedModule } from '../shared/shared.module';
1111
import { NbButtonModule } from '../button/button.module';
12+
import { NbIconModule } from '../icon/icon.module';
1213

1314
import { NbCalendarMonthModelService, NbDateService } from './services';
1415

@@ -69,7 +70,7 @@ const COMPONENTS = [
6970
* @stacked-example(Full calendar, calendar-kit/calendar-kit-full-calendar.component)
7071
* */
7172
@NgModule({
72-
imports: [NbSharedModule, NbButtonModule],
73+
imports: [ NbSharedModule, NbButtonModule, NbIconModule ],
7374
exports: [...COMPONENTS],
7475
declarations: [...COMPONENTS],
7576
providers: [...SERVICES],

src/framework/theme/components/calendar-kit/components/calendar-navigation/calendar-pageable-navigation.component.scss

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
display: flex;
99
align-items: center;
1010
justify-content: space-between;
11+
}
1112

12-
i {
13-
font-size: 1.5rem;
14-
cursor: pointer;
15-
}
13+
nb-calendar-navigation {
14+
margin: 0 0.5rem;
1615
}

src/framework/theme/components/calendar-kit/components/calendar-navigation/calendar-pageable-navigation.component.spec.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@
55
*/
66

77
import { ComponentFixture, TestBed } from '@angular/core/testing';
8+
import { NbIconModule } from '@nebular/theme';
89

910
import { NbCalendarNavigationComponent } from './calendar-navigation.component';
1011
import { NbCalendarPageableNavigationComponent } from './calendar-pageable-navigation.component';
1112
import { NbDateService, NbNativeDateService } from '../../services';
1213
import { NbThemeModule } from '../../../../theme.module';
1314
import { DatePipe } from '@angular/common';
1415

15-
1616
describe('Component: NbCalendarPageableNavigation', () => {
1717
let fixture: ComponentFixture<NbCalendarPageableNavigationComponent<Date>>;
1818
let component: NbCalendarPageableNavigationComponent<Date>;
1919
let componentEl: HTMLElement;
2020

2121
beforeEach(() => {
2222
TestBed.configureTestingModule({
23-
imports: [NbThemeModule.forRoot()],
23+
imports: [NbThemeModule.forRoot(), NbIconModule],
2424
declarations: [NbCalendarNavigationComponent, NbCalendarPageableNavigationComponent],
2525
providers: [{ provide: NbDateService, useClass: NbNativeDateService }, DatePipe],
2626
});
@@ -33,28 +33,28 @@ describe('Component: NbCalendarPageableNavigation', () => {
3333
it('should render date', () => {
3434
component.date = new Date(2018, 6, 23);
3535
fixture.detectChanges();
36-
expect(componentEl.querySelector('button').textContent).toContain('Jul 2018');
36+
expect(componentEl.querySelector('nb-calendar-navigation button').textContent).toContain('Jul 2018');
3737
});
3838

39-
it('should render empty button with when null date', () => {
39+
it('should render empty button when null date', () => {
4040
fixture.detectChanges();
41-
expect(componentEl.querySelector('button').textContent).toContain('');
41+
expect(componentEl.querySelector('nb-calendar-navigation button').textContent).toContain('');
4242
});
4343

4444
it('should fire click when interior button clicked', () => {
4545
component.changeMode.subscribe(e => expect(e).toBeUndefined());
46-
componentEl.querySelector('button').dispatchEvent(new Event('click'));
46+
componentEl.querySelector('nb-calendar-navigation button').dispatchEvent(new Event('click'));
4747
});
4848

4949
it('should fire next when next button clicked', () => {
5050
fixture.detectChanges();
5151
component.next.subscribe(e => expect(e).toBeUndefined());
52-
componentEl.querySelector('.nb-arrow-left').dispatchEvent(new Event('click'));
52+
componentEl.querySelector('button:first-child').dispatchEvent(new Event('click'));
5353
});
5454

5555
it('should fire prev when prev button clicked', () => {
5656
fixture.detectChanges();
5757
component.prev.subscribe(e => expect(e).toBeUndefined());
58-
componentEl.querySelector('.nb-arrow-right').dispatchEvent(new Event('click'));
58+
componentEl.querySelector('button:last-child').dispatchEvent(new Event('click'));
5959
});
6060
});

src/framework/theme/components/calendar-kit/components/calendar-navigation/calendar-pageable-navigation.component.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,13 @@ import { NbLayoutDirectionService } from '../../../../services/direction.service
1313
selector: 'nb-calendar-pageable-navigation',
1414
styleUrls: ['./calendar-pageable-navigation.component.scss'],
1515
template: `
16-
<i [ngClass]="{'nb-arrow-left': isLtr, 'nb-arrow-right': isRtl }" (click)="prev.emit()"></i>
16+
<button nbButton (click)="prev.emit()" ghost>
17+
<nb-icon [icon]="isLtr ? 'chevron-left-outline' : 'chevron-right-outline'" pack="nebular-essentials"></nb-icon>
18+
</button>
1719
<nb-calendar-navigation [date]="date" (changeMode)="changeMode.emit()"></nb-calendar-navigation>
18-
<i [ngClass]="{'nb-arrow-right': isLtr, 'nb-arrow-left': isRtl }" (click)="next.emit()"></i>
20+
<button nbButton (click)="next.emit()" ghost>
21+
<nb-icon [icon]="isLtr ? 'chevron-right-outline' : 'chevron-left-outline'" pack="nebular-essentials"></nb-icon>
22+
</button>
1923
`,
2024
})
2125
export class NbCalendarPageableNavigationComponent<D> {

0 commit comments

Comments
 (0)