Skip to content

feat(angular): angular 9 support and cleanup #63

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 17 additions & 16 deletions demo-angular/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,30 @@
"e2e-watch": "tsc -p e2e --watch"
},
"dependencies": {
"@angular/animations": "~8.2.0",
"@angular/common": "~8.2.0",
"@angular/compiler": "~8.2.0",
"@angular/core": "~8.2.0",
"@angular/forms": "~8.2.0",
"@angular/platform-browser": "~8.2.0",
"@angular/platform-browser-dynamic": "~8.2.0",
"@angular/router": "~8.2.0",
"nativescript-angular": "~8.20.0",
"@angular/animations": "~9.1.0",
"@angular/common": "~9.1.0",
"@angular/compiler": "~9.1.0",
"@angular/core": "~9.1.0",
"@angular/forms": "~9.1.0",
"@angular/platform-browser": "~9.1.0",
"@angular/platform-browser-dynamic": "~9.1.0",
"@angular/router": "~9.1.0",
"@nativescript/angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-9.0.0.tgz?raw=true",
"nativescript-angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-compat.tgz?raw=true",
"nativescript-datetimepicker": "file:../src",
"nativescript-theme-core": "~1.0.4",
"reflect-metadata": "~0.1.10",
"rxjs": "^6.4.0",
"tns-core-modules": "^6.0.0",
"zone.js": "^0.9.1"
"rxjs": "^6.5.0",
"tns-core-modules": "^6.5.0",
"zone.js": "^0.10.3"
},
"devDependencies": {
"@angular/compiler-cli": "~8.2.0",
"@ngtools/webpack": "~8.2.0",
"@angular/compiler-cli": "~9.1.0",
"@ngtools/webpack": "~9.1.0",
"@types/node": "~10.12.18",
"nativescript-dev-webpack": "^1.3.0",
"nativescript-dev-webpack": "^1.5.0",
"tslint": "~5.11.0",
"typescript": "~3.5.3"
"typescript": "~3.8.3"
},
"readme": "NativeScript DateTimePicker Demo NG"
}
2 changes: 1 addition & 1 deletion demo-angular/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NgModule } from "@angular/core";
import { Routes } from "@angular/router";
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { NativeScriptRouterModule } from "@nativescript/angular";

const routes: Routes = [
{ path: "", redirectTo: "/home", pathMatch: "full" },
Expand Down
2 changes: 1 addition & 1 deletion demo-angular/src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptModule } from "nativescript-angular/nativescript.module";
import { NativeScriptModule } from "@nativescript/angular";

import { AppRoutingModule } from "./app-routing.module";
import { AppComponent } from "./app.component";
Expand Down
2 changes: 1 addition & 1 deletion demo-angular/src/app/home/home-routing.module.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { NgModule } from "@angular/core";
import { Routes } from "@angular/router";
import { NativeScriptRouterModule } from "nativescript-angular/router";
import { NativeScriptRouterModule } from "@nativescript/angular";

import { HomeComponent } from "./home.component";

Expand Down
3 changes: 1 addition & 2 deletions demo-angular/src/app/home/home.component.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Component, OnInit, ViewChild, ElementRef } from "@angular/core";
import { DateTimePicker } from "nativescript-datetimepicker";
import { EventData } from "tns-core-modules/data/observable";
import { Button } from "tns-core-modules/ui/button";
import { Button, EventData } from "@nativescript/core";

