Skip to content

Commit 2f1c86a

Browse files
committed
feat(angular): angular 9 support and cleanup
1 parent d9a965f commit 2f1c86a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1561
-299
lines changed

demo-angular/package.json

+17-16
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,30 @@
1818
"e2e-watch": "tsc -p e2e --watch"
1919
},
2020
"dependencies": {
21-
"@angular/animations": "~8.2.0",
22-
"@angular/common": "~8.2.0",
23-
"@angular/compiler": "~8.2.0",
24-
"@angular/core": "~8.2.0",
25-
"@angular/forms": "~8.2.0",
26-
"@angular/platform-browser": "~8.2.0",
27-
"@angular/platform-browser-dynamic": "~8.2.0",
28-
"@angular/router": "~8.2.0",
29-
"nativescript-angular": "~8.20.0",
21+
"@angular/animations": "~9.1.0",
22+
"@angular/common": "~9.1.0",
23+
"@angular/compiler": "~9.1.0",
24+
"@angular/core": "~9.1.0",
25+
"@angular/forms": "~9.1.0",
26+
"@angular/platform-browser": "~9.1.0",
27+
"@angular/platform-browser-dynamic": "~9.1.0",
28+
"@angular/router": "~9.1.0",
29+
"@nativescript/angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-9.0.0.tgz?raw=true",
30+
"nativescript-angular": "https://github.com/nstudio/ns-ng/blob/master/nativescript-angular-compat.tgz?raw=true",
3031
"nativescript-datetimepicker": "file:../src",
3132
"nativescript-theme-core": "~1.0.4",
3233
"reflect-metadata": "~0.1.10",
33-
"rxjs": "^6.4.0",
34-
"tns-core-modules": "^6.0.0",
35-
"zone.js": "^0.9.1"
34+
"rxjs": "^6.5.0",
35+
"tns-core-modules": "^6.5.0",
36+
"zone.js": "^0.10.3"
3637
},
3738
"devDependencies": {
38-
"@angular/compiler-cli": "~8.2.0",
39-
"@ngtools/webpack": "~8.2.0",
39+
"@angular/compiler-cli": "~9.1.0",
40+
"@ngtools/webpack": "~9.1.0",
4041
"@types/node": "~10.12.18",
41-
"nativescript-dev-webpack": "^1.3.0",
42+
"nativescript-dev-webpack": "^1.5.0",
4243
"tslint": "~5.11.0",
43-
"typescript": "~3.5.3"
44+
"typescript": "~3.8.3"
4445
},
4546
"readme": "NativeScript DateTimePicker Demo NG"
4647
}

demo-angular/src/app/app-routing.module.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { NgModule } from "@angular/core";
22
import { Routes } from "@angular/router";
3-
import { NativeScriptRouterModule } from "nativescript-angular/router";
3+
import { NativeScriptRouterModule } from "@nativescript/angular";
44

55
const routes: Routes = [
66
{ path: "", redirectTo: "/home", pathMatch: "full" },

demo-angular/src/app/app.module.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
2-
import { NativeScriptModule } from "nativescript-angular/nativescript.module";
2+
import { NativeScriptModule } from "@nativescript/angular";
33

44
import { AppRoutingModule } from "./app-routing.module";
55
import { AppComponent } from "./app.component";

demo-angular/src/app/home/home-routing.module.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { NgModule } from "@angular/core";
22
import { Routes } from "@angular/router";
3-
import { NativeScriptRouterModule } from "nativescript-angular/router";
3+
import { NativeScriptRouterModule } from "@nativescript/angular";
44

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

demo-angular/src/app/home/home.component.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Component, OnInit, ViewChild, ElementRef } from "@angular/core";
22
import { DateTimePicker } from "nativescript-datetimepicker";
3-
import { EventData } from "tns-core-modules/data/observable";
4-
import { Button } from "tns-core-modules/ui/button";
3+
import { Button, EventData } from "@nativescript/core";
54

