[GitHub] incubator-weex pull request #734: * [test] update danger version and danger ...
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/734 ---
incubator-weex git commit: * [test] update danger version and danger file import
Repository: incubator-weex Updated Branches: refs/heads/0.16-dev 9172cdde0 -> 3f0ddca09 * [test] update danger version and danger file import Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3f0ddca0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3f0ddca0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3f0ddca0 Branch: refs/heads/0.16-dev Commit: 3f0ddca09b410f0547bc534f7e2ac12be8609cb1 Parents: 9172cdd Author: gurisxie <279483...@qq.com> Authored: Fri Sep 22 13:45:20 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Fri Sep 22 13:45:20 2017 +0800 -- .travis.yml | 9 - dangerfile-android.js | 2 +- dangerfile-ios.js | 2 +- dangerfile-jsfm.js| 2 +- dangerfile.js | 2 +- package.json | 2 +- 6 files changed, 13 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3f0ddca0/.travis.yml -- diff --git a/.travis.yml b/.travis.yml index 8a49ae6..a7bca6f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,11 +49,18 @@ before_script: nvm install 7.0 npm install fi + - | +if [[ $TEST_SUITE = "jsfm" ]]; then + npm install +fi + - | +if [[ $TEST_SUITE = "danger" ]]; then + npm install +fi script: - | if [[ $TEST_SUITE = "android" ]]; then npm run danger -- run --dangerfile ./dangerfile-android.js - cd $TRAVIS_BUILD_DIR fi - | if [[ $TEST_SUITE = "jsfm" ]]; then http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3f0ddca0/dangerfile-android.js -- diff --git a/dangerfile-android.js b/dangerfile-android.js index 2e81f0a..f10dd94 100644 --- a/dangerfile-android.js +++ b/dangerfile-android.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -// Removed import +import { schedule, danger, fail, warn, message, markdown } from "danger"; import fs from "fs"; import path from 'path'; import GitHubApi from 'github'; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3f0ddca0/dangerfile-ios.js -- diff --git a/dangerfile-ios.js b/dangerfile-ios.js index 079e516..007d830 100644 --- a/dangerfile-ios.js +++ b/dangerfile-ios.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -// Removed import +import { schedule, danger, fail, warn, message, markdown } from "danger"; import fs from "fs"; import path from 'path'; import GitHubApi from 'github'; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3f0ddca0/dangerfile-jsfm.js -- diff --git a/dangerfile-jsfm.js b/dangerfile-jsfm.js index 64b72f4..71d6402 100644 --- a/dangerfile-jsfm.js +++ b/dangerfile-jsfm.js @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -// Removed import +import { schedule, danger, fail, warn, message, markdown } from "danger"; import fs from "fs"; import path from 'path'; import GitHubApi from 'github'; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3f0ddca0/dangerfile.js -- diff --git a/dangerfile.js b/dangerfile.js index 05db91d..2a7829f 100644 --- a/dangerfile.js +++ b/dangerfile.js @@ -305,7 +305,7 @@ function findReviewer(resolve, reject) { owner: danger.github.pr.base.user.login, repo: repoName, number: danger.github.pr.number, -headers: {Accept: 'application/vnd.github.diff'} +headers: {Accept: 'application/vnd.github.diff',"user-agent": "node.js"} }, function (err, result) { console.log('parseDeleteAndNormalLines') if ("undefined" === typeof result || "undefined" === typeof result.data || err) { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3f0ddca0/package.json -- diff --git a/package.json b/package.json index 87f5429..828d9af 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,7 @@ "chromedriver": "^2.21.2", "cross-spawn": "^4.0.0", "css-loader": "^0.26.1", -"danger": "^1.2.0", +"danger": "^0.18.0", "dateformat": "^2.0.0", "eslint": "^2.11.1", "eslint-plugin-flowtype": "^2.30.4",
[GitHub] incubator-weex issue #734: * [test] update danger version and danger file im...
Github user weex-bot commented on the issue: https://github.com/apache/incubator-weex/pull/734 Messages :book: has no jsfm file changed,skip test! Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS ---
[GitHub] incubator-weex pull request #734: * [test] update danger version and danger ...
GitHub user gurisxie opened a pull request: https://github.com/apache/incubator-weex/pull/734 * [test] update danger version and danger file import update danger version and danger file import: 1. danger version > 1.0.0 has bug,revert version to 0.18.0 2. danger file import danger You can merge this pull request into a Git repository by running: $ git pull https://github.com/gurisxie/incubator-weex test-bugfix-travis-danger Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/734.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #734 commit 3f0ddca09b410f0547bc534f7e2ac12be8609cb1 Author: gurisxie <279483...@qq.com> Date: 2017-09-22T05:45:20Z * [test] update danger version and danger file import ---
[GitHub] incubator-weex pull request #733: * [test] danger request need nodejs head t...
GitHub user gurisxie reopened a pull request: https://github.com/apache/incubator-weex/pull/733 * [test] danger request need nodejs head type Request failed [404] when send git request by using nodejsã You can merge this pull request into a Git repository by running: $ git pull https://github.com/gurisxie/incubator-weex test-bugfix-nodejs-headertype Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/733.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #733 commit 2676a4127bbd1de53d8e266a57d7864886902de7 Author: gurisxie <279483...@qq.com> Date: 2017-09-22T04:26:40Z * [test] danger request need nodejs head type commit 74a6c44d23d723765a57447dc760a9d68d113e64 Author: gurisxie <279483...@qq.com> Date: 2017-09-22T04:34:42Z * [test] reset travis yml commit 13974c507cdf2870d62abb6488a06470b32ab0d8 Author: gurisxie <279483...@qq.com> Date: 2017-09-22T04:45:56Z * [test] travis update ---
[GitHub] incubator-weex pull request #733: * [test] danger request need nodejs head t...
GitHub user gurisxie opened a pull request: https://github.com/apache/incubator-weex/pull/733 * [test] danger request need nodejs head type Request failed [404] when send git request by using nodejsã You can merge this pull request into a Git repository by running: $ git pull https://github.com/gurisxie/incubator-weex test-bugfix-nodejs-headertype Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/733.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #733 commit 2676a4127bbd1de53d8e266a57d7864886902de7 Author: gurisxie <279483...@qq.com> Date: 2017-09-22T04:26:40Z * [test] danger request need nodejs head type ---
[GitHub] incubator-weex issue #732: [jsfm] Sync the source code of weex-js-framework@...
Github user weex-bot commented on the issue: https://github.com/apache/incubator-weex/pull/732 Fails :no_entry_sign: android platform run unit test failed! Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS ---
[GitHub] incubator-weex pull request #731: fix image view bug, clear image when resus...
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/731 ---
[3/3] incubator-weex git commit: Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list
Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9172cdde Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9172cdde Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9172cdde Branch: refs/heads/0.16-dev Commit: 9172cdde0bbd250cc4c10418454499fe893c6e8d Parents: ff0af4e 5a08279 Author: jianbai.gbjAuthored: Thu Sep 21 22:09:52 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 22:09:52 2017 +0800 -- .travis.yml | 4 - doc/source/cn/guide/index.md| 9 +- doc/source/cn/guide/set-up-env.md | 4 +- doc/source/cn/guide/tools/toolkit.md| 2 +- .../cn/references/advanced/extend-to-android.md | 21 +- doc/source/cn/references/common-style.md| 1 + doc/source/cn/references/components/text.md | 6 +- doc/source/cn/references/modules/animation.md | 2 + doc/source/cn/references/modules/dom.md | 2 +- doc/source/guide/index.md | 4 +- doc/source/guide/set-up-env.md | 6 +- doc/source/guide/tools/toolkit.md | 5 +- doc/source/references/common-style.md | 1 + doc/source/references/components/text.md| 8 +- doc/source/references/modules/animation.md | 3 +- doc/source/references/modules/dom.md| 2 +- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 109 ++- .../Component/RecycleList/WXCellSlotComponent.h | 32 + .../Component/RecycleList/WXCellSlotComponent.m | 93 ++ .../RecycleList/WXComponent+DataBinding.h | 31 + .../RecycleList/WXComponent+DataBinding.mm | 451 + .../Component/RecycleList/WXJSASTParser.h | 100 ++ .../Component/RecycleList/WXJSASTParser.mm | 919 +++ .../RecycleList/WXRecycleListComponent.h| 25 + .../RecycleList/WXRecycleListComponent.m| 459 + .../RecycleList/WXRecycleListDataManager.h | 34 + .../RecycleList/WXRecycleListDataManager.m | 71 ++ .../Component/RecycleList/WXRecycleListLayout.h | 32 + .../Component/RecycleList/WXRecycleListLayout.m | 113 +++ .../RecycleList/WXRecycleListTemplateManager.h | 33 + .../RecycleList/WXRecycleListTemplateManager.m | 94 ++ .../RecycleList/WXRecycleListUpdateManager.h| 50 + .../RecycleList/WXRecycleListUpdateManager.m| 262 ++ .../Recycler/WXSectionDataController.m | 2 +- .../WeexSDK/Sources/Component/WXCellComponent.m | 4 +- .../Sources/Component/WXComponent_internal.h| 28 + .../Sources/Component/WXImageComponent.m| 7 +- .../Sources/Component/WXScrollerComponent.h | 2 + .../Sources/Component/WXScrollerComponent.m | 13 +- .../WeexSDK/Sources/Component/WXWebComponent.m | 1 + ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m| 4 + .../WeexSDK/Sources/Events/WXComponent+Events.m | 5 +- .../WeexSDK/Sources/Manager/WXBridgeManager.h | 13 +- .../WeexSDK/Sources/Manager/WXBridgeManager.m | 10 + .../Sources/Manager/WXComponentFactory.h| 12 + .../Sources/Manager/WXComponentFactory.m| 30 +- .../Sources/Manager/WXComponentManager.h| 13 +- .../Sources/Manager/WXComponentManager.m| 147 ++- ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 19 +- ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 83 ++ ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h| 23 +- ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m| 86 +- ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 20 +- .../Sources/View/WXComponent+ViewManagement.m | 4 + ios/sdk/WeexSDK/Sources/WeexSDK.h | 1 + 55 files changed, 3438 insertions(+), 77 deletions(-) --
[2/3] incubator-weex git commit: fix image view
fix image view Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ff0af4e9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ff0af4e9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ff0af4e9 Branch: refs/heads/0.16-dev Commit: ff0af4e9148809b2cffb4363ede7f35ee24af699 Parents: ee3c6e3 Author: jianbai.gbjAuthored: Thu Sep 21 22:07:56 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 22:07:56 2017 +0800 -- .../sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ff0af4e9/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java index 46abdbc..1cf5d02 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java @@ -205,8 +205,10 @@ public class WXImage extends WXComponent { return; } -if(image.getDrawable() != null){ +if(image != null){ + if(image.getDrawable() != null){ image.setImageDrawable(null); + } }
[1/3] incubator-weex git commit: clear pre image
Repository: incubator-weex Updated Branches: refs/heads/0.16-dev 5a0827998 -> 9172cdde0 clear pre image Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ee3c6e34 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ee3c6e34 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ee3c6e34 Branch: refs/heads/0.16-dev Commit: ee3c6e340fb671a4ac672195cb07852ea26f20f1 Parents: 9f4eb8c Author: jianbai.gbjAuthored: Thu Sep 21 22:02:53 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 22:02:53 2017 +0800 -- .../sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java | 5 + 1 file changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ee3c6e34/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java index db58d99..46abdbc 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXImage.java @@ -205,6 +205,11 @@ public class WXImage extends WXComponent { return; } +if(image.getDrawable() != null){ + image.setImageDrawable(null); +} + + this.mSrc = src; WXSDKInstance instance = getInstance(); Uri rewrited = instance.rewriteUri(Uri.parse(src), URIAdapter.IMAGE);
[GitHub] incubator-weex pull request #731: fix image view bug, clear image when resus...
GitHub user gubaojian opened a pull request: https://github.com/apache/incubator-weex/pull/731 fix image view bug, clear image when resuse fix image view bug, clear image when resuse You can merge this pull request into a Git repository by running: $ git pull https://github.com/gubaojian/incubator-weex 0.16-dev-template-list Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/731.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #731 commit ee3c6e340fb671a4ac672195cb07852ea26f20f1 Author: jianbai.gbjDate: 2017-09-21T14:02:53Z clear pre image commit ff0af4e9148809b2cffb4363ede7f35ee24af699 Author: jianbai.gbj Date: 2017-09-21T14:07:56Z fix image view commit 9172cdde0bbd250cc4c10418454499fe893c6e8d Author: jianbai.gbj Date: 2017-09-21T14:09:52Z Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list ---
incubator-weex git commit: * [ios] call image cliptoBounds in main thread
Repository: incubator-weex Updated Branches: refs/heads/0.16-dev 73dbdf07b -> 5a0827998 * [ios] call image cliptoBounds in main thread Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5a082799 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5a082799 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5a082799 Branch: refs/heads/0.16-dev Commit: 5a0827998bc62cef3289d91a3bec6b099bcd7e85 Parents: 73dbdf0 Author: acton393Authored: Thu Sep 21 22:00:23 2017 +0800 Committer: acton393 Committed: Thu Sep 21 22:00:23 2017 +0800 -- ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5a082799/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m -- diff --git a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m index bd31e97..b68f45a 100644 --- a/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m +++ b/ios/sdk/WeexSDK/Sources/Component/WXImageComponent.m @@ -29,6 +29,7 @@ #import "UIBezierPath+Weex.h" #import "WXSDKEngine.h" #import "WXUtility.h" +#import "WXAssert.h" #import @interface WXImageView : UIImageView @@ -317,7 +318,10 @@ WX_EXPORT_METHOD(@selector(save:)) [super _frameDidCalculated:isChanged]; if ([self isViewLoaded] && isChanged) { -[self _clipsToBounds]; +__weak typeof(self) weakSelf = self; +WXPerformBlockOnMainThread(^{ +[weakSelf _clipsToBounds]; +}); } } @@ -490,6 +494,7 @@ WX_EXPORT_METHOD(@selector(save:)) - (void)_clipsToBounds { +WXAssertMainThread(); WXRoundedRect *borderRect = [[WXRoundedRect alloc] initWithRect:self.view.bounds topLeft:_borderTopLeftRadius topRight:_borderTopRightRadius bottomLeft:_borderBottomLeftRadius bottomRight:_borderBottomRightRadius]; // here is computed radii, do not use original style WXRadii *radii = borderRect.radii;
[1/2] incubator-weex git commit: * [jsfm] add miss jsfm version
Repository: incubator-weex Updated Branches: refs/heads/0.16-dev 5b99cc6b0 -> 73dbdf07b http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73dbdf07/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index c737167..70f4b57 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,8 +1,8 @@ -(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.22.2, Build 2017-09-21 15:46."),this.getJSFMVersion=function(){return"0.22.2"};var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&?define(t):t()}(0,function(){"use strict";function e(e){Hn.Document=e.Document,Hn.Element=e.Element,Hn.Comment=e.Comment,Hn.sendTasks=e.sendTasks}function t(e,t,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new Hn.Document(e,n.bundleUrl),a={},s={id:e,data:r,document:i,callbacks:a},u=0;i.addCallback=function(e){return u++,a[u]=e,u},i.handleCallback=function(e,t,n){var r=a[e];return n& a[e],r(t)},Gn[e]=s;var c=Object.assign({Document:Hn.Document,Element:Hn.Element,Comment:Hn.Comment,sendTasks:function(t){return Hn.sendTasks(e,t,-1)},options:n,document:i},o),l=[],f=[];for(var p in c)l.push(p),f.push(c[p]);return l.push(t),(new(Function.prototy pe.bind.apply(Function,[null].concat(l.apply(void 0,f),Hn.sendTasks(e,[{module:"dom",method:"createFinish",args:[]}],-1),s}function n(e){delete Gn[e]}function r(e){return Gn[e].document.body.toJSON()}function o(e,t){var n={fireEvent:function(e,t,n,r,o){var i=Gn[e],a=i.document,s=a.getRef(t);return a.fireEvent(s,n,r,o)},callback:function(e,t,n,r){return Gn[e].document.handleCallback(t,n,r)}};if((Gn[e]||{}).document&(t)){var r=[];return t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function i(e){return e&__esModule?e.default:e}function a(e,t){return t={exports:{}},e(t,t.exports),t.exports}function s(e){console.warn("[JS Framework] Vm#$ is deprecated, please use Vm#$vm instead");var t=this._ids[e];if(t)return t.vm}function u(e){var t=this._ids[e];if(t)return t.el}function c(e){var t=this._ids[e];if(t)return t.vm}function l(e){return this._app.differ.then(function(){e()})}function f(e, t){console.warn("[JS Framework] Vm#$scrollTo is deprecated, please use \"require('@weex-module/dom').scrollTo(el, options)\" instead");var n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function p(e,t,n){var r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void 0,e)})}}function d(e){var t=this._app.options;return"function"==typeof e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is deprecated, this api now can directly RETURN config info."),e(t)),t}function h(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use \"require('@weex-module/stream').sendHttp(params, callback)\" instead"),this._app.requireModule("stream").sendHttp(e,t)}function v(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use \"require('@weex-module/event').openURL(url)\" i nstead"),this._app.requireModule("event").openURL(e)}function y(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please use \"require('@weex-module/pageInfo').setTitle(title)\" instead"),this._app.requireModule("pageInfo").setTitle(e)}function m(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, please use \"require('@weex-module/moduleName')\" instead");var o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function _(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(t));else{var r=t.shift();for(var o in r)e[o]=r[o];t.length&&_.apply(void 0,[e].concat(t))}return e}function g(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function b(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function w(e,t){return hr.call(e,t)}function x(e,t){return function(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function E(e){return null!==e&&"object"==typeof e}function O(e){return vr.call(e)===yr}function S(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function C(){return"object"==typeof nativeSet?nativeSet.create():new Jn}function k(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1).toLowerCase()}function j(e){return e.replace(_r,"").replace(gr,"")}function A(e){return e.replace(wr,"")}function
[2/2] incubator-weex git commit: * [jsfm] add miss jsfm version
* [jsfm] add miss jsfm version Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/73dbdf07 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/73dbdf07 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/73dbdf07 Branch: refs/heads/0.16-dev Commit: 73dbdf07bad4ac8720bf6621b63b737599a4afcf Parents: 5b99cc6 Author: acton393Authored: Thu Sep 21 21:54:36 2017 +0800 Committer: acton393 Committed: Thu Sep 21 21:54:36 2017 +0800 -- pre-build/native-bundle-main.js | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) --
[08/17] incubator-weex git commit: * [ios] update apache license header
* [ios] update apache license header Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/81c7816e Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/81c7816e Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/81c7816e Branch: refs/heads/0.16-dev Commit: 81c7816ee38f55d032ceaa1135299c3e5805eaf8 Parents: 6132c18 Author: yinfengAuthored: Thu Sep 21 17:30:03 2017 +0800 Committer: yinfeng Committed: Thu Sep 21 17:30:03 2017 +0800 -- .../Component/RecycleList/WXRecycleListLayout.h | 25 ++-- .../Component/RecycleList/WXRecycleListLayout.m | 25 ++-- 2 files changed, 36 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/81c7816e/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.h -- diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.h b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.h index 04e65ea..6e08b94 100644 --- a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.h +++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.h @@ -1,10 +1,21 @@ -// -// WXRecycleListLinearLayout.h -// WeexSDK -// -// Created by yinfeng on 2017/9/19. -// Copyright © 2017年 taobao. All rights reserved. -// +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ #import http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/81c7816e/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.m -- diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.m b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.m index e5bc8c3..73851de 100644 --- a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.m +++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListLayout.m @@ -1,10 +1,21 @@ -// -// WXRecycleListLinearLayout.m -// WeexSDK -// -// Created by yinfeng on 2017/9/19. -// Copyright © 2017年 taobao. All rights reserved. -// +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ #import "WXRecycleListLayout.h"
[15/17] incubator-weex git commit: * [ios] merge pull request
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5b99cc6b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m -- diff --git a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m index c53d5f1..db26c93 100644 --- a/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m +++ b/ios/sdk/WeexSDK/Sources/Manager/WXComponentManager.m @@ -20,6 +20,7 @@ #import "WXComponentManager.h" #import "WXComponent.h" #import "WXComponent_internal.h" +#import "WXComponent+DataBinding.h" #import "WXComponentFactory.h" #import "WXDefine.h" #import "NSArray+Weex.h" @@ -135,6 +136,18 @@ static NSThread *WXComponentThread; } } ++ (void)_performBlockSyncOnComponentThread:(void (^)())block +{ +if([NSThread currentThread] == [self componentThread]){ +block(); +} else { +[self performSelector:@selector(_performBlockOnComponentThread:) + onThread:WXComponentThread + withObject:[block copy] +waitUntilDone:YES]; +} +} + - (void)startComponentTasks { [self _awakeDisplayLink]; @@ -204,6 +217,15 @@ static NSThread *WXComponentThread; _rootComponent = [self _buildComponentForData:data supercomponent:nil]; [self _initRootCSSNode]; + +NSArray *subcomponentsData = [data valueForKey:@"children"]; +if (subcomponentsData) { +BOOL appendTree = [_rootComponent.attributes[@"append"] isEqualToString:@"tree"]; +for(NSDictionary *subcomponentData in subcomponentsData){ +[self _recursivelyAddComponent:subcomponentData toSupercomponent:_rootComponent atIndex:-1 appendingInTree:appendTree]; +} +} + __weak typeof(self) weakSelf = self; WX_MONITOR_INSTANCE_PERF_END(WXFirstScreenJSFExecuteTime, self.weexInstance); [self _addUITask:^{ @@ -213,6 +235,8 @@ static NSThread *WXComponentThread; [strongSelf.weexInstance.rootView addSubview:strongSelf->_rootComponent.view]; [WXTracingManager startTracingWithInstanceId:weakSelf.weexInstance.instanceId ref:data[@"ref"] className:nil name:data[@"type"] phase:WXTracingEnd functionName:@"createBody" options:@{@"threadName":WXTUIThread}]; }]; + + } static bool rootNodeIsDirty(void *context) @@ -259,14 +283,16 @@ static css_node_t * rootNodeGetChild(void *context, int i) if(supercomponent && component && supercomponent->_lazyCreateView) { component->_lazyCreateView = YES; } - -__weak typeof(self) weakSelf = self; -[self _addUITask:^{ -[WXTracingManager startTracingWithInstanceId:weakSelf.weexInstance.instanceId ref:componentData[@"ref"] className:nil name:componentData[@"type"] phase:WXTracingBegin functionName:@"addElement" options:@{@"threadName":WXTUIThread}]; -[supercomponent insertSubview:component atIndex:index]; -[WXTracingManager startTracingWithInstanceId:weakSelf.weexInstance.instanceId ref:componentData[@"ref"] className:nil name:componentData[@"type"] phase:WXTracingEnd functionName:@"addElement" options:@{@"threadName":WXTUIThread}]; -}]; - + +if (!component->_isTemplate) { +__weak typeof(self) weakSelf = self; +[self _addUITask:^{ +[WXTracingManager startTracingWithInstanceId:weakSelf.weexInstance.instanceId ref:componentData[@"ref"] className:nil name:componentData[@"type"] phase:WXTracingBegin functionName:@"addElement" options:@{@"threadName":WXTUIThread}]; +[supercomponent insertSubview:component atIndex:index]; +[WXTracingManager startTracingWithInstanceId:weakSelf.weexInstance.instanceId ref:componentData[@"ref"] className:nil name:componentData[@"type"] phase:WXTracingEnd functionName:@"addElement" options:@{@"threadName":WXTUIThread}]; +}]; +} + NSArray *subcomponentsData = [componentData valueForKey:@"children"]; BOOL appendTree = !appendingInTree && [component.attributes[@"append"] isEqualToString:@"tree"]; @@ -274,6 +300,9 @@ static css_node_t * rootNodeGetChild(void *context, int i) for(NSDictionary *subcomponentData in subcomponentsData){ [self _recursivelyAddComponent:subcomponentData toSupercomponent:component atIndex:-1 appendingInTree:appendTree || appendingInTree]; } + +[component _didInserted]; + if (appendTree) { // If appending treeï¼force layout in case of too much tasks piling up in syncQueue [self _layoutAndSyncUI]; @@ -384,9 +413,28 @@ static css_node_t * rootNodeGetChild(void *context, int i) } } } - -Class clazz = [WXComponentFactory classWithComponentName:type]; + +WXComponentConfig *config = [WXComponentFactory configWithComponentName:type]; +BOOL isTemplate = [config.properties[@"isTemplate"] boolValue] || (supercomponent && supercomponent->_isTemplate); +
[17/17] incubator-weex git commit: * [ios] merge pull request
* [ios] merge pull request Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5b99cc6b Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5b99cc6b Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5b99cc6b Branch: refs/heads/0.16-dev Commit: 5b99cc6b0c721eeceb14491efb3dd6fd1a41bce0 Parents: 8725289 Author: acton393Authored: Thu Sep 21 21:43:53 2017 +0800 Committer: acton393 Committed: Thu Sep 21 21:43:53 2017 +0800 -- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 105 +++ .../Component/RecycleList/WXCellSlotComponent.h | 32 + .../Component/RecycleList/WXCellSlotComponent.m | 93 ++ .../RecycleList/WXComponent+DataBinding.h | 31 + .../RecycleList/WXComponent+DataBinding.mm | 451 + .../Component/RecycleList/WXJSASTParser.h | 100 ++ .../Component/RecycleList/WXJSASTParser.mm | 919 +++ .../RecycleList/WXRecycleListComponent.h| 25 + .../RecycleList/WXRecycleListComponent.m| 459 + .../RecycleList/WXRecycleListDataManager.h | 34 + .../RecycleList/WXRecycleListDataManager.m | 71 ++ .../Component/RecycleList/WXRecycleListLayout.h | 32 + .../Component/RecycleList/WXRecycleListLayout.m | 113 +++ .../RecycleList/WXRecycleListTemplateManager.h | 33 + .../RecycleList/WXRecycleListTemplateManager.m | 94 ++ .../RecycleList/WXRecycleListUpdateManager.h| 50 + .../RecycleList/WXRecycleListUpdateManager.m| 262 ++ .../Recycler/WXSectionDataController.m | 2 +- .../WeexSDK/Sources/Component/WXCellComponent.m | 4 +- .../Sources/Component/WXComponent_internal.h| 28 + .../Sources/Component/WXScrollerComponent.h | 2 + .../Sources/Component/WXScrollerComponent.m | 13 +- ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m| 4 + .../WeexSDK/Sources/Events/WXComponent+Events.m | 5 +- .../WeexSDK/Sources/Manager/WXBridgeManager.h | 13 +- .../WeexSDK/Sources/Manager/WXBridgeManager.m | 10 + .../Sources/Manager/WXComponentFactory.h| 12 + .../Sources/Manager/WXComponentFactory.m| 30 +- .../Sources/Manager/WXComponentManager.h| 13 +- .../Sources/Manager/WXComponentManager.m| 147 ++- ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 19 +- ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 83 ++ ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h| 23 +- ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m| 86 +- ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 20 +- .../Sources/View/WXComponent+ViewManagement.m | 4 + pre-build/native-bundle-main.js | 12 +- 37 files changed, 3383 insertions(+), 51 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5b99cc6b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj -- diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj index 765a26a..8addaca 100644 --- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj +++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj @@ -102,6 +102,8 @@ 7423899B1C3174EB00D748CA /* WXWeakObjectWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 742389991C3174EB00D748CA /* WXWeakObjectWrapper.h */; }; 7423899C1C3174EB00D748CA /* WXWeakObjectWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7423899A1C3174EB00D748CA /* WXWeakObjectWrapper.m */; }; 7423899F1C32733800D748CA /* WXType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7423899D1C32733800D748CA /* WXType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7423EB511F4ADE30001662D1 /* WXComponent+DataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 7423EB4F1F4ADE30001662D1 /* WXComponent+DataBinding.h */; }; + 7423EB521F4ADE30001662D1 /* WXComponent+DataBinding.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7423EB501F4ADE30001662D1 /* WXComponent+DataBinding.mm */; }; 742AD72E1DF98C45007DC46C /* WXResourceRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 742AD7251DF98C45007DC46C /* WXResourceRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; 742AD72F1DF98C45007DC46C /* WXResourceRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 742AD7261DF98C45007DC46C /* WXResourceRequest.m */; }; 742AD7301DF98C45007DC46C /* WXResourceRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 742AD7271DF98C45007DC46C /* WXResourceRequestHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -147,6 +149,8 @@ 7463192A1C71B92600EFEBD4 /* WXModalUIModule.m in Sources */ = {isa =
[01/17] incubator-weex git commit: * [ios] finish 70% of new recycle-list
Repository: incubator-weex Updated Branches: refs/heads/0.16-dev af2923026 -> 5b99cc6b0 http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/877487a6/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListDataManager.m -- diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListDataManager.m b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListDataManager.m new file mode 100644 index 000..49ed216 --- /dev/null +++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListDataManager.m @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#import "WXRecycleListDataManager.h" +#import "NSArray+Weex.h" +#import "WXLog.h" +#import "WXAssert.h" + +@implementation WXRecycleListDataManager +{ +NSArray *_data; +} + +- (instancetype)initWithData:(NSArray *)data +{ +if (self = [super init]) { +if (![data isKindOfClass:[NSArray class]]) { +WXLogError(@"list data must be an array!"); +} else { +_data = data; +} +} + +return self; +} + +- (void)updateData:(NSArray *)data +{ +WXAssertMainThread(); + +_data = data; +} + +- (NSDictionary *)dataAtIndex:(NSInteger)index +{ +WXAssertMainThread(); + +return [_data wx_safeObjectAtIndex:index]; +} + +- (NSInteger)numberOfItems +{ +WXAssertMainThread(); + +return [_data count]; +} + +@end http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/877487a6/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h -- diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h new file mode 100644 index 000..389dbb8 --- /dev/null +++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.h @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#import +#import "WXCellSlotComponent.h" + +@interface WXRecycleListTemplateManager : NSObject + +@property (nonatomic, weak) UICollectionView *collectionView; + +- (void)addTemplate:(WXCellSlotComponent *)component; + +- (WXCellSlotComponent *)dequeueCellSlotWithType:(NSString *)type forIndexPath:(NSIndexPath *)indexPath; + +- (WXCellSlotComponent *)templateWithType:(NSString *)type; + +@end http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/877487a6/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m -- diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m new file mode 100644 index 000..0ac528e --- /dev/null +++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXRecycleListTemplateManager.m @@ -0,0 +1,94 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License
[09/17] incubator-weex git commit: * [ios] Add new files to dynamic target
* [ios] Add new files to dynamic target Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/523843ad Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/523843ad Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/523843ad Branch: refs/heads/0.16-dev Commit: 523843adb06a0562bdbc15fa40b2d87081462897 Parents: 81c7816 Author: yinfengAuthored: Thu Sep 21 17:57:48 2017 +0800 Committer: yinfeng Committed: Thu Sep 21 17:57:48 2017 +0800 -- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 33 ++ 1 file changed, 33 insertions(+) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/523843ad/ios/sdk/WeexSDK.xcodeproj/project.pbxproj -- diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj index a7329a7..37aa33c 100644 --- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj +++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj @@ -182,6 +182,22 @@ 74AD99841D5B0E59008F0336 /* WXPolyfillSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 74AD99821D5B0E59008F0336 /* WXPolyfillSet.h */; }; 74AD99851D5B0E59008F0336 /* WXPolyfillSet.m in Sources */ = {isa = PBXBuildFile; fileRef = 74AD99831D5B0E59008F0336 /* WXPolyfillSet.m */; }; 74B232D21D2A2BA4006322EA /* WXLayoutDefine.h in Headers */ = {isa = PBXBuildFile; fileRef = 74B232D11D2A2BA4006322EA /* WXLayoutDefine.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 74B81AE31F73C3E300D3A61D /* WXRecycleListComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CFDD371F45939C007A1A66 /* WXRecycleListComponent.h */; }; + 74B81AE41F73C3E500D3A61D /* WXRecycleListComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CFDD381F45939C007A1A66 /* WXRecycleListComponent.m */; }; + 74B81AE51F73C3E900D3A61D /* WXRecycleListDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CFDD3B1F45947A1A66 /* WXRecycleListDataManager.h */; }; + 74B81AE61F73C3E900D3A61D /* WXRecycleListDataManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CFDD3C1F45947A1A66 /* WXRecycleListDataManager.m */; }; + 74B81AE71F73C3E900D3A61D /* WXRecycleListTemplateManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CFDD3F1F45941E007A1A66 /* WXRecycleListTemplateManager.h */; }; + 74B81AE81F73C3E900D3A61D /* WXRecycleListTemplateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CFDD401F45941E007A1A66 /* WXRecycleListTemplateManager.m */; }; + 74B81AE91F73C3E900D3A61D /* WXRecycleListUpdateManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CFDD431F459443007A1A66 /* WXRecycleListUpdateManager.h */; }; + 74B81AEA1F73C3E900D3A61D /* WXRecycleListUpdateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CFDD441F459443007A1A66 /* WXRecycleListUpdateManager.m */; }; + 74B81AEB1F73C3E900D3A61D /* WXRecycleListLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 74BA4AB11F70F4B600AC29BF /* WXRecycleListLayout.h */; }; + 74B81AEC1F73C3E900D3A61D /* WXRecycleListLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 74BA4AB21F70F4B600AC29BF /* WXRecycleListLayout.m */; }; + 74B81AED1F73C3E900D3A61D /* WXCellSlotComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 746B92391F46BE36009AE86B /* WXCellSlotComponent.h */; }; + 74B81AEE1F73C3E900D3A61D /* WXCellSlotComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 746B923A1F46BE36009AE86B /* WXCellSlotComponent.m */; }; + 74B81AEF1F73C3E900D3A61D /* WXComponent+DataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 7423EB4F1F4ADE30001662D1 /* WXComponent+DataBinding.h */; }; + 74B81AF01F73C3E900D3A61D /* WXComponent+DataBinding.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7423EB501F4ADE30001662D1 /* WXComponent+DataBinding.mm */; }; + 74B81AF11F73C3E900D3A61D /* WXJSASTParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 74BF19F61F5139BB00AEE3D7 /* WXJSASTParser.h */; }; + 74B81AF21F73C3E900D3A61D /* WXJSASTParser.mm in Sources */ = {isa = PBXBuildFile; fileRef = 74BF19F71F5139BB00AEE3D7 /* WXJSASTParser.mm */; }; 74B8BEFE1DC47B72004A6027 /* WXRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 74B8BEFC1DC47B72004A6027 /* WXRootView.h */; }; 74B8BEFF1DC47B72004A6027 /* WXRootView.m in Sources */ = {isa = PBXBuildFile; fileRef = 74B8BEFD1DC47B72004A6027 /* WXRootView.m */; }; 74B8BF011DC49AFE004A6027 /*
[03/17] incubator-weex git commit: * [ios] Supporting events and data updating for recycle-list component.
* [ios] Supporting events and data updating for recycle-list component. Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/74cc3b33 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/74cc3b33 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/74cc3b33 Branch: refs/heads/0.16-dev Commit: 74cc3b331d00b5f333e215dba8f6200ccf1bf668 Parents: 877487a Author: yinfengAuthored: Thu Sep 21 17:11:10 2017 +0800 Committer: yinfeng Committed: Thu Sep 21 17:11:10 2017 +0800 -- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 8 + .../Component/RecycleList/WXCellSlotComponent.m | 4 +- .../RecycleList/WXComponent+DataBinding.h | 2 +- .../RecycleList/WXComponent+DataBinding.mm | 139 +++--- .../Component/RecycleList/WXJSASTParser.h | 5 + .../Component/RecycleList/WXJSASTParser.mm | 46 .../RecycleList/WXRecycleListComponent.h| 4 +- .../RecycleList/WXRecycleListComponent.m| 272 +-- .../RecycleList/WXRecycleListDataManager.h | 2 + .../RecycleList/WXRecycleListDataManager.m | 7 + .../Component/RecycleList/WXRecycleListLayout.h | 21 ++ .../Component/RecycleList/WXRecycleListLayout.m | 102 +++ .../RecycleList/WXRecycleListTemplateManager.m | 2 +- .../RecycleList/WXRecycleListUpdateManager.h| 22 ++ .../RecycleList/WXRecycleListUpdateManager.m| 233 .../Recycler/WXSectionDataController.m | 2 +- .../WeexSDK/Sources/Component/WXCellComponent.m | 2 +- .../Sources/Component/WXComponent_internal.h| 14 +- .../Sources/Component/WXScrollerComponent.h | 2 + .../Sources/Component/WXScrollerComponent.m | 13 +- .../WeexSDK/Sources/Events/WXComponent+Events.m | 5 +- .../WeexSDK/Sources/Manager/WXBridgeManager.h | 13 +- .../WeexSDK/Sources/Manager/WXBridgeManager.m | 10 + .../Sources/Manager/WXComponentManager.h| 1 + .../Sources/Manager/WXComponentManager.m| 36 ++- ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 20 ++ ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h| 23 +- ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m| 84 +- 28 files changed, 1024 insertions(+), 70 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/74cc3b33/ios/sdk/WeexSDK.xcodeproj/project.pbxproj -- diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj index d597bf0..5911fec 100644 --- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj +++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj @@ -188,6 +188,8 @@ 74B8BEFE1DC47B72004A6027 /* WXRootView.h in Headers */ = {isa = PBXBuildFile; fileRef = 74B8BEFC1DC47B72004A6027 /* WXRootView.h */; }; 74B8BEFF1DC47B72004A6027 /* WXRootView.m in Sources */ = {isa = PBXBuildFile; fileRef = 74B8BEFD1DC47B72004A6027 /* WXRootView.m */; }; 74B8BF011DC49AFE004A6027 /* WXRootViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 74B8BF001DC49AFE004A6027 /* WXRootViewTests.m */; }; + 74BA4AB31F70F4B600AC29BF /* WXRecycleListLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 74BA4AB11F70F4B600AC29BF /* WXRecycleListLayout.h */; }; + 74BA4AB41F70F4B600AC29BF /* WXRecycleListLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 74BA4AB21F70F4B600AC29BF /* WXRecycleListLayout.m */; }; 74BB5FB91DFEE81A004FC3DF /* WXMetaModule.h in Headers */ = {isa = PBXBuildFile; fileRef = 74BB5FB71DFEE81A004FC3DF /* WXMetaModule.h */; }; 74BB5FBA1DFEE81A004FC3DF /* WXMetaModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 74BB5FB81DFEE81A004FC3DF /* WXMetaModule.m */; }; 74BF19F81F5139BB00AEE3D7 /* WXJSASTParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 74BF19F61F5139BB00AEE3D7 /* WXJSASTParser.h */; }; @@ -778,6 +780,8 @@ 74B8BEFC1DC47B72004A6027 /* WXRootView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WXRootView.h; sourceTree = ""; }; 74B8BEFD1DC47B72004A6027 /* WXRootView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WXRootView.m; sourceTree = ""; }; 74B8BF001DC49AFE004A6027 /* WXRootViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WXRootViewTests.m; sourceTree = ""; }; + 74BA4AB11F70F4B600AC29BF /* WXRecycleListLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WXRecycleListLayout.h; sourceTree = ""; }; +
[GitHub] incubator-weex pull request #728: * [jsfm] upgrade weex-js-framework to 0.22...
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/728 ---
[16/17] incubator-weex git commit: * [ios] merge pull request
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5b99cc6b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXJSASTParser.mm -- diff --git a/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXJSASTParser.mm b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXJSASTParser.mm new file mode 100644 index 000..7e7a565 --- /dev/null +++ b/ios/sdk/WeexSDK/Sources/Component/RecycleList/WXJSASTParser.mm @@ -0,0 +1,919 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#import "WXJSASTParser.h" +#import "WXLog.h" +#include +#include + + +typedef enum : NSUInteger { +WXJSTokenTypeBooleanLiteral = 1, +WXJSTokenTypeEOF, +WXJSTokenTypeIdentifier, +WXJSTokenTypeKeyword, +WXJSTokenTypeNullLiteral, +WXJSTokenTypeNumericLiteral, +WXJSTokenTypePunctuator, +WXJSTokenTypeStringLiteral, +WXJSTokenTypeRegularExpression, +WXJSTokenTypeTemplate +} WXJSTokenType; + +struct WXJSToken { +WXJSTokenType type; +std::string value; +double doubleValue; +bool octal; +int start; +int end; +}; + +struct WXJSMarker { +int index; +}; + +static bool isWhiteSpace(int ch) { +return (ch == 32) || // space +(ch == 9) || // tab +(ch == 0xB) || +(ch == 0xC) || +(ch == 0xA0); +} + +static bool isIdentifierStart(int ch) +{ +return (ch == 36) || (ch == 95) || // $ or _ +(ch >= 65 && ch <= 90) || // A..Z +(ch >= 97 && ch <= 122) ||// a..z +(ch == 92); // \ (backslash) +} + +static bool isIdentifierPart(int ch) { +return (ch == 36) || (ch == 95) || // $ or _ +(ch >= 65 && ch <= 90) || // A..Z +(ch >= 97 && ch <= 122) ||// a..z +(ch >= 48 && ch <= 57) || // 0..9 +(ch == 92); // \ (backslash) +} + +static bool isDecimalDigit(int ch) { +return (ch >= 48 && ch <= 57); // 0..9 +} + +static bool isHexDigit(int ch) { +return std::string("0123456789abcdefABCDEF").find(ch) != std::string::npos; +} + +static bool isOctalDigit(int ch) { +return std::string("01234567").find(ch) != std::string::npos; +} + +static int binaryPrecedence(WXJSToken *token) +{ +int prec = 0; + +if (token->type != WXJSTokenTypePunctuator) { +return prec; +} + +const std::string = token->value; + +if (value == "||") { +prec = 1; +} + +else if (value == "&&") { +prec = 2; +} + +else if (value == "|") { +prec = 3; +} + +else if (value == "^") { +prec = 4; +} + +else if (value == "&") { +prec = 5; +} + +else if (value == "==" || value == "!=" || value == "===" || value == "!==") { +prec = 6; +} + +else if (value == "<" || value == ">" || value == "<=" || value == ">=") { +prec = 7; +} + +else if (value == "<<" || value == ">>" || value == ">>>") { +prec = 8; +} + +else if (value == "+" || value == "-") { +prec = 9; +} + +else if (value == "*" || value == "/" || value == "%") { +prec = 11; +} + +return prec; +} + +@implementation WXJSASTParser +{ +std::string _source; + +int _length; +int _index; + +WXJSToken *_lookahead; + +std::vector _tokens; +} + ++ (instancetype)parserWithScript:(NSString *)script +{ +if (!script) { +WXLogError(@"can not init parser with nil script"); +return nil; +} +return [[self alloc] initWithScript:script]; +} + +- (instancetype)initWithScript:(NSString *)script +{ +if (self = [super init]) { +_source = std::string([script UTF8String]);; +_length = (int)(_source.length()); +_index = 0; + +_lookahead = NULL; + +[self nextToken]; +} + +return self; +} + +- (WXJSToken *)nextToken +{ +WXJSToken *token = _lookahead; + +WXJSToken *next = [self lex]; + +_lookahead = next; + +if (next->type != WXJSTokenTypeEOF) { +_tokens.push_back(token); +} + +return token; +} + +- (WXJSToken *)lex +{ +
[14/17] incubator-weex git commit: * [ios] merge pull request
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5b99cc6b/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 70f4b57..c737167 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,8 +1,8 @@ -(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.22.3, Build 2017-09-21 19:05."),this.getJSFMVersion=function(){return"0.22.3"};var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&?define(t):t()}(0,function(){"use strict";function e(e){Hn.Document=e.Document,Hn.Element=e.Element,Hn.Comment=e.Comment,Hn.sendTasks=e.sendTasks}function t(e,t,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new Hn.Document(e,n.bundleUrl),a={},s={id:e,data:r,document:i,callbacks:a},u=0;i.addCallback=function(e){return u++,a[u]=e,u},i.handleCallback=function(e,t,n){var r=a[e];return n& a[e],r(t)},Gn[e]=s;var c=Object.assign({Document:Hn.Document,Element:Hn.Element,Comment:Hn.Comment,sendTasks:function(t){return Hn.sendTasks(e,t,-1)},options:n,document:i},o),l=[],f=[];for(var p in c)l.push(p),f.push(c[p]);return l.push(t),(new(Function.prototy pe.bind.apply(Function,[null].concat(l.apply(void 0,f),Hn.sendTasks(e,[{module:"dom",method:"createFinish",args:[]}],-1),s}function n(e){delete Gn[e]}function r(e){return Gn[e].document.body.toJSON()}function o(e,t){var n={fireEvent:function(e,t,n,r,o){var i=Gn[e],a=i.document,s=a.getRef(t);return a.fireEvent(s,n,r,o)},callback:function(e,t,n,r){return Gn[e].document.handleCallback(t,n,r)}};if((Gn[e]||{}).document&(t)){var r=[];return t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function i(e){return e&__esModule?e.default:e}function a(e,t){return t={exports:{}},e(t,t.exports),t.exports}function s(e){console.warn("[JS Framework] Vm#$ is deprecated, please use Vm#$vm instead");var t=this._ids[e];if(t)return t.vm}function u(e){var t=this._ids[e];if(t)return t.el}function c(e){var t=this._ids[e];if(t)return t.vm}function l(e){return this._app.differ.then(function(){e()})}function f(e, t){console.warn("[JS Framework] Vm#$scrollTo is deprecated, please use \"require('@weex-module/dom').scrollTo(el, options)\" instead");var n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function p(e,t,n){var r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void 0,e)})}}function d(e){var t=this._app.options;return"function"==typeof e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is deprecated, this api now can directly RETURN config info."),e(t)),t}function h(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use \"require('@weex-module/stream').sendHttp(params, callback)\" instead"),this._app.requireModule("stream").sendHttp(e,t)}function v(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use \"require('@weex-module/event').openURL(url)\" i nstead"),this._app.requireModule("event").openURL(e)}function y(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please use \"require('@weex-module/pageInfo').setTitle(title)\" instead"),this._app.requireModule("pageInfo").setTitle(e)}function m(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, please use \"require('@weex-module/moduleName')\" instead");var o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function _(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(t));else{var r=t.shift();for(var o in r)e[o]=r[o];t.length&&_.apply(void 0,[e].concat(t))}return e}function g(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function b(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function w(e,t){return hr.call(e,t)}function x(e,t){return function(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function E(e){return null!==e&&"object"==typeof e}function O(e){return vr.call(e)===yr}function S(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function C(){return"object"==typeof nativeSet?nativeSet.create():new Jn}function k(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1).toLowerCase()}function j(e){return e.replace(_r,"").replace(gr,"")}function A(e){return e.replace(wr,"")}function I(){this.id=Cr++,this.subs=[]}function T(e){I.target&(I.target),I.target=e}function N(){I.target=kr.pop()}function
[07/17] incubator-weex git commit: * [ios] add missing "}“
* [ios] add missing "}â Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6132c181 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6132c181 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6132c181 Branch: refs/heads/0.16-dev Commit: 6132c1814316b7adffde24ec33f0b0639f7f4450 Parents: 6a272ab Author: yinfengAuthored: Thu Sep 21 17:27:35 2017 +0800 Committer: yinfeng Committed: Thu Sep 21 17:27:35 2017 +0800 -- ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6132c181/ios/sdk/WeexSDK/Sources/Model/WXComponent.m -- diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m index 5bdc7f3..2bad1c2 100644 --- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m +++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m @@ -174,6 +174,7 @@ }); return component; +} - (UIAccessibilityTraits)_parseAccessibilityTraitsWithTraits:(UIAccessibilityTraits)trait roles:(NSString*)roleStr {
[05/17] incubator-weex git commit: * [ios] update JSFM to 0.22.2
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6a272abc/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 462e4fc..c737167 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,8 +1,8 @@ -(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.21.11, Build 2017-08-23 15:52."),this.getJSFMVersion=function(){return"0.21.11"};var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&?define(t):t()}(0,function(){"use strict";function e(e){Qn.Document=e.Document,Qn.Element=e.Element,Qn.Comment=e.Comment,Qn.sendTasks=e.sendTasks}function t(e){}function n(e){}function r(e){}function o(e,t,n){}function i(e,t,n,r,o){var i=new Qn.Document(e,n.bundleUrl),a={},s=0;i.addCallback=function(e){return s++,a[s]=e,s},i.handleCallback=function(e,t,n){var r=a[e];return n& a[e],r(t)},Yn[e]=i;var u=Object.assign({Document:Qn.Document,Element:Qn.Element,Comment:Qn.Comment,sendTasks:Qn.sendTasks,id:e,options:n,data:r,document:i},o),c=[],l=[];for(var f in u)c.push(f),l.push(u[f]);return c.push(t),(new(Function.prototype.bind.apply(Function,[null].concat(c.app ly(void 0,l),{document:i}}function a(e,t){}function s(e){delete Yn[e]}function u(e){return Yn[e].body.toJSON()}function c(e,t){var n={fireEvent:function(e,t,n,r,o){var i=Yn[e],a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return Yn[e].handleCallback(t,n,r)}};if(Yn[e]&(t)){var r=[];return t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function l(e){return e&__esModule?e.default:e}function f(e,t){return t={exports:{}},e(t,t.exports),t.exports}function d(e){console.warn("[JS Framework] Vm#$ is deprecated, please use Vm#$vm instead");var t=this._ids[e];if(t)return t.vm}function p(e){var t=this._ids[e];if(t)return t.el}function h(e){var t=this._ids[e];if(t)return t.vm}function v(e){return this._app.differ.then(function(){e()})}function y(e,t){console.warn("[JS Framework] Vm#$scrollTo is deprecated, please use \"require('@weex-module/dom').scrollTo(el, options)\" inste ad");var n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function m(e,t,n){var r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void 0,e)})}}function _(e){var t=this._app.options;return"function"==typeof e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is deprecated, this api now can directly RETURN config info."),e(t)),t}function g(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use \"require('@weex-module/stream').sendHttp(params, callback)\" instead"),this._app.requireModule("stream").sendHttp(e,t)}function b(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use \"require('@weex-module/event').openURL(url)\" instead"),this._app.requireModule("event").openURL(e)}function w(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please use \"require('@weex-module/pageInfo').setTitle(title)\" instead"),this._app.requireModule("pageInfo").setTitle(e)}function O(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, please use \"require('@weex-module/moduleName')\" instead");var o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function E(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(t));else{var r=t.shift();for(var o in r)e[o]=r[o];t.length&(void 0,[e].concat(t))}return e}function x(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function S(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function C(e,t){return gr.call(e,t)}function k(e,t){return function(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function j(e){return null!==e&&"object"==typeof e}func tion A(e){return br.call(e)===wr}function I(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function T(){return"object"==typeof nativeSet?nativeSet.create():new Zn}function N(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1).toLowerCase()}function P(e){return e.replace(Er,"").replace(xr,"")}function M(e){return e.replace(Cr,"")}function $(){this.id=Tr++,this.subs=[]}function R(e){$.target&($.target),$.target=e}function D(){$.target=Nr.pop()}function F(){$.target=null,Nr=[]}function L(e,t,n,r){r&(this,r);var o="function"==typeof
[GitHub] incubator-weex pull request #725: * [ios] add recyle list component
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/725 ---
[02/17] incubator-weex git commit: * [ios] finish 70% of new recycle-list
* [ios] finish 70% of new recycle-list Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/877487a6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/877487a6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/877487a6 Branch: refs/heads/0.16-dev Commit: 877487a6e31e48ae4684626deb71993579d5e575 Parents: 5f5d674 Author: yinfengAuthored: Fri Sep 8 12:24:09 2017 +0800 Committer: yinfeng Committed: Fri Sep 8 12:24:09 2017 +0800 -- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 64 ++ .../Component/RecycleList/WXCellSlotComponent.h | 32 + .../Component/RecycleList/WXCellSlotComponent.m | 93 ++ .../RecycleList/WXComponent+DataBinding.h | 31 + .../RecycleList/WXComponent+DataBinding.mm | 374 .../Component/RecycleList/WXJSASTParser.h | 95 ++ .../Component/RecycleList/WXJSASTParser.mm | 873 +++ .../RecycleList/WXRecycleListComponent.h| 25 + .../RecycleList/WXRecycleListComponent.m| 225 + .../RecycleList/WXRecycleListDataManager.h | 32 + .../RecycleList/WXRecycleListDataManager.m | 64 ++ .../RecycleList/WXRecycleListTemplateManager.h | 33 + .../RecycleList/WXRecycleListTemplateManager.m | 94 ++ .../RecycleList/WXRecycleListUpdateManager.h| 28 + .../RecycleList/WXRecycleListUpdateManager.m| 29 + .../WeexSDK/Sources/Component/WXCellComponent.m | 2 +- .../Sources/Component/WXComponent_internal.h| 20 + ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m| 4 + .../Sources/Manager/WXComponentFactory.h| 12 + .../Sources/Manager/WXComponentFactory.m| 30 +- .../Sources/Manager/WXComponentManager.h| 12 +- .../Sources/Manager/WXComponentManager.m| 115 ++- ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 19 +- ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 63 ++ ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m| 2 + ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 20 +- .../Sources/View/WXComponent+ViewManagement.m | 4 + 27 files changed, 2359 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/877487a6/ios/sdk/WeexSDK.xcodeproj/project.pbxproj -- diff --git a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj index d43ec0e..d597bf0 100644 --- a/ios/sdk/WeexSDK.xcodeproj/project.pbxproj +++ b/ios/sdk/WeexSDK.xcodeproj/project.pbxproj @@ -105,6 +105,8 @@ 7423899B1C3174EB00D748CA /* WXWeakObjectWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 742389991C3174EB00D748CA /* WXWeakObjectWrapper.h */; }; 7423899C1C3174EB00D748CA /* WXWeakObjectWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7423899A1C3174EB00D748CA /* WXWeakObjectWrapper.m */; }; 7423899F1C32733800D748CA /* WXType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7423899D1C32733800D748CA /* WXType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7423EB511F4ADE30001662D1 /* WXComponent+DataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 7423EB4F1F4ADE30001662D1 /* WXComponent+DataBinding.h */; }; + 7423EB521F4ADE30001662D1 /* WXComponent+DataBinding.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7423EB501F4ADE30001662D1 /* WXComponent+DataBinding.mm */; }; 742AD72E1DF98C45007DC46C /* WXResourceRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 742AD7251DF98C45007DC46C /* WXResourceRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; 742AD72F1DF98C45007DC46C /* WXResourceRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 742AD7261DF98C45007DC46C /* WXResourceRequest.m */; }; 742AD7301DF98C45007DC46C /* WXResourceRequestHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 742AD7271DF98C45007DC46C /* WXResourceRequestHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -150,6 +152,8 @@ 7463192A1C71B92600EFEBD4 /* WXModalUIModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 746319281C71B92600EFEBD4 /* WXModalUIModule.m */; }; 7469869F1C4E2C54A57E /* NSArray+Weex.h in Headers */ = {isa = PBXBuildFile; fileRef = 7469869D1C4E2C54A57E /* NSArray+Weex.h */; }; 746986A01C4E2C010054A57E /* NSArray+Weex.m in Sources */ = {isa = PBXBuildFile; fileRef = 7469869E1C4E2C54A57E /* NSArray+Weex.m */; }; + 746B923B1F46BE36009AE86B /* WXCellSlotComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 746B92391F46BE36009AE86B /* WXCellSlotComponent.h */; }; + 746B923C1F46BE36009AE86B /*
[11/17] incubator-weex git commit: * [jsfm] upgrade weex-js-framework to 0.22.3
* [jsfm] upgrade weex-js-framework to 0.22.3 Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b7ff22e1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b7ff22e1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b7ff22e1 Branch: refs/heads/0.16-dev Commit: b7ff22e12605209c5ffb376dfa0d16a45ba45843 Parents: 8325077 Author: HanksAuthored: Thu Sep 21 19:17:23 2017 +0800 Committer: Hanks Committed: Thu Sep 21 19:17:23 2017 +0800 -- pre-build/native-bundle-main.js | 16 1 file changed, 8 insertions(+), 8 deletions(-) --
[10/17] incubator-weex git commit: * [jsfm] upgrade weex-js-framework to 0.22.3
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b7ff22e1/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 462e4fc..70f4b57 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,8 +1,8 @@ -(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.21.11, Build 2017-08-23 15:52."),this.getJSFMVersion=function(){return"0.21.11"};var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&?define(t):t()}(0,function(){"use strict";function e(e){Qn.Document=e.Document,Qn.Element=e.Element,Qn.Comment=e.Comment,Qn.sendTasks=e.sendTasks}function t(e){}function n(e){}function r(e){}function o(e,t,n){}function i(e,t,n,r,o){var i=new Qn.Document(e,n.bundleUrl),a={},s=0;i.addCallback=function(e){return s++,a[s]=e,s},i.handleCallback=function(e,t,n){var r=a[e];return n& a[e],r(t)},Yn[e]=i;var u=Object.assign({Document:Qn.Document,Element:Qn.Element,Comment:Qn.Comment,sendTasks:Qn.sendTasks,id:e,options:n,data:r,document:i},o),c=[],l=[];for(var f in u)c.push(f),l.push(u[f]);return c.push(t),(new(Function.prototype.bind.apply(Function,[null].concat(c.app ly(void 0,l),{document:i}}function a(e,t){}function s(e){delete Yn[e]}function u(e){return Yn[e].body.toJSON()}function c(e,t){var n={fireEvent:function(e,t,n,r,o){var i=Yn[e],a=i.getRef(t);return i.fireEvent(a,n,r,o)},callback:function(e,t,n,r){return Yn[e].handleCallback(t,n,r)}};if(Yn[e]&(t)){var r=[];return t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function l(e){return e&__esModule?e.default:e}function f(e,t){return t={exports:{}},e(t,t.exports),t.exports}function d(e){console.warn("[JS Framework] Vm#$ is deprecated, please use Vm#$vm instead");var t=this._ids[e];if(t)return t.vm}function p(e){var t=this._ids[e];if(t)return t.el}function h(e){var t=this._ids[e];if(t)return t.vm}function v(e){return this._app.differ.then(function(){e()})}function y(e,t){console.warn("[JS Framework] Vm#$scrollTo is deprecated, please use \"require('@weex-module/dom').scrollTo(el, options)\" inste ad");var n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function m(e,t,n){var r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void 0,e)})}}function _(e){var t=this._app.options;return"function"==typeof e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is deprecated, this api now can directly RETURN config info."),e(t)),t}function g(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use \"require('@weex-module/stream').sendHttp(params, callback)\" instead"),this._app.requireModule("stream").sendHttp(e,t)}function b(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use \"require('@weex-module/event').openURL(url)\" instead"),this._app.requireModule("event").openURL(e)}function w(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please use \"require('@weex-module/pageInfo').setTitle(title)\" instead"),this._app.requireModule("pageInfo").setTitle(e)}function O(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, please use \"require('@weex-module/moduleName')\" instead");var o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function E(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(t));else{var r=t.shift();for(var o in r)e[o]=r[o];t.length&(void 0,[e].concat(t))}return e}function x(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function S(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function C(e,t){return gr.call(e,t)}function k(e,t){return function(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function j(e){return null!==e&&"object"==typeof e}func tion A(e){return br.call(e)===wr}function I(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function T(){return"object"==typeof nativeSet?nativeSet.create():new Zn}function N(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1).toLowerCase()}function P(e){return e.replace(Er,"").replace(xr,"")}function M(e){return e.replace(Cr,"")}function $(){this.id=Tr++,this.subs=[]}function R(e){$.target&($.target),$.target=e}function D(){$.target=Nr.pop()}function F(){$.target=null,Nr=[]}function L(e,t,n,r){r&(this,r);var o="function"==typeof
[06/17] incubator-weex git commit: * [ios] update JSFM to 0.22.2
* [ios] update JSFM to 0.22.2 Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6a272abc Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6a272abc Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6a272abc Branch: refs/heads/0.16-dev Commit: 6a272abc81b4c3952420e06c0114d29e662cd1ea Parents: dc112fc Author: yinfengAuthored: Thu Sep 21 17:24:22 2017 +0800 Committer: yinfeng Committed: Thu Sep 21 17:24:22 2017 +0800 -- pre-build/native-bundle-main.js | 16 1 file changed, 8 insertions(+), 8 deletions(-) --
[12/17] incubator-weex git commit: Merge branch '0.17-dev-feature-recycle-list' of https://github.com/cxfeng1/incubator-weex into wip-us-0.16-dev
Merge branch '0.17-dev-feature-recycle-list' of https://github.com/cxfeng1/incubator-weex into wip-us-0.16-dev Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d06657dd Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d06657dd Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d06657dd Branch: refs/heads/0.16-dev Commit: d06657dd87527a73046404c066d7ecb3b4b33564 Parents: af29230 523843a Author: acton393Authored: Thu Sep 21 21:42:03 2017 +0800 Committer: acton393 Committed: Thu Sep 21 21:42:03 2017 +0800 -- --
[48/50] [abbrv] incubator-weex git commit: update main.js
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9f4eb8cc/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index c737167..70f4b57 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,8 +1,8 @@ -(this.nativeLog||function(e){console.log(e)})("START JS FRAMEWORK 0.22.2, Build 2017-09-21 15:46."),this.getJSFMVersion=function(){return"0.22.2"};var global=this,process={env:{}},setTimeout=global.setTimeout;!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&?define(t):t()}(0,function(){"use strict";function e(e){Hn.Document=e.Document,Hn.Element=e.Element,Hn.Comment=e.Comment,Hn.sendTasks=e.sendTasks}function t(e,t,n,r,o){void 0===n&&(n={}),void 0===r&&(r={}),void 0===o&&(o={});var i=new Hn.Document(e,n.bundleUrl),a={},s={id:e,data:r,document:i,callbacks:a},u=0;i.addCallback=function(e){return u++,a[u]=e,u},i.handleCallback=function(e,t,n){var r=a[e];return n& a[e],r(t)},Gn[e]=s;var c=Object.assign({Document:Hn.Document,Element:Hn.Element,Comment:Hn.Comment,sendTasks:function(t){return Hn.sendTasks(e,t,-1)},options:n,document:i},o),l=[],f=[];for(var p in c)l.push(p),f.push(c[p]);return l.push(t),(new(Function.prototy pe.bind.apply(Function,[null].concat(l.apply(void 0,f),Hn.sendTasks(e,[{module:"dom",method:"createFinish",args:[]}],-1),s}function n(e){delete Gn[e]}function r(e){return Gn[e].document.body.toJSON()}function o(e,t){var n={fireEvent:function(e,t,n,r,o){var i=Gn[e],a=i.document,s=a.getRef(t);return a.fireEvent(s,n,r,o)},callback:function(e,t,n,r){return Gn[e].document.handleCallback(t,n,r)}};if((Gn[e]||{}).document&(t)){var r=[];return t.forEach(function(t){var o=n[t.method],i=[].concat(t.args);"function"==typeof o&&(i.unshift(e),r.push(o.apply(void 0,i)))}),r}}function i(e){return e&__esModule?e.default:e}function a(e,t){return t={exports:{}},e(t,t.exports),t.exports}function s(e){console.warn("[JS Framework] Vm#$ is deprecated, please use Vm#$vm instead");var t=this._ids[e];if(t)return t.vm}function u(e){var t=this._ids[e];if(t)return t.el}function c(e){var t=this._ids[e];if(t)return t.vm}function l(e){return this._app.differ.then(function(){e()})}function f(e, t){console.warn("[JS Framework] Vm#$scrollTo is deprecated, please use \"require('@weex-module/dom').scrollTo(el, options)\" instead");var n=this.$el(e);if(n){this._app.requireModule("dom").scrollToElement(n.ref,{offset:t})}}function p(e,t,n){var r=this,o=this.$el(e);if(o&&){this._app.requireModule("animation").transition(o.ref,t,function(){for(var e=[],i=arguments.length;i--;)e[i]=arguments[i];r._setStyle(o,t.styles),n&(void 0,e)})}}function d(e){var t=this._app.options;return"function"==typeof e&&(console.warn("[JS Framework] the callback of Vm#$getConfig(callback) is deprecated, this api now can directly RETURN config info."),e(t)),t}function h(e,t){console.warn("[JS Framework] Vm#$sendHttp is deprecated, please use \"require('@weex-module/stream').sendHttp(params, callback)\" instead"),this._app.requireModule("stream").sendHttp(e,t)}function v(e){console.warn("[JS Framework] Vm#$openURL is deprecated, please use \"require('@weex-module/event').openURL(url)\" i nstead"),this._app.requireModule("event").openURL(e)}function y(e){console.warn("[JS Framework] Vm#$setTitle is deprecated, please use \"require('@weex-module/pageInfo').setTitle(title)\" instead"),this._app.requireModule("pageInfo").setTitle(e)}function m(e,t){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];console.warn("[JS Framework] Vm#$call is deprecated, please use \"require('@weex-module/moduleName')\" instead");var o=this._app.requireModule(e);o&[t]&[t].apply(o,n)}function _(e){for(var t=[],n=arguments.length-1;n-- >0;)t[n]=arguments[n+1];if("function"==typeof Object.assign)Object.assign.apply(Object,[e].concat(t));else{var r=t.shift();for(var o in r)e[o]=r[o];t.length&&_.apply(void 0,[e].concat(t))}return e}function g(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function b(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}function w(e,t){return hr.call(e,t)}function x(e,t){return function(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}}function E(e){return null!==e&&"object"==typeof e}function O(e){return vr.call(e)===yr}function S(e){var t=(e+"").charCodeAt(0);return 36===t||95===t}function C(){return"object"==typeof nativeSet?nativeSet.create():new Jn}function k(e){var t=Object.prototype.toString.call(e);return t.substring(8,t.length-1).toLowerCase()}function j(e){return e.replace(_r,"").replace(gr,"")}function A(e){return e.replace(wr,"")}function I(){this.id=Cr++,this.subs=[]}function T(e){I.target&(I.target),I.target=e}function N(){I.target=kr.pop()}function
[31/50] [abbrv] incubator-weex git commit: update main bundle
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e10881f6/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 9e1608c..010c772 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,5 +1,5 @@ -(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.0, Build 2017-09-20 19:51.'); -(this.getJSFMVersion = function(){return "0.22.0"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; +(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.0-beta.2, Build 2017-09-19 14:51.'); +(this.getJSFMVersion = function(){return "0.22.0-beta.2"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory() : @@ -310,9 +310,12 @@ var capitalize = cached(function (str) { /** * Hyphenate a camelCase string. */ -var hyphenateRE = /\B([A-Z])/g; +var hyphenateRE = /([^-])([A-Z])/g; var hyphenate = cached(function (str) { - return str.replace(hyphenateRE, '-$1').toLowerCase() + return str +.replace(hyphenateRE, '$1-$2') +.replace(hyphenateRE, '$1-$2') +.toLowerCase() }); /** @@ -727,7 +730,7 @@ var isAndroid = UA && UA.indexOf('android') > 0; var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA); var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; -// Firefox has a "watch" function on Object.prototype... +// Firefix has a "watch" function on Object.prototype... var nativeWatch = ({}).watch; var supportsPassive = false; @@ -1296,7 +1299,7 @@ function mergeDataOrFn ( : childVal; var defaultData = typeof parentVal === 'function' ? parentVal.call(vm) -: parentVal; +: undefined; if (instanceData) { return mergeData(instanceData, defaultData) } else { @@ -1699,12 +1702,7 @@ function assertType (value, type) { var valid; var expectedType = getType(type); if (simpleCheckRE.test(expectedType)) { -var t = typeof value; -valid = t === expectedType.toLowerCase(); -// for primitive wrapper objects -if (!valid && t === 'object') { - valid = value instanceof type; -} +valid = typeof value === expectedType.toLowerCase(); } else if (expectedType === 'Object') { valid = isPlainObject(value); } else if (expectedType === 'Array') { @@ -1902,7 +1900,7 @@ function createTextVNode (val) { // used for static nodes and slot nodes because they may be reused across // multiple renders, cloning them avoids errors when DOM manipulations rely // on their elm reference. -function cloneVNode (vnode, deep) { +function cloneVNode (vnode) { var cloned = new VNode( vnode.tag, vnode.data, @@ -1918,17 +1916,14 @@ function cloneVNode (vnode, deep) { cloned.key = vnode.key; cloned.isComment = vnode.isComment; cloned.isCloned = true; - if (deep && vnode.children) { -cloned.children = cloneVNodes(vnode.children); - } return cloned } -function cloneVNodes (vnodes, deep) { +function cloneVNodes (vnodes) { var len = vnodes.length; var res = new Array(len); for (var i = 0; i < len; i++) { -res[i] = cloneVNode(vnodes[i], deep); +res[i] = cloneVNode(vnodes[i]); } return res } @@ -1976,15 +1971,11 @@ function updateListeners ( remove$$1, vm ) { - var name, def$$1, cur, old, event; + var name, cur, old, event; for (name in on) { -def$$1 = cur = on[name]; +cur = on[name]; old = oldOn[name]; event = normalizeEvent(name); -if (isPlainObject(def$$1)) { - cur = def$$1.handler; - event.params = def$$1.params; -} if (isUndef(cur)) { "development" !== 'production' && warn( "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), @@ -1994,7 +1985,7 @@ function updateListeners ( if (isUndef(cur.fns)) { cur = on[name] = createFnInvoker(cur); } - add(event.name, cur, event.once, event.capture, event.passive, event.params); + add(event.name, cur, event.once, event.capture, event.passive); } else if (cur !== old) { old.fns = cur; on[name] = old; @@ -2312,17 +2303,11 @@ function resolveAsyncComponent ( /* */ -function isAsyncPlaceholder (node) { - return node.isComment && node.asyncFactory -} - -/* */ - function getFirstComponentChild (children) { if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { var c = children[i]; - if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { + if (isDef(c) && isDef(c.componentOptions)) { return c } } @@ -2741,8 +2726,8 @@ function updateChildComponent ( // update $attrs and $listensers hash // these are also reactive so they may trigger child update
[22/50] [abbrv] incubator-weex git commit: lifecycle manager
lifecycle manager Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/148135c4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/148135c4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/148135c4 Branch: refs/heads/0.16-dev Commit: 148135c4b3c51dfc06cd9e9315b045815e1c31a4 Parents: c4662c6 Author: jianbai.gbjAuthored: Tue Sep 19 17:29:55 2017 +0800 Committer: jianbai.gbj Committed: Tue Sep 19 17:29:55 2017 +0800 -- .../java/com/taobao/weex/common/Constants.java | 12 +- .../list/template/CellLifecycleManager.java | 177 + .../list/template/LifecycleManager.java | 188 --- .../list/template/TemplateStickyHelper.java | 10 +- .../list/template/TemplateViewHolder.java | 8 +- .../list/template/WXRecyclerTemplateList.java | 75 6 files changed, 231 insertions(+), 239 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/148135c4/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index d5611d9..04d4387 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -191,7 +191,7 @@ public class Constants { String LIST_DATA_ITEM_ID = "itemId"; String CELL_INDEX = "cellIndex"; String TYPE_INDEX = "typeIndex"; - String APPEND = "append"; + String APPEND_LIST_DATA = "appendListData"; String UPDATE_CELL = "updateCell"; } @@ -282,11 +282,11 @@ public class Constants { String UNSTICKY = "unsticky"; String STICKY = "sticky"; -interface Recycler{ - String CREATE = "recycler-create"; - String ATTACH = "recycler-attach"; - String DETACH = "recycler-detach"; - String DESTORY = "recycler-destroy"; +interface SLOT_LIFECYCLE{ + String CREATE = "create"; + String ATTACH = "attach"; + String DETACH = "detach"; + String DESTORY = "destroy"; } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/148135c4/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java new file mode 100644 index 000..2f54f9e --- /dev/null +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java @@ -0,0 +1,177 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package com.taobao.weex.ui.component.list.template; + +import android.util.Log; + +import com.taobao.weex.common.Constants; +import com.taobao.weex.dom.WXEvent; +import com.taobao.weex.ui.component.WXComponent; +import com.taobao.weex.ui.component.WXVContainer; +import com.taobao.weex.ui.component.list.WXCell; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * cell-slot lifecycle manager, onCreate onAttach onDetach destroy + * Created by furture on 2017/9/19. + */ +public class CellLifecycleManager { + +private static final String[] lifecycleEventNames = { +Constants.Event.SLOT_LIFECYCLE.CREATE, +Constants.Event.SLOT_LIFECYCLE.ATTACH, +Constants.Event.SLOT_LIFECYCLE.DETACH, +Constants.Event.SLOT_LIFECYCLE.DESTORY +}; + +private WXRecyclerTemplateList recyclerTemplateList; +private Map > eventSlotWatchRefs; +private List createEvent; // only call once + + +public
[27/50] [abbrv] incubator-weex git commit: bundle.js更新
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/08abc8c2/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 0dbf526..9e1608c 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,6 +1,5 @@ -(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.21.11, Build 2017-09-19 15:53.'); -;(this.getJSFMVersion = function(){return "0.21.11"}); -var global = this, process = { env: {} };var setTimeout = global.setTimeout; +(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.0, Build 2017-09-20 19:51.'); +(this.getJSFMVersion = function(){return "0.22.0"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory() : @@ -8,8 +7,6 @@ var global = this, process = { env: {} };var setTimeout = global.setTimeout; (factory()); }(this, (function () { 'use strict'; -var subversion = {"browser":"0.5.0","framework":"0.21.11","vue-render":"0.12.3","transformer":">=0.1.5 <0.5"}; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -28,94 +25,115 @@ var subversion = {"browser":"0.5.0","framework":"0.21.11","vue-render":"0.12.3", * specific language governing permissions and limitations * under the License. */ +var config = {}; -/* eslint-disable */ +var instanceMap = {}; -// Production steps of ECMA-262, Edition 6, 22.1.2.1 -// Reference: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from +function init$1 (cfg) { + config.Document = cfg.Document; + config.Element = cfg.Element; + config.Comment = cfg.Comment; + config.sendTasks = cfg.sendTasks; +} -/* istanbul ignore if */ -if (!Array.from) { - Array.from = (function() { -var toStr = Object.prototype.toString; -var isCallable = function(fn) { - return typeof fn === 'function' || toStr.call(fn) === '[object Function]'; -}; -var toInteger = function(value) { - var number = Number(value); - if (isNaN(number)) { -return 0; - } - if (number === 0 || !isFinite(number)) { -return number; - } - return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number)); -}; -var maxSafeInteger = Math.pow(2, 53) - 1; -var toLength = function(value) { - var len = toInteger(value); - return Math.min(Math.max(len, 0), maxSafeInteger); -}; +function createInstance (id, code, options, data, serviceObjects) { + if ( options === void 0 ) options = {}; + if ( data === void 0 ) data = {}; + if ( serviceObjects === void 0 ) serviceObjects = {}; -// The length property of the from method is 1. -return function from(arrayLike/*, mapFn, thisArg */) { - // 1. Let C be the this value. - var C = this; + var document = new config.Document(id, options.bundleUrl); + var callbacks = {}; + var instance = { id: id, data: data, document: document, callbacks: callbacks }; - // 2. Let items be ToObject(arrayLike). - var items = Object(arrayLike); + var lastCallbackId = 0; + document.addCallback = function (func) { +lastCallbackId++; +callbacks[lastCallbackId] = func; +return lastCallbackId + }; + document.handleCallback = function (funcId, data, ifLast) { +var callback = callbacks[funcId]; +if (ifLast) { + delete callbacks[funcId]; +} +return callback(data) + }; + instanceMap[id] = instance; - // 3. ReturnIfAbrupt(items). - if (arrayLike == null) { -throw new TypeError('Array.from requires an array-like object - not null or undefined'); - } + var globalObjects = Object.assign({ +Document: config.Document, +Element: config.Element, +Comment: config.Comment, +sendTasks: function (tasks) { return config.sendTasks(id, tasks, -1); }, +options: options, +document: document + }, serviceObjects); - // 4. If mapfn is undefined, then let mapping be false. - var mapFn = arguments.length > 1 ? arguments[1] : void undefined; - var T; - if (typeof mapFn !== 'undefined') { -// 5. else -// 5. a If IsCallable(mapfn) is false, throw a TypeError exception. -if (!isCallable(mapFn)) { - throw new TypeError('Array.from: when provided, the second argument must be a function'); -} + var globalKeys = []; + var globalValues = []; + for (var key in globalObjects) { +globalKeys.push(key); +globalValues.push(globalObjects[key]); + } + globalKeys.push(code); -// 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined. -if (arguments.length > 2) { - T = arguments[2]; -} - } + var result = new (Function.prototype.bind.apply(
[GitHub] incubator-weex pull request #726: [android] recycle-list new feafure
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/726 ---
[24/50] [abbrv] incubator-weex git commit: add more test case for expression parser
add more test case for expression parser Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3344bb49 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3344bb49 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3344bb49 Branch: refs/heads/0.16-dev Commit: 3344bb491c8048eedc9a7f564bc5573af147c24f Parents: 7a9b30c Author: jianbai.gbjAuthored: Wed Sep 20 12:12:12 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 12:12:12 2017 +0800 -- .../taobao/weex/dom/binding/WXStatement.java| 2 +- .../com/taobao/weex/el/parse/Operators.java | 29 +++- .../java/com/taobao/weex/el/parse/Parser.java | 66 + .../java/com/taobao/weex/el/parse/Token.java| 2 +- .../weex/ui/component/binding/Statements.java | 138 ++- .../java/com/taobao/weex/el/ParserTest.java | 32 - .../ui/component/binding/BindingValueTest.java | 18 +-- .../ui/component/binding/StatementTest.java | 15 +- 8 files changed, 183 insertions(+), 119 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3344bb49/android/sdk/src/main/java/com/taobao/weex/dom/binding/WXStatement.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/binding/WXStatement.java b/android/sdk/src/main/java/com/taobao/weex/dom/binding/WXStatement.java index c11aaec..e17c708 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/binding/WXStatement.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/binding/WXStatement.java @@ -44,7 +44,7 @@ public class WXStatement implements Map ,Cloneable { * '[[repeat]]': { * '@expression': 'dataList', * '@index': 'index', - * '@label': 'item' + * '@alias': 'item' * } * } * http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3344bb49/android/sdk/src/main/java/com/taobao/weex/el/parse/Operators.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/el/parse/Operators.java b/android/sdk/src/main/java/com/taobao/weex/el/parse/Operators.java index 42dcf67..610b058 100644 --- a/android/sdk/src/main/java/com/taobao/weex/el/parse/Operators.java +++ b/android/sdk/src/main/java/com/taobao/weex/el/parse/Operators.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Stack; /** * Created by furture on 2017/8/28. @@ -74,6 +75,18 @@ public class Operators { } } } +if(context instanceof Stack){ +Stack stack = (Stack) context; +for(int index=stack.size()-1; index >= 0; index--){ +Object value = stack.get(index); +if(value instanceof Map){ +Map map = (Map) value; +if(map.containsKey(key)){ +return map.get(key); +} +} +} +} if(context instanceof Map){ return ((Map) context).get(key); @@ -438,6 +451,8 @@ public class Operators { OPERATORS_PRIORITY.put(SPACE_STR, 0); OPERATORS_PRIORITY.put(ARRAY_SEPRATOR_STR, 0); OPERATORS_PRIORITY.put(ARRAY_END_STR, 0); + + OPERATORS_PRIORITY.put(OR, 1); OPERATORS_PRIORITY.put(AND, 1); @@ -469,12 +484,16 @@ public class Operators { } -public static final List KEYWORDS = new ArrayList<>(); +public static final Object keywordValue(String keyword){ +return KEYWORDS.get(keyword); +} + +public static final Map KEYWORDS = new HashMap<>(); static { -KEYWORDS.add("null"); -KEYWORDS.add("true"); -KEYWORDS.add("false"); -KEYWORDS.add("undefined"); +KEYWORDS.put("null", null); +KEYWORDS.put("true", Boolean.TRUE); +KEYWORDS.put("false", Boolean.FALSE); +KEYWORDS.put("undefined", null); } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3344bb49/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java b/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java index c2f2b9b..76a6eed 100644 --- a/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java +++ b/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java @@ -20,9 +20,7 @@ package com.taobao.weex.el.parse;
[36/50] [abbrv] incubator-weex git commit: 测试
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dd927eb/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 13cdf6a..d7a7088 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,5 +1,5 @@ -(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.1, Build 2017-09-21 11:51.'); -(this.getJSFMVersion = function(){return "0.22.1"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; +(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.2, Build 2017-09-21 15:46.'); +(this.getJSFMVersion = function(){return "0.22.2"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory() : @@ -15344,8 +15344,7 @@ var NativeComponent = function () { } if (typeof nextProp === 'function') { -var params = nextProps[propKey.slice(2).toLowerCase() + 'EventParams']; -_host2.default.driver.addEventListener(this$1.getNativeNode(), propKey.slice(2).toLowerCase(), nextProp, params); +_host2.default.driver.addEventListener(this$1.getNativeNode(), propKey.slice(2).toLowerCase(), nextProp, nextProps); } // Update other property } else { @@ -17512,7 +17511,8 @@ var Driver = { parent = parent || before.parentNode; return parent.insertBefore(node, before); }, - addEventListener: function addEventListener(node, eventName, eventHandler, params) { + addEventListener: function addEventListener(node, eventName, eventHandler, props) { +var params = props[eventName + 'EventParams']; return node.addEvent(eventName, eventHandler, params); }, removeEventListener: function removeEventListener(node, eventName, eventHandler) { @@ -17582,8 +17582,7 @@ var Driver = { this$1.setStyles(node, value); } else if (EVENT_PREFIX_REGEXP.test(prop)) { var eventName = prop.slice(2).toLowerCase(); - var params = props[eventName + 'EventParams']; - this$1.addEventListener(node, eventName, value, params); + this$1.addEventListener(node, eventName, value, props); } else { this$1.setAttribute(node, prop, value); } @@ -21917,7 +21916,7 @@ var frameworks = { Weex: Weex }; -var subversion = {"browser":"0.5.0","framework":"0.22.1","vue-render":"0.12.3","transformer":">=0.1.5 <0.5"}; +var subversion = {"browser":"0.5.0","framework":"0.22.2","vue-render":"0.12.3","transformer":">=0.1.5 <0.5"}; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -26497,4 +26496,4 @@ setup(frameworks); global.registerMethods(methods$2); }))); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjpudWxsLCJzb3VyY2VzIjpbIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy92YW5pbGxhL2luZGV4LmpzIiwiLi4vLi4vdnVlL3BhY2thZ2VzL3dlZXgtdnVlLWZyYW1ld29yay9mYWN0b3J5LmpzIiwiLi4vLi4vdnVlL3BhY2thZ2VzL3dlZXgtdnVlLWZyYW1ld29yay9pbmRleC5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvYXBpL21ldGhvZHMuanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L3V0aWwvc2hhcmVkLmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS91dGlsL2luZGV4LmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9jb3JlL2RlcC5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvY29yZS93YXRjaGVyLmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9jb3JlL2FycmF5LmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9jb3JlL29ic2VydmVyLmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9jb3JlL3N0YXRlLmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9jb25maWcuanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L3ZtL2RpcmVjdGl2ZS5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvdm0vZ G9tLWhlbHBlci5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvdm0vY29tcGlsZXIuanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L3ZtL2V2ZW50cy5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvdm0vaW5kZXguanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L2FwcC9yZWdpc3Rlci5qcyIsIi4uL3dlZXgvbm9kZV9tb2R1bGVzL3NlbXZlci9zZW12ZXIuanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L2FwcC9kb3duZ3JhZGUuanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L2FwcC92aWV3cG9ydC5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvYXBwL2J1bmRsZS9ib290c3RyYXAuanMiLCIuLi93ZWV4L2h0bWw1L2ZyYW1ld29ya3MvbGVnYWN5L2FwcC9idW5kbGUvZGVmaW5lLmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9hcHAvYnVuZGxlL2luZGV4LmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9hcHAvY3RybC9taXNjLmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9hcHAvY3RybC9pbml0LmpzIiwiLi4vd2VleC9odG1sNS9mcmFtZXdvcmtzL2xlZ2FjeS9hcHAvY3RybC9pbmRleC5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3kvYXBwL2RpZmZlci5qcyIsIi4uL3dlZXgvaHRtbDUvZnJhbWV3b3Jrcy9sZWdhY3
[20/50] [abbrv] incubator-weex git commit: lifecycle event
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4662c64/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index a8f2dc5..0dbf526 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,5 +1,6 @@ -(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.0-beta.2, Build 2017-09-15 15:41.'); -(this.getJSFMVersion = function(){return "0.22.0-beta.2"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; +(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.21.11, Build 2017-09-19 15:53.'); +;(this.getJSFMVersion = function(){return "0.21.11"}); +var global = this, process = { env: {} };var setTimeout = global.setTimeout; (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory() : @@ -7,6 +8,8 @@ (factory()); }(this, (function () { 'use strict'; +var subversion = {"browser":"0.5.0","framework":"0.21.11","vue-render":"0.12.3","transformer":">=0.1.5 <0.5"}; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -25,115 +28,94 @@ * specific language governing permissions and limitations * under the License. */ -var config = {}; - -var instanceMap = {}; - -function init$1 (cfg) { - config.Document = cfg.Document; - config.Element = cfg.Element; - config.Comment = cfg.Comment; - config.sendTasks = cfg.sendTasks; -} - -function createInstance (id, code, options, data, serviceObjects) { - if ( options === void 0 ) options = {}; - if ( data === void 0 ) data = {}; - if ( serviceObjects === void 0 ) serviceObjects = {}; - - var document = new config.Document(id, options.bundleUrl); - var callbacks = {}; - var instance = { id: id, data: data, document: document, callbacks: callbacks }; - var lastCallbackId = 0; - document.addCallback = function (func) { -lastCallbackId++; -callbacks[lastCallbackId] = func; -return lastCallbackId - }; - document.handleCallback = function (funcId, data, ifLast) { -var callback = callbacks[funcId]; -if (ifLast) { - delete callbacks[funcId]; -} -return callback(data) - }; - instanceMap[id] = instance; +/* eslint-disable */ - var globalObjects = Object.assign({ -Document: config.Document, -Element: config.Element, -Comment: config.Comment, -sendTasks: function (tasks) { return config.sendTasks(id, tasks, -1); }, -options: options, -document: document - }, serviceObjects); +// Production steps of ECMA-262, Edition 6, 22.1.2.1 +// Reference: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from - var globalKeys = []; - var globalValues = []; - for (var key in globalObjects) { -globalKeys.push(key); -globalValues.push(globalObjects[key]); - } - globalKeys.push(code); +/* istanbul ignore if */ +if (!Array.from) { + Array.from = (function() { +var toStr = Object.prototype.toString; +var isCallable = function(fn) { + return typeof fn === 'function' || toStr.call(fn) === '[object Function]'; +}; +var toInteger = function(value) { + var number = Number(value); + if (isNaN(number)) { +return 0; + } + if (number === 0 || !isFinite(number)) { +return number; + } + return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number)); +}; +var maxSafeInteger = Math.pow(2, 53) - 1; +var toLength = function(value) { + var len = toInteger(value); + return Math.min(Math.max(len, 0), maxSafeInteger); +}; - var result = new (Function.prototype.bind.apply( Function, [ null ].concat( globalKeys) )); - result.apply(void 0, globalValues); +// The length property of the from method is 1. +return function from(arrayLike/*, mapFn, thisArg */) { + // 1. Let C be the this value. + var C = this; - config.sendTasks(id, [{ module: 'dom', method: 'createFinish', args: [] }], -1); + // 2. Let items be ToObject(arrayLike). + var items = Object(arrayLike); - return instance -} + // 3. ReturnIfAbrupt(items). + if (arrayLike == null) { +throw new TypeError('Array.from requires an array-like object - not null or undefined'); + } -function destroyInstance (id) { - delete instanceMap[id]; -} + // 4. If mapfn is undefined, then let mapping be false. + var mapFn = arguments.length > 1 ? arguments[1] : void undefined; + var T; + if (typeof mapFn !== 'undefined') { +// 5. else +// 5. a If IsCallable(mapfn) is false, throw a TypeError exception. +if (!isCallable(mapFn)) { + throw new TypeError('Array.from: when provided, the second argument must be a function'); +} -function getRoot (id) { - return
[33/50] [abbrv] incubator-weex git commit: create event and destroy event
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d343d718/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index 010c772..13cdf6a 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,5 +1,5 @@ -(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.0-beta.2, Build 2017-09-19 14:51.'); -(this.getJSFMVersion = function(){return "0.22.0-beta.2"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; +(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.1, Build 2017-09-21 11:51.'); +(this.getJSFMVersion = function(){return "0.22.1"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory() : @@ -310,12 +310,9 @@ var capitalize = cached(function (str) { /** * Hyphenate a camelCase string. */ -var hyphenateRE = /([^-])([A-Z])/g; +var hyphenateRE = /\B([A-Z])/g; var hyphenate = cached(function (str) { - return str -.replace(hyphenateRE, '$1-$2') -.replace(hyphenateRE, '$1-$2') -.toLowerCase() + return str.replace(hyphenateRE, '-$1').toLowerCase() }); /** @@ -730,7 +727,7 @@ var isAndroid = UA && UA.indexOf('android') > 0; var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA); var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; -// Firefix has a "watch" function on Object.prototype... +// Firefox has a "watch" function on Object.prototype... var nativeWatch = ({}).watch; var supportsPassive = false; @@ -1299,7 +1296,7 @@ function mergeDataOrFn ( : childVal; var defaultData = typeof parentVal === 'function' ? parentVal.call(vm) -: undefined; +: parentVal; if (instanceData) { return mergeData(instanceData, defaultData) } else { @@ -1702,7 +1699,12 @@ function assertType (value, type) { var valid; var expectedType = getType(type); if (simpleCheckRE.test(expectedType)) { -valid = typeof value === expectedType.toLowerCase(); +var t = typeof value; +valid = t === expectedType.toLowerCase(); +// for primitive wrapper objects +if (!valid && t === 'object') { + valid = value instanceof type; +} } else if (expectedType === 'Object') { valid = isPlainObject(value); } else if (expectedType === 'Array') { @@ -1900,7 +1902,7 @@ function createTextVNode (val) { // used for static nodes and slot nodes because they may be reused across // multiple renders, cloning them avoids errors when DOM manipulations rely // on their elm reference. -function cloneVNode (vnode) { +function cloneVNode (vnode, deep) { var cloned = new VNode( vnode.tag, vnode.data, @@ -1916,14 +1918,17 @@ function cloneVNode (vnode) { cloned.key = vnode.key; cloned.isComment = vnode.isComment; cloned.isCloned = true; + if (deep && vnode.children) { +cloned.children = cloneVNodes(vnode.children); + } return cloned } -function cloneVNodes (vnodes) { +function cloneVNodes (vnodes, deep) { var len = vnodes.length; var res = new Array(len); for (var i = 0; i < len; i++) { -res[i] = cloneVNode(vnodes[i]); +res[i] = cloneVNode(vnodes[i], deep); } return res } @@ -1971,11 +1976,15 @@ function updateListeners ( remove$$1, vm ) { - var name, cur, old, event; + var name, def$$1, cur, old, event; for (name in on) { -cur = on[name]; +def$$1 = cur = on[name]; old = oldOn[name]; event = normalizeEvent(name); +if (isPlainObject(def$$1)) { + cur = def$$1.handler; + event.params = def$$1.params; +} if (isUndef(cur)) { "development" !== 'production' && warn( "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), @@ -1985,7 +1994,7 @@ function updateListeners ( if (isUndef(cur.fns)) { cur = on[name] = createFnInvoker(cur); } - add(event.name, cur, event.once, event.capture, event.passive); + add(event.name, cur, event.once, event.capture, event.passive, event.params); } else if (cur !== old) { old.fns = cur; on[name] = old; @@ -2303,11 +2312,17 @@ function resolveAsyncComponent ( /* */ +function isAsyncPlaceholder (node) { + return node.isComment && node.asyncFactory +} + +/* */ + function getFirstComponentChild (children) { if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { var c = children[i]; - if (isDef(c) && isDef(c.componentOptions)) { + if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { return c } } @@ -2726,8 +2741,8 @@ function updateChildComponent ( // update $attrs and $listensers hash // these are also reactive so they may trigger child update if the
[40/50] [abbrv] incubator-weex git commit: bundle js
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/71c692ca/pre-build/native-bundle-main.js -- diff --git a/pre-build/native-bundle-main.js b/pre-build/native-bundle-main.js index d7a7088..c737167 100644 --- a/pre-build/native-bundle-main.js +++ b/pre-build/native-bundle-main.js @@ -1,26499 +1,8 @@ -(this.nativeLog || function(s) {console.log(s)})('START JS FRAMEWORK 0.22.2, Build 2017-09-21 15:46.'); -(this.getJSFMVersion = function(){return "0.22.2"});var global = this, process = { env: {} };var setTimeout = global.setTimeout; - -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory() : - typeof define === 'function' && define.amd ? define(factory) : - (factory()); -}(this, (function () { 'use strict'; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -var config = {}; - -var instanceMap = {}; - -function init$1 (cfg) { - config.Document = cfg.Document; - config.Element = cfg.Element; - config.Comment = cfg.Comment; - config.sendTasks = cfg.sendTasks; -} - -function createInstance (id, code, options, data, serviceObjects) { - if ( options === void 0 ) options = {}; - if ( data === void 0 ) data = {}; - if ( serviceObjects === void 0 ) serviceObjects = {}; - - var document = new config.Document(id, options.bundleUrl); - var callbacks = {}; - var instance = { id: id, data: data, document: document, callbacks: callbacks }; - - var lastCallbackId = 0; - document.addCallback = function (func) { -lastCallbackId++; -callbacks[lastCallbackId] = func; -return lastCallbackId - }; - document.handleCallback = function (funcId, data, ifLast) { -var callback = callbacks[funcId]; -if (ifLast) { - delete callbacks[funcId]; -} -return callback(data) - }; - instanceMap[id] = instance; - - var globalObjects = Object.assign({ -Document: config.Document, -Element: config.Element, -Comment: config.Comment, -sendTasks: function (tasks) { return config.sendTasks(id, tasks, -1); }, -options: options, -document: document - }, serviceObjects); - - var globalKeys = []; - var globalValues = []; - for (var key in globalObjects) { -globalKeys.push(key); -globalValues.push(globalObjects[key]); - } - globalKeys.push(code); - - var result = new (Function.prototype.bind.apply( Function, [ null ].concat( globalKeys) )); - result.apply(void 0, globalValues); - - config.sendTasks(id, [{ module: 'dom', method: 'createFinish', args: [] }], -1); - - return instance -} - -function destroyInstance (id) { - delete instanceMap[id]; -} - -function getRoot (id) { - return instanceMap[id].document.body.toJSON() -} - -function receiveTasks (id, tasks) { - var jsHandlers = { -fireEvent: function (id, ref, type, data, domChanges) { - var ref$1 = instanceMap[id]; - var document = ref$1.document; - var el = document.getRef(ref); - return document.fireEvent(el, type, data, domChanges) -}, - -callback: function (id, funcId, data, ifLast) { - var ref = instanceMap[id]; - var document = ref.document; - return document.handleCallback(funcId, data, ifLast) -} - }; - - var ref = instanceMap[id] || {}; - var document = ref.document; - if (document && Array.isArray(tasks)) { -var results = []; -tasks.forEach(function (task) { - var handler = jsHandlers[task.method]; - var args = [].concat( task.args ); - if (typeof handler === 'function') { -args.unshift(id); -results.push(handler.apply(void 0, args)); - } -}); -return results - } -} - - -var Vanilla = Object.freeze({ - init: init$1, - createInstance: createInstance, - destroyInstance: destroyInstance, - getRoot: getRoot, - receiveTasks: receiveTasks -}); - -var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; - - - -function unwrapExports (x) { - return x && x.__esModule ? x['default'] : x; -} - -function createCommonjsModule(fn, module) { - return module = { exports: {} },
[45/50] [abbrv] incubator-weex git commit: keep basic list component
keep basic list component Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c7b9938b Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c7b9938b Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c7b9938b Branch: refs/heads/0.16-dev Commit: c7b9938b1d022e93784e77f46a02151351a1ed47 Parents: 7da6838 Author: jianbai.gbjAuthored: Thu Sep 21 17:41:51 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 17:41:51 2017 +0800 -- .../com/taobao/weex/ui/component/list/BasicListComponent.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c7b9938b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java index 1643e65..5393f9a 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
[16/50] [abbrv] incubator-weex git commit: adapt new protocol
adapt new protocol Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/26091f5b Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/26091f5b Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/26091f5b Branch: refs/heads/0.16-dev Commit: 26091f5b5be4ce8cf13d40bd66d0fd703ed64e06 Parents: 11b5b7f Author: jianbai.gbjAuthored: Mon Sep 18 22:05:28 2017 +0800 Committer: jianbai.gbj Committed: Mon Sep 18 22:05:28 2017 +0800 -- .../java/com/taobao/weex/common/Constants.java | 4 +- .../main/java/com/taobao/weex/dom/WXAttr.java | 5 + .../com/taobao/weex/dom/binding/ELUtils.java| 19 +++- .../taobao/weex/dom/binding/WXStatement.java| 2 +- .../weex/ui/component/binding/Statements.java | 100 ++- .../list/template/TemplateStickyHelper.java | 2 +- .../list/template/WXRecyclerTemplateList.java | 71 +++-- .../java/com/taobao/weex/el/ParserTest.java | 7 +- 8 files changed, 170 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/26091f5b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index 6a96a08..1e1ad86 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -184,13 +184,15 @@ public class Constants { interface Recycler{ String LIST_DATA = "listData"; - String LIST_DATA_ITEM ="item"; + String LIST_DATA_ITEM ="alias"; String LIST_DATA_ITEM_INDEX = "index"; String LIST_DATA_TEMPLATE_KEY = "templateKey"; String SLOT_TEMPLATE_TYPE = "templateType"; String LIST_DATA_ITEM_ID = "itemId"; String CELL_INDEX = "cellIndex"; String TYPE_INDEX = "typeIndex"; + String APPEND = "append"; + String UPDATE_CELL = "updateCell"; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/26091f5b/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java index edf83b1..3434fe3 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java @@ -18,6 +18,7 @@ */ package com.taobao.weex.dom; +import static com.taobao.weex.dom.binding.ELUtils.COMPONENT_PROPS; import static java.lang.Boolean.parseBoolean; import android.support.annotation.NonNull; @@ -471,6 +472,10 @@ public class WXAttr implements Map ,Cloneable { * filter dynamic attrs and statements * */ private boolean filterBindingStatement(String key, Object value) { +if(COMPONENT_PROPS.equals(key)){ + ELUtils.bindingBlock(value); + return false; +} if(ELUtils.isBinding(value)){ if(mBindingAttrs == null){ mBindingAttrs = new ArrayMap (); http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/26091f5b/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java b/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java index d4b9c9e..329fb99 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java @@ -25,6 +25,8 @@ import com.taobao.weex.el.parse.Block; import com.taobao.weex.el.parse.Parser; import com.taobao.weex.utils.WXLogUtils; +import java.util.Set; + /** * util's for binding and statment * Created by jianbai.gbj on 2017/8/17. @@ -32,8 +34,12 @@ import com.taobao.weex.utils.WXLogUtils; public class ELUtils { public static final String BINDING = "@binding"; +/** + * sub template + * */ +public static final String IS_COMPONENT_ROOT = "@isComponentRoot"; -public static final String SCOPE = "scope"; +public static final String COMPONENT_PROPS = "@componentProps"; /** * @param value check object is binding expression @@ -67,6 +73,17 @@ public class ELUtils { object.put(BINDING, Parser.parse(binding.toString())); } } +Set keys = object.keySet(); +for(Object propsKey : keys){ +
[08/50] [abbrv] incubator-weex git commit: redesign list view code
redesign list view code Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/64e017e2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/64e017e2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/64e017e2 Branch: refs/heads/0.16-dev Commit: 64e017e25d1cecd82918204f398feb18da81a2cf Parents: e1f7f24 Author: jianbai.gbjAuthored: Thu Sep 14 13:06:00 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 13:06:00 2017 +0800 -- .../ui/component/list/BasicListComponent.java | 92 ++-- .../list/template/WXRecyclerTemplateList.java | 31 +-- .../weex/ui/view/listview/WXRecyclerView.java | 29 ++ 3 files changed, 38 insertions(+), 114 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/64e017e2/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java index 59e2aaa..8dda086 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java @@ -82,20 +82,19 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static com.taobao.weex.common.Constants.Name.LOADMOREOFFSET; + /** * Created by sospartan on 13/12/2016. */ public abstract class BasicListComponent extends WXVContainer implements IRecyclerAdapterListener, IOnLoadMoreListener, Scrollable { - public static final String TRANSFORM = "transform"; - public static final String LOADMOREOFFSET = "loadmoreoffset"; private String TAG = "BasicListComponent"; private int mListCellCount = 0; private boolean mForceLoadmoreNextTime = false; private ArrayList recycleViewList = new ArrayList<>(); private static int visibleCellCount = 6; - private static final Pattern transformPattern = Pattern.compile("([a-z]+)\\(([0-9\\.]+),?([0-9\\.]+)?\\)"); private Map mAppearComponents = new HashMap<>(); @@ -228,56 +227,7 @@ public abstract class BasicListComponenthttp://git-wip-us.apache.org/repos/asf/incubator-weex/blob/64e017e2/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 9138b35..d03e363 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -31,7 +31,6 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.text.TextUtils; -import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; @@ -68,12 +67,10 @@ import com.taobao.weex.ui.component.binding.Layouts; import com.taobao.weex.ui.component.binding.Statements; import com.taobao.weex.ui.component.list.RecyclerTransform; import com.taobao.weex.ui.component.list.WXCell; -import com.taobao.weex.ui.view.listview.ExtendedLinearLayoutManager; import com.taobao.weex.ui.view.listview.WXRecyclerView; import com.taobao.weex.ui.view.listview.adapter.IOnLoadMoreListener; import com.taobao.weex.ui.view.listview.adapter.IRecyclerAdapterListener; import com.taobao.weex.ui.view.listview.adapter.RecyclerViewBaseAdapter; -import com.taobao.weex.ui.view.listview.adapter.TransformItemDecoration; import com.taobao.weex.ui.view.listview.adapter.WXRecyclerViewOnScrollListener; import com.taobao.weex.ui.view.refresh.wrapper.BounceRecyclerView; import com.taobao.weex.utils.WXLogUtils; @@ -85,8 +82,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import static com.taobao.weex.common.Constants.Name.LOADMOREOFFSET; @@ -462,31 +457,7 @@ public class WXRecyclerTemplateList extends WXVContainer imp if (position >= 0) { final int pos = position; final WXRecyclerView view = bounceRecyclerView.getInnerView(); - -if (!smooth) { -
[19/50] [abbrv] incubator-weex git commit: bundle taobao test
bundle taobao test Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9ed73cb0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9ed73cb0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9ed73cb0 Branch: refs/heads/0.16-dev Commit: 9ed73cb0b8a281b2764bfb3cdd8c23e05a0d00bf Parents: 1769f7c Author: jianbai.gbjAuthored: Tue Sep 19 14:16:01 2017 +0800 Committer: jianbai.gbj Committed: Tue Sep 19 14:16:01 2017 +0800 -- android/sdk/build.gradle| 6 +- pre-build/native-bundle-main.js | 26675 - 2 files changed, 26670 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9ed73cb0/android/sdk/build.gradle -- diff --git a/android/sdk/build.gradle b/android/sdk/build.gradle index 0be69fb..59e3d7e 100755 --- a/android/sdk/build.gradle +++ b/android/sdk/build.gradle @@ -45,7 +45,7 @@ version = "0.9.4" android { compileSdkVersion project.compileSdkVersion buildToolsVersion project.buildToolsVersion -resourcePrefix "weex" +//resourcePrefix "weex" useLibrary 'org.apache.http.legacy' copy { @@ -56,8 +56,8 @@ android { } def line new File(projectDir,"assets/main.js").withReader { line = it.readLine() } -def m = line =~ /[A-Z\s]+\s+([0-9\.]+),\s+Build\s+[0-9]+/; -def jsfmVersion = m[0][1] +//def m = line =~ /[A-Z\s]+\s+([0-9\.]+),\s+Build\s+[0-9]+/; +def jsfmVersion = "0.22.0-beta.2" //m[0][1] println jsfmVersion if(project.hasProperty('asfRelease')){
[23/50] [abbrv] incubator-weex git commit: add supported array and more testcase
add supported array and more testcase Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/7a9b30c8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/7a9b30c8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/7a9b30c8 Branch: refs/heads/0.16-dev Commit: 7a9b30c84c3abac180bc7988b6397a39c3bdb235 Parents: 148135c Author: jianbai.gbjAuthored: Wed Sep 20 11:00:56 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 11:00:56 2017 +0800 -- .../com/taobao/weex/dom/binding/ELUtils.java| 10 +- .../com/taobao/weex/el/parse/ArrayStack.java| 8 ++ .../java/com/taobao/weex/el/parse/Block.java| 28 +++- .../java/com/taobao/weex/el/parse/Operator.java | 5 +- .../com/taobao/weex/el/parse/Operators.java | 22 ++- .../java/com/taobao/weex/el/parse/Parser.java | 135 ++- .../java/com/taobao/weex/el/parse/Token.java| 3 + .../taobao/weex/ui/component/WXComponent.java | 4 +- .../weex/ui/component/binding/Statements.java | 30 ++--- .../com/taobao/weex/el/IfStatementTest.java | 30 ++--- .../java/com/taobao/weex/el/ParserTest.java | 59 +--- 11 files changed, 243 insertions(+), 91 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7a9b30c8/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java b/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java index 329fb99..c2f3bb8 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/binding/ELUtils.java @@ -21,8 +21,8 @@ package com.taobao.weex.dom.binding; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.taobao.weex.WXEnvironment; -import com.taobao.weex.el.parse.Block; import com.taobao.weex.el.parse.Parser; +import com.taobao.weex.el.parse.Token; import com.taobao.weex.utils.WXLogUtils; import java.util.Set; @@ -69,7 +69,7 @@ public class ELUtils { JSONObject object = (JSONObject) value; if(object.containsKey(BINDING)){ Object binding = object.get(BINDING); -if(!(binding instanceof Block)){ +if(!(binding instanceof Token)){ object.put(BINDING, Parser.parse(binding.toString())); } } @@ -79,7 +79,7 @@ public class ELUtils { && ((JSONObject)object.get(propsKey)).containsKey(BINDING)){ JSONObject propsValue = (JSONObject) object.get(propsKey); Object binding = propsValue.get(BINDING); -if(!(binding instanceof Block)){ +if(!(binding instanceof Token)){ propsValue.put(BINDING, Parser.parse(binding.toString())); } } @@ -101,7 +101,7 @@ public class ELUtils { return WXStatement.WX_FOR.equals(name); } -public static Block vifBlock(String code){ +public static Token vifBlock(String code){ return Parser.parse(code); } @@ -109,7 +109,7 @@ public class ELUtils { if(vfor instanceof JSONObject){ if(((JSONObject) vfor).containsKey(WXStatement.WX_FOR_LIST)){ Object list = ((JSONObject) vfor).get(WXStatement.WX_FOR_LIST); -if(!(list instanceof Block)){ +if(!(list instanceof Token)){ ((JSONObject) vfor).put(WXStatement.WX_FOR_LIST, Parser.parse(list.toString())); } } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7a9b30c8/android/sdk/src/main/java/com/taobao/weex/el/parse/ArrayStack.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/el/parse/ArrayStack.java b/android/sdk/src/main/java/com/taobao/weex/el/parse/ArrayStack.java index 5de2eaa..6a4c3bc 100644 --- a/android/sdk/src/main/java/com/taobao/weex/el/parse/ArrayStack.java +++ b/android/sdk/src/main/java/com/taobao/weex/el/parse/ArrayStack.java @@ -57,6 +57,14 @@ public class ArrayStack { return stack.get(i); } +public T remove(int i) { +return stack.remove(i); +} + +public void add(int i, T t) { +stack.add(i, t); +} + public boolean isEmpty() { return stack.isEmpty(); } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7a9b30c8/android/sdk/src/main/java/com/taobao/weex/el/parse/Block.java
[21/50] [abbrv] incubator-weex git commit: lifecycle event
lifecycle event Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c4662c64 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c4662c64 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c4662c64 Branch: refs/heads/0.16-dev Commit: c4662c648e2b74a65019b4074de8687ba8c893bd Parents: 9ed73cb Author: jianbai.gbjAuthored: Tue Sep 19 16:15:47 2017 +0800 Committer: jianbai.gbj Committed: Tue Sep 19 16:15:47 2017 +0800 -- .../java/com/taobao/weex/common/Constants.java | 7 + .../main/java/com/taobao/weex/dom/WXEvent.java |22 + .../com/taobao/weex/dom/action/Actions.java | 2 +- .../weex/dom/action/RemoveEventAction.java | 5 +- .../list/template/LifecycleManager.java | 188 + .../list/template/WXRecyclerTemplateList.java |46 +- pre-build/native-bundle-main.js | 45196 - 7 files changed, 22812 insertions(+), 22654 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4662c64/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index 1aff022..d5611d9 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -282,6 +282,13 @@ public class Constants { String UNSTICKY = "unsticky"; String STICKY = "sticky"; +interface Recycler{ + String CREATE = "recycler-create"; + String ATTACH = "recycler-attach"; + String DETACH = "recycler-detach"; + String DESTORY = "recycler-destroy"; +} + } public interface PSEUDO { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4662c64/android/sdk/src/main/java/com/taobao/weex/dom/WXEvent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXEvent.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXEvent.java index 985d720..942979f 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXEvent.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXEvent.java @@ -61,6 +61,17 @@ public class WXEvent extends ArrayList implements Serializable, Cloneabl super.clear(); } + + public boolean remove(String o) { + if(mEventBindingArgs != null){ +mEventBindingArgs.remove(o); + } + if(mEventBindingArgsValues != null){ +mEventBindingArgsValues.remove(o); + } + return super.remove(o); + } + /** * can by null * */ @@ -90,6 +101,17 @@ public class WXEvent extends ArrayList implements Serializable, Cloneabl } } + public static String getEventName(Object event){ +if(event instanceof CharSequence){ + return event.toString(); +}else if(event instanceof JSONObject){ + JSONObject bindings = (JSONObject) event; + String eventName = bindings.getString(WXEvent.EVENT_KEY_TYPE); + return eventName; +} +return event.toString(); + } + public void putEventBindingArgs(String event, Object args){ if(!contains(event)){ add(event); http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4662c64/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java index 08c1902..c284997 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java @@ -92,7 +92,7 @@ public class Actions { if (args == null) { return null; } -return new RemoveEventAction(args.getString(0),args.getString(1)); +return new RemoveEventAction(args.getString(0),args.get(1)); case CREATE_FINISH: return new CreateFinishAction(); case REFRESH_FINISH: http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c4662c64/android/sdk/src/main/java/com/taobao/weex/dom/action/RemoveEventAction.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/RemoveEventAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/RemoveEventAction.java index c79bba9..1ae132c 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/action/RemoveEventAction.java +++
[44/50] [abbrv] incubator-weex git commit: keep variable
keep variable Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/7da68386 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/7da68386 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/7da68386 Branch: refs/heads/0.16-dev Commit: 7da68386e45d998fa85369a8ab3bdc705844d165 Parents: 0e44b6e Author: jianbai.gbjAuthored: Thu Sep 21 17:36:48 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 17:36:48 2017 +0800 -- .../src/main/java/com/taobao/weex/dom/action/AddEventAction.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7da68386/android/sdk/src/main/java/com/taobao/weex/dom/action/AddEventAction.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/AddEventAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/AddEventAction.java index e01d49a..8e6c99c 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/action/AddEventAction.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/AddEventAction.java @@ -65,7 +65,7 @@ class AddEventAction extends TraceableAction implements DOMAction, RenderAction } domObject.getEvents().addEvent(mEvent); - +mUpdatedDom = domObject; if (WXTracing.isAvailable() && mBeginEvent != null) { submitPerformance("addEventToDom", "X", instance.getInstanceId(), Stopwatch.tack(), Stopwatch.lastTickStamp(), true); }
[02/50] [abbrv] incubator-weex git commit: v-if false handler
v-if false handler Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/43caaf36 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/43caaf36 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/43caaf36 Branch: refs/heads/0.16-dev Commit: 43caaf36cf2ea07ae82b4a17ec98871263f50c7d Parents: af99ed7 Author: jianbai.gbjAuthored: Tue Sep 12 15:28:31 2017 +0800 Committer: jianbai.gbj Committed: Tue Sep 12 15:28:31 2017 +0800 -- .../main/java/com/taobao/weex/common/Constants.java | 2 ++ .../com/taobao/weex/ui/component/WXComponent.java| 15 +++ .../list/template/WXRecyclerTemplateList.java| 10 +- .../view/listview/ExtendedLinearLayoutManager.java | 2 +- .../src/test/java/com/taobao/weex/el/ParserTest.java | 2 ++ 5 files changed, 21 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index ed40338..0cc5bf4 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -189,6 +189,8 @@ public class Constants { String LIST_DATA_ITEM_ID = "itemId"; String CELL_INDEX = "cellIndex"; String TYPE_INDEX = "typeIndex"; + +String KEEP_POSITION = "keepPosition"; } public interface Value { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java index dad2c1d..03adfd2 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java @@ -1663,10 +1663,17 @@ public abstract class WXComponent implements IWXObject, IWXActi this.waste = waste; WXDomObject domObject = (WXDomObject) getDomObject(); if(waste){ -domObject.setVisible(false); -if(getHostView() != null){ - getHostView().setVisibility(View.GONE); -} + if(WXUtils.getBoolean(domObject.getAttrs().get(Constants.Name.KEEP_POSITION), false)){ +domObject.setVisible(true); +if(getHostView() != null){ + getHostView().setVisibility(View.INVISIBLE); +} + }else{ +domObject.setVisible(false); +if(getHostView() != null){ + getHostView().setVisibility(View.GONE); +} + } }else{ domObject.setVisible(true); if(getHostView() != null){ http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43caaf36/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 8895080..e8a9179 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -1078,11 +1078,11 @@ public class WXRecyclerTemplateList extends WXVContainer imp templateViewHolder.setHolderPosition(position); Statements.doRender(component, getStackContextForPosition(position)); if(WXEnvironment.isApkDebugable()){ -WXLogUtils.d(TAG, position + " onBindViewHolder render used " + (System.currentTimeMillis() - start)); +WXLogUtils.d(TAG, position + getTemplateKey(position) + " onBindViewHolder render used " + (System.currentTimeMillis() - start)); } Layouts.doLayout(component, templateViewHolder.getLayoutContext()); if(WXEnvironment.isApkDebugable()){ -WXLogUtils.d(TAG, position + " onBindViewHolder render used " + (System.currentTimeMillis() - start)); +WXLogUtils.d(TAG, position + getTemplateKey(position) + " onBindViewHolder render used " + (System.currentTimeMillis() - start)); } } @@ -1102,15 +1102,15 @@ public class WXRecyclerTemplateList
[10/50] [abbrv] incubator-weex git commit: rename utils
rename utils Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2544b5e0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2544b5e0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2544b5e0 Branch: refs/heads/0.16-dev Commit: 2544b5e065bcdd9c7d4442d3b5f5a584f188d388 Parents: 89f68fd Author: jianbai.gbjAuthored: Thu Sep 14 14:45:14 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 14:45:14 2017 +0800 -- .../main/java/com/taobao/weex/dom/WXAttr.java | 14 +-- .../java/com/taobao/weex/dom/WXDomObject.java | 5 - .../main/java/com/taobao/weex/dom/WXEvent.java | 4 +- .../taobao/weex/dom/binding/BindingUtils.java | 108 --- .../com/taobao/weex/dom/binding/ELUtils.java| 108 +++ .../weex/ui/component/binding/Statements.java | 22 ++-- 6 files changed, 128 insertions(+), 133 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2544b5e0/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java index f67587f..edf83b1 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXAttr.java @@ -27,7 +27,7 @@ import android.text.TextUtils; import com.taobao.weex.common.Constants; import com.taobao.weex.common.Constants.Name; import com.taobao.weex.common.WXImageSharpen; -import com.taobao.weex.dom.binding.BindingUtils; +import com.taobao.weex.dom.binding.ELUtils; import com.taobao.weex.dom.binding.WXStatement; import com.taobao.weex.ui.view.listview.WXRecyclerView; import com.taobao.weex.utils.WXLogUtils; @@ -471,27 +471,27 @@ public class WXAttr implements Map ,Cloneable { * filter dynamic attrs and statements * */ private boolean filterBindingStatement(String key, Object value) { -if(BindingUtils.isBinding(value)){ +if(ELUtils.isBinding(value)){ if(mBindingAttrs == null){ mBindingAttrs = new ArrayMap (); } - value = BindingUtils.bindingBlock(value); + value = ELUtils.bindingBlock(value); mBindingAttrs.put(key, value); return true; } -if(BindingUtils.isVif(key)){ +if(ELUtils.isVif(key)){ if(mStatement == null){ mStatement = new WXStatement(); } - mStatement.put(key, BindingUtils.vifBlock(value.toString())); + mStatement.put(key, ELUtils.vifBlock(value.toString())); return true; } -if(BindingUtils.isVfor(key)){ +if(ELUtils.isVfor(key)){ if(mStatement == null){ mStatement = new WXStatement(); } - value = BindingUtils.vforBlock(value); + value = ELUtils.vforBlock(value); if(value != null) { mStatement.put(key, value); return true; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2544b5e0/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java index c2cafd4..1dea173 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java @@ -22,7 +22,6 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.taobao.weex.WXEnvironment; @@ -31,8 +30,6 @@ import com.taobao.weex.WXSDKManager; import com.taobao.weex.bridge.WXValidateProcessor; import com.taobao.weex.common.Constants; import com.taobao.weex.common.Constants.Name; -import com.taobao.weex.dom.binding.BindingUtils; -import com.taobao.weex.dom.binding.WXStatement; import com.taobao.weex.dom.flex.CSSLayoutContext; import com.taobao.weex.dom.flex.CSSNode; import com.taobao.weex.dom.flex.Spacing; @@ -42,10 +39,8 @@ import com.taobao.weex.utils.WXViewUtils; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; /**
[29/50] [abbrv] incubator-weex git commit: fire node
fire node Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/699da8f6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/699da8f6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/699da8f6 Branch: refs/heads/0.16-dev Commit: 699da8f611d9f2eb790cee2df4f9a89c555e0ab9 Parents: 08abc8c Author: jianbai.gbjAuthored: Wed Sep 20 21:07:17 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 21:07:17 2017 +0800 -- .../list/template/CellLifecycleManager.java | 22 ++-- 1 file changed, 16 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/699da8f6/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java index 2f54f9e..80880c2 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java @@ -125,9 +125,8 @@ public class CellLifecycleManager { || slotWatchAttachRefs.get(cell.getRef()).size() == 0){ return; } -Map params = new HashMap<>(8); -params.put("position", position); -cell.fireEvent(Constants.Event.SLOT_LIFECYCLE.ATTACH, params); +List refs = slotWatchAttachRefs.get(cell.getRef()); +fireChildEvent(Constants.Event.SLOT_LIFECYCLE.ATTACH, cell, refs, position); } /** @@ -143,9 +142,8 @@ public class CellLifecycleManager { || slotWatchDetachRefs.get(cell.getRef()).size() == 0){ return; } -Map params = new HashMap<>(8); -params.put("position", position); -cell.fireEvent(Constants.Event.SLOT_LIFECYCLE.DETACH, params); +List refs = slotWatchDetachRefs.get(cell.getRef()); +fireChildEvent(Constants.Event.SLOT_LIFECYCLE.DETACH, cell, refs, position); } /** @@ -174,4 +172,16 @@ public class CellLifecycleManager { } eventSlotWatchRefs.clear(); } + +private final void fireChildEvent(String event, WXCell cell, List refs, int position){ +for(String ref : refs){ +WXComponent component = recyclerTemplateList.findChildByRef(cell, ref); +if(component == null){ +continue; +} +Map params = new HashMap<>(8); +params.put("position", position); +component.fireEvent(event, params); +} +} }
[50/50] [abbrv] incubator-weex git commit: Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into wip-us-0.16-dev
Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into wip-us-0.16-dev Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/af292302 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/af292302 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/af292302 Branch: refs/heads/0.16-dev Commit: af2923026bc8012bcb31b32664aae4ab4b190f82 Parents: 9f4eb8c dbdab8e Author: acton393Authored: Thu Sep 21 21:38:05 2017 +0800 Committer: acton393 Committed: Thu Sep 21 21:38:05 2017 +0800 -- .travis.yml | 4 doc/source/cn/guide/index.md| 9 ++--- doc/source/cn/guide/set-up-env.md | 4 ++-- doc/source/cn/guide/tools/toolkit.md| 2 +- .../cn/references/advanced/extend-to-android.md | 21 ++-- doc/source/cn/references/common-style.md| 1 + doc/source/cn/references/components/text.md | 6 +++--- doc/source/cn/references/modules/animation.md | 2 ++ doc/source/cn/references/modules/dom.md | 2 +- doc/source/guide/index.md | 4 ++-- doc/source/guide/set-up-env.md | 6 +++--- doc/source/guide/tools/toolkit.md | 5 ++--- doc/source/references/common-style.md | 1 + doc/source/references/components/text.md| 8 doc/source/references/modules/animation.md | 3 ++- doc/source/references/modules/dom.md| 2 +- ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 4 +++- .../WeexSDK/Sources/Component/WXWebComponent.m | 1 + ios/sdk/WeexSDK/Sources/WeexSDK.h | 1 + 19 files changed, 55 insertions(+), 31 deletions(-) --
[17/50] [abbrv] incubator-weex git commit: Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list
Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list # Conflicts: # android/sdk/src/main/java/com/taobao/weex/common/Constants.java # android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/1769f7c3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1769f7c3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1769f7c3 Branch: refs/heads/0.16-dev Commit: 1769f7c3f2ce9a042c968c7b9349ba645df73ca8 Parents: 26091f5 e52d273 Author: jianbai.gbjAuthored: Tue Sep 19 12:06:32 2017 +0800 Committer: jianbai.gbj Committed: Tue Sep 19 12:06:32 2017 +0800 -- android/build.gradle| 13 +- .../commons/adapter/FrescoImageComponent.java | 2 +- android/gradle.properties | 5 +- .../gradle/wrapper/gradle-wrapper.properties| 2 +- android/jacoco.gradle | 43 + .../alibaba/weex/benchmark/BenchmarkTest.java | 29 ++- .../playground/app/src/main/AndroidManifest.xml | 8 + .../alibaba/weex/util/CoverageDataDumper.java | 36 .../alibaba/weex/util/JacocoCodeCoverage.java | 93 ++ android/sdk/libs/armeabi/libweexjsb.so | Bin 0 -> 22556 bytes android/sdk/libs/armeabi/libweexjsc.so | Bin 7570392 -> 325660 bytes android/sdk/libs/armeabi/libweexjss.so | Bin 0 -> 6754016 bytes .../java/com/taobao/weex/WXEnvironment.java | 16 ++ .../java/com/taobao/weex/WXSDKInstance.java | 110 ++- .../weex/appfram/pickers/DatePickerImpl.java| 3 +- .../appfram/websocket/WebSocketCloseCodes.java | 2 +- .../com/taobao/weex/bridge/WXBridgeManager.java | 48 - .../java/com/taobao/weex/bridge/WXParams.java | 9 + .../java/com/taobao/weex/common/Constants.java | 2 + .../java/com/taobao/weex/common/WXConfig.java | 1 + .../com/taobao/weex/dom/ImmutableDomObject.java | 21 ++- .../main/java/com/taobao/weex/dom/WXStyle.java | 17 -- .../com/taobao/weex/dom/action/Actions.java | 4 +- .../weex/dom/action/ReloadPageAction.java | 6 +- .../taobao/weex/ui/component/WXComponent.java | 143 ++ .../com/taobao/weex/ui/component/WXDiv.java | 74 +++- .../com/taobao/weex/ui/component/WXImage.java | 75 .../com/taobao/weex/ui/component/WXSlider.java | 4 +- .../com/taobao/weex/ui/component/WXText.java| 90 + .../taobao/weex/ui/component/WXVContainer.java | 50 +++-- .../ui/component/list/BasicListComponent.java | 165 - .../taobao/weex/ui/component/list/WXCell.java | 63 ++- .../weex/ui/component/list/WXListComponent.java | 90 + .../com/taobao/weex/ui/flat/FlatComponent.java | 33 .../com/taobao/weex/ui/flat/FlatGUIContext.java | 146 +++ .../taobao/weex/ui/flat/WidgetContainer.java| 93 ++ .../weex/ui/flat/widget/AndroidViewWidget.java | 76 .../taobao/weex/ui/flat/widget/BaseWidget.java | 130 + .../taobao/weex/ui/flat/widget/TextWidget.java | 49 + .../com/taobao/weex/ui/flat/widget/Widget.java | 51 + .../taobao/weex/ui/flat/widget/WidgetGroup.java | 54 ++ .../taobao/weex/ui/module/WXTimerModule.java| 9 +- .../com/taobao/weex/ui/view/WXFrameLayout.java | 53 +- .../com/taobao/weex/ui/view/WXImageView.java| 16 +- .../weex/ui/view/border/BorderCorner.java | 37 ++-- .../taobao/weex/ui/view/border/BorderUtil.java | 26 --- .../weex/ui/view/border/BottomLeftCorner.java | 7 +- .../weex/ui/view/border/BottomRightCorner.java | 7 +- .../weex/ui/view/border/TopLeftCorner.java | 7 +- .../weex/ui/view/border/TopRightCorner.java | 7 +- .../com/taobao/weex/utils/FunctionParser.java | 6 - .../com/taobao/weex/utils/ImageDrawable.java| 17 +- .../java/com/taobao/weex/utils/OsVersion.java | 2 +- .../main/java/com/taobao/weex/utils/Trace.java | 4 +- .../java/com/taobao/weex/utils/WXUtils.java | 64 --- .../java/com/taobao/weex/utils/WXViewUtils.java | 31 .../com/taobao/weex/ui/component/WXDivTest.java | 12 +- .../taobao/weex/ui/component/WXTextTest.java| 18 +- .../weex/ui/module/WXTimerModuleTest.java | 45 - dangerfile.js | 4 +- ios/playground/WeexDemo/Scanner/WXScannerVC.m | 2 +- .../WeexSDK/Sources/Bridge/WXBridgeContext.m| 4 +- .../Component/Recycler/WXMultiColumnLayout.m| 32 ++-- .../Sources/Component/WXComponent_internal.h| 3 +- .../WeexSDK/Sources/Component/WXEditComponent.m | 9 +- .../Sources/Component/WXImageComponent.m| 37 +++- .../WeexSDK/Sources/Component/WXListComponent.m | 4
[12/50] [abbrv] incubator-weex git commit: event type config
event type config Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/7fc24dfc Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/7fc24dfc Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/7fc24dfc Branch: refs/heads/0.16-dev Commit: 7fc24dfcc5738c003c063a95734bc34157c73d2e Parents: b450c5a Author: jianbai.gbjAuthored: Thu Sep 14 21:35:01 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 21:35:01 2017 +0800 -- .../com/taobao/weex/bridge/WXBridgeManager.java | 14 +--- .../java/com/taobao/weex/common/Constants.java | 16 + .../list/template/WXRecyclerTemplateList.java | 34 3 files changed, 39 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7fc24dfc/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java index 3a44575..9cdad89 100644 --- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java @@ -25,6 +25,7 @@ import android.os.Looper; import android.os.Message; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.v4.util.ArrayMap; import android.text.TextUtils; import com.alibaba.fastjson.JSON; @@ -1063,15 +1064,18 @@ public class WXBridgeManager implements Callback,BactchExecutor { ArrayList argsList = new ArrayList<>(); for (Object arg : args) { - argsList.add(arg); +argsList.add(arg); +} +if(params != null){ + ArrayMap map = new ArrayMap(4); + map.put(KEY_PARAMS, params); + argsList.add(map); } WXHashMap task = new WXHashMap<>(); task.put(KEY_METHOD, method); task.put(KEY_ARGS, argsList); -if(params != null){ - task.put(KEY_PARAMS, params); -} + if (mNextTickTasks.get(instanceId) == null) { ArrayList > list = new ArrayList<>(); @@ -1149,7 +1153,7 @@ public class WXBridgeManager implements Callback,BactchExecutor { throw new WXRuntimeException( "fireEvent must be called by main thread"); } -addJSEventTask(METHOD_FIRE_EVENT, instanceId, params, ref, type, data,domChanges); +addJSEventTask(METHOD_FIRE_EVENT, instanceId, params, ref, type, data, domChanges); sendMessage(instanceId, WXJSBridgeMsgType.CALL_JS_BATCH); } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7fc24dfc/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index 1bbe888..6a96a08 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -182,13 +182,17 @@ public class Constants { String ARIA_HIDDEN = "ariaHidden"; -String LIST_DATA = "listData"; -String LIST_DATA_TEMPLATE_KEY = "templateKey"; -String SLOT_TEMPLATE_TYPE = "templateType"; +interface Recycler{ + String LIST_DATA = "listData"; + String LIST_DATA_ITEM ="item"; + String LIST_DATA_ITEM_INDEX = "index"; + String LIST_DATA_TEMPLATE_KEY = "templateKey"; + String SLOT_TEMPLATE_TYPE = "templateType"; + String LIST_DATA_ITEM_ID = "itemId"; + String CELL_INDEX = "cellIndex"; + String TYPE_INDEX = "typeIndex"; +} -String LIST_DATA_ITEM_ID = "itemId"; -String CELL_INDEX = "cellIndex"; -String TYPE_INDEX = "typeIndex"; String VIF_FALSE = "ifFalse"; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7fc24dfc/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 1b85b0a..3bee7af 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
[06/50] [abbrv] incubator-weex git commit: refactor code
refactor code Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2826a474 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2826a474 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2826a474 Branch: refs/heads/0.16-dev Commit: 2826a47496e78cf7c8d3419612b32af2a9d45117 Parents: 3dc6ac7 Author: jianbai.gbjAuthored: Thu Sep 14 12:03:54 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 12:03:54 2017 +0800 -- .../ui/component/list/RecyclerTransform.java| 71 .../list/template/WXRecyclerTemplateList.java | 59 +--- 2 files changed, 74 insertions(+), 56 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2826a474/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java new file mode 100644 index 000..166cffe --- /dev/null +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java @@ -0,0 +1,71 @@ +package com.taobao.weex.ui.component.list; + +import android.support.v7.widget.RecyclerView; + +import com.taobao.weex.common.Constants; +import com.taobao.weex.ui.view.listview.adapter.TransformItemDecoration; +import com.taobao.weex.utils.WXLogUtils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Created by jianbai.gbj on 2017/9/14. + */ +public class RecyclerTransform { + +public static final String TRANSFORM = "transform"; +private static final Pattern transformPattern = Pattern.compile("([a-z]+)\\(([0-9\\.]+),?([0-9\\.]+)?\\)"); +private static final String TAG = "RecyclerTransform"; + +/** + * These transform functions are supported: + * - `scale(x,y)`: scale item, x and y should be a positive float number. + * - `translate(x,y)`: translate item, `x` and `y` shoule be integer numbers. + * - `opacity(n)`: change the transparency of item, `n` must in `[0,1.0]`. + * - `rotate(n)`: rotate item, n is integer number. + * + * @param raw + * @return + */ +public static RecyclerView.ItemDecoration parseTransforms(int orientation, String raw) { +if (raw == null) { +return null; +} +float scaleX = 0f, scaleY = 0f; +int translateX = 0, translateY = 0; +float opacity = 0f; +int rotate = 0; +//public TransformItemDecoration(boolean isVertical,float alpha,int translateX,int translateY,int rotation,float scale) +Matcher matcher = transformPattern.matcher(raw); +while (matcher.find()) { +String match = matcher.group(); +String name = matcher.group(1); +try { +switch (name) { +case "scale": +scaleX = Float.parseFloat(matcher.group(2)); +scaleY = Float.parseFloat(matcher.group(3)); +break; +case "translate": +translateX = Integer.parseInt(matcher.group(2)); +translateY = Integer.parseInt(matcher.group(3)); +break; +case "opacity": +opacity = Float.parseFloat(matcher.group(2)); +break; +case "rotate": +rotate = Integer.parseInt(matcher.group(2)); +break; +default: +WXLogUtils.e(TAG, "Invaild transform expression:" + match); +break; +} +} catch (NumberFormatException e) { +WXLogUtils.e("", e); +WXLogUtils.e(TAG, "Invaild transform expression:" + match); +} +} +return new TransformItemDecoration(orientation == Constants.Orientation.VERTICAL, opacity, translateX, translateY, rotate, scaleX, scaleY); +} +} http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2826a474/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 826b080..a36b912 100644 ---
[09/50] [abbrv] incubator-weex git commit: remove unused code and scope supported
remove unused code and scope supported Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/89f68fdd Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/89f68fdd Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/89f68fdd Branch: refs/heads/0.16-dev Commit: 89f68fddf3d2bc384d6a6414c508015254462389 Parents: 64e017e Author: jianbai.gbjAuthored: Thu Sep 14 14:43:09 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 14:43:09 2017 +0800 -- .../taobao/weex/dom/binding/BindingUtils.java | 2 +- .../java/com/taobao/weex/el/parse/Parser.java | 1 - .../weex/ui/component/binding/Statements.java | 16 +++-- .../list/template/WXRecyclerTemplateList.java | 69 4 files changed, 11 insertions(+), 77 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89f68fdd/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java b/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java index e54d4f0..0b2bfd9 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java @@ -33,7 +33,7 @@ public class BindingUtils { public static final String BINDING = "@binding"; -public static final String ALIAS = "@alias"; +public static final String SCOPE = "scope"; /** * @param value check object is binding expression http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89f68fdd/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java b/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java index 9679dd4..e60ffaa 100644 --- a/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java +++ b/android/sdk/src/main/java/com/taobao/weex/el/parse/Parser.java @@ -28,7 +28,6 @@ import java.util.List; /** * Created by furture on 2017/8/28. * simple expression parse, less ast node and save memory - * reference https://github.com/jquery/esprima */ public class Parser { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89f68fdd/android/sdk/src/main/java/com/taobao/weex/ui/component/binding/Statements.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/binding/Statements.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/binding/Statements.java index 37b0224..86ce51c 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/binding/Statements.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/binding/Statements.java @@ -236,6 +236,16 @@ public class Statements { Set > entries = dynamic.entrySet(); /** + * scope supported + * */ +if(attr.get(BindingUtils.SCOPE) != null){ +String alias = attr.get(BindingUtils.SCOPE).toString(); +Map map = new ArrayMap(4); +map.put(alias, dynamic.get(alias)); +context.push(map); +} + +/** * diff attrs, see attrs has update, remove none update attrs * */ Iterator > iterator = entries.iterator(); @@ -289,12 +299,6 @@ public class Statements { Block block = (Block) (binding.get(BindingUtils.BINDING)); Object blockValue = block.execute(context); dynamic.put(key, blockValue); -if(binding.getString(BindingUtils.ALIAS) != null){ - String alias = binding.getString(BindingUtils.ALIAS); -Map map = new ArrayMap(4); -map.put(alias, blockValue); -context.push(map); -} }else if(value instanceof JSONArray){ JSONArray array = (JSONArray) value; StringBuilder builder = new StringBuilder(); http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89f68fdd/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
[37/50] [abbrv] incubator-weex git commit: 测试
æµè¯ Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3dd927eb Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3dd927eb Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3dd927eb Branch: refs/heads/0.16-dev Commit: 3dd927eb02590d92ca82e31081f3c9795f6aaa5c Parents: 91455e2 Author: jianbai.gbjAuthored: Thu Sep 21 16:01:53 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 16:01:53 2017 +0800 -- .../list/template/CellLifecycleManager.java| 4 .../list/template/WXRecyclerTemplateList.java | 2 ++ pre-build/native-bundle-main.js| 17 - 3 files changed, 14 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dd927eb/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java index 28c352b..884f0b4 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java @@ -188,6 +188,10 @@ public class CellLifecycleManager { fireChildEvent(Constants.Event.SLOT_LIFECYCLE.DESTORY, cell, refs, position); } +public Map getFiredCreateEvent() { +return firedCreateEvent; +} + private final void fireChildEvent(String event, WXCell cell, List refs, int position){ if(refs == null || refs.size() == 0){ return; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dd927eb/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 03a3eb9..7a4c3e9 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -180,6 +180,8 @@ public class WXRecyclerTemplateList extends WXVContainer imp cellLifecycleManager = new CellLifecycleManager(this); orientation = mDomObject.getOrientation(); listDataTemplateKey = WXUtils.getString(getDomObject().getAttrs().get(Constants.Name.Recycler.LIST_DATA_TEMPLATE_KEY), Constants.Name.Recycler.SLOT_TEMPLATE_TYPE); +listDataItemKey = WXUtils.getString(getDomObject().getAttrs().get(Constants.Name.Recycler.LIST_DATA_ITEM), listDataItemKey); +listDataIndexKey = WXUtils.getString(getDomObject().getAttrs().get(Constants.Name.Recycler.LIST_DATA_ITEM_INDEX), listDataIndexKey); } @Override
[43/50] [abbrv] incubator-weex git commit: remove waster update
remove waster update Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0e44b6eb Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0e44b6eb Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0e44b6eb Branch: refs/heads/0.16-dev Commit: 0e44b6eb20695502678efaccd3279a61ad9e867a Parents: 73c9537 Author: jianbai.gbjAuthored: Thu Sep 21 17:18:29 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 17:18:29 2017 +0800 -- .../alibaba/weex/commons/adapter/BlurTool.java | 6 +- android/sdk/build.gradle| 2 +- .../ui/component/list/BasicListComponent.java | 122 +-- 3 files changed, 65 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0e44b6eb/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java -- diff --git a/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java b/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java index e59e9e6..ee07d75 100644 --- a/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java +++ b/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -123,7 +123,7 @@ public class BlurTool { } private static Bitmap stackBlur(Bitmap sentBitmap, int radius) { -// ArrayStack Blur Algorithm by Mario Klingemann +// Stack Blur Algorithm by Mario Klingemann Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); if (radius < 1) { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0e44b6eb/android/sdk/build.gradle -- diff --git a/android/sdk/build.gradle b/android/sdk/build.gradle index e10bd93..0be69fb 100755 --- a/android/sdk/build.gradle +++ b/android/sdk/build.gradle @@ -45,7 +45,7 @@ version = "0.9.4" android { compileSdkVersion project.compileSdkVersion buildToolsVersion project.buildToolsVersion -//resourcePrefix "weex" +resourcePrefix "weex" useLibrary 'org.apache.http.legacy' copy { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0e44b6eb/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java index 9e71f19..1643e65 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java @@ -86,7 +86,7 @@ import java.util.regex.Pattern; */ public abstract class BasicListComponent extends WXVContainer implements -IRecyclerAdapterListener, IOnLoadMoreListener, Scrollable { +IRecyclerAdapterListener, IOnLoadMoreListener, Scrollable { public static final String TRANSFORM = "transform"; public static final String LOADMOREOFFSET = "loadmoreoffset"; private String TAG = "BasicListComponent"; @@ -561,62 +561,62 @@ public abstract class BasicListComponent currentStickyPos) { -currentStickyPos = pos; - } +RecyclerView.LayoutManager layoutManager; +boolean beforeFirstVisibleItem = false; +boolean removeOldSticky = false; +layoutManager = getHostView().getInnerView().getLayoutManager(); +if (layoutManager instanceof LinearLayoutManager || layoutManager instanceof GridLayoutManager) { + int fVisible = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition(); + int pos = mChildren.indexOf(cell); + cell.setScrollPositon(pos); + + if (pos <= fVisible) { +beforeFirstVisibleItem = true; +if(pos > currentStickyPos) { + currentStickyPos = pos; } + } -if(pos > fVisible){ - removeOldSticky = true; -} - } else if(layoutManager
[26/50] [abbrv] incubator-weex git commit: save code, should improve textdom after 11
save code, should improve textdom after 11 Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/8ed95e45 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/8ed95e45 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/8ed95e45 Branch: refs/heads/0.16-dev Commit: 8ed95e4510ee0577e7ec5788c33cf376408a3583 Parents: 14499e8 Author: jianbai.gbjAuthored: Wed Sep 20 15:35:58 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 15:35:58 2017 +0800 -- .../src/test/java/com/taobao/weex/el/ParserTest.java | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/8ed95e45/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java -- diff --git a/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java b/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java index d8f6622..32f8c2e 100644 --- a/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java +++ b/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java @@ -22,7 +22,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.parser.Feature; -import com.alibaba.fastjson.serializer.SerializerFeature; import com.taobao.weex.el.parse.ArrayStack; import com.taobao.weex.el.parse.Operators; import com.taobao.weex.el.parse.Parser; @@ -94,23 +93,17 @@ public class ParserTest extends TestCase { } public void testDebug(){ - - -//System.out.println("execute " + Parser.parse("true ? false : item.name").execute(this.createContext())); - - +System.out.println("execute " + Parser.parse("true ? false : item.name").execute(this.createContext())); show("true ? false : true "); - show("true ? false : ((item.name))"); -/** Parser.parse("item[1]").execute(this.createContext()); Token block = Parser.parse("{{{item.name}}}"); show("true ? item.name : false"); - show("((true) && 2 > 1) && (1) && (1)"); +show("((true) && 2 > 1) && (1) && (1)"); System.out.println(block.execute(createContext()) + " " + Double.parseDouble(".0e6")); show("1 > -1"); - */ + }
[15/50] [abbrv] incubator-weex git commit: only notify watch event
only notify watch event Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/11b5b7fb Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/11b5b7fb Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/11b5b7fb Branch: refs/heads/0.16-dev Commit: 11b5b7fb816887dcaa3c6f80104cff96c0bb0e9e Parents: 7b039c5 Author: jianbai.gbjAuthored: Fri Sep 15 12:07:57 2017 +0800 Committer: jianbai.gbj Committed: Fri Sep 15 12:07:57 2017 +0800 -- .../sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java | 2 +- .../main/java/com/taobao/weex/ui/component/WXComponent.java | 8 .../ui/component/list/template/WXRecyclerTemplateList.java | 6 +++--- android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java | 5 + .../taobao/weex/ui/component/list/WXListComponentTest.java | 3 ++- 5 files changed, 19 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/11b5b7fb/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java index 1dea173..c766e35 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXDomObject.java @@ -231,7 +231,7 @@ public class WXDomObject extends CSSNode implements Cloneable,ImmutableDomObject WXEvent events = new WXEvent(); JSONArray eventArray = (JSONArray) event; int count = eventArray.size(); -for (int i = 0; i < count; ++i) { +for (int i = 0; i < count; i++) { Object value = eventArray.get(i); events.addEvent(value); } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/11b5b7fb/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java index 98b41f5..939ae91 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java @@ -1420,6 +1420,14 @@ public abstract class WXComponent implements IWXObject, IWXActi } } + public void notifyWatchAppearDisappearEvent(String wxEventType,String direction){ +if(containsEvent(wxEventType)) { + Map params = new HashMap<>(); + params.put("direction", direction); + fireEvent(wxEventType, params); +} + } + public boolean isUsing() { return isUsing; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/11b5b7fb/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 3bee7af..118007c 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -1171,7 +1171,7 @@ public class WXRecyclerTemplateList extends WXVContainer imp int key = childLisener.getHostView().hashCode(); if(appear){ if(!componentDisAppearList.containsKey(key)){ - childLisener.notifyAppearStateChange(Constants.Event.APPEAR, direction); + childLisener.notifyWatchAppearDisappearEvent(Constants.Event.APPEAR, direction); List eventArgs = null; if(childLisener.getDomObject().getEvents() != null && childLisener.getDomObject().getEvents().getEventBindingArgsValues() != null @@ -1182,7 +1182,7 @@ public class WXRecyclerTemplateList extends WXVContainer imp } }else{ if(componentDisAppearList.containsKey(key)){ - childLisener.notifyAppearStateChange(Constants.Event.DISAPPEAR, direction); + childLisener.notifyWatchAppearDisappearEvent(Constants.Event.DISAPPEAR, direction); componentDisAppearList.remove(key);
[14/50] [abbrv] incubator-weex git commit: recycle conflict with diff, remove
recycle conflict with diff, remove Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/7b039c50 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/7b039c50 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/7b039c50 Branch: refs/heads/0.16-dev Commit: 7b039c50283ebb1928d8d56b669ac3f709cd4298 Parents: b3f5d31 Author: jianbai.gbjAuthored: Thu Sep 14 22:44:34 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 22:44:34 2017 +0800 -- .../weex/ui/component/list/template/TemplateStickyHelper.java | 2 -- 1 file changed, 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7b039c50/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java index d768f32..8d228bc 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java @@ -144,8 +144,6 @@ public class TemplateStickyHelper { if(fakeStickyHolder == null){ fakeStickyHolder = recyclerTemplateList.onCreateViewHolder(recyclerView, stickyHolderType); stickyHolderCache.put(stickyHolderType, fakeStickyHolder); -}else{ -fakeStickyHolder.getComponent().recycled(); } recyclerTemplateList.onBindViewHolder(fakeStickyHolder, matchStickyPosition); fakeStickyHolder.itemView.setTranslationY(0);
[32/50] [abbrv] incubator-weex git commit: update main bundle
update main bundle Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e10881f6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e10881f6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e10881f6 Branch: refs/heads/0.16-dev Commit: e10881f69e2661dcd084a17b386cd654127109e7 Parents: c8bed7e Author: jianbai.gbjAuthored: Thu Sep 21 11:57:43 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 11:57:43 2017 +0800 -- .../java/com/taobao/weex/common/Constants.java |3 +- .../list/template/WXRecyclerTemplateList.java | 54 +- pre-build/native-bundle-main.js | 1384 +- 3 files changed, 700 insertions(+), 741 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e10881f6/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index 04d4387..7d3c45a 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -187,12 +187,11 @@ public class Constants { String LIST_DATA_ITEM ="alias"; String LIST_DATA_ITEM_INDEX = "index"; String LIST_DATA_TEMPLATE_KEY = "templateKey"; + String SLOT_TEMPLATE_TYPE = "templateType"; String LIST_DATA_ITEM_ID = "itemId"; String CELL_INDEX = "cellIndex"; String TYPE_INDEX = "typeIndex"; - String APPEND_LIST_DATA = "appendListData"; - String UPDATE_CELL = "updateCell"; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e10881f6/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 734e31d..56b4264 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -180,6 +180,7 @@ public class WXRecyclerTemplateList extends WXVContainer imp mStickyHelper = new TemplateStickyHelper(this); cellLifecycleManager = new CellLifecycleManager(this); orientation = mDomObject.getOrientation(); +listDataTemplateKey = WXUtils.getString(getDomObject().getAttrs().get(Constants.Name.Recycler.LIST_DATA_TEMPLATE_KEY), Constants.Name.Recycler.SLOT_TEMPLATE_TYPE); } @Override @@ -610,14 +611,6 @@ public class WXRecyclerTemplateList extends WXVContainer imp setListData(param); } return true; -case Constants.Name.Recycler.APPEND_LIST_DATA:{ - appendListData(param); - } - return true; -case Constants.Name.Recycler.UPDATE_CELL:{ -updateCell(param); -} -return true; case Constants.Name.Recycler.LIST_DATA_ITEM: listDataItemKey = WXUtils.getString(param, listDataItemKey); return true; @@ -675,6 +668,7 @@ public class WXRecyclerTemplateList extends WXVContainer imp } } } +listDataTemplateKey = WXUtils.getString(getDomObject().getAttrs().get(Constants.Name.Recycler.LIST_DATA_TEMPLATE_KEY), Constants.Name.Recycler.SLOT_TEMPLATE_TYPE); if(update){ notifyUpdateList(); } @@ -749,44 +743,37 @@ public class WXRecyclerTemplateList extends WXVContainer imp inner.setScrollable(scrollable); } -@WXComponentProp(name = Constants.Name.Recycler.APPEND_LIST_DATA) -public void appendListData(Object arrayObject){ +@JSMethod +public void appendListData(JSONArray arrayObject){ if(listData == null){ listData = new JSONArray(); } -if(arrayObject instanceof JSONObject){ -listData.add(arrayObject); -}else if(arrayObject instanceof JSONArray){ -listData.addAll((JSONArray)arrayObject); +if(arrayObject instanceof JSONArray){ +listData.addAll(arrayObject); } notifyUpdateList(); } -@WXComponentProp(name = Constants.Name.Recycler.UPDATE_CELL) -public void updateCell(Object data){ -
[25/50] [abbrv] incubator-weex git commit: add more test case
add more test case Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/14499e87 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/14499e87 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/14499e87 Branch: refs/heads/0.16-dev Commit: 14499e87adc26f0282ae890befa071bf7341cef5 Parents: 3344bb4 Author: jianbai.gbjAuthored: Wed Sep 20 13:02:26 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 13:02:26 2017 +0800 -- android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/14499e87/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java -- diff --git a/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java b/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java index e265b5e..d8f6622 100644 --- a/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java +++ b/android/sdk/src/test/java/com/taobao/weex/el/ParserTest.java @@ -88,6 +88,7 @@ public class ParserTest extends TestCase { Assert.assertEquals(false, Parser.parse("true ? false : item.name.work").execute(this.createContext())); Assert.assertEquals("hello world", Parser.parse("item.name ? item.name : false").execute(this.createContext())); Assert.assertEquals(null, Parser.parse("item.name ? item.name.not : false").execute(this.createContext())); +Assert.assertEquals("hello world", Parser.parse("item.name == null ? false : (item.name)").execute(this.createContext())); } @@ -95,9 +96,12 @@ public class ParserTest extends TestCase { public void testDebug(){ -System.out.println("execute " + Parser.parse("true ? false : item.name").execute(this.createContext())); +//System.out.println("execute " + Parser.parse("true ? false : item.name").execute(this.createContext())); -show("true ? false : item.name"); + +show("true ? false : true "); + +show("true ? false : ((item.name))"); /** Parser.parse("item[1]").execute(this.createContext()); Token block = Parser.parse("{{{item.name}}}");
[49/50] [abbrv] incubator-weex git commit: update main.js
update main.js Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9f4eb8cc Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9f4eb8cc Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9f4eb8cc Branch: refs/heads/0.16-dev Commit: 9f4eb8cc1eb5aa87a282b1f312dcd5395c9adde9 Parents: 4f47be8 Author: jianbai.gbjAuthored: Thu Sep 21 19:08:54 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 19:08:54 2017 +0800 -- pre-build/native-bundle-main.js | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) --
[13/50] [abbrv] incubator-weex git commit: sticky improve
sticky improve Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b3f5d314 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b3f5d314 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b3f5d314 Branch: refs/heads/0.16-dev Commit: b3f5d31451fa98e518e19c12a609a105757ba7be Parents: 7fc24df Author: jianbai.gbjAuthored: Thu Sep 14 22:23:11 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 22:23:11 2017 +0800 -- .../list/template/TemplateStickyHelper.java | 44 +--- 1 file changed, 39 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b3f5d314/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java index a537c94..d768f32 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/TemplateStickyHelper.java @@ -58,11 +58,14 @@ public class TemplateStickyHelper { RecyclerView recyclerView = recyclerTemplateList.getHostView().getInnerView(); RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager(); int firstVisiblePosition = -1; +int lastVisiblePosition = -1; if (layoutManager instanceof LinearLayoutManager) { firstVisiblePosition = ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition(); +lastVisiblePosition = ((LinearLayoutManager) layoutManager).findLastVisibleItemPosition(); }else if (layoutManager instanceof StaggeredGridLayoutManager) { int [] firstVisibleItemPositions = new int[3];//max 3 column firstVisiblePosition = ((StaggeredGridLayoutManager) layoutManager).findFirstVisibleItemPositions(firstVisibleItemPositions)[0]; +lastVisiblePosition = ((StaggeredGridLayoutManager) layoutManager).findLastVisibleItemPositions(firstVisibleItemPositions)[0]; } if(firstVisiblePosition < 0){ return; @@ -98,6 +101,22 @@ public class TemplateStickyHelper { stickyFakeViewHolder.getComponent().fireEvent(Constants.Event.UNSTICKY); } } + +/**check has sticky cell not visible */ +for(int i=0; i
[07/50] [abbrv] incubator-weex git commit: has fixed size
has fixed size Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e1f7f24e Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e1f7f24e Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e1f7f24e Branch: refs/heads/0.16-dev Commit: e1f7f24e1ceb6815a6616d6e4a31802dbdf06ffa Parents: 2826a47 Author: jianbai.gbjAuthored: Thu Sep 14 12:16:14 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 12:16:14 2017 +0800 -- .../ui/component/list/RecyclerTransform.java| 21 +- .../list/template/ListDataManager.java | 26 -- .../list/template/WXRecyclerTemplateList.java | 29 +++- 3 files changed, 42 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e1f7f24e/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java index 166cffe..15beede 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/RecyclerTransform.java @@ -1,3 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ package com.taobao.weex.ui.component.list; import android.support.v7.widget.RecyclerView; @@ -10,11 +28,12 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** + * recycler item decoration transform * Created by jianbai.gbj on 2017/9/14. */ public class RecyclerTransform { -public static final String TRANSFORM = "transform"; +public static final String TRANSFORM = Constants.Name.TRANSFORM; private static final Pattern transformPattern = Pattern.compile("([a-z]+)\\(([0-9\\.]+),?([0-9\\.]+)?\\)"); private static final String TAG = "RecyclerTransform"; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e1f7f24e/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/ListDataManager.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/ListDataManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/ListDataManager.java deleted file mode 100644 index 90d20f4..000 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/ListDataManager.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package com.taobao.weex.ui.component.list.template; - -/** - * Created by furture on 2017/9/4. - */ - -public class ListDataManager { -} http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e1f7f24e/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java
[03/50] [abbrv] incubator-weex git commit: ifFalse handle action
ifFalse handle action Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/649ec4cb Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/649ec4cb Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/649ec4cb Branch: refs/heads/0.16-dev Commit: 649ec4cbd21b37a26282d27477931cefab8a4f5b Parents: 43caaf3 Author: jianbai.gbjAuthored: Tue Sep 12 15:32:44 2017 +0800 Committer: jianbai.gbj Committed: Tue Sep 12 15:32:44 2017 +0800 -- .../src/main/java/com/taobao/weex/common/Constants.java | 2 +- .../java/com/taobao/weex/ui/component/WXComponent.java| 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/649ec4cb/android/sdk/src/main/java/com/taobao/weex/common/Constants.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index 0cc5bf4..1bbe888 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -190,7 +190,7 @@ public class Constants { String CELL_INDEX = "cellIndex"; String TYPE_INDEX = "typeIndex"; -String KEEP_POSITION = "keepPosition"; +String VIF_FALSE = "ifFalse"; } public interface Value { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/649ec4cb/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java index 03adfd2..4b2b517 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java @@ -1663,11 +1663,11 @@ public abstract class WXComponent implements IWXObject, IWXActi this.waste = waste; WXDomObject domObject = (WXDomObject) getDomObject(); if(waste){ - if(WXUtils.getBoolean(domObject.getAttrs().get(Constants.Name.KEEP_POSITION), false)){ -domObject.setVisible(true); -if(getHostView() != null){ - getHostView().setVisibility(View.INVISIBLE); -} + if(Constants.Value.VISIBLE.equals(domObject.getAttrs().get(Constants.Name.VIF_FALSE))){ + domObject.setVisible(true); + if(getHostView() != null){ + getHostView().setVisibility(View.VISIBLE); + } }else{ domObject.setVisible(false); if(getHostView() != null){
[04/50] [abbrv] incubator-weex git commit: handle layout reset width
handle layout reset width Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/08515fe1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/08515fe1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/08515fe1 Branch: refs/heads/0.16-dev Commit: 08515fe19fc35879807e6e66fb14310d52d8da58 Parents: 649ec4c Author: jianbai.gbjAuthored: Wed Sep 13 15:28:34 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 13 15:28:34 2017 +0800 -- .../com/taobao/weex/dom/WXCellDomObject.java| 41 +- .../taobao/weex/dom/binding/BindingUtils.java | 2 + .../taobao/weex/ui/component/WXComponent.java | 7 +++ .../weex/ui/component/binding/Layouts.java | 2 - .../weex/ui/component/binding/Statements.java | 58 .../list/template/WXRecyclerTemplateList.java | 24 +++- 6 files changed, 92 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/08515fe1/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java index 0990143..bb3694d 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java @@ -47,12 +47,51 @@ public class WXCellDomObject extends WXDomObject { WXLogUtils.d("getAvailableWidth:"+w); node.setLayoutWidth(w); } -} +}else if (node instanceof WXCellDomObject){ + WXCellDomObject slotDomObject = (WXCellDomObject) node; + WXRecyclerDomObject recyclerDomObject = slotDomObject.getRecyclerDomObject(); + if(recyclerDomObject == null){ + return; + } + if(slotDomObject.isSticky()){ + float w = recyclerDomObject.getAvailableWidth(); + node.setLayoutWidth(w); + measureOutput.width = w; + }else { + if(!recyclerDomObject.hasPreCalculateCellWidth()){ + recyclerDomObject.preCalculateCellWidth(); + } + float w = recyclerDomObject.getColumnWidth(); + if(w <= 0 && recyclerDomObject.getColumnCount() <= 1){ + w = recyclerDomObject.getAvailableWidth(); + } + node.setLayoutWidth(w); + measureOutput.width = w; + } } + +} } }; public WXCellDomObject() { setMeasureFunction(CELL_MEASURE_FUNCTION); } + + +public boolean isSticky() { +return getStyles().isSticky(); +} +private WXRecyclerDomObject recyclerDomObject; + + + +public WXRecyclerDomObject getRecyclerDomObject() { +return recyclerDomObject; +} + +public void setRecyclerDomObject(WXRecyclerDomObject recyclerDomObject) { +this.recyclerDomObject = recyclerDomObject; +} + } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/08515fe1/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java b/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java index 1a5eaef..e54d4f0 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/binding/BindingUtils.java @@ -33,6 +33,8 @@ public class BindingUtils { public static final String BINDING = "@binding"; +public static final String ALIAS = "@alias"; + /** * @param value check object is binding expression * */ http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/08515fe1/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java index 4b2b517..98b41f5 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java @@ -1663,6 +1663,13 @@ public abstract class WXComponent implements IWXObject, IWXActi this.waste = waste; WXDomObject domObject = (WXDomObject) getDomObject(); if(waste){ + if(domObject.getAttrs().getStatement() == null) { + domObject.setVisible(false); +
[47/50] [abbrv] incubator-weex git commit: use apache
use apache Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4f47be84 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4f47be84 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4f47be84 Branch: refs/heads/0.16-dev Commit: 4f47be841a4ae0dcb593b0d84432436aff58d740 Parents: 4a3b537 Author: jianbai.gbjAuthored: Thu Sep 21 17:51:47 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 17:51:47 2017 +0800 -- .../src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4f47be84/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java -- diff --git a/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java b/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java index ee07d75..e968032 100644 --- a/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java +++ b/android/commons/src/main/java/com/alibaba/weex/commons/adapter/BlurTool.java @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
[11/50] [abbrv] incubator-weex git commit: width auto adapt
width auto adapt Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b450c5a0 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b450c5a0 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b450c5a0 Branch: refs/heads/0.16-dev Commit: b450c5a0b097887fa13b66f4c0c6dd362ee5be7c Parents: 2544b5e Author: jianbai.gbjAuthored: Thu Sep 14 20:08:48 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 20:08:48 2017 +0800 -- .../com/taobao/weex/dom/WXCellDomObject.java | 9 + .../com/taobao/weex/dom/WXRecyclerDomObject.java | 19 --- 2 files changed, 21 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b450c5a0/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java index bb3694d..6d50ab6 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXCellDomObject.java @@ -55,6 +55,9 @@ public class WXCellDomObject extends WXDomObject { } if(slotDomObject.isSticky()){ float w = recyclerDomObject.getAvailableWidth(); + if(w <= 0){ + w = recyclerDomObject.getViewPortWidth(); + } node.setLayoutWidth(w); measureOutput.width = w; }else { @@ -64,6 +67,12 @@ public class WXCellDomObject extends WXDomObject { float w = recyclerDomObject.getColumnWidth(); if(w <= 0 && recyclerDomObject.getColumnCount() <= 1){ w = recyclerDomObject.getAvailableWidth(); + if(w <= 0){ + w = recyclerDomObject.getLayoutWidth(); + if(w <= 0){ + w = recyclerDomObject.getViewPortWidth(); + } + } } node.setLayoutWidth(w); measureOutput.width = w; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b450c5a0/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java index f873512..1ae3af2 100644 --- a/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java +++ b/android/sdk/src/main/java/com/taobao/weex/dom/WXRecyclerDomObject.java @@ -34,7 +34,6 @@ import static com.taobao.weex.dom.flex.CSSLayout.DIMENSION_WIDTH; /** * Created by zhengshihan on 2017/2/21. */ - public class WXRecyclerDomObject extends WXDomObject{ @@ -79,13 +78,19 @@ public class WXRecyclerDomObject extends WXDomObject{ @Override public float getStyleWidth() { -if (Float.isNaN(cssstyle.dimensions[DIMENSION_WIDTH])){ - if(getParent() != null){ - return getParent().getLayoutWidth(); - } - return getViewPortWidth(); +float width = getLayoutWidth(); +if (Float.isNaN(width) || width <= 0){ +if(getParent() != null){ +width = getParent().getLayoutWidth(); +} +if (Float.isNaN(width) || width <= 0){ +width = super.getStyleWidth(); +} +} +if (Float.isNaN(width) || width <= 0){ +width = getViewPortWidth(); } -return super.getStyleWidth(); +return width; } public void preCalculateCellWidth(){
[05/50] [abbrv] incubator-weex git commit: performance improve hack
performance improve hack Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3dc6ac77 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3dc6ac77 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3dc6ac77 Branch: refs/heads/0.16-dev Commit: 3dc6ac774e4418d57e87d7a8237bb27bb9e0ede3 Parents: 08515fe Author: jianbai.gbjAuthored: Thu Sep 14 11:56:15 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 14 11:56:15 2017 +0800 -- .../list/template/WXRecyclerTemplateList.java | 17 +++-- 1 file changed, 3 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3dc6ac77/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java index 04e2070..826b080 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/WXRecyclerTemplateList.java @@ -87,22 +87,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; /** - * todo-list - * 1ãappearäºä»¶ - * 2ãstickyäºä»¶ - * 3ãå¤åæµè¯ - * 5ãfor loop * weex template list supported * https://github.com/Hanks10100/weex-native-directive - * demo address - * http://dotwe.org/vue/ee9b5bbbe11629f565372595951670ec - * - * http://dotwe.org/vue/87b258b6359913605a3e65c6c444 - * - * http://dotwe.org/vue/94839a9b4e87c7c5464585f6a6c109ce - * - * http://dotwe.org/vue/0e549fb446458ecdc21e6115ea3a3c7b - * * Created by jianbai.gbj on 2017/8/17. */ @Component(lazyload = false) @@ -204,6 +190,9 @@ public class WXRecyclerTemplateList extends WXVContainer imp bounceRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER); bounceRecyclerView.getInnerView().clearOnScrollListeners(); bounceRecyclerView.getInnerView().addOnScrollListener(mViewOnScrollListener); +if("true".equals(getDomObject().getAttrs().get("hasFixedSize"))){ +bounceRecyclerView.getInnerView().setHasFixedSize(true); +} bounceRecyclerView.getInnerView().addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
[30/50] [abbrv] incubator-weex git commit: 生命周期的事件完善
çå½å¨æçäºä»¶å®å Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c8bed7ea Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c8bed7ea Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c8bed7ea Branch: refs/heads/0.16-dev Commit: c8bed7eae213b589c488a9bd0edabdccc76847aa Parents: 699da8f Author: jianbai.gbjAuthored: Wed Sep 20 21:41:17 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 21:41:17 2017 +0800 -- .../list/template/CellLifecycleManager.java | 62 +++- .../list/template/WXRecyclerTemplateList.java | 25 2 files changed, 45 insertions(+), 42 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c8bed7ea/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java -- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java index 80880c2..054bb7a 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/template/CellLifecycleManager.java @@ -18,8 +18,6 @@ */ package com.taobao.weex.ui.component.list.template; -import android.util.Log; - import com.taobao.weex.common.Constants; import com.taobao.weex.dom.WXEvent; import com.taobao.weex.ui.component.WXComponent; @@ -46,18 +44,18 @@ public class CellLifecycleManager { private WXRecyclerTemplateList recyclerTemplateList; private Map > eventSlotWatchRefs; -private List createEvent; // only call once +private Map firedCreateEvent; // only call once public CellLifecycleManager(WXRecyclerTemplateList recyclerTemplateList) { this.recyclerTemplateList = recyclerTemplateList; this.eventSlotWatchRefs = new HashMap<>(); -this.createEvent = new ArrayList<>(); +this.firedCreateEvent = new HashMap<>(); } -public void updateSlotLifecycleWatch(WXCell cell, WXComponent component){ +public void filterLifecycleWatchEvent(WXCell cell, WXComponent component){ WXEvent wxEvent = component.getDomObject().getEvents(); for(String event : lifecycleEventNames){ if(wxEvent.contains(event)){ @@ -80,7 +78,7 @@ public class CellLifecycleManager { WXVContainer container = (WXVContainer) component; for(int i=0; i slotWatchCreateRefs = eventSlotWatchRefs.get(Constants.Event.SLOT_LIFECYCLE.CREATE); if(slotWatchCreateRefs == null -|| slotWatchCreateRefs.get(key) == null -|| slotWatchCreateRefs.get(key).size() == 0){ +|| slotWatchCreateRefs.get(cell.getRef()) == null +|| slotWatchCreateRefs.get(cell.getRef()).size() == 0){ return; } -if(createEvent.size() >= position){ -if(createEvent.contains(key + position)){ -return; -} +if(cell.getRef().equals(firedCreateEvent.get(position))){ +return; } -WXCell cell = recyclerTemplateList.getTemplates().get(key); -if(cell == null){ +List refs = slotWatchCreateRefs.get(cell.getRef()); +if(refs == null || refs.size() == 0){ return; } -Map params = new HashMap<>(8); -params.put("position", position); -cell.fireEvent(Constants.Event.SLOT_LIFECYCLE.CREATE, params); -createEvent.add(key + position); +fireChildEvent(Constants.Event.SLOT_LIFECYCLE.CREATE, cell, refs, position); +firedCreateEvent.put(position, cell.getRef()); } @@ -160,28 +157,35 @@ public class CellLifecycleManager { String key = recyclerTemplateList.getTemplateKey(position); if(slotWatchDestroyRefs.get(key) == null ||
[41/50] [abbrv] incubator-weex git commit: bundle js
bundle js Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/71c692ca Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/71c692ca Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/71c692ca Branch: refs/heads/0.16-dev Commit: 71c692ca1ff9f25f5d1b0571726a4272919176f2 Parents: cbdcdee Author: jianbai.gbjAuthored: Thu Sep 21 16:56:11 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 16:56:11 2017 +0800 -- pre-build/native-bundle-main.js | 26507 + 1 file changed, 8 insertions(+), 26499 deletions(-) --
[42/50] [abbrv] incubator-weex git commit: Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list
Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/73c9537f Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/73c9537f Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/73c9537f Branch: refs/heads/0.16-dev Commit: 73c9537fd135229f40330e8a6a10d85fb41e992a Parents: 71c692c 8325077 Author: jianbai.gbjAuthored: Thu Sep 21 16:58:23 2017 +0800 Committer: jianbai.gbj Committed: Thu Sep 21 16:58:23 2017 +0800 -- .travis.yml | 47 +- POSSIBLE-NOTICES-FOR-BIN-DIST |5 +- WeexSDK.podspec |2 - .../com/taobao/weex/dom/WXTextDomObject.java| 11 +- .../weex/dom/action/CreateBodyAction.java | 12 +- .../weex/ui/view/WXBaseCircleIndicator.java | 131 +- .../java/com/taobao/weex/utils/LogLevel.java|4 +- .../java/com/taobao/weex/utils/WXLogUtils.java | 14 + dangerfile-android.js | 108 ++ dangerfile-ios.js | 107 ++ dangerfile-jsfm.js | 105 + ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 42 - .../Sources/Bridge/WXDebugLoggerBridge.h| 26 - .../Sources/Bridge/WXDebugLoggerBridge.m| 213 --- ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 89 +- .../Sources/Display/WXComponent+Display.m |2 +- ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m|4 - .../Sources/Manager/WXComponentManager.m|5 +- ios/sdk/WeexSDK/Sources/Model/WXComponent.m |3 +- .../WeexSDK/Sources/Module/WXAnimationModule.m | 26 +- .../WeexSDK/Sources/Module/WXWebSocketModule.m |1 - .../Sources/WebSocket/SRWebSocket+Weex.h| 29 - .../Sources/WebSocket/SRWebSocket+Weex.m| 47 - .../Sources/WebSocket/WXWebSocketDefaultImpl.h | 25 - .../Sources/WebSocket/WXWebSocketDefaultImpl.m | 121 -- ios/sdk/WeexSDK/dependency/SRWebSocket.h| 135 -- ios/sdk/WeexSDK/dependency/SRWebSocket.m| 1806 -- package.json|5 +- scripts/generate_apache_release.sh |2 +- test/pages/components/iconfont.vue |6 +- test/scripts/components/scroll-event.test.js|2 +- 31 files changed, 472 insertions(+), 2663 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73c9537f/android/sdk/src/main/java/com/taobao/weex/dom/WXTextDomObject.java --
[28/50] [abbrv] incubator-weex git commit: bundle.js更新
bundle.jsæ´æ° Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/08abc8c2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/08abc8c2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/08abc8c2 Branch: refs/heads/0.16-dev Commit: 08abc8c223b1f2fe356d93713e55d3db0e14f78d Parents: 8ed95e4 Author: jianbai.gbjAuthored: Wed Sep 20 20:16:08 2017 +0800 Committer: jianbai.gbj Committed: Wed Sep 20 20:16:08 2017 +0800 -- pre-build/native-bundle-main.js | 44602 - 1 file changed, 22236 insertions(+), 22366 deletions(-) --
[GitHub] incubator-weex pull request #730: + [ios] set the wxwebsock handler public
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/730 ---
[GitHub] incubator-weex issue #730: + [ios] set the wxwebsock handler public
Github user weex-bot commented on the issue: https://github.com/apache/incubator-weex/pull/730 Messages :book: has no jsfm file changed,skip test! Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS ---
[GitHub] incubator-weex pull request #730: + [ios] set the wxwebsock handler public
GitHub user kfeagle opened a pull request: https://github.com/apache/incubator-weex/pull/730 + [ios] set the wxwebsock handler public + [ios] set the wxwebsock handler public You can merge this pull request into a Git repository by running: $ git pull https://github.com/kfeagle/incubator-weex socket-0.16-dev Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/730.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #730 commit dbdab8ee9ec7eb35636fedfaf5a6efef64a4bf63 Author: é½å±±Date: 2017-09-21T12:25:00Z + [ios] set the wxwebsock handler public ---
[GitHub] incubator-weex pull request #727: Doc merge dev
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/727 ---
[05/14] incubator-weex git commit: Merge branch 'dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into dev
Merge branch 'dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into dev Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d16ba8d8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d16ba8d8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d16ba8d8 Branch: refs/heads/0.16-dev Commit: d16ba8d888e07d285e3f523ed4010c934b1a4c48 Parents: 72184b4 5b3ecd5 Author: zshshrAuthored: Wed Sep 13 15:21:10 2017 +0800 Committer: zshshr Committed: Wed Sep 13 15:21:10 2017 +0800 -- doc/source/cn/references/common-style.md | 3 +++ doc/source/cn/references/modules/animation.md | 2 ++ doc/source/references/common-style.md | 3 +++ doc/source/references/modules/animation.md| 3 ++- 4 files changed, 10 insertions(+), 1 deletion(-) --
[10/14] incubator-weex git commit: * [doc] bug fix index
* [doc] bug fix index Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4c3f0205 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4c3f0205 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4c3f0205 Branch: refs/heads/0.16-dev Commit: 4c3f020504e9e05bc699e333db771f3d3b398e26 Parents: 5148596 Author: gurisxie <279483...@qq.com> Authored: Tue Sep 19 17:22:25 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Tue Sep 19 17:22:25 2017 +0800 -- doc/source/cn/guide/index.md | 9 ++--- doc/source/guide/index.md| 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4c3f0205/doc/source/cn/guide/index.md -- diff --git a/doc/source/cn/guide/index.md b/doc/source/cn/guide/index.md index 22670ed..8208629 100644 --- a/doc/source/cn/guide/index.md +++ b/doc/source/cn/guide/index.md @@ -10,9 +10,11 @@ has_chapter_content: true Weex æ¯ä¸å¥ç®åæç¨ç跨平å°å¼åæ¹æ¡ï¼è½ä»¥ web çå¼åä½éªæ建é«æ§è½ãå¯æ©å±ç native åºç¨ï¼ä¸ºäºåå°è¿äºï¼Weex ä¸ Vue åä½ï¼ä½¿ç¨ Vue ä½ä¸ºä¸å±æ¡æ¶ï¼å¹¶éµå¾ª W3C æ åå®ç°äºç»ä¸ç JSEngine å DOM APIï¼è¿æ ·ä¸æ¥ï¼ä½ çè³å¯ä»¥ä½¿ç¨å ¶ä»æ¡æ¶é©±å¨ Weexï¼æé ä¸ç«¯ä¸è´ç native åºç¨ã -## Vue æ¯ä»ä¹ï¼ +## VueJSç®ä» -Vue.js æ¯ Evan You å¼åçæ¸è¿å¼ JavaScript æ¡æ¶ãå¼åè è½å¤éè¿æ°å `*.vue` æ件ï¼åºäº ``,
[11/14] incubator-weex git commit: * [doc] update set-up-env.md
* [doc] update set-up-env.md Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a64ce53b Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a64ce53b Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a64ce53b Branch: refs/heads/0.16-dev Commit: a64ce53b2f6869953f3e04542f5448448a131d50 Parents: 4c3f020 Author: erha19Authored: Wed Sep 20 17:36:28 2017 +0800 Committer: erha19 Committed: Wed Sep 20 17:36:28 2017 +0800 -- doc/source/cn/guide/set-up-env.md | 2 +- doc/source/guide/set-up-env.md| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a64ce53b/doc/source/cn/guide/set-up-env.md -- diff --git a/doc/source/cn/guide/set-up-env.md b/doc/source/cn/guide/set-up-env.md index a01c4ae..98d1b0d 100644 --- a/doc/source/cn/guide/set-up-env.md +++ b/doc/source/cn/guide/set-up-env.md @@ -74,7 +74,7 @@ $ sudo cnpm install -g weex-toolkit ç¶ååå§å Weex 项ç®ï¼ ```bash -$ weex init awesome-project +$ weex create awesome-project ``` æ§è¡å®å½ä»¤åï¼å¨ `awesome-project` ç®å½ä¸å°±å建äºä¸ä¸ªä½¿ç¨ Weex å Vue ç模æ¿é¡¹ç®ã http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a64ce53b/doc/source/guide/set-up-env.md -- diff --git a/doc/source/guide/set-up-env.md b/doc/source/guide/set-up-env.md index 1dee4f6..6a846b0 100644 --- a/doc/source/guide/set-up-env.md +++ b/doc/source/guide/set-up-env.md @@ -44,7 +44,7 @@ Then you can use the Weex command to verify that the installation is successful: You can use the CLI to generate a Weex project called "awesome-project". Run the following command in a Terminal: ```bash -$ weex init awesome-project +$ weex create awesome-project ``` Then enter the awesome-project folder, the CLI has been for us to generate a standard project structure.
[07/14] incubator-weex git commit: Merge commit 'd16ba8d888e07d285e3f523ed4010c934b1a4c48' into dev
Merge commit 'd16ba8d888e07d285e3f523ed4010c934b1a4c48' into dev Conflicts: doc/source/guide/set-up-env.md Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/bdd6f1b5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/bdd6f1b5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/bdd6f1b5 Branch: refs/heads/0.16-dev Commit: bdd6f1b5b6a0dc1c2fbd12335b801f687149d29c Parents: 5cffb4e d16ba8d Author: gurisxie <279483...@qq.com> Authored: Fri Sep 15 10:55:24 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Fri Sep 15 10:55:24 2017 +0800 -- .flowconfig | 1 + .gitignore | 4 + .travis.yml | 91 ++- Dangerfile-ios | 1 + HOW-TO-BUILD.md | 80 +++ LICENSE | 22 +- POSSIBLE-NOTICES-FOR-BIN-DIST | 3 + README.md | 53 +- README_RELEASE.md | 69 -- RUN-RAT.md | 12 + WeexSDK.podspec | 6 +- android/build.gradle| 7 +- android/commons/build.gradle| 1 + .../adapter/DefaultWebSocketAdapter.java| 54 +- .../weex/commons/util/RequestIdGenerator.java | 15 + .../weex/commons/util/WSEventReporter.java | 192 ++ .../gradle/wrapper/gradle-wrapper.properties| 4 +- android/playground/app/build.gradle | 4 +- .../java/com/alibaba/weex/WXApplication.java| 4 + .../java/com/alibaba/weex/WXPageActivity.java | 3 +- .../extend/adapter/InterceptWXHttpAdapter.java | 57 +- .../weex/extend/component/WXParallax.java | 345 ++ .../weex/extend/module/WXEventModule.java | 23 +- android/run-ci.sh | 4 - android/sdk/assets/main.js | 8 - android/sdk/build.gradle| 27 +- android/sdk/libs/armeabi/libweexjsc.so | Bin 7558100 -> 7570504 bytes android/sdk/libs/x86/libweexjsc.so | Bin 4545544 -> 12121924 bytes .../java/com/taobao/weex/ComponentObserver.java | 50 ++ .../com/taobao/weex/LayoutFinishListener.java | 26 + .../java/com/taobao/weex/WXEnvironment.java | 5 + .../main/java/com/taobao/weex/WXSDKEngine.java | 6 + .../java/com/taobao/weex/WXSDKInstance.java | 102 ++- .../main/java/com/taobao/weex/WXSDKManager.java | 15 +- .../taobao/weex/adapter/ICrashInfoReporter.java | 27 + .../taobao/weex/adapter/IDrawableLoader.java| 3 +- .../weex/adapter/IWXUserTrackAdapter.java | 2 +- .../java/com/taobao/weex/bridge/WXBridge.java | 299 +++- .../com/taobao/weex/bridge/WXBridgeManager.java | 425 +++- .../com/taobao/weex/bridge/WXModuleManager.java | 44 +- .../java/com/taobao/weex/common/Constants.java | 2 + .../weex/common/ICheckBindingScroller.java | 27 + .../java/com/taobao/weex/common/IWXBridge.java | 21 + .../java/com/taobao/weex/common/WXConfig.java | 1 + .../com/taobao/weex/common/WXImageStrategy.java | 9 +- .../com/taobao/weex/common/WXPerformance.java | 9 +- .../taobao/weex/dom/DOMActionContextImpl.java | 15 +- .../com/taobao/weex/dom/TextDecorationSpan.java | 55 ++ .../main/java/com/taobao/weex/dom/WXAttr.java | 38 +- .../java/com/taobao/weex/dom/WXDomHandler.java | 4 + .../java/com/taobao/weex/dom/WXDomManager.java | 19 + .../java/com/taobao/weex/dom/WXDomModule.java | 2 +- .../com/taobao/weex/dom/WXImageQuality.java | 4 +- .../taobao/weex/dom/WXRecyclerDomObject.java| 4 + .../main/java/com/taobao/weex/dom/WXStyle.java | 32 +- .../com/taobao/weex/dom/WXSwitchDomObject.java | 29 +- .../com/taobao/weex/dom/WXTextDomObject.java| 15 +- .../com/taobao/weex/dom/action/Actions.java | 74 +- .../taobao/weex/dom/action/AnimationAction.java | 40 +- .../weex/dom/action/CreateFinishAction.java | 20 + .../weex/dom/action/ExecutableRenderAction.java | 48 ++ .../weex/dom/action/ModuleInvocationAction.java | 68 ++ .../weex/dom/action/UpdateStyleAction.java | 4 +- .../taobao/weex/ui/IExternalModuleGetter.java | 30 + .../taobao/weex/ui/IExternalMoudleGetter.java | 29 - .../ui/animation/DimensionUpdateListener.java | 74 -- .../weex/ui/animation/HeightProperty.java | 35 + .../weex/ui/animation/LayoutParamsProperty.java | 64 ++ .../weex/ui/animation/WXAnimationBean.java | 73 +- .../taobao/weex/ui/animation/WidthProperty.java | 35 + .../ui/component/AbstractEditComponent.java | 47 +- .../com/taobao/weex/ui/component/Textarea.java | 6 +
[08/14] incubator-weex git commit: * [doc] Update doc format.
* [doc] Update doc format. Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/81aa503e Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/81aa503e Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/81aa503e Branch: refs/heads/0.16-dev Commit: 81aa503ee9008d7f093ae270594579dd7bcd6f20 Parents: bdd6f1b Author: YorkShenAuthored: Fri Sep 15 16:27:36 2017 +0800 Committer: YorkShen Committed: Fri Sep 15 16:27:36 2017 +0800 -- doc/source/references/common-style.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/81aa503e/doc/source/references/common-style.md -- diff --git a/doc/source/references/common-style.md b/doc/source/references/common-style.md index 9c1251f..359b0e0 100644 --- a/doc/source/references/common-style.md +++ b/doc/source/references/common-style.md @@ -203,9 +203,9 @@ Currently supported format: * scaleX( ) * scaleY( ) * rotate( ) -- rotateX( ) v0.14+ -- rotateY( ) v0.14+ -- perspective( ), supported for Android 4.1 and above. v0.16+ +* rotateX( ) v0.14+ +* rotateY( ) v0.14+ +* perspective( ), supported for Android 4.1 and above. v0.16+ * transform-origin: number/percentage/keyword(top/left/right/bottom) ### Example
[06/14] incubator-weex git commit: * [doc] bug fix setup about
* [doc] bug fix setup about Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5cffb4e5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5cffb4e5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5cffb4e5 Branch: refs/heads/0.16-dev Commit: 5cffb4e5c52bffc30c24a461ccf76a2546030635 Parents: b13b428 Author: gurisxie <279483...@qq.com> Authored: Fri Sep 15 10:50:30 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Fri Sep 15 10:50:30 2017 +0800 -- doc/source/cn/guide/set-up-env.md| 2 +- doc/source/cn/guide/tools/toolkit.md | 2 +- doc/source/guide/set-up-env.md | 2 +- doc/source/guide/tools/toolkit.md| 5 ++--- 4 files changed, 5 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5cffb4e5/doc/source/cn/guide/set-up-env.md -- diff --git a/doc/source/cn/guide/set-up-env.md b/doc/source/cn/guide/set-up-env.md index 139e155..30b77d6 100644 --- a/doc/source/cn/guide/set-up-env.md +++ b/doc/source/cn/guide/set-up-env.md @@ -90,7 +90,7 @@ $ weex init awesome-project - `serve`: å¼å¯éææå¡å¨ - `debug`: è°è¯æ¨¡å¼ -æ们å éè¿ `npm install` å®è£ 项ç®ä¾èµãä¹åè¿è¡ `npm run dev` å `npm run serve` å¼å¯watch 模å¼åéææå¡å¨ã +æ们å éè¿ `npm install` å®è£ 项ç®ä¾èµãä¹åè¿è¡æ ¹ç®å½ä¸ç `sh ./start` å¼å¯ watch 模å¼åéææå¡å¨ã ç¶åæ们æå¼æµè§å¨ï¼è¿å ¥ `http://localhost:8080/index.html` å³å¯çå° weex h5 页é¢ã http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5cffb4e5/doc/source/cn/guide/tools/toolkit.md -- diff --git a/doc/source/cn/guide/tools/toolkit.md b/doc/source/cn/guide/tools/toolkit.md index 90bfe13..de72f75 100644 --- a/doc/source/cn/guide/tools/toolkit.md +++ b/doc/source/cn/guide/tools/toolkit.md @@ -53,7 +53,7 @@ $ weex init awesome-project - `serve`: å¼å¯éææå¡å¨ - `debug`: è°è¯æ¨¡å¼ -æ们å éè¿ `npm install` å®è£ 项ç®ä¾èµãä¹åè¿è¡ `npm run dev` å `npm run serve` å¼å¯ `watch` 模å¼åéææå¡å¨ã +æ们å éè¿ `npm install` å®è£ 项ç®ä¾èµãä¹åè¿è¡æ ¹ç®å½ä¸ç `sh ./start` å¼å¯ watch 模å¼åéææå¡å¨ã ç¶åæ们æå¼æµè§å¨ï¼è¿å ¥ `http://localhost:8080/index.html` å³å¯çå° Weex h5 页é¢ã http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5cffb4e5/doc/source/guide/set-up-env.md -- diff --git a/doc/source/guide/set-up-env.md b/doc/source/guide/set-up-env.md index 702c347..b734d08 100644 --- a/doc/source/guide/set-up-env.md +++ b/doc/source/guide/set-up-env.md @@ -57,7 +57,7 @@ We enter the awesome-project folder and install dependencies with the following npm install ``` -Then we run `npm run dev` and `npm run serve` to start watch mode and static server. +Then we run `sh ./start` in root directory to start watch mode and static server. Finally, we can see the Weex page in `http://localhost:8080/index.html`. http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5cffb4e5/doc/source/guide/tools/toolkit.md -- diff --git a/doc/source/guide/tools/toolkit.md b/doc/source/guide/tools/toolkit.md index 2e19b2d..ff088cb 100644 --- a/doc/source/guide/tools/toolkit.md +++ b/doc/source/guide/tools/toolkit.md @@ -37,10 +37,9 @@ There are some useful npm scripts you will use in the future: - `serve`: start a web server - `debug`: open the debug mode -When all dependences are ready, you can input `npm run dev` and run `npm run server` in a command line tab. Now you can visit our web page in : - -http://localhost:8080/index.html +Then we run `sh ./start` in root directory to start watch mode and static server. +Finally, we can see the Weex page in `http://localhost:8080/index.html`. ### preview Weex page in time
[02/14] incubator-weex git commit: * [doc] update text document
* [doc] update text document Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3ae4e89e Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3ae4e89e Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3ae4e89e Branch: refs/heads/0.16-dev Commit: 3ae4e89e8cacb224af716f91bcb086f3c46355b1 Parents: e83b0de Author: acton393Authored: Tue Sep 12 18:19:22 2017 +0800 Committer: acton393 Committed: Tue Sep 12 18:19:22 2017 +0800 -- doc/source/cn/references/components/text.md | 6 +++--- doc/source/cn/references/modules/dom.md | 2 +- doc/source/references/components/text.md| 8 doc/source/references/modules/dom.md| 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3ae4e89e/doc/source/cn/references/components/text.md -- diff --git a/doc/source/cn/references/components/text.md b/doc/source/cn/references/components/text.md index 136d409..b91f6f9 100644 --- a/doc/source/cn/references/components/text.md +++ b/doc/source/cn/references/components/text.md @@ -62,7 +62,7 @@ version: 2.1 `æ¯æçæ¬:v0.12.0` -æ¯ættfåwoffåä½æ ¼å¼çèªå®ä¹åä½, å¯ä»¥éè¿è°ç¨ `dom` module éé¢ç [addRule](../modules/dom.html#addRule)æ¹æ³, æ建èªå®ä¹ç`font-family`使ç¨, addRule 建议å¨`mounted`æ¶åè°ç¨ +æ¯ættfåwoffåä½æ ¼å¼çèªå®ä¹åä½, å¯ä»¥éè¿è°ç¨ `dom` module éé¢ç [addRule](../modules/dom.html#addRule)æ¹æ³, æ建èªå®ä¹ç`font-family`使ç¨, addRule å»ºè®®å¨ `beforeCreate` æè æ´æ©æ¶è°ç¨ ```html @@ -75,7 +75,7 @@ version: 2.1 module.exports = { -mounted: function() { +beforeCreate: function() { var domModule = weex.requireModule('dom'); //ç®åæ¯ættfãwoffæ件ï¼ä¸æ¯æsvgãeotç±»å,moreItem at http://www.iconfont.cn/ @@ -89,7 +89,7 @@ version: 2.1 ``` -[try it](http://dotwe.org/vue/6ece072d0abd9a9e5718eb26bd5719f8) +[try it](http://dotwe.org/vue/95b2c6716f37066d5f44c5c75c979394) ## ç¤ºä¾ http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3ae4e89e/doc/source/cn/references/modules/dom.md -- diff --git a/doc/source/cn/references/modules/dom.md b/doc/source/cn/references/modules/dom.md index 9f0297c..a177929 100644 --- a/doc/source/cn/references/modules/dom.md +++ b/doc/source/cn/references/modules/dom.md @@ -274,7 +274,7 @@ domModule.addRule('fontFace', { ``` -[try it](http://dotwe.org/vue/6ece072d0abd9a9e5718eb26bd5719f8) +[try it](http://dotwe.org/vue/95b2c6716f37066d5f44c5c75c979394) ## å ¶ä» http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3ae4e89e/doc/source/references/components/text.md -- diff --git a/doc/source/references/components/text.md b/doc/source/references/components/text.md index e235fae..f0a1bc5 100644 --- a/doc/source/references/components/text.md +++ b/doc/source/references/components/text.md @@ -59,7 +59,7 @@ check out [common events](../common-event.html) `support:v0.12.0` -support `ttf` and `woff` font format to custom your text, call [addRule](../modules/dom.html#addRule) in dom module to build your own `font-family`, we suggest that you call `addRule` in `mounted` +support `ttf` and `woff` font format to custom your text, call [addRule](../modules/dom.html#addRule) in dom module to build your own `font-family`, we suggest that you call `addRule` in `beforeCreate` ```html @@ -72,10 +72,10 @@ support `ttf` and `woff` font format to custom your text, call [addRule](../modu module.exports = { -mounted: function() { +beforeCreate: function() { var domModule = weex.requireModule('dom'); -//ç®åæ¯ættfãwoffæ件ï¼ä¸æ¯æsvgãeotç±»å,moreItem at http://www.iconfont.cn/ +//support ttfãwoff fileï¼svgãeot can not be supported ,moreItem at http://www.iconfont.cn/ domModule.addRule('fontFace', { 'fontFamily': "iconfont2", @@ -86,7 +86,7 @@ support `ttf` and `woff` font format to custom your text, call [addRule](../modu ``` -[try it](http://dotwe.org/vue/6ece072d0abd9a9e5718eb26bd5719f8) +[try it](http://dotwe.org/vue/95b2c6716f37066d5f44c5c75c979394) ## Example
[13/14] incubator-weex git commit: Merge commit 'eeaa5e0bd24a580dcbf1ab6cec4c13f2f9718d63' into doc-merge-dev
Merge commit 'eeaa5e0bd24a580dcbf1ab6cec4c13f2f9718d63' into doc-merge-dev finish Conflicts: doc/source/cn/references/common-style.md doc/source/references/common-style.md Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e42de911 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e42de911 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e42de911 Branch: refs/heads/0.16-dev Commit: e42de9110e6b190901ac28e3ad57d17d4b9e8b72 Parents: 8325077 eeaa5e0 Author: gurisxie <279483...@qq.com> Authored: Thu Sep 21 17:56:13 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Thu Sep 21 17:56:13 2017 +0800 -- doc/source/cn/guide/index.md| 9 ++--- doc/source/cn/guide/set-up-env.md | 4 ++-- doc/source/cn/guide/tools/toolkit.md| 2 +- .../cn/references/advanced/extend-to-android.md | 21 ++-- doc/source/cn/references/common-style.md| 1 + doc/source/cn/references/components/text.md | 6 +++--- doc/source/cn/references/modules/animation.md | 2 ++ doc/source/cn/references/modules/dom.md | 2 +- doc/source/guide/index.md | 4 ++-- doc/source/guide/set-up-env.md | 6 +++--- doc/source/guide/tools/toolkit.md | 5 ++--- doc/source/references/common-style.md | 1 + doc/source/references/components/text.md| 8 doc/source/references/modules/animation.md | 3 ++- doc/source/references/modules/dom.md| 2 +- .../WeexSDK/Sources/Component/WXWebComponent.m | 1 + 16 files changed, 51 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e42de911/ios/sdk/WeexSDK/Sources/Component/WXWebComponent.m --
[14/14] incubator-weex git commit: Merge branch 'doc-merge-dev' of https://github.com/gurisxie/incubator-weex into 0.16-dev
Merge branch 'doc-merge-dev' of https://github.com/gurisxie/incubator-weex into 0.16-dev Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/eee46df7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/eee46df7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/eee46df7 Branch: refs/heads/0.16-dev Commit: eee46df77bf014e6f43eeddb1cb94dc36e882cf7 Parents: 5af980c e42de91 Author: gurisxie <279483...@qq.com> Authored: Thu Sep 21 20:15:45 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Thu Sep 21 20:15:45 2017 +0800 -- doc/source/cn/guide/index.md| 9 ++--- doc/source/cn/guide/set-up-env.md | 4 ++-- doc/source/cn/guide/tools/toolkit.md| 2 +- .../cn/references/advanced/extend-to-android.md | 21 ++-- doc/source/cn/references/common-style.md| 1 + doc/source/cn/references/components/text.md | 6 +++--- doc/source/cn/references/modules/animation.md | 2 ++ doc/source/cn/references/modules/dom.md | 2 +- doc/source/guide/index.md | 4 ++-- doc/source/guide/set-up-env.md | 6 +++--- doc/source/guide/tools/toolkit.md | 5 ++--- doc/source/references/common-style.md | 1 + doc/source/references/components/text.md| 8 doc/source/references/modules/animation.md | 3 ++- doc/source/references/modules/dom.md| 2 +- .../WeexSDK/Sources/Component/WXWebComponent.m | 1 + 16 files changed, 51 insertions(+), 26 deletions(-) --
[03/14] incubator-weex git commit: * [android] add the right proguard config of extend-to-android
* [android] add the right proguard config of extend-to-android Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/72184b43 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/72184b43 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/72184b43 Branch: refs/heads/0.16-dev Commit: 72184b43d04548acd0354934c6f84e22579bc9a9 Parents: 3ae4e89 Author: zshshrAuthored: Wed Sep 13 14:38:37 2017 +0800 Committer: zshshr Committed: Wed Sep 13 14:38:37 2017 +0800 -- .../cn/references/advanced/extend-to-android.md | 21 ++-- 1 file changed, 19 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/72184b43/doc/source/cn/references/advanced/extend-to-android.md -- diff --git a/doc/source/cn/references/advanced/extend-to-android.md b/doc/source/cn/references/advanced/extend-to-android.md index 61a5bbf..0dcfa14 100644 --- a/doc/source/cn/references/advanced/extend-to-android.md +++ b/doc/source/cn/references/advanced/extend-to-android.md @@ -193,9 +193,26 @@ public class ImageAdapter implements IWXImgLoaderAdapter { ```java -keep class com.taobao.weex.WXDebugTool{*;} -keep class com.taobao.weex.devtools.common.LogUtil{*;} --keep public class * extends com.taobao.weex.ui.component.WXComponent{*;} --keep public class * extends com.taobao.weex.common.WXModule{*;} -keepclassmembers class ** { @com.taobao.weex.ui.component.WXComponentProp public *; } +-keep class com.taobao.weex.bridge.**{*;} +-keep class com.taobao.weex.dom.**{*;} +-keep class com.taobao.weex.adapter.**{*;} +-keep class com.taobao.weex.common.**{*;} +-keep class * implements com.taobao.weex.IWXObject{*;} +-keep class com.taobao.weex.ui.**{*;} +-keep class com.taobao.weex.ui.component.**{*;} +-keep class com.taobao.weex.utils.**{ +public ; +public ; +} +-keep class com.taobao.weex.view.**{*;} +-keep class com.taobao.weex.module.**{*;} +-keep public class * extends com.taobao.weex.common.WXModule{*;} +-keep public class * extends com.taobao.weex.ui.component.WXComponent{*;} +-keep public class com.taobao.taolive.ui.weex.**{*;} +-keep class * implements com.taobao.weex.ui.IExternalComponentGetter{*;} +-keep class com.alibaba.aliweex.hc.HCConfig{*;} +-keep class com.alibaba.dynamic.**{*;} ``` \ No newline at end of file
[GitHub] incubator-weex pull request #729: * [test] remove travis iOS
Github user asfgit closed the pull request at: https://github.com/apache/incubator-weex/pull/729 ---
incubator-weex git commit: * [test] remove travis iOS
Repository: incubator-weex Updated Branches: refs/heads/0.16-dev 83250773f -> 5af980c81 * [test] remove travis iOS Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5af980c8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5af980c8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5af980c8 Branch: refs/heads/0.16-dev Commit: 5af980c814fb24841970789462e08b558b24b5b4 Parents: 8325077 Author: gurisxie <279483...@qq.com> Authored: Thu Sep 21 19:30:04 2017 +0800 Committer: gurisxie <279483...@qq.com> Committed: Thu Sep 21 19:30:04 2017 +0800 -- .travis.yml | 4 1 file changed, 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5af980c8/.travis.yml -- diff --git a/.travis.yml b/.travis.yml index dd3f139..8a49ae6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,16 +11,12 @@ env: matrix: fast_finish: true exclude: - - os: linux -env: TEST_SUITE=ios - os: osx env: TEST_SUITE=danger - os: osx env: TEST_SUITE=jsfm - os: osx env: TEST_SUITE=android - - os: osx -env: TEST_SUITE=ios - os: linux env: TEST_SUITE=android include:
[GitHub] incubator-weex issue #729: * [test] remove travis iOS
Github user weex-bot commented on the issue: https://github.com/apache/incubator-weex/pull/729 Warnings :warning: No Changelog changes! Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS ---
[GitHub] incubator-weex issue #728: * [jsfm] upgrade weex-js-framework to 0.22.3
Github user weex-bot commented on the issue: https://github.com/apache/incubator-weex/pull/728 Messages :book: has no jsfm file changed,skip test! Generated by :no_entry_sign: http://github.com/danger/danger-js/;>dangerJS ---
[GitHub] incubator-weex pull request #729: * [test] remove travis iOS
GitHub user gurisxie opened a pull request: https://github.com/apache/incubator-weex/pull/729 * [test] remove travis iOS Test bugfix remove iosï¼ 1ãdelete all ios env dependence. You can merge this pull request into a Git repository by running: $ git pull https://github.com/gurisxie/incubator-weex test-bugfix-removeIos Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/729.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #729 commit 5af980c814fb24841970789462e08b558b24b5b4 Author: gurisxie <279483...@qq.com> Date: 2017-09-21T11:30:04Z * [test] remove travis iOS ---
[GitHub] incubator-weex pull request #728: * [jsfm] upgrade weex-js-framework to 0.22...
GitHub user Hanks10100 opened a pull request: https://github.com/apache/incubator-weex/pull/728 * [jsfm] upgrade weex-js-framework to 0.22.3 Notable Change: + Support the first version of ``. + [vue] upgrade `weex-vue-framework` to 2.4.2-weex.5. + [rax] upgrade `weex-rax-framework` to 0.4.14. You can merge this pull request into a Git repository by running: $ git pull https://github.com/Hanks10100/incubator-weex jsfm-release-0.22 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/728.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #728 commit b7ff22e12605209c5ffb376dfa0d16a45ba45843 Author: HanksDate: 2017-09-21T11:17:23Z * [jsfm] upgrade weex-js-framework to 0.22.3 ---
[GitHub] incubator-weex pull request #726: 0.16 dev template list
GitHub user gubaojian reopened a pull request: https://github.com/apache/incubator-weex/pull/726 0.16 dev template list 1, new recycle-list compoent with hight performance and low memory cost https://github.com/Hanks10100/weex-native-directive You can merge this pull request into a Git repository by running: $ git pull https://github.com/gubaojian/incubator-weex 0.16-dev-template-list Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/726.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #726 commit 22ae8c538438685b236c258e4f2c9a13ac612cb9 Author: jianbai.gbjDate: 2017-08-23T09:05:46Z template list scroll commit 9704477133795833127e9a9318e816c86944a585 Author: jianbai.gbj Date: 2017-08-24T08:04:34Z keep sticky commit c14a9ede2975b52fb200908b4846baf24e645661 Author: jianbai.gbj Date: 2017-08-24T12:10:22Z sticky list view commit 0bae0f6f4aac42dc89d01ae68cf7d09e0f460079 Author: jianbai.gbj Date: 2017-08-24T13:17:29Z sticky header commit 06ceea9139a9ac14cf5d0e8c179e4d5e896b75fd Author: jianbai.gbj Date: 2017-08-24T13:36:20Z sticky header commit d0af3129c8eb92b22c6d33bebd44c9072cf73ff8 Author: jianbai.gbj Date: 2017-08-25T01:35:30Z sticky event and unsticky event commit bd31ed1fd6ed9b476460fe1f9c0e8806aef985d8 Author: jianbai.gbj Date: 2017-08-25T02:20:48Z event args commit dc91a285dbf6110dc35fb5e9cdb98270bdbfbebc Author: jianbai.gbj Date: 2017-08-25T04:55:07Z render event args commit 932a7fabdcbb9692c386292d195f93b5eeb25580 Author: jianbai.gbj Date: 2017-08-25T06:00:29Z scroll event sync commit 55d87f2ffdf990577474e73352be6328ceb4a05e Author: jianbai.gbj Date: 2017-08-25T11:42:38Z save code commit 1a5e9704eeb1bbea605b96061de37bf453903e66 Author: jianbai.gbj Date: 2017-08-28T06:44:11Z save code commit f41427d9ef155004a88f75891d47ef829bbdc563 Author: jianbai.gbj Date: 2017-08-28T06:48:58Z test code add commit 401fa8c242b585d702250f4f9110faeb82a3eba0 Author: jianbai.gbj Date: 2017-08-28T06:50:19Z Merge remote-tracking branch 'origin/0.16-dev' into 0.16-dev-template-list commit 23a6b6a898c543916704bd0551dd1a2ed1bc1be6 Author: jianbai.gbj Date: 2017-08-29T01:56:28Z now el expression parser commit 88030f04f1853ceffd37d49bc4685fa734e892f2 Author: jianbai.gbj Date: 2017-08-29T02:04:18Z save codes commit 267883d75c6430cae193e472887b65d5daeb0a28 Author: jianbai.gbj Date: 2017-08-29T06:22:32Z el parser commit c913e84a77635fb69037e779755c0be9ab48cac2 Author: jianbai.gbj Date: 2017-08-29T07:04:47Z replace old el pression commit 7fe4e05981bd862a037c1bd9d7b359d82b5dec8f Author: jianbai.gbj Date: 2017-08-29T07:52:30Z render code commit 5a8cf6d3105f001460ed640bf27102ee74df7356 Author: jianbai.gbj Date: 2017-08-29T12:10:12Z save code commit 86d89165c001b2ec2fd1c0bbab5a68c92348acb7 Author: jianbai.gbj Date: 2017-08-29T12:17:32Z save code commit eb67c0cb036d0fd1b02736287448b5be9b4fc2c8 Author: jianbai.gbj Date: 2017-09-01T09:29:11Z save code commit 3922bd09504fcfcbb1de247eae94612e64432398 Author: jianbai.gbj Date: 2017-09-01T10:45:14Z template list commit c7f9c285fdd42d9c401a2808c0c919fbb4154a6d Author: jianbai.gbj Date: 2017-09-01T11:46:59Z stack commit 96e0369e1cd1404ca1f4f9e90935e41384b84eb7 Author: jianbai.gbj Date: 2017-09-01T12:09:14Z stack commit 0e71769696ab0a9b4ce60120d1f128e1de340f52 Author: jianbai.gbj Date: 2017-09-04T07:14:11Z appear event handle commit 50c4be1ed346847cd4f20692da1fe568f1daa261 Author: jianbai.gbj Date: 2017-09-04T08:34:30Z save code commit cbf6f6285303ca2ed217f07de6fe0b3e8711a921 Author: jianbai.gbj Date: 2017-09-04T09:14:07Z render component commit b9439b745cb064c9c9023f234f2514b7138aba0e Author: jianbai.gbj Date: 2017-09-04T09:19:31Z remove test code commit d02ee629e32a45068be389575f92aa4f1e085fac Author: jianbai.gbj
[GitHub] incubator-weex pull request #726: 0.16 dev template list
Github user gubaojian closed the pull request at: https://github.com/apache/incubator-weex/pull/726 ---
[GitHub] incubator-weex issue #724: * [doc] fix doc dotwe address
Github user jondong commented on the issue: https://github.com/apache/incubator-weex/pull/724 Thanks for the quick fix, actually I'm preparing a PR for this, not only for the dotWe issue, but also hope to cover the English expression issue. Anyway, I'll propose another supplementary patch for this afterward. BTW, reviewing & submitting your own PR is not a good practice. We need to avoid this. From the perspective of regulation, I hope we can make reviewing codes by another committer as a forcing step before submit, even you are a committer with the merging right. ---
[GitHub] incubator-weex pull request #727: Doc merge dev
GitHub user gurisxie opened a pull request: https://github.com/apache/incubator-weex/pull/727 Doc merge dev merge dev doc to 0.16-dev 1ãdoc 2ãout pr about ios web You can merge this pull request into a Git repository by running: $ git pull https://github.com/gurisxie/incubator-weex doc-merge-dev Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-weex/pull/727.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #727 commit e83b0de20898fc470047925fd404f413fb88a76f Author: NSHYJDate: 2017-08-31T01:51:22Z * [iOS] webview scale page to fit commit 3ae4e89e8cacb224af716f91bcb086f3c46355b1 Author: acton393 Date: 2017-09-12T10:19:22Z * [doc] update text document commit 72184b43d04548acd0354934c6f84e22579bc9a9 Author: zshshr Date: 2017-09-13T06:38:37Z * [android] add the right proguard config of extend-to-android commit 5b3ecd5ccf88a6247c9327ebb48220d9993ff74c Author: YorkShen Date: 2017-09-13T07:08:04Z * [doc] Update doc for animation. commit d16ba8d888e07d285e3f523ed4010c934b1a4c48 Author: zshshr Date: 2017-09-13T07:21:10Z Merge branch 'dev' of https://git-wip-us.apache.org/repos/asf/incubator-weex into dev commit 5cffb4e5c52bffc30c24a461ccf76a2546030635 Author: gurisxie <279483...@qq.com> Date: 2017-09-15T02:50:30Z * [doc] bug fix setup about commit bdd6f1b5b6a0dc1c2fbd12335b801f687149d29c Author: gurisxie <279483...@qq.com> Date: 2017-09-15T02:55:24Z Merge commit 'd16ba8d888e07d285e3f523ed4010c934b1a4c48' into dev Conflicts: doc/source/guide/set-up-env.md commit 81aa503ee9008d7f093ae270594579dd7bcd6f20 Author: YorkShen Date: 2017-09-15T08:27:36Z * [doc] Update doc format. commit 5148596d0ff05b7fd36d4616853c4a66be1e30c7 Author: gurisxie <279483...@qq.com> Date: 2017-09-18T11:24:59Z * [doc] bugfix week init project run command commit 4c3f020504e9e05bc699e333db771f3d3b398e26 Author: gurisxie <279483...@qq.com> Date: 2017-09-19T09:22:25Z * [doc] bug fix index commit a64ce53b2f6869953f3e04542f5448448a131d50 Author: erha19 Date: 2017-09-20T09:36:28Z * [doc] update set-up-env.md commit eeaa5e0bd24a580dcbf1ab6cec4c13f2f9718d63 Author: atomtong Date: 2017-09-21T09:07:14Z * [doc] fix doc dotwe address commit e42de9110e6b190901ac28e3ad57d17d4b9e8b72 Author: gurisxie <279483...@qq.com> Date: 2017-09-21T09:56:13Z Merge commit 'eeaa5e0bd24a580dcbf1ab6cec4c13f2f9718d63' into doc-merge-dev finish Conflicts: doc/source/cn/references/common-style.md doc/source/references/common-style.md ---