Skip to content

Commit 5e7f119

Browse files
authored
chore: separate filter components (#12)
1 parent b3d93b4 commit 5e7f119

File tree

6 files changed

+38
-34
lines changed

6 files changed

+38
-34
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/* eslint-disable @angular-eslint/component-selector */
2+
import { Component, Inject } from '@angular/core';
3+
import { platformNames, IDevice } from '@nativescript/core';
4+
import { DEVICE } from '../../tokens';
5+
6+
@Component({
7+
selector: 'android',
8+
template: `<ng-content *ngIf="show"></ng-content>`,
9+
})
10+
export class AndroidFilterComponent {
11+
public show: boolean;
12+
13+
constructor(@Inject(DEVICE) device: IDevice) {
14+
this.show = device.os === platformNames.android;
15+
}
16+
}

packages/angular/src/lib/cdk/platform-filters/index.ts

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/* eslint-disable @angular-eslint/component-selector */
2+
import { Component, Inject } from '@angular/core';
3+
import { platformNames, IDevice } from '@nativescript/core';
4+
import { DEVICE } from '../../tokens';
5+
6+
@Component({
7+
selector: 'ios',
8+
template: `<ng-content *ngIf="show"></ng-content>`,
9+
})
10+
export class IOSFilterComponent {
11+
public show: boolean;
12+
constructor(@Inject(DEVICE) device: IDevice) {
13+
this.show = device.os === platformNames.ios;
14+
}
15+
}

packages/angular/src/lib/nativescript-common.module.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ import { ListViewComponent, TemplateKeyDirective } from './cdk/list-view/list-vi
66
import { registerNativeScriptViewComponents } from './element-registry';
77
import { ModalDialogService } from './legacy/directives/dialogs';
88
import { TabViewDirective, TabViewItemDirective } from './cdk/tab-view';
9-
import { AndroidFilterComponent, IosFilterComponent } from './cdk/platform-filters';
9+
import { AndroidFilterComponent } from './cdk/platform-filters/android-filter.component';
10+
import { IOSFilterComponent } from './cdk/platform-filters/ios-filter.component';
1011

11-
const CDK_COMPONENTS = [ActionBarComponent, ActionBarScope, ActionItemDirective, NavigationButtonDirective, ListViewComponent, TemplateKeyDirective, TabViewDirective, TabViewItemDirective, AndroidFilterComponent, IosFilterComponent];
12+
const CDK_COMPONENTS = [ActionBarComponent, ActionBarScope, ActionItemDirective, NavigationButtonDirective, ListViewComponent, TemplateKeyDirective, TabViewDirective, TabViewItemDirective, AndroidFilterComponent, IOSFilterComponent];
1213

1314
registerNativeScriptViewComponents();
1415

packages/angular/src/lib/public_api.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ export * from './cdk/list-view';
1414
export * from './cdk/portal';
1515
export * from './cdk/dialog';
1616
export * from './cdk/tab-view';
17-
export * from './cdk/platform-filters';
17+
export * from './cdk/platform-filters/android-filter.component';
18+
export * from './cdk/platform-filters/ios-filter.component';
1819
export * from './file-system';
1920
export * from './nativescript-common.module';
2021
export * from './loading.service';

packages/angular/src/lib/tokens.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { InjectionToken } from '@angular/core';
2-
import { Page, View } from '@nativescript/core';
3-
import { Device } from '@nativescript/core';
2+
import { IDevice, Page, View } from '@nativescript/core';
43

54
export const APP_ROOT_VIEW = new InjectionToken<View>('NativeScriptAppRootView');
65
export const NATIVESCRIPT_ROOT_MODULE_ID = new InjectionToken<string | number>('NativeScriptRootModuleId');
@@ -18,7 +17,7 @@ export interface PageFactoryOptions {
1817
}
1918

2019
export const DISABLE_ROOT_VIEW_HANDLING = new InjectionToken<boolean>('NativeScriptDisableRootViewHandling');
21-
export const DEVICE = new InjectionToken<typeof Device>('NativeScriptDevice');
20+
export const DEVICE = new InjectionToken<IDevice>('NativeScriptDevice');
2221
export const PAGE_FACTORY = new InjectionToken<PageFactory>('NativeScriptPageFactory');
2322
export const defaultPageFactory: PageFactory = function (_opts: PageFactoryOptions) {
2423
return new Page();

0 commit comments

Comments
 (0)