65
@Component({
76
selector: "Home",

demo-angular/src/app/home/home.module.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core";
2-
import { NativeScriptCommonModule } from "nativescript-angular/common";
2+
import { NativeScriptCommonModule, NativeScriptFormsModule } from "@nativescript/angular";
33
import { NativeScriptDateTimePickerModule } from "nativescript-datetimepicker/angular";
4-
import { NativeScriptFormsModule } from "nativescript-angular/forms";
54

65
import { HomeRoutingModule } from "./home-routing.module";
76
import { HomeComponent } from "./home.component";

demo-angular/src/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// this import should be first in order to load some required settings (like globals and reflect-metadata)
2-
import { platformNativeScriptDynamic } from "nativescript-angular/platform";
2+
import { platformNativeScriptDynamic } from "@nativescript/angular/platform";
33

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

demo-angular/tsconfig.json

+7-5
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
"emitDecoratorMetadata": true,
99
"experimentalDecorators": true,
1010
"lib": [
11-
"es6",
12-
"dom",
13-
"es2015.iterable"
11+
"es2017",
12+
"dom",
13+
"es6"
1414
],
1515
"pretty": true,
1616
"allowUnreachableCode": false,
@@ -25,7 +25,6 @@
2525
"baseUrl": ".",
2626
"paths": {
2727
"*": [
28-
"./node_modules/tns-core-modules/*",
2928
"./node_modules/*"
3029
],
3130
"~/*": [
@@ -42,5 +41,8 @@
4241
"node_modules",
4342
"platforms"
4443
],
45-
"compileOnSave": false
44+
"compileOnSave": false,
45+
"angularCompilerOptions": {
46+
"enableIvy": false
47+
}
4648
}

demo-vue/app/components/Home.vue

+1-2
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,7 @@
172172

173173
<script>
174174
import { DateTimePicker } from "nativescript-datetimepicker";
175-
import { EventData } from "tns-core-modules/data/observable";
176-
import { Button } from "tns-core-modules/ui/button";
175+
import { EventData, Button } from "@nativescript/core";
177176
export default {
178177
computed: {
179178
message() {

demo-vue/jsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"compilerOptions": {
33
"baseUrl": "./",
44
"paths": {
5-
"*": ["./node_modules/tns-core-modules/*", "./node_modules/*"],
5+
"*": ["./node_modules/*"],
66
"~/*": ["app/*"]
77
}
88
},

demo-vue/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@
1515
"nativescript-datetimepicker": "file:../src",
1616
"nativescript-theme-core": "~1.0.4",
1717
"nativescript-vue": "~2.4.0",
18-
"tns-core-modules": "^6.0.0"
18+
"tns-core-modules": "^6.5.0"
1919
},
2020
"devDependencies": {
2121
"@babel/core": "~7.2.0",
2222
"@babel/preset-env": "~7.2.0",
2323
"babel-loader": "~8.0.0",
24-
"nativescript-dev-webpack": "^1.3.0",
24+
"nativescript-dev-webpack": "^1.5.0",
2525
"nativescript-vue-template-compiler": "~2.4.0",
2626
"node-sass": "~4.12.0",
2727
"vue-loader": "~15.4.0",
28-
"typescript": "~3.5.3"
28+
"typescript": "~3.8.3"
2929
},
3030
"readme": "NativeScript DateTimePicker Demo Vue"
3131
}

demo-vue/tsconfig.json

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"app/*"
1717
],
1818
"*": [
19-
"./node_modules/tns-core-modules/*",
2019
"./node_modules/*"
2120
]
2221
}

demo/app/app.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ You can use this file to perform app-level initialization, but the primary
44
purpose of the file is to pass control to the app’s first module.
55
*/
66

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

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

1111
/*
1212
Do not place any code after the application has been started as it will not

demo/app/home/home-page.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ a code-behind file. The code-behind is a great place to place your view
44
logic, and to set up your page’s data binding.
55
*/
66

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

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

demo/app/home/home-view-model.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import { Observable } from "tns-core-modules/data/observable";
21
import { DateTimePicker } from "nativescript-datetimepicker";
3-
import { EventData } from "tns-core-modules/data/observable";
4-
import { Button } from "tns-core-modules/ui/button";
5-
import { ScrollView } from "tns-core-modules/ui/scroll-view";
2+
import { ScrollView, Button, EventData, Observable } from "@nativescript/core";
63

74
export class HomeViewModel extends Observable {
85
private scrollView: ScrollView;

demo/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
"dependencies": {
1919
"nativescript-datetimepicker": "file:../src",
2020
"nativescript-theme-core": "~1.0.4",
21-
"tns-core-modules": "^6.0.0"
21+
"tns-core-modules": "^6.5.0"
2222
},
2323
"devDependencies": {
24-
"nativescript-dev-webpack": "^1.3.0",
24+
"nativescript-dev-webpack": "^1.5.0",
2525
"tslint": "~5.11.0",
26-
"typescript": "~3.5.3"
26+
"typescript": "~3.8.3"
2727
},
2828
"readme": "NativeScript DateTimePicker Demo Core"
2929
}
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,29 @@
11
import { ElementRef } from "@angular/core";
2-
import { BaseValueAccessor } from "nativescript-angular/forms/value-accessors";
2+
import { BaseValueAccessor } from "@nativescript/angular/forms/value-accessors";
33
import { DatePickerField } from "../ui/date-picker-field";
44
import { TimePickerField } from "../ui/time-picker-field";
5+
import { DateTimePickerFields } from "../ui/date-time-picker-fields";
56
export declare class DatePickerValueAccessor extends BaseValueAccessor<DatePickerField> {
7+
private _hasBeenOpened;
68
constructor(elementRef: ElementRef);
79
writeValue(value: any): void;
10+
handleDateChange(args: any): void;
11+
handleDatePickerOpened(args: any): void;
12+
handleDatePickerClosed(args: any): void;
813
}
914
export declare class TimePickerValueAccessor extends BaseValueAccessor<TimePickerField> {
15+
private _hasBeenOpened;
1016
constructor(elementRef: ElementRef);
1117
writeValue(value: any): void;
18+
handleTimeChange(args: any): void;
19+
handleTimePickerOpened(args: any): void;
20+
handleTimePickerClosed(args: any): void;
21+
}
22+
export declare class DateTimePickersValueAccessor extends BaseValueAccessor<DateTimePickerFields> {
23+
private _hasBeenOpened;
24+
constructor(elementRef: ElementRef);
25+
writeValue(value: any): void;
26+
handleDateChange(args: any): void;
27+
handlePickerOpened(args: any): void;
28+
handlePickerClosed(args: any): void;
1229
}

src/angular/nativescript-datetimepicker.accessors.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Directive, ElementRef, forwardRef } from "@angular/core";
22
import { NG_VALUE_ACCESSOR } from "@angular/forms";
3-
import { BaseValueAccessor } from "nativescript-angular/forms/value-accessors";
3+
import { BaseValueAccessor } from "@nativescript/angular/forms/value-accessors";
44
import { DatePickerField } from "../ui/date-picker-field";
55
import { TimePickerField } from "../ui/time-picker-field";
66
import { DateTimePickerFields } from "../ui/date-time-picker-fields";
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { DatePickerValueAccessor, TimePickerValueAccessor } from "./nativescript-datetimepicker.accessors";
21
export declare class DatePickerFieldDirective {
32
}
43
export declare class TimePickerFieldDirective {
54
}
6-
export declare const DIRECTIVES: (typeof DatePickerFieldDirective | typeof DatePickerValueAccessor | typeof TimePickerValueAccessor)[];
5+
export declare class DateTimePickerFieldsDirective {
6+
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
import { Directive } from "@angular/core";
2-
import {
3-
DatePickerValueAccessor, TimePickerValueAccessor, DateTimePickersValueAccessor
4-
} from "./nativescript-datetimepicker.accessors";
52

63
@Directive({
74
selector: "DatePickerField"
@@ -16,7 +13,4 @@ export class TimePickerFieldDirective { }
1613
@Directive({
1714
selector: "DateTimePickerFields"
1815
})
19-
export class DateTimePickerFieldsDirective { }
20-
21-
export const DIRECTIVES = [DatePickerFieldDirective, TimePickerFieldDirective, DateTimePickerFieldsDirective,
22-
DatePickerValueAccessor, TimePickerValueAccessor, DateTimePickersValueAccessor];
16+
export class DateTimePickerFieldsDirective { }
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
export { DatePickerFieldDirective, TimePickerFieldDirective, DateTimePickerFieldsDirective, } from "./nativescript-datetimepicker.directives";
2+
export { DatePickerValueAccessor, TimePickerValueAccessor, DateTimePickersValueAccessor, } from "./nativescript-datetimepicker.accessors";
13
export declare class NativeScriptDateTimePickerModule {
24
}
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,48 @@
11
import { NgModule } from "@angular/core";
2-
import { registerElement } from "nativescript-angular/element-registry";
3-
import { DatePickerField } from "../ui/date-picker-field";
4-
import { TimePickerField } from "../ui/time-picker-field";
5-
import { DateTimePickerFields } from "../ui/date-time-picker-fields";
2+
import { registerElement } from "@nativescript/angular";
3+
import { DatePickerField, TimePickerField, DateTimePickerFields } from "../ui";
4+
import {
5+
DatePickerFieldDirective,
6+
TimePickerFieldDirective,
7+
DateTimePickerFieldsDirective,
8+
} from "./nativescript-datetimepicker.directives";
9+
import {
10+
DatePickerValueAccessor,
11+
TimePickerValueAccessor,
12+
DateTimePickersValueAccessor,
13+
} from "./nativescript-datetimepicker.accessors";
614

7-
import { DIRECTIVES } from "./nativescript-datetimepicker.directives";
15+
export {
16+
DatePickerFieldDirective,
17+
TimePickerFieldDirective,
18+
DateTimePickerFieldsDirective,
19+
} from "./nativescript-datetimepicker.directives";
20+
export {
21+
DatePickerValueAccessor,
22+
TimePickerValueAccessor,
23+
DateTimePickersValueAccessor,
24+
} from "./nativescript-datetimepicker.accessors";
825

926
@NgModule({
10-
declarations: [DIRECTIVES],
11-
exports: [DIRECTIVES],
27+
declarations: [
28+
DatePickerFieldDirective,
29+
TimePickerFieldDirective,
30+
DateTimePickerFieldsDirective,
31+
DatePickerValueAccessor,
32+
TimePickerValueAccessor,
33+
DateTimePickersValueAccessor,
34+
],
35+
exports: [
36+
DatePickerFieldDirective,
37+
TimePickerFieldDirective,
38+
DateTimePickerFieldsDirective,
39+
DatePickerValueAccessor,
40+
TimePickerValueAccessor,
41+
DateTimePickersValueAccessor,
42+
],
1243
})
13-
export class NativeScriptDateTimePickerModule { }
44+
export class NativeScriptDateTimePickerModule {}
1445

1546
registerElement("DatePickerField", () => DatePickerField);
1647
registerElement("TimePickerField", () => TimePickerField);
17-
registerElement("DateTimePickerFields", () => DateTimePickerFields);
48+
registerElement("DateTimePickerFields", () => DateTimePickerFields);

src/angular/package.json

-4
This file was deleted.

src/datetimepicker.android.d.ts

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { DateTimePickerBase, DateTimePickerStyleBase, DatePickerOptions, TimePickerOptions, PickerOptions } from "./datetimepicker.common";
2+
export declare class DateTimePickerStyle extends DateTimePickerStyleBase {
3+
}
4+
export declare class DateTimePicker extends DateTimePickerBase {
5+
private static _defaultOkText;
6+
private static _defaultCancelText;
7+
private static _defaultsInitialized;
8+
static pickDate(options: DatePickerOptions, style?: DateTimePickerStyle): Promise<Date>;
9+
static pickTime(options: TimePickerOptions, style?: DateTimePickerStyle): Promise<Date>;
10+
static _createNativeDatePicker(options: DatePickerOptions): android.widget.DatePicker;
11+
static _createNativeTimePicker(options: TimePickerOptions): android.widget.TimePicker;
12+
static _createNativeDialog(nativePicker: android.view.View, options: PickerOptions, value: Date, callback: Function): android.app.AlertDialog.Builder;
13+
static _showNativeDialog(nativePickerBuilder: android.app.AlertDialog.Builder, nativePicker: any, style: DateTimePickerStyle): void;
14+
private static _trimDate;
15+
private static _applyDialogColors;
16+
private static _applyDialogSpinnersColors;
17+
private static _applyDialogOkButtonColors;
18+
private static _applyDialogCancelButtonColors;
19+
private static _applyTextViewColor;
20+
private static _applyNumberPickerColor;
21+
private static _findViewById;
22+
private static _findFieldByName;
23+
private static _initializeTextResources;
24+
}

src/datetimepicker.android.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Color } from "tns-core-modules/color";
1+
import { Color } from "@nativescript/core";
22
import { LocalizationUtils } from "./utils/localization-utils";
33
import { getDateNow, getDateToday } from "./utils/date-utils";
44
import {

0 commit comments

Comments
 (0)