@Component({
selector: "Home",
Expand Down
3 changes: 1 addition & 2 deletions demo-angular/src/app/home/home.module.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
import { NativeScriptCommonModule } from "nativescript-angular/common";
import { NativeScriptCommonModule, NativeScriptFormsModule } from "@nativescript/angular";
import { NativeScriptDateTimePickerModule } from "nativescript-datetimepicker/angular";
import { NativeScriptFormsModule } from "nativescript-angular/forms";

import { HomeRoutingModule } from "./home-routing.module";
import { HomeComponent } from "./home.component";
Expand Down
2 changes: 1 addition & 1 deletion demo-angular/src/main.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// this import should be first in order to load some required settings (like globals and reflect-metadata)
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
import { platformNativeScriptDynamic } from "@nativescript/angular/platform";

import { AppModule } from "./app/app.module";

Expand Down
12 changes: 7 additions & 5 deletions demo-angular/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [
"es6",
"dom",
"es2015.iterable"
"es2017",
"dom",
"es6"
],
"pretty": true,
"allowUnreachableCode": false,
Expand All @@ -25,7 +25,6 @@
"baseUrl": ".",
"paths": {
"*": [
"./node_modules/tns-core-modules/*",
"./node_modules/*"
],
"~/*": [
Expand All @@ -42,5 +41,8 @@
"node_modules",
"platforms"
],
"compileOnSave": false
"compileOnSave": false,
"angularCompilerOptions": {
"enableIvy": false
}
}
3 changes: 1 addition & 2 deletions demo-vue/app/components/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -172,8 +172,7 @@

<script>
import { DateTimePicker } from "nativescript-datetimepicker";
import { EventData } from "tns-core-modules/data/observable";
import { Button } from "tns-core-modules/ui/button";
import { EventData, Button } from "@nativescript/core";
export default {
computed: {
message() {
Expand Down
2 changes: 1 addition & 1 deletion demo-vue/jsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"compilerOptions": {
"baseUrl": "./",
"paths": {
"*": ["./node_modules/tns-core-modules/*", "./node_modules/*"],
"*": ["./node_modules/*"],
"~/*": ["app/*"]
}
},
Expand Down
6 changes: 3 additions & 3 deletions demo-vue/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,17 @@
"nativescript-datetimepicker": "file:../src",
"nativescript-theme-core": "~1.0.4",
"nativescript-vue": "~2.4.0",
"tns-core-modules": "^6.0.0"
"tns-core-modules": "^6.5.0"
},
"devDependencies": {
"@babel/core": "~7.2.0",
"@babel/preset-env": "~7.2.0",
"babel-loader": "~8.0.0",
"nativescript-dev-webpack": "^1.3.0",
"nativescript-dev-webpack": "^1.5.0",
"nativescript-vue-template-compiler": "~2.4.0",
"node-sass": "~4.12.0",
"vue-loader": "~15.4.0",
"typescript": "~3.5.3"
"typescript": "~3.8.3"
},
"readme": "NativeScript DateTimePicker Demo Vue"
}
1 change: 0 additions & 1 deletion demo-vue/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
"app/*"
],
"*": [
"./node_modules/tns-core-modules/*",
"./node_modules/*"
]
}
Expand Down
4 changes: 2 additions & 2 deletions demo/app/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ You can use this file to perform app-level initialization, but the primary
purpose of the file is to pass control to the app’s first module.
*/

import * as app from "tns-core-modules/application";
import { Application } from "@nativescript/core";

app.run({ moduleName: "app-root" });
Application.run({ moduleName: "app-root" });

/*
Do not place any code after the application has been started as it will not
Expand Down
2 changes: 1 addition & 1 deletion demo/app/home/home-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ a code-behind file. The code-behind is a great place to place your view
logic, and to set up your page’s data binding.
*/

import { NavigatedData, Page } from "tns-core-modules/ui/page";
import { NavigatedData, Page } from "@nativescript/core";

import { HomeViewModel } from "./home-view-model";

Expand Down
5 changes: 1 addition & 4 deletions demo/app/home/home-view-model.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import { Observable } from "tns-core-modules/data/observable";
import { DateTimePicker } from "nativescript-datetimepicker";
import { EventData } from "tns-core-modules/data/observable";
import { Button } from "tns-core-modules/ui/button";
import { ScrollView } from "tns-core-modules/ui/scroll-view";
import { ScrollView, Button, EventData, Observable } from "@nativescript/core";

export class HomeViewModel extends Observable {
private scrollView: ScrollView;
Expand Down
6 changes: 3 additions & 3 deletions demo/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@
"dependencies": {
"nativescript-datetimepicker": "file:../src",
"nativescript-theme-core": "~1.0.4",
"tns-core-modules": "^6.0.0"
"tns-core-modules": "^6.5.0"
},
"devDependencies": {
"nativescript-dev-webpack": "^1.3.0",
"nativescript-dev-webpack": "^1.5.0",
"tslint": "~5.11.0",
"typescript": "~3.5.3"
"typescript": "~3.8.3"
},
"readme": "NativeScript DateTimePicker Demo Core"
}
19 changes: 18 additions & 1 deletion src/angular/nativescript-datetimepicker.accessors.d.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
import { ElementRef } from "@angular/core";
import { BaseValueAccessor } from "nativescript-angular/forms/value-accessors";
import { BaseValueAccessor } from "@nativescript/angular/forms/value-accessors";
import { DatePickerField } from "../ui/date-picker-field";
import { TimePickerField } from "../ui/time-picker-field";
import { DateTimePickerFields } from "../ui/date-time-picker-fields";
export declare class DatePickerValueAccessor extends BaseValueAccessor<DatePickerField> {
private _hasBeenOpened;
constructor(elementRef: ElementRef);
writeValue(value: any): void;
handleDateChange(args: any): void;
handleDatePickerOpened(args: any): void;
handleDatePickerClosed(args: any): void;
}
export declare class TimePickerValueAccessor extends BaseValueAccessor<TimePickerField> {
private _hasBeenOpened;
constructor(elementRef: ElementRef);
writeValue(value: any): void;
handleTimeChange(args: any): void;
handleTimePickerOpened(args: any): void;
handleTimePickerClosed(args: any): void;
}
export declare class DateTimePickersValueAccessor extends BaseValueAccessor<DateTimePickerFields> {
private _hasBeenOpened;
constructor(elementRef: ElementRef);
writeValue(value: any): void;
handleDateChange(args: any): void;
handlePickerOpened(args: any): void;
handlePickerClosed(args: any): void;
}
2 changes: 1 addition & 1 deletion src/angular/nativescript-datetimepicker.accessors.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Directive, ElementRef, forwardRef } from "@angular/core";
import { NG_VALUE_ACCESSOR } from "@angular/forms";
import { BaseValueAccessor } from "nativescript-angular/forms/value-accessors";
import { BaseValueAccessor } from "@nativescript/angular/forms/value-accessors";
import { DatePickerField } from "../ui/date-picker-field";
import { TimePickerField } from "../ui/time-picker-field";
import { DateTimePickerFields } from "../ui/date-time-picker-fields";
Expand Down
4 changes: 2 additions & 2 deletions src/angular/nativescript-datetimepicker.directives.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DatePickerValueAccessor, TimePickerValueAccessor } from "./nativescript-datetimepicker.accessors";
export declare class DatePickerFieldDirective {
}
export declare class TimePickerFieldDirective {
}
export declare const DIRECTIVES: (typeof DatePickerFieldDirective | typeof DatePickerValueAccessor | typeof TimePickerValueAccessor)[];
export declare class DateTimePickerFieldsDirective {
}
8 changes: 1 addition & 7 deletions src/angular/nativescript-datetimepicker.directives.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
import { Directive } from "@angular/core";
import {
DatePickerValueAccessor, TimePickerValueAccessor, DateTimePickersValueAccessor
} from "./nativescript-datetimepicker.accessors";

