diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 45a6250c77..8c0f8787b1 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,12 +1,8 @@ -Dear friend, we, the rest of the NativeScript community really -appreciate your feedback! While we are doing all we can to take care of every -issue, sometimes we get overwhelmed. Because of that, we will consider issues -that are not constructive or problems that cannot be reproduced "dead". -Additionally, we will treat feature requests or bug reports with unanswered -questions regarding the behavior/reproduction for more than 20 days "dead". All -"dead" issues will get closed. - -## Please, provide the details below: + ### Did you verify this is a real problem by searching the [NativeScript Forum](http://forum.nativescript.org) and the [other open issues in this repo](https://github.com/NativeScript/nativescript/issues)? @@ -31,3 +27,5 @@ The best approach would be to get your code running in the [NativeScript Playgro ### Is there code involved? If so, please share the minimal amount of code needed to recreate the problem. + + diff --git a/.gitignore b/.gitignore index e6feee8444..f5c1f603a8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,41 @@ -# generated files +# Folders +dist +hooks +libs +node_modules +package +platforms +reports +tags + +# Files +package-lock.json +.DS_Store +.nsbuildinfo + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# Appium files +e2e/**/*.trace/ +e2e/**/test-results.xml + +# Webpack configuration files +webpack.config.js + +# Generated files *.map *.tgz .baseDir.ts @@ -6,10 +43,7 @@ tscommand*.tmp.txt .tscache -node_modules/ -dist/ -package/ - +# Other *.js !tests/hooks/**/*.* !gruntfile.js @@ -19,44 +53,14 @@ package/ !fetch/**/*.* !apps/TelerikNEXT/lib/**/*.* !build/**/*.* -CrossPlatformModules.sln.ide/ -*.suo -CrossPlatformModules.suo -CrossPlatformModules.v14.suo -CrossPlatformModules.csproj.user -bin/ -obj/ .vs/ -.idea/ .baseDir.ts .ctags-exclude -tags TestRunResult.txt .testsapprun tns-core-modules.base.d.ts tns-core-modules.d.ts -tns-core-modules.es6.d.ts - -tests/platforms/ -tests/lib/ -*.log - -.DS_Store - -apps/platforms/ -apps/lib/ -apps/hooks/ -apps/node_modules/ - -e2e/**/platforms -!e2e/**/webpack.config.js -e2e/**/reports/ -e2e/**/*.trace/ -e2e/**/test-results.xml - -package-lock.json - -.nsbuildinfo +tns-core-modules.es6.d.ts \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 5acd7ae98f..3a51bc2980 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,5 +6,6 @@ "**/platforms": true, "**/*.js": true, "**/*.js.map": true - } + }, + "tslint.configFile": "./build/tslint.json" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5aaff8097f..931bc86f19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,140 @@ Cross Platform Modules Changelog ============================== + + +# [4.1.0](https://github.com/NativeScript/NativeScript/compare/4.0.1...4.1.0) (2018-05-28) + +### Bug Fixes + +* **android:** fix sporadic issue with transition cleanup logic called twice ([#5805](https://github.com/NativeScript/NativeScript/issues/5805)) ([a86d41e](https://github.com/NativeScript/NativeScript/commit/a86d41e)) +* **android:** lollipop crash on changing activity context after navigation w/transition ([#5700](https://github.com/NativeScript/NativeScript/issues/5700)) ([4f5887b](https://github.com/NativeScript/NativeScript/commit/4f5887b)) +* **android-connectivity:** add ethernet connection type ([#5670](https://github.com/NativeScript/NativeScript/issues/5670)) ([1536d15](https://github.com/NativeScript/NativeScript/commit/1536d15)) +* **android-textfield:** returnPress fired twice for GO/SEARCH/SEND ([#5727](https://github.com/NativeScript/NativeScript/issues/5727)) ([ca444aa](https://github.com/NativeScript/NativeScript/commit/ca444aa)) +* **flexbox-ios:** resolve text size issue for ListView with flexbox layout template ([#5799](https://github.com/NativeScript/NativeScript/issues/5799)) ([a03065c](https://github.com/NativeScript/NativeScript/commit/a03065c)) +* **flexbox:** label text wrapping inside flexbox layout ([#5781](https://github.com/NativeScript/NativeScript/issues/5781)) ([481043f](https://github.com/NativeScript/NativeScript/commit/481043f)) +* **ios-image-asset:** getImageAsync() can retrieve assets stored remotely in iCloud ([#5705](https://github.com/NativeScript/NativeScript/issues/5705)) ([9e3da8e](https://github.com/NativeScript/NativeScript/commit/9e3da8e)) +* **ios-searchbar:** fix searchbar auto sizing in iOS11 ([#5658](https://github.com/NativeScript/NativeScript/issues/5658)) ([555e592](https://github.com/NativeScript/NativeScript/commit/555e592)) +* **list-view-ios:** fix rowHeight property to apply proper item size for iOS ([#5693](https://github.com/NativeScript/NativeScript/issues/5693)) ([b9806ba](https://github.com/NativeScript/NativeScript/commit/b9806ba)) +* **modal:** exception when calling ViewBase.showModal(...) ([#5737](https://github.com/NativeScript/NativeScript/issues/5737)) ([451589d](https://github.com/NativeScript/NativeScript/commit/451589d)) +* **modal:** innerView.closeModal(...) not passing back context ([#5833](https://github.com/NativeScript/NativeScript/issues/5833)) ([1365f13](https://github.com/NativeScript/NativeScript/commit/1365f13)) +* **navigation:** fix frame.navigate call inside page.navigatedTo handler ([#5649](https://github.com/NativeScript/NativeScript/issues/5649)) ([cf950e1](https://github.com/NativeScript/NativeScript/commit/cf950e1)) +* crash at application launch on Android P ([#5831](https://github.com/NativeScript/NativeScript/issues/5831)) ([7851629](https://github.com/NativeScript/NativeScript/commit/7851629)) + +### Features + +* **file-system:** add ability to retrieve file size ([#5710](https://github.com/NativeScript/NativeScript/issues/5710)) ([6bdb5b5](https://github.com/NativeScript/NativeScript/commit/6bdb5b5)) +* **tabview:** add tab text font size property ([#5752](https://github.com/NativeScript/NativeScript/issues/5752)) ([11f0d6e](https://github.com/NativeScript/NativeScript/commit/11f0d6e)) +* **view:** introduce LayoutChanged event on every View component ([#5825](https://github.com/NativeScript/NativeScript/issues/5825)) ([0fc1547](https://github.com/NativeScript/NativeScript/commit/0fc1547)) +* **css:** linear-gradient support for background and backgroundImage ([#5534](https://github.com/NativeScript/NativeScript/issues/5534)) ([5a83a1c](https://github.com/NativeScript/NativeScript/commit/5a83a1c)) + + +# 4.0.1 (2018, May 18) + +### Bug Fixes + +* feat(builder): enable reading xml from bundle (#5668) ([1e682bf](https://github.com/NativeScript/NativeScript/commit/1e682bf)), closes [#5668](https://github.com/NativeScript/NativeScript/issues/5668) +* fix(layout): IOS Layout not invalidated with custom root (#5724) ([f1c0b85](https://github.com/NativeScript/NativeScript/commit/f1c0b85)), closes [#5724](https://github.com/NativeScript/NativeScript/issues/5724) + +# 4.0.0 (2018, April 10) + +A detailed list of the new features and changes coming with NativeScript 4.0 ca be found [here](https://docs.google.com/document/d/1Iia0yEr5seq4H9qk4oMuJs4-M8dgmne98fymCO5IczA/edit?usp=sharing). + +You can also check the [NativeScript 4.0 is out blog post](https://www.nativescript.org/blog/nativescript-4.0-is-out) for highlights. + +### Bug Fixes + +* **android-images:** set decodeHeight/decodeWidth default values to dip ([#5490](https://github.com/NativeScript/NativeScript/issues/5490)) ([6509efa](https://github.com/NativeScript/NativeScript/commit/6509efa)) +* **animations:** change throw -> trace to avoid unnecessary app crash ([#5475](https://github.com/NativeScript/NativeScript/issues/5475)) ([fa80355](https://github.com/NativeScript/NativeScript/commit/fa80355)) +* **animations:** check if target is present before removing its animation ([#4586](https://github.com/NativeScript/NativeScript/issues/4586)) ([4bd3a94](https://github.com/NativeScript/NativeScript/commit/4bd3a94)) +* **animations:** register both style's "name" and "cssName" ([#3810](https://github.com/NativeScript/NativeScript/issues/3810)) ([3ea7365](https://github.com/NativeScript/NativeScript/commit/3ea7365)) +* **animations:** remove default getters for transform properties ([#4286](https://github.com/NativeScript/NativeScript/issues/4286)) ([26e2748](https://github.com/NativeScript/NativeScript/commit/26e2748)) +* **css-animations:** convert transform value properly ([#4352](https://github.com/NativeScript/NativeScript/issues/4352)) ([b7c61ca](https://github.com/NativeScript/NativeScript/commit/b7c61ca)) +* **date-picker:** Date picker changed check ([#4797](https://github.com/NativeScript/NativeScript/issues/4797)) ([d0b3e0c](https://github.com/NativeScript/NativeScript/commit/d0b3e0c)) +* **es6:** object constructor assign ([3ef45c1](https://github.com/NativeScript/NativeScript/commit/3ef45c1)) +* **file-system-access:** join paths without leading slash ([1a497b1](https://github.com/NativeScript/NativeScript/commit/1a497b1)) +* TextField not secure when keyboardType="number" ([#5012](https://github.com/NativeScript/NativeScript/issues/5012)) ([3e6f465](https://github.com/NativeScript/NativeScript/commit/3e6f465)) +* **frame:** add generic frame cleanup logic after modal dialog close ([#5479](https://github.com/NativeScript/NativeScript/issues/5479)) ([2704915](https://github.com/NativeScript/NativeScript/commit/2704915)) +* **frame:** recreate frame if no cached one found on app resume [#5318](https://github.com/NativeScript/NativeScript/issues/5318) ([#5330](https://github.com/NativeScript/NativeScript/issues/5330)) ([9d7f0e5](https://github.com/NativeScript/NativeScript/commit/9d7f0e5)) +* **frame:** root tabview with modal frame when suspend/resume app ([#5408](https://github.com/NativeScript/NativeScript/issues/5408)) ([2edef3d](https://github.com/NativeScript/NativeScript/commit/2edef3d)) +* **image:** image aspect dimensions for ImageSource.fromAsset(...) ([#5556](https://github.com/NativeScript/NativeScript/issues/5556)) ([7506905](https://github.com/NativeScript/NativeScript/commit/7506905)) +* **image-source:** Fix test for base64 image source for android API 26 ([#4741](https://github.com/NativeScript/NativeScript/issues/4741)) ([1171da2](https://github.com/NativeScript/NativeScript/commit/1171da2)) +* **image-source:** throw if source is not a correct native instance ([#5273](https://github.com/NativeScript/NativeScript/issues/5273)) ([58d61ca](https://github.com/NativeScript/NativeScript/commit/58d61ca)) +* **image:** apply tintColor correctly on iOS ([#5546](https://github.com/NativeScript/NativeScript/issues/5546)) ([75ee84c](https://github.com/NativeScript/NativeScript/commit/75ee84c)) +* **inspector:** Fix --debug-brk issue with Inspector ([#5460](https://github.com/NativeScript/NativeScript/issues/5460)) ([0b34e67](https://github.com/NativeScript/NativeScript/commit/0b34e67)) +* **iOS:** image._setColorTint is not a function fix ([465b5bf](https://github.com/NativeScript/NativeScript/commit/465b5bf)) +* **ios-action-bar:** enable NavigationButton text change on first navigation ([#5458](https://github.com/NativeScript/NativeScript/issues/5458)) ([b878143](https://github.com/NativeScript/NativeScript/commit/b878143)) +* **ios-action-bar:** NavigationButton cannot be hidden if navigating with transition ([#5451](https://github.com/NativeScript/NativeScript/issues/5451)) ([c54e069](https://github.com/NativeScript/NativeScript/commit/c54e069)) +* **ios-frame:** do not update backstack when navigating the same page ([#5426](https://github.com/NativeScript/NativeScript/issues/5426)) ([714af6b](https://github.com/NativeScript/NativeScript/commit/714af6b)) +* **layouts:** Set automaticallyAdjustsScrollViewInsets ([#5311](https://github.com/NativeScript/NativeScript/issues/5311)) ([b492996](https://github.com/NativeScript/NativeScript/commit/b492996)) +* **livesync:** attach __onLiveSyncCore to global object ([#4215](https://github.com/NativeScript/NativeScript/issues/4215)) ([90a0da2](https://github.com/NativeScript/NativeScript/commit/90a0da2)) +* **minor:** reword missing-xml-error to be clearer ([#4947](https://github.com/NativeScript/NativeScript/issues/4947)) ([374f31c](https://github.com/NativeScript/NativeScript/commit/374f31c)) +* **profiling:** resetProfiles doesn't reset all profiles ([#5425](https://github.com/NativeScript/NativeScript/issues/5425)) ([68d86fb](https://github.com/NativeScript/NativeScript/commit/68d86fb)) +* **slider:** correct maxValue setter for android ([#4346](https://github.com/NativeScript/NativeScript/issues/4346)) ([6184338](https://github.com/NativeScript/NativeScript/commit/6184338)), closes [#4343](https://github.com/NativeScript/NativeScript/issues/4343) +* **style:** Styles are not applied to dialogs ([#5612](https://github.com/NativeScript/NativeScript/issues/5612)) ([38e6f66](https://github.com/NativeScript/NativeScript/commit/38e6f66)) +* **style-scope:** remove isFileOrResourcePath check ([5746dc5](https://github.com/NativeScript/NativeScript/commit/5746dc5)) +* **text:** Allow -1 to be a valid binding value for text views ([#5563](https://github.com/NativeScript/NativeScript/issues/5563)) ([7cd8e7e](https://github.com/NativeScript/NativeScript/commit/7cd8e7e)), closes [#5559](https://github.com/NativeScript/NativeScript/issues/5559) +* **uilabel:** line height setter should not break line break mode ([#5544](https://github.com/NativeScript/NativeScript/issues/5544)) ([75bd1d2](https://github.com/NativeScript/NativeScript/commit/75bd1d2)) +* **webpack:** fix fragment css not being applied with webpack ([#5172](https://github.com/NativeScript/NativeScript/issues/5172)) ([60773e7](https://github.com/NativeScript/NativeScript/commit/60773e7)) +* **webpack:** register wrap layout ([#5573](https://github.com/NativeScript/NativeScript/issues/5573)) ([0012bfd](https://github.com/NativeScript/NativeScript/commit/0012bfd)) +* **xml parser:** Fix text node data event. ([67cfab2](https://github.com/NativeScript/NativeScript/commit/67cfab2)) +* **xml parser:** Handle whitespace around attribute = ([2a2c0e5](https://github.com/NativeScript/NativeScript/commit/2a2c0e5)) +* ActionItems lacks proper support for VoiceOver on iOS ([#2796](https://github.com/NativeScript/NativeScript/issues/2796)) ([#2799](https://github.com/NativeScript/NativeScript/issues/2799)) ([37d927b](https://github.com/NativeScript/NativeScript/commit/37d927b)) +* ActionBar's title not updating in OnLoaded event ([1d63103](https://github.com/NativeScript/NativeScript/commit/1d63103)) +* add css-agent declarations ([#4361](https://github.com/NativeScript/NativeScript/issues/4361)) ([c62e79e](https://github.com/NativeScript/NativeScript/commit/c62e79e)) +* add dom-node declarations ([#4359](https://github.com/NativeScript/NativeScript/issues/4359)) ([08af2ef](https://github.com/NativeScript/NativeScript/commit/08af2ef)) +* cleanup modaltest paths ([#5300](https://github.com/NativeScript/NativeScript/issues/5300)) ([8d59cc4](https://github.com/NativeScript/NativeScript/commit/8d59cc4)) +* DatePicker month off by 1 in Android ([#4872](https://github.com/NativeScript/NativeScript/issues/4872)) ([1e47117](https://github.com/NativeScript/NativeScript/commit/1e47117)) +* Fix scroll-view tests for ios 9 and 10 ([#5358](https://github.com/NativeScript/NativeScript/issues/5358)) ([464cdd5](https://github.com/NativeScript/NativeScript/commit/464cdd5)) +* layoutParent crash with ProxyViewContainer ([#5315](https://github.com/NativeScript/NativeScript/issues/5315)) ([923d48b](https://github.com/NativeScript/NativeScript/commit/923d48b)) +* Navigation test app added ([4d23e37](https://github.com/NativeScript/NativeScript/commit/4d23e37)) +* Require core modules used for inspector lazily ([#4977](https://github.com/NativeScript/NativeScript/issues/4977)) ([0fe1806](https://github.com/NativeScript/NativeScript/commit/0fe1806)) +* set default values to time widgets ([#4383](https://github.com/NativeScript/NativeScript/issues/4383)) ([14098d4](https://github.com/NativeScript/NativeScript/commit/14098d4)) +* set tns-core-modules-widgets to 4.0.0 ([eff264e](https://github.com/NativeScript/NativeScript/commit/eff264e)) +* throw if global css file is not found in webpack context ([#5186](https://github.com/NativeScript/NativeScript/issues/5186)) ([9ce0819](https://github.com/NativeScript/NativeScript/commit/9ce0819)) +* typo on android utils, getPalleteColor to getPaletteColor ([#4687](https://github.com/NativeScript/NativeScript/issues/4687)) ([7b36461](https://github.com/NativeScript/NativeScript/commit/7b36461)) +* uuid for ios changed on IOS v7 ([#4681](https://github.com/NativeScript/NativeScript/issues/4681)) ([92471c6](https://github.com/NativeScript/NativeScript/commit/92471c6)) + + + +### Features + +* **navigation:** Flexible Frame Composition ([#48](https://github.com/NativeScript/NativeScript/issues/48)) +* **angular xml:** Support [prop] and (tap) bindings ([fdd8c9b](https://github.com/NativeScript/NativeScript/commit/fdd8c9b)) +* **frame:** handle back navigation when common layout is used as a root element ([#5608](https://github.com/NativeScript/NativeScript/issues/5608)) ([70f0112](https://github.com/NativeScript/NativeScript/commit/70f0112)) +* **frame:** rework frame retrieval api ([#5527](https://github.com/NativeScript/NativeScript/issues/5527)) ([dfa70dd](https://github.com/NativeScript/NativeScript/commit/dfa70dd)) +* **ios:** fire onDisplayed event when first frame is ready to be displayed ([#5344](https://github.com/NativeScript/NativeScript/issues/5344)) ([1c78e47](https://github.com/NativeScript/NativeScript/commit/1c78e47)) +* **ios-image-source:** standardize quality scale in image-source ([#5517](https://github.com/NativeScript/NativeScript/issues/5517)) ([319c153](https://github.com/NativeScript/NativeScript/commit/319c153)), closes [#5474](https://github.com/NativeScript/NativeScript/issues/5474) +* **ios-list-view:** introduce iosEstimatedRowHeight property. ([#5568](https://github.com/NativeScript/NativeScript/issues/5568)) ([52c0448](https://github.com/NativeScript/NativeScript/commit/52c0448)) +* **listview:** add required interface for generalized list-view component ([#5524](https://github.com/NativeScript/NativeScript/issues/5524)) ([b29f04f](https://github.com/NativeScript/NativeScript/commit/b29f04f)) +* **modal:** introduce stretched param to showModal method ([#5496](https://github.com/NativeScript/NativeScript/issues/5496)) ([0138873](https://github.com/NativeScript/NativeScript/commit/0138873)) +* **observable:** Implement observable .once ([#5309](https://github.com/NativeScript/NativeScript/issues/5309)) ([2166d1e](https://github.com/NativeScript/NativeScript/commit/2166d1e)) +* **style-scope:** Resolve css sheets from tns_modules ([414ebc6](https://github.com/NativeScript/NativeScript/commit/414ebc6)) +* **tab-view-android:** enable tabs positioning at the bottom ([#5385](https://github.com/NativeScript/NativeScript/issues/5385)) ([f8dce08](https://github.com/NativeScript/NativeScript/commit/f8dce08)) +* **view:** expose method for android back override ([#5537](https://github.com/NativeScript/NativeScript/issues/5537)) ([cf8dcfa](https://github.com/NativeScript/NativeScript/commit/cf8dcfa)) +* **webpack:** mark the CSS type for stylable views explicitly ([#5257](https://github.com/NativeScript/NativeScript/issues/5257)) ([1cbb1e8](https://github.com/NativeScript/NativeScript/commit/1cbb1e8)) +* **xml parser:** Only allow angular syntax extensions if configured. ([748b4f1](https://github.com/NativeScript/NativeScript/commit/748b4f1)) +* Add methods to get the root view and set a different root view at run time ([#5386](https://github.com/NativeScript/NativeScript/issues/5386)) ([b113b00](https://github.com/NativeScript/NativeScript/commit/b113b00)) +* Add require.context typings ([#5156](https://github.com/NativeScript/NativeScript/issues/5156)) ([0986315](https://github.com/NativeScript/NativeScript/commit/0986315)) +* Register ./app.css instead of app.css so it can be provided by webpack context ([#5158](https://github.com/NativeScript/NativeScript/issues/5158)) ([d356339](https://github.com/NativeScript/NativeScript/commit/d356339)) +* support intent replacement in the android activity ([#5337](https://github.com/NativeScript/NativeScript/issues/5337)) ([01fab68](https://github.com/NativeScript/NativeScript/commit/01fab68)) + + +### BREAKING CHANGES + +* **ios-layout** Frame, Page and TabView measure/layout methods no longer used. We now rely on the iOS to position these controls. As a result width, height, minWidth, minHeight, margins won't be respected on these controls +* **ios-layout** Layouts for ViewContollers now implemented with UILayoutGuide (requires iOS 9) +* **tabview** TabViewItems are now loaded/unloaded on demand - when they will be displayed. +* **webpack:** Extending classes requires marking the derived class with @CSSType +The root classes are not marked with CSSType and classes derived from ViewBase and View +will continue to work as expected. More concrete view classes (Button, Label, etc.) are +marked with @CSSType now and store their cssType on the prototype suppressing the previous +implementation that looked up the class function name. So clien classes that derive from one of +our @CSSType decorated classes will now have to be marked with @CSSType. +* **android-images:** change decodeHeight/decodeWidth properties to accept device independent pixels by default +* **image-source:** Change the return type of `setNativeSource` method from `boolean` to `void`. + + + ## 3.4.1 (2018, February 20) ### New diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eb02a9a873..0eed34e467 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,10 @@ Help us keep a healthy and open community. We expect all participants in this pr 2. Search for similar issues in the issues list for this repo; it may already be an identified problem. 3. If this is a bug or problem that is clear, simple, and is unlikely to require any discussion -- it is OK to open an issue on GitHub with a reproduction of the bug including workflows and screenshots. If possible, submit a Pull Request with a failing test, entire application or module. If you'd rather take matters into your own hands, fix the bug yourself (jump down to the [Submitting a PR](#pr) section). +> While we are doing all we can to take care of every issue, sometimes we get overwhelmed. That's why +> - issues that are not constructive or describe problems that cannot be reproduced will be closed +> - feature requests or bug reports with unanswered questions regarding the behavior/reproduction for more than 20 days will be closed + ## Requesting Features 1. Use Github Issues to submit feature requests. diff --git a/apps/app/css-perf-test/main-page.ts b/apps/app/css-perf-test/main-page.ts index 3b97106491..c22a93868d 100644 --- a/apps/app/css-perf-test/main-page.ts +++ b/apps/app/css-perf-test/main-page.ts @@ -1,4 +1,4 @@ -import {EventData as ObservableEventData} from "tns-core-modules/data/observable"; +import {EventData as ObservableEventData } from "tns-core-modules/data/observable"; export function navigatedTo(args: ObservableEventData) { setTimeout(() => { diff --git a/apps/app/css-perf-test/root.ts b/apps/app/css-perf-test/root.ts index 31b91d23ac..62f3976c0f 100644 --- a/apps/app/css-perf-test/root.ts +++ b/apps/app/css-perf-test/root.ts @@ -1,4 +1,4 @@ -import {Page} from "tns-core-modules/ui/page"; +import { Page } from "tns-core-modules/ui/page"; export function onTap(args: any) { (global).startTime = (global).time(); diff --git a/apps/app/cuteness.io/main-page.ts b/apps/app/cuteness.io/main-page.ts index 770a4c9609..6fc3b94291 100644 --- a/apps/app/cuteness.io/main-page.ts +++ b/apps/app/cuteness.io/main-page.ts @@ -1,8 +1,8 @@ -import {EventData as ObservableEventData} from "tns-core-modules/data/observable"; -import {Page} from "tns-core-modules/ui/page"; -import {ItemEventData as ListViewItemEventData} from "tns-core-modules/ui/list-view"; -import {topmost as topmostFrame} from "tns-core-modules/ui/frame"; -import {AppViewModel} from "./reddit-app-view-model"; +import {EventData as ObservableEventData } from "tns-core-modules/data/observable"; +import { Page } from "tns-core-modules/ui/page"; +import {ItemEventData as ListViewItemEventData } from "tns-core-modules/ui/list-view"; +import {topmost as topmostFrame } from "tns-core-modules/ui/frame"; +import { AppViewModel } from "./reddit-app-view-model"; var appViewModel = new AppViewModel(); diff --git a/apps/app/devtools-app/main-page.ts b/apps/app/devtools-app/main-page.ts index 451163c425..2a600ea21b 100644 --- a/apps/app/devtools-app/main-page.ts +++ b/apps/app/devtools-app/main-page.ts @@ -30,7 +30,7 @@ export function navigate() { frame.topmost().navigate("gallery-app/main-page"); } -export function change(args){ +export function change(args) { args.object.text = "hi " + Math.random(); } \ No newline at end of file diff --git a/apps/app/modaltest/main-page.ts b/apps/app/modaltest/main-page.ts index 3a153f0166..1ed90cb7f8 100644 --- a/apps/app/modaltest/main-page.ts +++ b/apps/app/modaltest/main-page.ts @@ -26,7 +26,7 @@ export function onTap3(args: EventData) { } function closeModal() { - console.log('closeModal Called'); + console.log("closeModal Called"); } export function sync(args: EventData) { diff --git a/apps/app/modaltest/modal-tab.ts b/apps/app/modaltest/modal-tab.ts index 1ebac4ff3b..224dcf81bd 100644 --- a/apps/app/modaltest/modal-tab.ts +++ b/apps/app/modaltest/modal-tab.ts @@ -1,6 +1,6 @@ import { View, EventData } from "tns-core-modules/ui/core/view"; -const colors = ['red', 'orange', 'magenta']; +const colors = ["red", "orange", "magenta"]; let x = 0; export function onLoaded(args) { diff --git a/apps/app/navigation-app/main-page.ts b/apps/app/navigation-app/main-page.ts index 5b1af32d1e..32a4a7246b 100644 --- a/apps/app/navigation-app/main-page.ts +++ b/apps/app/navigation-app/main-page.ts @@ -1,6 +1,6 @@ -import { EventData } from 'tns-core-modules/data/observable'; -import { Page, NavigatedData } from 'tns-core-modules/ui/page'; -import { topmost, NavigationEntry } from 'tns-core-modules/ui/frame'; +import { EventData } from "tns-core-modules/data/observable"; +import { Page, NavigatedData } from "tns-core-modules/ui/page"; +import { topmost, NavigationEntry } from "tns-core-modules/ui/frame"; export function nav() { const e: NavigationEntry = { diff --git a/apps/app/perf-app/flexbox/main-page.ts b/apps/app/perf-app/flexbox/main-page.ts index f8cdddd16f..dfca62340b 100644 --- a/apps/app/perf-app/flexbox/main-page.ts +++ b/apps/app/perf-app/flexbox/main-page.ts @@ -1,4 +1,4 @@ -import {TabView} from "tns-core-modules/ui/tab-view"; +import { TabView } from "tns-core-modules/ui/tab-view"; import * as utils from "tns-core-modules/utils/utils"; const titles = ["Etiam lacinia", "Imperdiet ante", "A interdum", "Quisque tempus", "Sodales viverra"]; diff --git a/apps/app/perf-app/properties/tests.ts b/apps/app/perf-app/properties/tests.ts index 2e85994239..260fd7b3df 100644 --- a/apps/app/perf-app/properties/tests.ts +++ b/apps/app/perf-app/properties/tests.ts @@ -4,7 +4,7 @@ import { Label } from "tns-core-modules/ui/label"; const average = 3; const noValue = "noValue"; -const colors = ['red', 'green']; +const colors = ["red", "green"]; export function addRemove(counts: Array, parent: LayoutBase): string { let result = `addRemove`; @@ -29,7 +29,7 @@ export function addRemove(counts: Array, parent: LayoutBase): string { } export function setText(counts: Array, parent?: LayoutBase): string { - let result = `setText ${parent ? 'with nativeView' : ''}`; + let result = `setText ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { const lbl = setup(parent); const time = executeTest(() => { @@ -44,7 +44,7 @@ export function setText(counts: Array, parent?: LayoutBase): string { } export function setBackgroundColor(counts: Array, parent?: LayoutBase): string { - let result = `setBackgroundColor ${parent ? 'with nativeView' : ''}`; + let result = `setBackgroundColor ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { if (parent && count > 10000) { result += setResultTime(noValue); @@ -66,7 +66,7 @@ export function setBackgroundColor(counts: Array, parent?: LayoutBase): const borders = [1, 2, 3]; export function setBorderWidths(counts: Array, parent?: LayoutBase): string { - let result = `setBorderWidths ${parent ? 'with nativeView' : ''}`; + let result = `setBorderWidths ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { if (count > 10000 && parent) { result += setResultTime(noValue); @@ -90,7 +90,7 @@ export function setBorderWidths(counts: Array, parent?: LayoutBase): str } export function setColor(counts: Array, parent?: LayoutBase): string { - let result = `setColor ${parent ? 'with nativeView' : ''}`; + let result = `setColor ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { const lbl = setup(parent); const style = lbl.style; @@ -128,7 +128,7 @@ export function setColorWithParents(counts: Array, parent: LayoutBase): const fontSizes = [10, 20]; export function setFontSize(counts: Array, parent?: LayoutBase): string { - let result = `setFontSize ${parent ? 'with nativeView' : ''}`; + let result = `setFontSize ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { const lbl = setup(parent); const style = lbl.style; @@ -165,13 +165,13 @@ export function setFontSizeWithParents(counts: Array, parent: LayoutBase } export function setFontWeight(counts: Array, parent?: LayoutBase): string { - let result = `setFontWeight ${parent ? 'with nativeView' : ''}`; + let result = `setFontWeight ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { const lbl = setup(parent); const style = lbl.style; const time = executeTest(() => { for (let i = 0; i < count; i++) { - style.fontWeight = i % 2 === 0 ? 'bold' : 'normal'; + style.fontWeight = i % 2 === 0 ? "bold" : "normal"; } }); result += setResultTime(time); @@ -192,7 +192,7 @@ export function setFontWeightWithParents(counts: Array, parent: LayoutBa setupParents(parent); const time = executeTest(() => { for (let i = 0; i < count; i++) { - style.fontWeight = i % 2 === 0 ? 'bold' : 'normal' + style.fontWeight = i % 2 === 0 ? "bold" : "normal" } }); result += setResultTime(time); @@ -202,7 +202,7 @@ export function setFontWeightWithParents(counts: Array, parent: LayoutBa } export function setBindingContext(counts: Array, parent?: LayoutBase): string { - let result = `setBindingContext ${parent ? 'with nativeView' : ''}`; + let result = `setBindingContext ${parent ? "with nativeView" : ""}`; counts.forEach((count) => { const lbl = setup(parent); const time = executeTest(() => { diff --git a/apps/app/perf-app/recycling/main-page.ts b/apps/app/perf-app/recycling/main-page.ts index da0e75ffdc..3c715eede7 100644 --- a/apps/app/perf-app/recycling/main-page.ts +++ b/apps/app/perf-app/recycling/main-page.ts @@ -56,7 +56,7 @@ export function onTap(args) { result.text += line + "\n"; } - let text = '';//"Count"; + let text = ""; //"Count"; // c.forEach(e => { // text += `\t${e}`; // }); diff --git a/apps/app/perf-app/recycling/tests.ts b/apps/app/perf-app/recycling/tests.ts index 9b2cb697cc..178859f66d 100644 --- a/apps/app/perf-app/recycling/tests.ts +++ b/apps/app/perf-app/recycling/tests.ts @@ -1,40 +1,40 @@ -import { time } from 'tns-core-modules/profiling'; -import { ActionBar } from 'tns-core-modules/ui/action-bar'; -import { ActivityIndicator } from 'tns-core-modules/ui/activity-indicator'; -import { Border } from 'tns-core-modules/ui/border'; -import { Button } from 'tns-core-modules/ui/button'; -import { ContentView } from 'tns-core-modules/ui/content-view'; -import { DatePicker } from 'tns-core-modules/ui/date-picker'; -import { HtmlView } from 'tns-core-modules/ui/html-view'; -import { Image } from 'tns-core-modules/ui/image'; -import { Label } from 'tns-core-modules/ui/label'; -import { AbsoluteLayout } from 'tns-core-modules/ui/layouts/absolute-layout'; -import { DockLayout } from 'tns-core-modules/ui/layouts/dock-layout'; -import { FlexboxLayout } from 'tns-core-modules/ui/layouts/flexbox-layout'; -import { GridLayout } from 'tns-core-modules/ui/layouts/grid-layout'; -import { StackLayout } from 'tns-core-modules/ui/layouts/stack-layout'; -import { WrapLayout } from 'tns-core-modules/ui/layouts/wrap-layout'; -import { ListPicker } from 'tns-core-modules/ui/list-picker'; -import { ListView } from 'tns-core-modules/ui/list-view'; -import { Page } from 'tns-core-modules/ui/page'; -import { Progress } from 'tns-core-modules/ui/progress'; -import { Repeater } from 'tns-core-modules/ui/repeater'; -import { SegmentedBar } from 'tns-core-modules/ui/segmented-bar'; -import { Switch } from 'tns-core-modules/ui/switch'; -import { TabView } from 'tns-core-modules/ui/tab-view'; -import { TextField } from 'tns-core-modules/ui/text-field'; -import { TextView } from 'tns-core-modules/ui/text-view'; -import { TimePicker } from 'tns-core-modules/ui/time-picker'; -import { View } from 'tns-core-modules/ui/core/view'; -import { FormattedString, Span } from 'tns-core-modules/text/formatted-string'; -import { _getProperties, _getStyleProperties } from 'tns-core-modules/ui/core/properties'; +import { time } from "tns-core-modules/profiling"; +import { ActionBar } from "tns-core-modules/ui/action-bar"; +import { ActivityIndicator } from "tns-core-modules/ui/activity-indicator"; +import { Border } from "tns-core-modules/ui/border"; +import { Button } from "tns-core-modules/ui/button"; +import { ContentView } from "tns-core-modules/ui/content-view"; +import { DatePicker } from "tns-core-modules/ui/date-picker"; +import { HtmlView } from "tns-core-modules/ui/html-view"; +import { Image } from "tns-core-modules/ui/image"; +import { Label } from "tns-core-modules/ui/label"; +import { AbsoluteLayout } from "tns-core-modules/ui/layouts/absolute-layout"; +import { DockLayout } from "tns-core-modules/ui/layouts/dock-layout"; +import { FlexboxLayout } from "tns-core-modules/ui/layouts/flexbox-layout"; +import { GridLayout } from "tns-core-modules/ui/layouts/grid-layout"; +import { StackLayout } from "tns-core-modules/ui/layouts/stack-layout"; +import { WrapLayout } from "tns-core-modules/ui/layouts/wrap-layout"; +import { ListPicker } from "tns-core-modules/ui/list-picker"; +import { ListView } from "tns-core-modules/ui/list-view"; +import { Page } from "tns-core-modules/ui/page"; +import { Progress } from "tns-core-modules/ui/progress"; +import { Repeater } from "tns-core-modules/ui/repeater"; +import { SegmentedBar } from "tns-core-modules/ui/segmented-bar"; +import { Switch } from "tns-core-modules/ui/switch"; +import { TabView } from "tns-core-modules/ui/tab-view"; +import { TextField } from "tns-core-modules/ui/text-field"; +import { TextView } from "tns-core-modules/ui/text-view"; +import { TimePicker } from "tns-core-modules/ui/time-picker"; +import { View } from "tns-core-modules/ui/core/view"; +import { FormattedString, Span } from "tns-core-modules/text/formatted-string"; +import { _getProperties, _getStyleProperties } from "tns-core-modules/ui/core/properties"; declare var __startCPUProfiler; declare var __stopCPUProfiler; const count = 200; export function testSetup(layout: StackLayout): string { setupSetters(); - return ''; + return ""; } export function testFlexboxLayout(layout: StackLayout): string { @@ -133,47 +133,47 @@ function test(layout: StackLayout, createView: () => View, count: number): strin const viewMap1 = new Map(); const cssMap1 = new Map(); - viewMap1.set('isEnabled', false); + viewMap1.set("isEnabled", false); let result = execute(layout, createView, count, viewMap1, cssMap1) - viewMap1.set('text', 'text'); - viewMap1.set('automationText', "automationText"); - cssMap1.set('width', 100); - cssMap1.set('height', 100); - cssMap1.set('rotate', '90'); + viewMap1.set("text", "text"); + viewMap1.set("automationText", "automationText"); + cssMap1.set("width", 100); + cssMap1.set("height", 100); + cssMap1.set("rotate", "90"); result += execute(layout, createView, count, viewMap1, cssMap1) - viewMap1.set('clipToBounds', false); - viewMap1.set('left', '20'); - viewMap1.set('top', '20'); - viewMap1.set('dock', 'top'); - viewMap1.set('stretchLastChild', false); + viewMap1.set("clipToBounds", false); + viewMap1.set("left", "20"); + viewMap1.set("top", "20"); + viewMap1.set("dock", "top"); + viewMap1.set("stretchLastChild", false); - cssMap1.set('paddingLeft', '30px'); - cssMap1.set('paddingTop', '30px'); - cssMap1.set('paddingRight', '30px'); - cssMap1.set('paddingBottom', '30px'); - cssMap1.set('horizontalAlignment', 'center'); - cssMap1.set('verticalAlignment', 'center'); + cssMap1.set("paddingLeft", "30px"); + cssMap1.set("paddingTop", "30px"); + cssMap1.set("paddingRight", "30px"); + cssMap1.set("paddingBottom", "30px"); + cssMap1.set("horizontalAlignment", "center"); + cssMap1.set("verticalAlignment", "center"); result += execute(layout, createView, count, viewMap1, cssMap1) - viewMap1.set('row', '1'); - viewMap1.set('rowSpan', '2'); - viewMap1.set('col', '1'); - viewMap1.set('colSpan', '2'); - - cssMap1.set('rotate', '90'); - cssMap1.set('scaleX', 2); - cssMap1.set('scaleY', 2); - cssMap1.set('translateX', 20); - cssMap1.set('translateY', 20); - cssMap1.set('clipPath', 'inset(100px 50px)'); - cssMap1.set('color', 'red'); - cssMap1.set('tintColor', 'green'); - cssMap1.set('placeholderColor', 'green'); - cssMap1.set('backgroundColor', 'red'); - cssMap1.set('backgroundImage', '~/logo.png'); + viewMap1.set("row", "1"); + viewMap1.set("rowSpan", "2"); + viewMap1.set("col", "1"); + viewMap1.set("colSpan", "2"); + + cssMap1.set("rotate", "90"); + cssMap1.set("scaleX", 2); + cssMap1.set("scaleY", 2); + cssMap1.set("translateX", 20); + cssMap1.set("translateY", 20); + cssMap1.set("clipPath", "inset(100px 50px)"); + cssMap1.set("color", "red"); + cssMap1.set("tintColor", "green"); + cssMap1.set("placeholderColor", "green"); + cssMap1.set("backgroundColor", "red"); + cssMap1.set("backgroundImage", "~/logo.png"); result += execute(layout, createView, count, viewMap1, cssMap1) result += execute(layout, createView, count, setters, cssSetters); @@ -214,10 +214,10 @@ function profile(layout: StackLayout, createView: () => View, count: number, rec viewProps: Map, cssProps: Map): { time: number, count: number } { const view = createView(); - view.recycleNativeView = recycle ? 'always' : 'never'; + view.recycleNativeView = recycle ? "always" : "never"; const style = view.style; // DatePicker throws OOM - const c = view.typeName === 'DatePicker' ? 1 : 5; + const c = view.typeName === "DatePicker" ? 1 : 5; let total = 0; let x = 0; for (let i = 0; i < c; i++) { @@ -260,125 +260,125 @@ function setupSetters(): void { setters = new Map(); // view-base - setters.set('id', "someId"); - setters.set('className', "someClassName"); - setters.set('bindingContext', "someBindingContext"); + setters.set("id", "someId"); + setters.set("className", "someClassName"); + setters.set("bindingContext", "someBindingContext"); // view - setters.set('automationText', "automationText"); - setters.set('originX', 0.2); - setters.set('originY', 0.2); - setters.set('isEnabled', false); - setters.set('isUserInteractionEnabled', false); + setters.set("automationText", "automationText"); + setters.set("originX", 0.2); + setters.set("originY", 0.2); + setters.set("isEnabled", false); + setters.set("isUserInteractionEnabled", false); // action-bar - setters.set('title', 'title'); - setters.set('text', 'text'); - setters.set('icon', '~/logo.png'); - setters.set('visibility', 'collapse'); + setters.set("title", "title"); + setters.set("text", "text"); + setters.set("icon", "~/logo.png"); + setters.set("visibility", "collapse"); // activity-indicator - setters.set('busy', true); + setters.set("busy", true); // date-picker - setters.set('year', '2010'); - setters.set('month', '2'); - setters.set('day', '2'); - setters.set('maxDate', '2100'); - setters.set('minDate', '2000'); - setters.set('date', new Date(2011, 3, 3)); + setters.set("year", "2010"); + setters.set("month", "2"); + setters.set("day", "2"); + setters.set("maxDate", "2100"); + setters.set("minDate", "2000"); + setters.set("date", new Date(2011, 3, 3)); // editable-text - setters.set('keyboardType', 'datetime'); - setters.set('returnKeyType', 'done'); - setters.set('editable', false); - setters.set('updateTextTrigger', 'focusLost'); - setters.set('autocapitalizationType', 'words'); - setters.set('autocorrect', true); - setters.set('hint', 'hint'); - setters.set('maxLength', '10'); + setters.set("keyboardType", "datetime"); + setters.set("returnKeyType", "done"); + setters.set("editable", false); + setters.set("updateTextTrigger", "focusLost"); + setters.set("autocapitalizationType", "words"); + setters.set("autocorrect", true); + setters.set("hint", "hint"); + setters.set("maxLength", "10"); // html-view - setters.set('html', ''); + setters.set("html", ""); // image-view - setters.set('imageSource', ''); - setters.set('src', ''); - setters.set('loadMode', 'async'); - setters.set('isLoading', true); - setters.set('stretch', 'none'); + setters.set("imageSource", ""); + setters.set("src", ""); + setters.set("loadMode", "async"); + setters.set("isLoading", true); + setters.set("stretch", "none"); // layout-base - setters.set('clipToBounds', false); + setters.set("clipToBounds", false); // absolute-layout - setters.set('left', '20'); - setters.set('top', '20'); + setters.set("left", "20"); + setters.set("top", "20"); // dock-layout - setters.set('dock', 'top'); - setters.set('stretchLastChild', false); + setters.set("dock", "top"); + setters.set("stretchLastChild", false); // grid-layout props - setters.set('row', '1'); - setters.set('rowSpan', '2'); - setters.set('col', '1'); - setters.set('colSpan', '2'); + setters.set("row", "1"); + setters.set("rowSpan", "2"); + setters.set("col", "1"); + setters.set("colSpan", "2"); // stack-layout - setters.set('orientation', 'horizontal'); + setters.set("orientation", "horizontal"); // wrap-layout // custom orientation value // setters.set('orientation', 'vertical'); - setters.set('itemWidth', '50'); - setters.set('itemHeight', '50'); + setters.set("itemWidth", "50"); + setters.set("itemHeight", "50"); // list-picker - setters.set('items', ['1', '2', '3']); - setters.set('selectedIndex', '1'); + setters.set("items", ["1", "2", "3"]); + setters.set("selectedIndex", "1"); // list-view - setters.set('items', ['1', '2', '3']); - setters.set('itemTemplate', '