@Directive({
selector: "DatePickerField"
Expand All @@ -16,7 +13,4 @@ export class TimePickerFieldDirective { }
@Directive({
selector: "DateTimePickerFields"
})
export class DateTimePickerFieldsDirective { }

export const DIRECTIVES = [DatePickerFieldDirective, TimePickerFieldDirective, DateTimePickerFieldsDirective,
DatePickerValueAccessor, TimePickerValueAccessor, DateTimePickersValueAccessor];
export class DateTimePickerFieldsDirective { }
2 changes: 2 additions & 0 deletions src/angular/nativescript-datetimepicker.module.d.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
export { DatePickerFieldDirective, TimePickerFieldDirective, DateTimePickerFieldsDirective, } from "./nativescript-datetimepicker.directives";
export { DatePickerValueAccessor, TimePickerValueAccessor, DateTimePickersValueAccessor, } from "./nativescript-datetimepicker.accessors";
export declare class NativeScriptDateTimePickerModule {
}
49 changes: 40 additions & 9 deletions src/angular/nativescript-datetimepicker.module.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,48 @@
import { NgModule } from "@angular/core";
import { registerElement } from "nativescript-angular/element-registry";
import { DatePickerField } from "../ui/date-picker-field";
import { TimePickerField } from "../ui/time-picker-field";
import { DateTimePickerFields } from "../ui/date-time-picker-fields";
import { registerElement } from "@nativescript/angular";
import { DatePickerField, TimePickerField, DateTimePickerFields } from "../ui";
import {
DatePickerFieldDirective,
TimePickerFieldDirective,
DateTimePickerFieldsDirective,
} from "./nativescript-datetimepicker.directives";
import {
DatePickerValueAccessor,
TimePickerValueAccessor,
DateTimePickersValueAccessor,
} from "./nativescript-datetimepicker.accessors";

import { DIRECTIVES } from "./nativescript-datetimepicker.directives";
export {
DatePickerFieldDirective,
TimePickerFieldDirective,
DateTimePickerFieldsDirective,
} from "./nativescript-datetimepicker.directives";
export {
DatePickerValueAccessor,
TimePickerValueAccessor,
DateTimePickersValueAccessor,
} from "./nativescript-datetimepicker.accessors";

@NgModule({
declarations: [DIRECTIVES],
exports: [DIRECTIVES],
declarations: [
DatePickerFieldDirective,
TimePickerFieldDirective,
DateTimePickerFieldsDirective,
DatePickerValueAccessor,
TimePickerValueAccessor,
DateTimePickersValueAccessor,
],
exports: [
DatePickerFieldDirective,
TimePickerFieldDirective,
DateTimePickerFieldsDirective,
DatePickerValueAccessor,
TimePickerValueAccessor,
DateTimePickersValueAccessor,
],
})
export class NativeScriptDateTimePickerModule { }
export class NativeScriptDateTimePickerModule {}

registerElement("DatePickerField", () => DatePickerField);
registerElement("TimePickerField", () => TimePickerField);
registerElement("DateTimePickerFields", () => DateTimePickerFields);
registerElement("DateTimePickerFields", () => DateTimePickerFields);
4 changes: 0 additions & 4 deletions src/angular/package.json

This file was deleted.

24 changes: 24 additions & 0 deletions src/datetimepicker.android.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { DateTimePickerBase, DateTimePickerStyleBase, DatePickerOptions, TimePickerOptions, PickerOptions } from "./datetimepicker.common";
export declare class DateTimePickerStyle extends DateTimePickerStyleBase {
}
export declare class DateTimePicker extends DateTimePickerBase {
private static _defaultOkText;
private static _defaultCancelText;
private static _defaultsInitialized;
static pickDate(options: DatePickerOptions, style?: DateTimePickerStyle): Promise<Date>;
static pickTime(options: TimePickerOptions, style?: DateTimePickerStyle): Promise<Date>;
static _createNativeDatePicker(options: DatePickerOptions): android.widget.DatePicker;
static _createNativeTimePicker(options: TimePickerOptions): android.widget.TimePicker;
static _createNativeDialog(nativePicker: android.view.View, options: PickerOptions, value: Date, callback: Function): android.app.AlertDialog.Builder;
static _showNativeDialog(nativePickerBuilder: android.app.AlertDialog.Builder, nativePicker: any, style: DateTimePickerStyle): void;
private static _trimDate;
private static _applyDialogColors;
private static _applyDialogSpinnersColors;
private static _applyDialogOkButtonColors;
private static _applyDialogCancelButtonColors;
private static _applyTextViewColor;
private static _applyNumberPickerColor;
private static _findViewById;
private static _findFieldByName;
private static _initializeTextResources;
}
2 changes: 1 addition & 1 deletion src/datetimepicker.android.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Color } from "tns-core-modules/color";
import { Color } from "@nativescript/core";
import { LocalizationUtils } from "./utils/localization-utils";
import { getDateNow, getDateToday } from "./utils/date-utils";
import {
Expand Down
Loading