You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by gu...@apache.org on 2017/09/26 04:25:03 UTC
[01/47] incubator-weex git commit: * [html5] fix release CI.
Repository: incubator-weex
Updated Branches:
refs/heads/dev 2513b0f43 -> 915935b09
* [html5] fix release CI.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a672d2f1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a672d2f1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a672d2f1
Branch: refs/heads/dev
Commit: a672d2f1dc08e52b9f639763bcfa09cdf7cc1ec8
Parents: b903e3c
Author: MrRaindrop <te...@gmail.com>
Authored: Wed Aug 16 17:26:14 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Wed Aug 16 17:26:14 2017 +0800
----------------------------------------------------------------------
scripts/release_files.rules | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a672d2f1/scripts/release_files.rules
----------------------------------------------------------------------
diff --git a/scripts/release_files.rules b/scripts/release_files.rules
index bfc0958..01ba712 100644
--- a/scripts/release_files.rules
+++ b/scripts/release_files.rules
@@ -42,6 +42,7 @@
+ /packages/weex-html5
+ /packages/weex-html5/package.json
+ /packages/weex-vue-render
++ /packages/weex-vue-render/src/**
+ /packages/weex-vue-render/package.json
+ /build
+ /build/**
[30/47] incubator-weex git commit: * [html5] release 0.12.10
Posted by gu...@apache.org.
* [html5] release 0.12.10
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/86cd036c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/86cd036c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/86cd036c
Branch: refs/heads/dev
Commit: 86cd036ccbf1569253629e9fc33a462638a494b4
Parents: 19f0c01
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 12 10:47:08 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 12 10:47:08 2017 +0800
----------------------------------------------------------------------
package.json | 2 +-
packages/weex-vue-render/package.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/86cd036c/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 8346fc2..b4b605b 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.9",
+ "vue-render": "0.12.10",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/86cd036c/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 220744f..bf978ae 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.9",
+ "version": "0.12.10",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[25/47] incubator-weex git commit: * [html5] bugfix: appear only
trigger once when there's no disappear handler bound.
Posted by gu...@apache.org.
* [html5] bugfix: appear only trigger once when there's no disappear handler bound.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ec5b7914
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ec5b7914
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ec5b7914
Branch: refs/heads/dev
Commit: ec5b79142d13d319d21ed8092f8a2f5857cb341f
Parents: b0741d8
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 5 18:11:46 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 5 18:11:46 2017 +0800
----------------------------------------------------------------------
html5/render/vue/utils/component.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ec5b7914/html5/render/vue/utils/component.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/utils/component.js b/html5/render/vue/utils/component.js
index f587b26..eb8ded7 100644
--- a/html5/render/vue/utils/component.js
+++ b/html5/render/vue/utils/component.js
@@ -202,7 +202,12 @@ export function detectAppear (context, visible, dir = null) {
const el = context && context.$el
if (!el) { return }
const handlers = getEventHandlers(context)
- if (!handlers[visible ? 'appear' : 'disappear']) { return }
+ /**
+ * No matter it's binding appear/disappear or both of them. Always
+ * should test it's visibility and change the context._visible.
+ * If neithor of them was bound, then just ignore it.
+ */
+ if (!handlers['appear'] && !handlers['disappear']) { return }
/**
* if the component hasn't appeared for once yet, then it shouldn't trigger
* a disappear event at all.
[19/47] incubator-weex git commit: * [html5] fix error under firefox
ios.
Posted by gu...@apache.org.
* [html5] fix error under firefox 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/1ceb3749
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1ceb3749
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1ceb3749
Branch: refs/heads/dev
Commit: 1ceb3749b1862ebf6e3eee5a0a1ddb3fe0d0d603
Parents: 31411dd
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 4 17:26:03 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 4 17:26:03 2017 +0800
----------------------------------------------------------------------
html5/render/vue/lib/envd/index.js | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1ceb3749/html5/render/vue/lib/envd/index.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/lib/envd/index.js b/html5/render/vue/lib/envd/index.js
index 99b6fd6..df9fdf3 100644
--- a/html5/render/vue/lib/envd/index.js
+++ b/html5/render/vue/lib/envd/index.js
@@ -55,7 +55,7 @@ else if ((match = ua.match(/(iPhone|iPad|iPod)/))) {
isIPhone: (name === 'iPhone' || name === 'iPod'),
isIPad: name === 'iPad',
isIOS: true,
- version: match[1].split('_').join('.')
+ version: match && match[1].split('_').join('.') || ''
}
}
else {
@@ -155,7 +155,7 @@ else if (ua.match(/iPhone|iPad|iPod/)) {
env.browser = {
name: 'Safari',
isSafari: true,
- version: match[1]
+ version: match && match[1] || ''
}
}
else {
@@ -163,7 +163,7 @@ else if (ua.match(/iPhone|iPad|iPod/)) {
env.browser = {
name: 'iOS Webview',
isWebview: true,
- version: match[1].replace(/_/g, '.')
+ version: match && match[1].replace(/_/g, '.') || ''
}
}
}
[04/47] incubator-weex git commit: * [html5] release vue-render 0.12.2
Posted by gu...@apache.org.
* [html5] release vue-render 0.12.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/bb844b90
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/bb844b90
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/bb844b90
Branch: refs/heads/dev
Commit: bb844b90aa013ca946c6ffdce57a1281f5340374
Parents: 7e2d4ef
Author: MrRaindrop <te...@gmail.com>
Authored: Fri Aug 4 17:09:18 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Aug 21 11:28:29 2017 +0800
----------------------------------------------------------------------
package.json | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/bb844b90/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 4579a27..2148df1 100644
--- a/package.json
+++ b/package.json
@@ -3,8 +3,13 @@
"version": "0.12.2",
"subversion": {
"browser": "0.5.0",
+<<<<<<< HEAD
"framework": "0.21.9",
"vue-render": "0.12.3",
+=======
+ "framework": "0.20.6",
+ "vue-render": "0.12.2",
+>>>>>>> 850811c... * [html5] release vue-render 0.12.2
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
[34/47] incubator-weex git commit: * [html5] release v0.12.12
Posted by gu...@apache.org.
* [html5] release v0.12.12
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/89b131fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/89b131fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/89b131fb
Branch: refs/heads/dev
Commit: 89b131fb7c430dab67a41abf6c70365c57440395
Parents: 2cf1675
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Sep 14 13:58:31 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Sep 14 13:58:31 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 ++++
package.json | 2 +-
packages/weex-vue-render/README.md | 4 ++++
packages/weex-vue-render/package.json | 2 +-
4 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89b131fb/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index d8f241a..31b6226 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -160,6 +160,10 @@ vue: {
* fix styles in firefox.
* implement methods about selection range.
+#### 0.12.12
+
+* fix NS (svg) bug in vue.js@v2.4.3
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89b131fb/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index fa2a332..534cc67 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.11",
+ "vue-render": "0.12.12",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89b131fb/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index d8f241a..31b6226 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -160,6 +160,10 @@ vue: {
* fix styles in firefox.
* implement methods about selection range.
+#### 0.12.12
+
+* fix NS (svg) bug in vue.js@v2.4.3
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/89b131fb/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 54cefab..8ff879e 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.11",
+ "version": "0.12.12",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[38/47] incubator-weex git commit: * [html5] fix trigger click
problem.
Posted by gu...@apache.org.
* [html5] fix trigger click problem.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b7fa6b0f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b7fa6b0f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b7fa6b0f
Branch: refs/heads/dev
Commit: b7fa6b0ff7af1b4d18823709fe43569cc5b69b9a
Parents: 6ec5a50
Author: MrRaindrop <te...@gmail.com>
Authored: Sat Sep 23 18:51:20 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Sat Sep 23 18:51:20 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 ++
html5/render/vue/env/event-manager.js | 88 +++++++++++++++---------------
package.json | 2 +-
packages/weex-vue-render/README.md | 4 ++
packages/weex-vue-render/package.json | 2 +-
5 files changed, 55 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b7fa6b0f/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 0554334..31646a2 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -172,6 +172,10 @@ vue: {
* fix loading & refresh: pulling down wrongly triggered.
+#### 0.12.15
+
+* not to prevent default behaviour of click events unless the click-binding element is inside a `<a>` link, or it is a `<a>` link and has a `prevent` attribute on it.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b7fa6b0f/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 16057ca..e637b7d 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -35,6 +35,15 @@ function isANode (el) {
return el.tagName.toLowerCase() === 'a'
}
+function isInANode (el) {
+ let parent = el.parentElement
+ while (parent && parent !== document.body) {
+ if (parent.tagName === 'A') { return true }
+ parent = parent.parentElement
+ }
+ return false
+}
+
/**
* get listeners from on config and v-on binding.
* v-on binding has a priority over on config.
@@ -87,72 +96,65 @@ function _init (doc) {
return
}
let disposed = false
- let evtName = e.type
- /**
- * take full control of redirection of <a> element.
- */
- if (evtName === 'click') {
- // use '_triggered' to control bubbles event.
- e._triggered = { target: vm.$el }
- e.preventDefault()
- return
- }
+ const evtName = e.type
if (evtName === 'tap' && e._for !== 'weex') {
return
}
- else if (evtName === 'tap') {
- evtName = 'click'
- }
while (vm) {
const vnode = vm._vnode || vm.$vnode
const elm = vm.$el
- const ons = getListeners(vnode, evtName)
+ const ons = getListeners(vnode, evtName === 'tap' ? 'click' : evtName)
const len = ons && ons.length
if (len > 0) {
- for (let i = 0; i < len; i++) {
- const handler = ons[i]
- const newEvt = evtName === 'click'
- ? createEvent(el, evtName)
- : e
- applyFns(handler.fns, newEvt)
+ if (evtName !== 'click') {
+ for (let i = 0; i < len; i++) {
+ const handler = ons[i]
+ const newEvt = evtName === 'tap'
+ ? createEvent(el, 'click')
+ : e
+ newEvt._triggered = { target: elm }
+ applyFns(handler.fns, newEvt)
+ }
}
- e._triggered = { target: vm.$el }
+ e._triggered = { target: elm }
disposed = true
}
- /**
- * if the handler is binding on a <a> element, should trigger
- * the handler first and then jump to href.
- * NOTE: if target==='_blank' then do no jumping and leave it
- * to users binding handlers for further disposing.
- */
- if (evtName === 'click' && isANode(elm)) {
+ if (isANode(elm)
+ && (evtName === 'click' || evtName === 'tap')) {
const href = elm.getAttribute('href')
const voidHrefReg = /^\s*javascript\s*:\s*void\s*(?:\(\s*0\s*\)|0)\s*;?\s*$/
const prevent = elm.getAttribute('prevent')
- disposed = true
- /**
- * Give the chance to the listeners binding on doc or doc.body for
- * handling the a-jump.
- * Should set a _should_intercept_a_jump function on window to test
- * whether we should intercept the a-jump.
- */
- if (window._should_intercept_a_jump && window._should_intercept_a_jump(elm)
- || href.match(voidHrefReg)
- || prevent === '' || prevent === 'true') {
- // do nothing. leave it to the intercept handler.
+ if (window._should_intercept_a_jump && window._should_intercept_a_jump(elm)) {
+ // e._triggered should not be true since we left the intercepter to handle the event.
+ e._triggered = false
+ e.preventDefault()
+ disposed = true
}
- else if (href) {
- location.href = href
+ else if (href.match(voidHrefReg)
+ || prevent === '' || prevent === 'true') {
+ e._triggered = false
+ e.preventDefault()
}
- else if (process.env.NODE_ENV === 'development') {
- console.warn('[vue-render] If you want to use the A tag jump, set the href attribute')
+ else {
+ e._triggered = { target: elm }
+ disposed = true // handled by default behavior for clicking on a element.
}
}
+ /**
+ * If the click handler is binding on a element inside a <a> element,
+ * then should prevent default.
+ */
+ if (disposed && evtName === 'click' && isInANode(elm)) {
+ e._triggered = { target: elm }
+ e.preventDefault()
+ return
+ }
+
if (disposed) {
return
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b7fa6b0f/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 7176a73..cd90c76 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.14",
+ "vue-render": "0.12.15",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b7fa6b0f/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 0554334..31646a2 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -172,6 +172,10 @@ vue: {
* fix loading & refresh: pulling down wrongly triggered.
+#### 0.12.15
+
+* not to prevent default behaviour of click events unless the click-binding element is inside a `<a>` link, or it is a `<a>` link and has a `prevent` attribute on it.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b7fa6b0f/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index b07535d..a08b4ce 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.14",
+ "version": "0.12.15",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[16/47] incubator-weex git commit: * [html5] release v0.12.7
Posted by gu...@apache.org.
* [html5] release v0.12.7
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/902a1f73
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/902a1f73
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/902a1f73
Branch: refs/heads/dev
Commit: 902a1f7306da90e67006f4938489f6b6659b909e
Parents: 5bc5851
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 21:39:35 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 21:39:35 2017 +0800
----------------------------------------------------------------------
package.json | 2 +-
packages/weex-vue-render/package.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/902a1f73/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 3e70ac0..47b84dd 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.6",
+ "vue-render": "0.12.7",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/902a1f73/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 51a68d9..1262ef1 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.6",
+ "version": "0.12.7",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[02/47] incubator-weex git commit: Merge branch '0.16-dev' into
0.16-dev-web
Posted by gu...@apache.org.
Merge branch '0.16-dev' into 0.16-dev-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a105b22b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a105b22b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a105b22b
Branch: refs/heads/dev
Commit: a105b22b15281fbf7b37ae2b326ee5a77a490da2
Parents: a672d2f 2a52a58
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Aug 21 11:04:34 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Aug 21 11:04:34 2017 +0800
----------------------------------------------------------------------
HOW-TO-BUILD.md | 17 +-
SCRIPTS.md | 4 +-
.../main/java/com/taobao/weex/WXSDKManager.java | 6 +
.../java/com/taobao/weex/common/Constants.java | 1 +
.../taobao/weex/dom/WXRecyclerDomObject.java | 9 +
.../weex/dom/action/GetComponentRectAction.java | 12 -
.../weex/ui/component/ContentMeasurable.java | 29 -
.../taobao/weex/ui/component/WXComponent.java | 14 +-
.../taobao/weex/ui/component/WXScroller.java | 16 +-
.../com/taobao/weex/ui/component/WXSlider.java | 8 +-
.../ui/component/list/BasicListComponent.java | 69 +-
.../weex/ui/view/WXBaseCircleIndicator.java | 3 +-
.../taobao/weex/ui/view/WXCircleViewPager.java | 57 +-
.../ui/view/refresh/core/WXSwipeLayout.java | 17 +-
.../ui/view/refresh/wrapper/BaseBounceView.java | 2 +-
build/build.js | 1 +
build/config.js | 21 +-
dangerfile.js | 27 +-
examples/vanilla/index.js | 4 +-
examples/vue/index.vue | 2 +
html5/frameworks/vanilla/index.js | 32 +-
html5/render/browser/extend/api/storage.js | 4 +-
html5/render/native/setup.js | 2 +-
html5/runtime/api/config.js | 37 +
html5/runtime/api/init.js | 227 +
html5/runtime/api/service.js | 77 +
html5/runtime/bridge/CallbackManager.js | 58 +
html5/runtime/bridge/Handler.js | 91 +
html5/runtime/bridge/Listener.js | 220 +
html5/runtime/bridge/TaskCenter.js | 130 +
html5/runtime/bridge/normalize.js | 91 +
html5/runtime/callback-manager.js | 58 -
html5/runtime/config.js | 36 -
html5/runtime/handler.js | 91 -
html5/runtime/index.js | 11 +-
html5/runtime/init.js | 215 -
html5/runtime/listener.js | 227 -
html5/runtime/normalize.js | 98 -
html5/runtime/service.js | 77 -
html5/runtime/task-center.js | 130 -
html5/runtime/utils.js | 54 +
html5/runtime/vdom/Comment.js | 43 +
html5/runtime/vdom/Document.js | 188 +
html5/runtime/vdom/Element.js | 454 +
html5/runtime/vdom/Node.js | 47 +
html5/runtime/vdom/WeexElement.js | 84 +
html5/runtime/vdom/comment.js | 47 -
html5/runtime/vdom/directive.js | 69 +
html5/runtime/vdom/document.js | 194 -
html5/runtime/vdom/element-types.js | 83 -
html5/runtime/vdom/element.js | 459 -
html5/runtime/vdom/index.js | 16 +-
html5/runtime/vdom/node.js | 49 -
html5/runtime/vdom/operation.js | 8 -
html5/test/case/prepare.js | 4 +-
html5/test/unit/default/app/bundle.js | 98 +-
html5/test/unit/default/helper/document.js | 145 -
html5/test/unit/default/runtime.js | 485 -
html5/test/unit/default/vm/compiler.js | 614 -
html5/test/unit/default/vm/directive.js | 279 -
html5/test/unit/default/vm/dom-helper.js | 2 +-
html5/test/unit/default/vm/vm.js | 2 +-
html5/test/unit/runtime/legacy-framework.js | 353 +
html5/test/unit/runtime/runner/helper.js | 73 +
html5/test/unit/runtime/runner/vanilla.js | 59 +
html5/test/unit/runtime/runner/vue.js | 67 +
html5/test/unit/runtime/vdom/directive.js | 101 +
html5/test/unit/runtime/vdom/index.js | 639 +
html5/test/unit/runtime/vdom/listener.js | 381 +
html5/test/unit/runtime/vdom/node.js | 39 +
html5/test/unit/shared/BroadcastChannel.js | 7 -
html5/test/unit/shared/arrayFrom.js | 5 -
html5/test/unit/shared/index.js | 20 +-
html5/test/unit/vanilla/index.js | 13 -
html5/test/unit/vdom/index.js | 659 -
html5/test/unit/vdom/listener.js | 423 -
html5/test/unit/vdom/node.js | 39 -
ios/playground/WeexDemo/WXExtModule.m | 7 +
.../Sources/Component/WXComponent_internal.h | 2 +
.../Sources/Component/WXImageComponent.m | 2 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 6 +-
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 9 +-
.../WeexSDK/Sources/Module/WXAnimationModule.m | 1 -
ios/sdk/WeexSDK/Sources/Module/WXTransition.m | 2 +-
.../Sources/Protocol/WXJSExceptionProtocol.h | 10 +
.../Sources/View/WXComponent+ViewManagement.m | 10 +
package.json | 13 +-
packages/weex-html5/index.js | 38779 +++++++++++++++++
packages/weex-html5/index.min.js | 1 +
packages/weex-js-framework/index.js | 1088 +-
packages/weex-js-framework/index.min.js | 2 +-
packages/weex-js-runtime/index.js | 937 +-
packages/weex-js-runtime/index.min.js | 4 +
packages/weex-legacy-framework/index.js | 23 +-
packages/weex-legacy-framework/index.min.js | 2 +-
packages/weex-legacy-framework/package.json | 2 +-
packages/weex-vanilla-framework/.npmignore | 4 +
packages/weex-vanilla-framework/index.js | 136 +
packages/weex-vanilla-framework/index.min.js | 1 +
packages/weex-vanilla-framework/package.json | 21 +
scripts/build_from_source.sh | 10 +-
test/scripts/attributes/compositing.test.js | 4 +-
test/scripts/components/hyperlink.test.js | 4 +-
test/scripts/components/iconfont.test.js | 4 +-
test/scripts/components/image-onload.test.js | 4 +-
test/scripts/components/input-event.test.js | 4 +-
test/scripts/components/recycler.test.js | 4 +-
test/scripts/components/refresh-loading.test.js | 4 +-
test/scripts/components/scroll-event.test.js | 8 +-
test/scripts/components/scroller-fixed.test.js | 4 +-
test/scripts/components/slider-common.test.js | 4 +-
test/scripts/components/slider-infinite.test.js | 4 +-
test/scripts/components/switch-event.test.js | 4 +-
test/scripts/components/text.test.js | 4 +-
.../components/textarea-maxlength.test.js | 4 +-
test/scripts/components/web-event.test.js | 4 +-
test/scripts/css/border.test.js | 4 +-
test/scripts/dom.test.js | 4 +-
test/scripts/index.test.js | 4 +-
.../scripts/modules/animation-translate.test.js | 4 +-
test/scripts/modules/clipboard-event.test.js | 4 +-
test/scripts/modules/downgrade-event.test.js | 4 +-
test/scripts/modules/gesture-longpress.test.js | 4 +-
test/scripts/modules/globalEvent.test.js | 4 +-
test/scripts/modules/modal-event.test.js | 5 +-
test/scripts/modules/picker-event.test.js | 4 +-
test/scripts/modules/storage-event.test.js | 4 +-
test/scripts/modules/stream-result.test.js | 4 +-
test/scripts/modules/timer.test.js | 4 +-
test/scripts/zcover-generate.js | 4 +-
130 files changed, 43966 insertions(+), 5760 deletions(-)
----------------------------------------------------------------------
[23/47] incubator-weex git commit: * [html5] update README
Posted by gu...@apache.org.
* [html5] update README
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/60ce6306
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/60ce6306
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/60ce6306
Branch: refs/heads/dev
Commit: 60ce6306fca87be38b10da56724149bbd7c592cf
Parents: b8aae6f
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 5 10:56:21 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 5 10:56:21 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 1 +
packages/weex-vue-render/README.md | 1 +
2 files changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/60ce6306/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index bcdd2de..2c915a6 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -145,6 +145,7 @@ vue: {
#### 0.12.8
* optimize event binding.
+* fix a-jump interception condition.
## component -> dom map
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/60ce6306/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index bcdd2de..2c915a6 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -145,6 +145,7 @@ vue: {
#### 0.12.8
* optimize event binding.
+* fix a-jump interception condition.
## component -> dom map
[21/47] incubator-weex git commit: * [html5] fix return event of
input component on android UC browser.
Posted by gu...@apache.org.
* [html5] fix return event of input component on android UC browser.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0ae0fcfa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0ae0fcfa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0ae0fcfa
Branch: refs/heads/dev
Commit: 0ae0fcfaf0ae3a2802a76f5aeb6d7b2c53978af5
Parents: 125f17d
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 4 18:20:46 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 4 18:20:46 2017 +0800
----------------------------------------------------------------------
html5/render/vue/mixins/input-common.js | 6 +++---
vue.html | 15 +++++++++------
2 files changed, 12 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0ae0fcfa/html5/render/vue/mixins/input-common.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/mixins/input-common.js b/html5/render/vue/mixins/input-common.js
index f5fa18b..db86079 100644
--- a/html5/render/vue/mixins/input-common.js
+++ b/html5/render/vue/mixins/input-common.js
@@ -46,10 +46,10 @@ export default {
const keyboardEvents = {
'keyup': function (ev) {
const code = ev.keyCode
- let key = ev.key
+ const key = ev.key
if (code === 13) {
- if (key.toLowerCase() === 'tab') {
- key = 'next'
+ if (!key || key.toLowerCase() === 'tab') {
+ ev.key = 'next'
}
const rightKeyType = findEnterKeyType(customKeyType)
ev.returnKeyType = rightKeyType
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0ae0fcfa/vue.html
----------------------------------------------------------------------
diff --git a/vue.html b/vue.html
index aa8b353..f403a2f 100644
--- a/vue.html
+++ b/vue.html
@@ -44,21 +44,24 @@
opacity: 0.7;
}
</style>
-
+</head>
+<body>
+ <div id="root"></div>
+ <!-- <script>
+ window.onerror = function (err) {
+ alert('error!' + JSON.stringify(err))
+ }
+ </script> -->
<!--<script src="./node_modules/vue/dist/vue.runtime.min.js"></script>-->
- <script src="./node_modules/vue/dist/vue.runtime.js"></script>
+ <script src="./node_modules/vue/dist/vue.runtime.js"></script>
<!--<script src="dist/vue.runtime.js"></script> -->
<!-- <script src="./node_modules/weex-vue-render/index.min.js"></script> -->
<script src="./packages/weex-vue-render/dist/index.js"></script>
<!--<script src="./dist/render.vue.js"></script>-->
<!--<script src="./dist/render.vue.min.js"></script>-->
<!--<script src="./packages/weex-vue-render/dist/index.min.js"></script>-->
-
<!--This line is only used to run weex-picker example,you can remove this line when you do not need weex-picker module-->
<script src="./node_modules/@weex-project/weex-picker/js/build/index.js"></script>
-</head>
-<body>
- <div id="root"></div>
<script>
/**
* these iife is just for the convenience for the showcase of demos.
[44/47] incubator-weex git commit: Merge branch '0.16-dev' into
0.16-dev-web
Posted by gu...@apache.org.
Merge branch '0.16-dev' into 0.16-dev-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/cda836a0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/cda836a0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/cda836a0
Branch: refs/heads/dev
Commit: cda836a0f5526cbb6e5c73a408a019fce0203dd8
Parents: 52aed20 2513b0f
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 26 11:09:30 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 26 11:09:30 2017 +0800
----------------------------------------------------------------------
.travis.yml | 52 +-
POSSIBLE-NOTICES-FOR-BIN-DIST | 5 +-
WeexSDK.podspec | 2 -
android/build.gradle | 13 +-
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 +
.../main/java/com/taobao/weex/WXSDKEngine.java | 5 +
.../java/com/taobao/weex/WXSDKInstance.java | 122 +-
.../weex/appfram/pickers/DatePickerImpl.java | 3 +-
.../appfram/websocket/WebSocketCloseCodes.java | 2 +-
.../com/taobao/weex/bridge/WXBridgeManager.java | 79 +-
.../java/com/taobao/weex/bridge/WXParams.java | 9 +
.../java/com/taobao/weex/common/Constants.java | 31 +
.../java/com/taobao/weex/common/WXConfig.java | 1 +
.../com/taobao/weex/dom/ImmutableDomObject.java | 21 +-
.../main/java/com/taobao/weex/dom/WXAttr.java | 147 +-
.../com/taobao/weex/dom/WXCellDomObject.java | 53 +-
.../java/com/taobao/weex/dom/WXDomObject.java | 26 +-
.../main/java/com/taobao/weex/dom/WXEvent.java | 120 +-
.../taobao/weex/dom/WXRecyclerDomObject.java | 58 +-
.../main/java/com/taobao/weex/dom/WXStyle.java | 17 -
.../com/taobao/weex/dom/WXTextDomObject.java | 24 +-
.../dom/action/AbstractAddElementAction.java | 12 +-
.../com/taobao/weex/dom/action/Actions.java | 8 +-
.../taobao/weex/dom/action/AddEventAction.java | 11 +-
.../weex/dom/action/CreateBodyAction.java | 12 +-
.../weex/dom/action/ReloadPageAction.java | 6 +-
.../weex/dom/action/RemoveEventAction.java | 5 +-
.../com/taobao/weex/dom/binding/ELUtils.java | 125 +
.../taobao/weex/dom/binding/WXStatement.java | 160 +
.../com/taobao/weex/el/parse/ArrayStack.java | 75 +
.../java/com/taobao/weex/el/parse/Block.java | 75 +
.../java/com/taobao/weex/el/parse/Operator.java | 106 +
.../com/taobao/weex/el/parse/Operators.java | 499 +
.../java/com/taobao/weex/el/parse/Parser.java | 485 +
.../java/com/taobao/weex/el/parse/Symbol.java | 37 +
.../java/com/taobao/weex/el/parse/Token.java | 89 +
.../weex/ui/component/AppearanceHelper.java | 9 +
.../weex/ui/component/WXBasicComponentType.java | 3 +
.../taobao/weex/ui/component/WXComponent.java | 299 +-
.../com/taobao/weex/ui/component/WXDiv.java | 74 +-
.../com/taobao/weex/ui/component/WXHeader.java | 4 +-
.../com/taobao/weex/ui/component/WXImage.java | 7 +
.../com/taobao/weex/ui/component/WXLoading.java | 5 +-
.../com/taobao/weex/ui/component/WXRefresh.java | 5 +-
.../com/taobao/weex/ui/component/WXSlider.java | 4 +-
.../com/taobao/weex/ui/component/WXText.java | 65 +-
.../taobao/weex/ui/component/WXVContainer.java | 44 +-
.../weex/ui/component/binding/Layouts.java | 92 +
.../weex/ui/component/binding/Statements.java | 420 +
.../ui/component/list/RecyclerTransform.java | 90 +
.../taobao/weex/ui/component/list/WXCell.java | 65 +-
.../weex/ui/component/list/WXListComponent.java | 53 +-
.../list/template/CellLifecycleManager.java | 211 +
.../list/template/TemplateStickyHelper.java | 252 +
.../list/template/TemplateViewHolder.java | 79 +
.../list/template/WXRecyclerTemplateList.java | 1463 +
.../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 +-
.../weex/ui/view/WXBaseCircleIndicator.java | 131 +-
.../com/taobao/weex/ui/view/WXFrameLayout.java | 53 +-
.../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 +-
.../listview/ExtendedLinearLayoutManager.java | 20 +
.../weex/ui/view/listview/WXRecyclerView.java | 50 +
.../com/taobao/weex/utils/BoxShadowUtil.java | 510 +
.../com/taobao/weex/utils/FunctionParser.java | 6 -
.../java/com/taobao/weex/utils/LogLevel.java | 4 +-
.../java/com/taobao/weex/utils/OsVersion.java | 2 +-
.../main/java/com/taobao/weex/utils/Trace.java | 4 +-
.../java/com/taobao/weex/utils/WXLogUtils.java | 14 +
.../com/taobao/weex/utils/WXResourceUtils.java | 4 +
.../java/com/taobao/weex/utils/WXUtils.java | 21 +
.../java/com/taobao/weex/utils/WXViewUtils.java | 31 +
.../com/taobao/weex/el/IfStatementTest.java | 155 +
.../java/com/taobao/weex/el/ParserTest.java | 244 +
.../com/taobao/weex/ui/component/WXDivTest.java | 12 +-
.../taobao/weex/ui/component/WXTextTest.java | 18 +-
.../ui/component/binding/BindingValueTest.java | 65 +
.../ui/component/binding/StatementTest.java | 184 +
.../ui/component/list/WXListComponentTest.java | 3 +-
.../weex/ui/module/WXTimerModuleTest.java | 45 +-
build/config.js | 3 +-
dangerfile-android.js | 108 +
dangerfile-ios.js | 107 +
dangerfile-jsfm.js | 105 +
dangerfile.js | 6 +-
doc/source/cn/guide/index.md | 9 +-
doc/source/cn/guide/set-up-env.md | 68 +-
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 | 7 +-
doc/source/cn/references/modules/dom.md | 2 +-
doc/source/cn/references/weex-variable.md | 48 +
doc/source/guide/index.md | 4 +-
doc/source/guide/set-up-env.md | 62 +-
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 | 9 +-
doc/source/references/modules/dom.md | 2 +-
doc/source/references/weex-variable.md | 52 +-
html5/render/vue/components/input.js | 2 +-
html5/runtime/index.js | 4 +-
html5/runtime/vdom/Document.js | 15 +-
html5/runtime/vdom/Element.js | 45 +-
html5/test/unit/default/vm/events.js | 4 +-
html5/test/unit/default/vm/vm.js | 2 +-
html5/test/unit/runtime/vdom/index.js | 2 +-
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 151 +-
.../WeexSDK/Sources/Bridge/WXBridgeContext.m | 4 +-
.../Sources/Bridge/WXDebugLoggerBridge.h | 26 -
.../Sources/Bridge/WXDebugLoggerBridge.m | 213 -
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 91 +-
.../Component/RecycleList/WXCellSlotComponent.h | 32 +
.../Component/RecycleList/WXCellSlotComponent.m | 93 +
.../RecycleList/WXComponent+DataBinding.h | 31 +
.../RecycleList/WXComponent+DataBinding.mm | 458 +
.../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 | 51 +
.../RecycleList/WXRecycleListUpdateManager.m | 262 +
.../Component/Recycler/WXMultiColumnLayout.m | 32 +-
.../Recycler/WXSectionDataController.m | 2 +-
.../WeexSDK/Sources/Component/WXCellComponent.m | 4 +-
.../Sources/Component/WXComponent_internal.h | 31 +-
.../Sources/Component/WXImageComponent.m | 42 +-
.../WeexSDK/Sources/Component/WXListComponent.m | 4 +
.../Sources/Component/WXScrollerComponent.h | 2 +
.../Sources/Component/WXScrollerComponent.m | 13 +-
.../WeexSDK/Sources/Component/WXTextComponent.m | 14 +-
.../WeexSDK/Sources/Component/WXWebComponent.m | 1 +
.../Sources/Display/WXComponent+Display.m | 16 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 8 +-
.../WeexSDK/Sources/Events/WXComponent+Events.m | 40 +-
.../WeexSDK/Sources/Layout/WXComponent+Layout.m | 4 +-
.../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 | 149 +-
.../WeexSDK/Sources/Manager/WXTracingManager.h | 5 +
.../WeexSDK/Sources/Manager/WXTracingManager.m | 11 +
ios/sdk/WeexSDK/Sources/Model/WXComponent.h | 19 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 178 +-
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 12 +
.../WeexSDK/Sources/Module/WXAnimationModule.m | 26 +-
.../WeexSDK/Sources/Module/WXModalUIModule.m | 4 +-
.../WeexSDK/Sources/Module/WXPrerenderManager.m | 50 +-
ios/sdk/WeexSDK/Sources/Module/WXTransition.h | 16 +
ios/sdk/WeexSDK/Sources/Module/WXTransition.m | 24 +
.../WeexSDK/Sources/Module/WXWebSocketModule.m | 1 -
ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.h | 1 +
ios/sdk/WeexSDK/Sources/Monitor/WXMonitor.m | 1 +
.../Sources/Protocol/WXAppMonitorProtocol.h | 1 +
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 24 +-
ios/sdk/WeexSDK/Sources/Utility/WXDefine.h | 2 +
ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.h | 23 +-
ios/sdk/WeexSDK/Sources/Utility/WXDiffUtil.m | 86 +-
ios/sdk/WeexSDK/Sources/Utility/WXLog.m | 15 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 20 +-
ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 4 +
.../Sources/View/WXComponent+ViewManagement.m | 4 +
.../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/Sources/WeexSDK.h | 1 +
ios/sdk/WeexSDK/dependency/SRWebSocket.h | 135 -
ios/sdk/WeexSDK/dependency/SRWebSocket.m | 1806 -
package.json | 9 +-
packages/weex-js-framework/index.js | 44451 +++++++++--------
packages/weex-js-framework/index.min.js | 9 +-
packages/weex-js-framework/package.json | 2 +-
packages/weex-js-runtime/index.js | 270 +-
packages/weex-js-runtime/index.min.js | 6 +-
packages/weex-js-runtime/index.min.js.gz | Bin 13215 -> 0 bytes
pre-build/native-bundle-main.js | 16 +-
scripts/build_from_source.sh | 2 +-
scripts/generate_apache_release.sh | 2 +-
start | 5 +-
test/pages/components/iconfont.vue | 6 +-
test/pages/modules/modal-event.vue | 2 +-
test/pages/modules/picker-event.vue | 6 +-
test/pages/modules/vue_timer.vue | 14 +-
test/pages/modules/we_timer.we | 14 +-
test/run.sh | 25 +-
test/screenshot/border-android.png | Bin 158634 -> 0 bytes
test/screenshot/border-ios.png | Bin 126185 -> 128088 bytes
test/screenshot/compositing-ios.png | Bin 228306 -> 229534 bytes
test/screenshot/image-resize-android.png | Bin 214440 -> 218804 bytes
test/screenshot/image-resize-ios.png | Bin 138033 -> 138103 bytes
test/scripts/components/scroll-event.test.js | 2 +-
test/scripts/modules/picker-event.test.js | 4 +-
225 files changed, 34670 insertions(+), 25587 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cda836a0/build/config.js
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cda836a0/html5/render/vue/components/input.js
----------------------------------------------------------------------
diff --cc html5/render/vue/components/input.js
index b9d403d,a3e608b..dcde6f0
--- a/html5/render/vue/components/input.js
+++ b/html5/render/vue/components/input.js
@@@ -19,9 -19,10 +19,9 @@@
/**
* @fileOverview Input component.
- * Support v-model only if vue version is large than 2.2.0
+ * Support v-model only if vue version is larger than 2.2.0
*/
-let extractComponentStyle, createEventMap
-let extend, mapFormEvents, appendCss
+let extractComponentStyle, mapFormEvents, appendCss
const ID_PREFIX_PLACEHOLDER_COLOR = 'wipt_plc_'
const ID_PREFIX_INPUT = 'wipt_'
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cda836a0/package.json
----------------------------------------------------------------------
diff --cc package.json
index 58a3fcc,8315da2..d52a121
--- a/package.json
+++ b/package.json
@@@ -3,8 -3,8 +3,8 @@@
"version": "0.12.2",
"subversion": {
"browser": "0.5.0",
- "framework": "0.21.11",
+ "framework": "0.22.4",
- "vue-render": "0.12.3",
+ "vue-render": "0.12.17",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
[41/47] incubator-weex git commit: * [html5] add feature offset
appear.
Posted by gu...@apache.org.
* [html5] add feature offset appear.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5554d51e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5554d51e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5554d51e
Branch: refs/heads/dev
Commit: 5554d51ecd632b1a7826574541efda99240a5105
Parents: 524fbd1
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 25 16:11:35 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 25 16:11:35 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 +
html5/render/vue/mixins/base.js | 4 +-
html5/render/vue/utils/component.js | 160 ++++++++++++++++++-----------
package.json | 2 +-
packages/weex-vue-render/README.md | 4 +
packages/weex-vue-render/package.json | 2 +-
6 files changed, 112 insertions(+), 64 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5554d51e/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index d2b8c89..ad7c61f 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -176,6 +176,10 @@ vue: {
* not to prevent default behaviour of click events unless the click-binding element is inside a `<a>` link, or it is a `<a>` link and has a `prevent` attribute on it.
+#### 0.12.17
+
+* support offset appear.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5554d51e/html5/render/vue/mixins/base.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/mixins/base.js b/html5/render/vue/mixins/base.js
index 06bc980..28c7703 100644
--- a/html5/render/vue/mixins/base.js
+++ b/html5/render/vue/mixins/base.js
@@ -19,7 +19,6 @@
import {
getThrottleLazyload,
watchAppear,
- triggerAppear,
triggerDisappear,
extend
} from '../utils'
@@ -73,8 +72,7 @@ export default {
if (this.$el && (i = j = this.$vnode) && (i = i.data) && (j = j.componentOptions)) {
this.$el.attrs = extend({}, i.attrs, j.propsData)
}
- triggerAppear(this)
- watchAppear(this)
+ watchAppear(this, true)
},
destroyed () {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5554d51e/html5/render/vue/utils/component.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/utils/component.js b/html5/render/vue/utils/component.js
index eb8ded7..f1e9ee0 100644
--- a/html5/render/vue/utils/component.js
+++ b/html5/render/vue/utils/component.js
@@ -36,9 +36,52 @@ export function getParentScroller (vm) {
return _getParentScroller(vm.$parent)
}
-export function hasIntersection (rect, ctRect) {
- return (rect.left < ctRect.right && rect.right > ctRect.left)
- && (rect.top < ctRect.bottom && rect.bottom > ctRect.top)
+function horizontalBalance (rect, ctRect) {
+ return rect.left < ctRect.right && rect.right > ctRect.left
+}
+
+function verticalBalance (rect, ctRect) {
+ return rect.top < ctRect.bottom && rect.bottom > ctRect.top
+}
+
+/**
+ * return a data array with two boolean value, which are:
+ * 1. visible in current ct's viewport.
+ * 2. visible with offset in current ct's viewport.
+ */
+export function hasIntersection (rect, ctRect, dir, offset) {
+ dir = dir || 'up'
+ const isHorizontal = dir === 'left' || dir === 'right'
+ const isVertical = dir === 'up' || dir === 'down'
+ if (isHorizontal && !verticalBalance(rect, ctRect)) {
+ return [false, false]
+ }
+ if (isVertical && !horizontalBalance(rect, ctRect)) {
+ return [false, false]
+ }
+ offset = parseInt(offset || 0) * weex.config.env.scale
+ switch (dir) {
+ case 'up':
+ return [
+ rect.top < ctRect.bottom && rect.bottom > ctRect.top,
+ rect.top < ctRect.bottom + offset && rect.bottom > ctRect.top - offset
+ ]
+ case 'down':
+ return [
+ rect.bottom > ctRect.top && rect.top < ctRect.bottom,
+ rect.bottom > ctRect.top - offset && rect.top < ctRect.bottom + offset
+ ]
+ case 'left':
+ return [
+ rect.left < ctRect.right && rect.right > ctRect.left,
+ rect.left < ctRect.right + offset && rect.right > ctRect.left - offset
+ ]
+ case 'right':
+ return [
+ rect.right > ctRect.left && rect.left < ctRect.right,
+ rect.right > ctRect.left - offset && rect.left < ctRect.right + offset
+ ]
+ }
}
/**
@@ -46,7 +89,7 @@ export function hasIntersection (rect, ctRect) {
* @param {HTMLElement} el a dom element.
* @param {HTMLElement} container optional, the container of this el.
*/
-export function isElementVisible (el, container) {
+export function isElementVisible (el, container, dir, offset) {
if (!el.getBoundingClientRect) { return false }
const bodyRect = {
top: 0,
@@ -57,30 +100,11 @@ export function isElementVisible (el, container) {
const ctRect = (container === document.body)
? bodyRect : container
? container.getBoundingClientRect() : bodyRect
- return hasIntersection(
- el.getBoundingClientRect(),
- ctRect)
-}
-
-export function isComponentVisible (component) {
- if (component.$el) {
- const scroller = getParentScroller(component)
- if (scroller && scroller.$el) {
- return hasIntersection(
- component.$el.getBoundingClientRect(),
- scroller.$el.getBoundingClientRect()
- )
- }
- else {
- return isElementVisible(component.$el)
- }
- }
- return false
+ return hasIntersection(el.getBoundingClientRect(), ctRect, dir, offset)
}
// to trigger the appear/disappear event.
-function triggerEvent (elm, handlers, isShow, dir) {
- const evt = isShow ? 'appear' : 'disappear'
+function triggerEvent (elm, handlers, evt, dir) {
let listener = handlers[evt]
if (listener && listener.fn) {
listener = listener.fn
@@ -111,16 +135,30 @@ export function getEventHandlers (context) {
return handlers
}
+function getAppearOffset (el) {
+ return el && el.getAttribute('appear-offset')
+}
+
+function checkHandlers (handlers) {
+ return [
+ !!(handlers.appear || handlers.disappear),
+ !!(handlers.offsetAppear || handlers.offsetDisappear)
+ ]
+}
+
/**
* Watch element's visibility to tell whether should trigger a appear/disappear
* event in scroll handler.
*/
-export function watchAppear (context) {
+export function watchAppear (context, fireNow) {
const el = context && context.$el
if (!el) { return }
+ const appearOffset = getAppearOffset(el)
const handlers = getEventHandlers(context)
- if (!handlers.appear && !handlers.disappear) {
+ const checkResults = checkHandlers(handlers)
+ // no appear or offsetAppear handler was bound.
+ if (!checkResults[0] && !checkResults[1]) {
return
}
@@ -134,16 +172,23 @@ export function watchAppear (context) {
isWindow = true
}
+ if (fireNow) {
+ const visibleData = isElementVisible(el, container, null, appearOffset)
+ detectAppear(context, visibleData, null)
+ }
+
// add current vm to the container's appear watch list.
if (!container._watchAppearList) {
container._watchAppearList = []
}
container._watchAppearList.push(context)
- if (container._scrollWatched) { return }
/**
* Code below will only exec once for binding scroll handler for parent container.
*/
+ if (container._scrollWatched) {
+ return
+ }
container._scrollWatched = true
const scrollHandler = throttle(event => {
/**
@@ -154,42 +199,29 @@ export function watchAppear (context) {
const scrollTop = isWindow ? window.pageYOffset : container.scrollTop
const preTop = container._lastScrollTop
container._lastScrollTop = scrollTop
- const dir = scrollTop < preTop
+ const dir = (scrollTop < preTop
? 'down' : scrollTop > preTop
- ? 'up' : null
-
+ ? 'up' : container._prevDirection) || null
+ container._prevDirection = dir
const watchAppearList = container._watchAppearList || []
const len = watchAppearList.length
for (let i = 0; i < len; i++) {
const vm = watchAppearList[i]
- const visible = isElementVisible(vm.$el, isWindow ? document.body : container)
- detectAppear(vm, visible, dir)
+ const el = vm.$el
+ const ct = isWindow ? document.body : container
+ const appearOffset = getAppearOffset(el)
+ const visibleData = isElementVisible(el, ct, dir, appearOffset)
+ detectAppear(vm, visibleData, dir)
}
}, 25, true)
container.addEventListener('scroll', scrollHandler, false)
}
/**
- * trigger a appear event.
- */
-export function triggerAppear (context, visible) {
- if (!context || !context.$el) { return }
- if (!visible) {
- let container = document.body
- const scroller = getParentScroller(context)
- if (scroller && scroller.$el) {
- container = scroller.$el
- }
- visible = isElementVisible(context.$el, container)
- }
- return detectAppear(context, visible)
-}
-
-/**
* trigger a disappear event.
*/
export function triggerDisappear (context) {
- return detectAppear(context, false)
+ return detectAppear(context, [false, false])
}
/**
@@ -198,26 +230,36 @@ export function triggerDisappear (context) {
* @param {boolean} visible
* @param {string} dir
*/
-export function detectAppear (context, visible, dir = null) {
+export function detectAppear (context, visibleData, dir = null, appearOffset) {
const el = context && context.$el
+ const [visible, offsetVisible] = visibleData
if (!el) { return }
const handlers = getEventHandlers(context)
/**
* No matter it's binding appear/disappear or both of them. Always
- * should test it's visibility and change the context._visible.
+ * should test it's visibility and change the context/._visible.
* If neithor of them was bound, then just ignore it.
*/
- if (!handlers['appear'] && !handlers['disappear']) { return }
/**
* if the component hasn't appeared for once yet, then it shouldn't trigger
* a disappear event at all.
*/
- if (!visible && !context._appearedOnce) { return }
- if (!context._visible === visible) {
- if (!context._appearedOnce) {
- context._appearedOnce = true
+ if (context._appearedOnce || visible) {
+ if (context._visible !== visible) {
+ if (!context._appearedOnce) {
+ context._appearedOnce = true
+ }
+ context._visible = visible
+ triggerEvent(el, handlers, visible ? 'appear' : 'disappear', dir)
+ }
+ }
+ if (context._offsetAppearedOnce || offsetVisible) {
+ if (context._offsetVisible !== offsetVisible) {
+ if (!context._offsetAppearedOnce) {
+ context._offsetAppearedOnce = true
+ }
+ context._offsetVisible = offsetVisible
+ triggerEvent(el, handlers, offsetVisible ? 'offsetAppear' : 'offsetDisappear', dir)
}
- context._visible = visible
- triggerEvent(el, handlers, visible, dir)
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5554d51e/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 49a5d76..d67d637 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.16",
+ "vue-render": "0.12.17",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5554d51e/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index d2b8c89..ad7c61f 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -176,6 +176,10 @@ vue: {
* not to prevent default behaviour of click events unless the click-binding element is inside a `<a>` link, or it is a `<a>` link and has a `prevent` attribute on it.
+#### 0.12.17
+
+* support offset appear.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5554d51e/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 57fed3f..c60617b 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.16",
+ "version": "0.12.17",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[36/47] incubator-weex git commit: * [html5] fix loading & refresh:
pullingdown wrongly triggered.
Posted by gu...@apache.org.
* [html5] fix loading & refresh: pullingdown wrongly triggered.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/56df42dd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/56df42dd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/56df42dd
Branch: refs/heads/dev
Commit: 56df42ddc13c18ad960c6ef7f4e5c1f9e51d9997
Parents: babd33b
Author: MrRaindrop <te...@gmail.com>
Authored: Fri Sep 15 15:47:12 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Fri Sep 15 15:47:12 2017 +0800
----------------------------------------------------------------------
.../components/scrollable/mixins/scrollable.js | 53 +++++++++++---------
1 file changed, 30 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/56df42dd/html5/render/vue/components/scrollable/mixins/scrollable.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/mixins/scrollable.js b/html5/render/vue/components/scrollable/mixins/scrollable.js
index 8f39580..19ffe74 100644
--- a/html5/render/vue/components/scrollable/mixins/scrollable.js
+++ b/html5/render/vue/components/scrollable/mixins/scrollable.js
@@ -225,34 +225,41 @@ export default {
},
handleTouchMove (event) {
- if (this._touchParams) {
- const inner = this.$refs.inner
- const { startY, reachTop, reachBottom } = this._touchParams
- if (inner) {
- const touch = event.changedTouches[0]
- const offsetY = touch.pageY - startY
- this._touchParams.offsetY = offsetY
- if (reachTop && this._refresh) {
- this._refresh.pullingDown(offsetY)
- }
- else if (reachBottom && this._loading) {
- this._loading.pullingUp(-offsetY)
- }
+ if (!this._touchParams || !this._refresh && !this._loading) {
+ return
+ }
+ const inner = this.$refs.inner
+ const { startY, reachTop, reachBottom } = this._touchParams
+ if (inner) {
+ const touch = event.changedTouches[0]
+ const offsetY = touch.pageY - startY
+ const dir = offsetY > 0 ? 'down' : 'up'
+ this._touchParams.offsetY = offsetY
+ if (this._refresh && (dir === 'down') && reachTop) {
+ this._refresh.pullingDown(offsetY)
+ }
+ else if (this._loading && (dir === 'up') && reachBottom) {
+ this._loading.pullingUp(-offsetY)
}
}
},
handleTouchEnd (event) {
- if (this._touchParams) {
- const inner = this.$refs.inner
- const { reachTop, reachBottom } = this._touchParams
- if (inner) {
- if (reachTop && this._refresh) {
- this._refresh.pullingEnd()
- }
- else if (reachBottom && this._loading) {
- this._loading.pullingEnd()
- }
+ if (!this._touchParams || !this._refresh && !this._loading) {
+ return
+ }
+ const inner = this.$refs.inner
+ const { startY, reachTop, reachBottom } = this._touchParams
+ if (inner) {
+ const touch = event.changedTouches[0]
+ const offsetY = touch.pageY - startY
+ const dir = offsetY > 0 ? 'down' : 'up'
+ this._touchParams.offsetY = offsetY
+ if (this._refresh && (dir === 'down') && reachTop) {
+ this._refresh.pullingEnd()
+ }
+ else if (this._loading && (dir === 'up') && reachBottom) {
+ this._loading.pullingEnd()
}
}
delete this._touchParams
[32/47] incubator-weex git commit: * [html5] release v0.12.11 & fix
firefox & impl methods of selection range.
Posted by gu...@apache.org.
* [html5] release v0.12.11 & fix firefox & impl methods of selection range.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/f58c820c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/f58c820c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/f58c820c
Branch: refs/heads/dev
Commit: f58c820c3d8b74fb19bfd359e3a0bc00e64ab36f
Parents: 2f3af6f
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 12 15:27:40 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 12 15:27:40 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 9 +++++++++
package.json | 2 +-
packages/weex-vue-render/README.md | 9 +++++++++
packages/weex-vue-render/package.json | 2 +-
4 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f58c820c/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index d27bdac..d8f241a 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -151,6 +151,15 @@ vue: {
* event handling ignore none-vue element.
+#### 0.12.10
+
+* fix accessing vm in dom which is not a vue component.
+
+#### 0.12.11
+
+* fix styles in firefox.
+* implement methods about selection range.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f58c820c/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index b4b605b..c98bc37 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.10",
+ "vue-render": "0.12.11",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f58c820c/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index d27bdac..d8f241a 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -151,6 +151,15 @@ vue: {
* event handling ignore none-vue element.
+#### 0.12.10
+
+* fix accessing vm in dom which is not a vue component.
+
+#### 0.12.11
+
+* fix styles in firefox.
+* implement methods about selection range.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/f58c820c/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index bf978ae..54cefab 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.10",
+ "version": "0.12.11",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[09/47] incubator-weex git commit: * [html5] pack cjs bundle.
Posted by gu...@apache.org.
* [html5] pack cjs 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/52b04970
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/52b04970
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/52b04970
Branch: refs/heads/dev
Commit: 52b04970f38e0121e81d71f79ea96d367011b6ae
Parents: 26646cf
Author: MrRaindrop <te...@gmail.com>
Authored: Wed Aug 23 10:58:52 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Wed Aug 23 10:58:52 2017 +0800
----------------------------------------------------------------------
build/build.js | 8 ++++----
html5/render/vue/README.md | 4 ++++
package.json | 2 +-
packages/weex-vue-render/README.md | 4 ++++
packages/weex-vue-render/package.json | 4 ++--
5 files changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52b04970/build/build.js
----------------------------------------------------------------------
diff --git a/build/build.js b/build/build.js
index 02f1e8c..a191260 100644
--- a/build/build.js
+++ b/build/build.js
@@ -210,12 +210,12 @@ function build (name) {
return runRollup(config).then(() => {
let p = Promise.resolve()
if (name === 'vue') {
- const esConfig = getConfig(pkgName, false, {
- format: 'es',
+ const cjsConfig = getConfig(pkgName, false, {
+ format: 'cjs',
_isProd: true
})
- esConfig.dest = esConfig.dest.replace(/\.js$/, '.es.js')
- p = runRollup(esConfig)
+ cjsConfig.dest = cjsConfig.dest.replace(/\.js$/, '.common.js')
+ p = runRollup(cjsConfig)
}
return p.then(function () {
return runRollup(minifyConfig).then(() => {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52b04970/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index eb2d21a..7e507c9 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -138,6 +138,10 @@ vue: {
* fix `modal.toast` on android.
* fix css prefixer for gradients.
+#### 0.12.4
+
+* fix scanning style in production with uglified code.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52b04970/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 4579a27..02ad3ed 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.9",
- "vue-render": "0.12.3",
+ "vue-render": "0.12.4",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52b04970/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index eb2d21a..7e507c9 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -138,6 +138,10 @@ vue: {
* fix `modal.toast` on android.
* fix css prefixer for gradients.
+#### 0.12.4
+
+* fix scanning style in production with uglified code.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52b04970/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 8c38634..c6dfb4a 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,9 +1,9 @@
{
"name": "weex-vue-render",
- "version": "0.12.3",
+ "version": "0.12.4",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
- "main": "dist/index.js",
+ "main": "dist/index.common.js",
"repository": {
"type": "git",
"url": "git@github.com:apache/incubator-weex.git"
[10/47] incubator-weex git commit: * [html5] add event manager to
delegate events.
Posted by gu...@apache.org.
* [html5] add event manager to delegate events.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2504db58
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2504db58
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2504db58
Branch: refs/heads/dev
Commit: 2504db58d113ae7964d07c934c4fa745b05c2f0c
Parents: 52b0497
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 14:52:22 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 14:52:22 2017 +0800
----------------------------------------------------------------------
html5/render/vue/components/a.js | 19 +--
html5/render/vue/components/div.js | 4 +-
html5/render/vue/components/input.js | 7 +-
html5/render/vue/components/scrollable/cell.js | 3 +-
.../render/vue/components/scrollable/header.js | 5 +-
html5/render/vue/components/scrollable/list.js | 2 +-
.../components/scrollable/mixins/scrollable.js | 6 -
.../vue/components/scrollable/scroller.js | 2 +-
.../vue/components/scrollable/waterfall.js | 2 +-
html5/render/vue/components/slider/index.js | 2 +
html5/render/vue/config.js | 3 +-
html5/render/vue/core/node.js | 117 ++-------------
html5/render/vue/env/event-manager.js | 148 +++++++++++++++++++
html5/render/vue/index.js | 4 +
html5/render/vue/lib/gesture.js | 2 +-
html5/render/vue/utils/event.js | 16 ++
16 files changed, 195 insertions(+), 147 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/a.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/a.js b/html5/render/vue/components/a.js
index 1d8946f..ff4a59d 100644
--- a/html5/render/vue/components/a.js
+++ b/html5/render/vue/components/a.js
@@ -28,8 +28,7 @@ let cnt = 0
function getA (weex) {
const {
extractComponentStyle,
- trimTextVNodes,
- createEventMap
+ trimTextVNodes
} = weex
return {
@@ -37,21 +36,6 @@ function getA (weex) {
props: {
href: String
},
- mounted () {
- const $el = this.$el
- const id = $el.id
-
- /**
- * if there is a child component already triggered a click handler, then
- * this link jumping should be prevented.
- */
- $el.addEventListener('click', (e) => {
- const el = e._triggered && e._triggered.el
- if (el && (el !== $el) && !el.querySelector(`#${id}`)) {
- e.preventDefault()
- }
- })
- },
render (createElement) {
/* istanbul ignore next */
// if (process.env.NODE_ENV === 'development') {
@@ -64,7 +48,6 @@ function getA (weex) {
'id': `weex-a-${id}`,
href: this.href
},
- on: createEventMap(this),
staticClass: 'weex-a weex-ct',
staticStyle: extractComponentStyle(this)
}, trimTextVNodes(this.$slots.default))
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/div.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/div.js b/html5/render/vue/components/div.js
index 8f05163..8b29a70 100644
--- a/html5/render/vue/components/div.js
+++ b/html5/render/vue/components/div.js
@@ -26,8 +26,7 @@ body > .weex-div {
function getDiv (weex) {
const {
extractComponentStyle,
- trimTextVNodes,
- createEventMap
+ trimTextVNodes
} = weex
return {
@@ -35,7 +34,6 @@ function getDiv (weex) {
render (createElement) {
return createElement('html:div', {
attrs: { 'weex-type': 'div' },
- on: createEventMap(this),
staticClass: 'weex-div weex-ct',
staticStyle: extractComponentStyle(this)
}, trimTextVNodes(this.$slots.default))
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/input.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/input.js b/html5/render/vue/components/input.js
index 0e8d466..b9d403d 100644
--- a/html5/render/vue/components/input.js
+++ b/html5/render/vue/components/input.js
@@ -21,8 +21,7 @@
* @fileOverview Input component.
* Support v-model only if vue version is large than 2.2.0
*/
-let extractComponentStyle, createEventMap
-let extend, mapFormEvents, appendCss
+let extractComponentStyle, mapFormEvents, appendCss
const ID_PREFIX_PLACEHOLDER_COLOR = 'wipt_plc_'
const ID_PREFIX_INPUT = 'wipt_'
@@ -104,7 +103,7 @@ function getInput (weex) {
if (!this._id) {
this._id = idCount++
}
- const events = extend(createEventMap(this), mapFormEvents(this))
+ const events = mapFormEvents(this)
return createElement('html:input', {
attrs: {
'weex-type': 'input',
@@ -132,8 +131,6 @@ function getInput (weex) {
export default {
init (weex) {
extractComponentStyle = weex.extractComponentStyle
- createEventMap = weex.createEventMap
- extend = weex.utils.extend
mapFormEvents = weex.utils.mapFormEvents
appendCss = weex.utils.appendCss
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/scrollable/cell.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/cell.js b/html5/render/vue/components/scrollable/cell.js
index fb6ca1e..e5e8301 100644
--- a/html5/render/vue/components/scrollable/cell.js
+++ b/html5/render/vue/components/scrollable/cell.js
@@ -18,13 +18,12 @@
*/
function getCell (weex) {
- const { extractComponentStyle, createEventMap } = weex
+ const { extractComponentStyle } = weex
return {
name: 'weex-cell',
render (createElement) {
return createElement('section', {
attrs: { 'weex-type': 'cell' },
- on: createEventMap(this),
staticClass: 'weex-cell weex-ct',
staticStyle: extractComponentStyle(this)
}, this.$slots.default)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/scrollable/header.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/header.js b/html5/render/vue/components/scrollable/header.js
index 35fe72a..5abd78e 100644
--- a/html5/render/vue/components/scrollable/header.js
+++ b/html5/render/vue/components/scrollable/header.js
@@ -18,7 +18,7 @@
*/
function getHeader (weex) {
- const { extractComponentStyle, createEventMap } = weex
+ const { extractComponentStyle } = weex
const { supportSticky } = weex.utils
return {
@@ -33,7 +33,7 @@ function getHeader (weex) {
mounted () {
this.initTop = this.$el.offsetTop
- this.placeholder = window.document.createElement('div')
+ this.placeholder = window.document.createElement('header')
},
updated () {
@@ -68,7 +68,6 @@ function getHeader (weex) {
// }
return createElement('html:header', {
attrs: { 'weex-type': 'header' },
- on: createEventMap(this),
ref: 'header',
staticClass: 'weex-header weex-ct',
class: { 'weex-sticky': this.sticky, 'weex-ios-sticky': this.supportSticky },
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/scrollable/list.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/list.js b/html5/render/vue/components/scrollable/list.js
index aa6740b..77f8926 100644
--- a/html5/render/vue/components/scrollable/list.js
+++ b/html5/render/vue/components/scrollable/list.js
@@ -44,7 +44,7 @@ function getList (weex) {
return true
})
return [
- h('html:div', {
+ h('article', {
ref: 'inner',
staticClass: 'weex-list-inner weex-ct'
}, this._cells)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/scrollable/mixins/scrollable.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/mixins/scrollable.js b/html5/render/vue/components/scrollable/mixins/scrollable.js
index 0d78db9..8f39580 100644
--- a/html5/render/vue/components/scrollable/mixins/scrollable.js
+++ b/html5/render/vue/components/scrollable/mixins/scrollable.js
@@ -211,8 +211,6 @@ export default {
},
handleTouchStart (event) {
- // event.preventDefault()
- // event.stopPropagation()
if (this._loading || this._refresh) {
const touch = event.changedTouches[0]
this._touchParams = {
@@ -227,8 +225,6 @@ export default {
},
handleTouchMove (event) {
- // event.preventDefault()
- // event.stopPropagation()
if (this._touchParams) {
const inner = this.$refs.inner
const { startY, reachTop, reachBottom } = this._touchParams
@@ -247,8 +243,6 @@ export default {
},
handleTouchEnd (event) {
- // event.preventDefault()
- // event.stopPropagation()
if (this._touchParams) {
const inner = this.$refs.inner
const { reachTop, reachBottom } = this._touchParams
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/scrollable/scroller.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/scroller.js b/html5/render/vue/components/scrollable/scroller.js
index 56e83d4..655edcf 100644
--- a/html5/render/vue/components/scrollable/scroller.js
+++ b/html5/render/vue/components/scrollable/scroller.js
@@ -65,7 +65,7 @@ function getScroller (weex) {
return true
})
return [
- h('html:div', {
+ h('article', {
ref: 'inner',
staticClass: 'weex-scroller-inner weex-ct'
}, this._cells)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/scrollable/waterfall.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/waterfall.js b/html5/render/vue/components/scrollable/waterfall.js
index 82b2295..9052994 100644
--- a/html5/render/vue/components/scrollable/waterfall.js
+++ b/html5/render/vue/components/scrollable/waterfall.js
@@ -124,7 +124,7 @@ function getWaterfall (weex) {
}, this._columns))
this._loading && children.push(this._loading)
return [
- h('html:div', {
+ h('article', {
ref: 'inner',
staticClass: 'weex-waterfall-inner weex-ct'
}, children)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/components/slider/index.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/slider/index.js b/html5/render/vue/components/slider/index.js
index cd9d4ec..80699d9 100644
--- a/html5/render/vue/components/slider/index.js
+++ b/html5/render/vue/components/slider/index.js
@@ -18,11 +18,13 @@
*/
import slider from './slider'
+import neighbor from './slider-neighbor'
import indicator from './indicator'
export default {
init (weex) {
weex.install(slider)
+ weex.install(neighbor)
weex.install(indicator)
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/config.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/config.js b/html5/render/vue/config.js
index bccf1e3..0858b2f 100644
--- a/html5/render/vue/config.js
+++ b/html5/render/vue/config.js
@@ -23,7 +23,6 @@ export default {
'panmove',
'panend',
'swipe',
- 'longpress',
- 'tap'
+ 'longpress'
]
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/core/node.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/core/node.js b/html5/render/vue/core/node.js
index d515ea5..caf4230 100644
--- a/html5/render/vue/core/node.js
+++ b/html5/render/vue/core/node.js
@@ -17,11 +17,8 @@
* under the License.
*/
-import { isArray, createEvent, createBubblesEvent } from '../utils'
-import config from '../config'
+import { isArray } from '../utils'
-// The space used to store the tap event queue
-const _tapQueue = []
/**
* remove text nodes in the nodes array.
* @param {Array} nodes
@@ -35,20 +32,6 @@ export function trimTextVNodes (vnodes) {
}
/**
- * is a element in a '<a>' tag?
- * @param {HTMLElement} el
- */
-function isInANode (el) {
- let parent = el.parentNode
- while (parent && parent !== document.body) {
- if (parent.tagName.toLowerCase() === 'a') {
- return true
- }
- parent = parent.parentNode
- }
-}
-
-/**
* get listeners from on config and v-on binding.
* v-on binding has a priority over on config.
* @param {vnode} vnode
@@ -70,20 +53,13 @@ function getListeners (vnode, evt) {
return handlers
}
-const supportedEvents = [
- 'longpress', 'appear', 'disappear',
- 'touchstart', 'touchmove', 'touchend',
- 'panstart', 'panmove', 'panend', 'swipe', 'longpress'
-]
-
/**
* emit native events to enable v-on.
* @param {VComponent} context: which one to emit a event on.
- * @param {array | object} extras: extra events. You can pass in multiple arguments here.
+ * @param {array | object} events: extra events. You can pass in multiple arguments here.
*/
-export function createEventMap (context, ...extras) {
+export function createEventMap (context, ...events) {
const eventMap = {}
- const gestureEvents = config.gestureEvents
/**
* Bind some original type event to your specified type event handler.
* e.g. bind 'tap' event to 'click' event listener: bindFunc('tap')('click').
@@ -99,17 +75,14 @@ export function createEventMap (context, ...extras) {
else if (typeof listenTo === 'string') {
handler = function (e) {
/**
- * 1. use '_triggered' to control actural bubbling (allow original bubbling).
- * 2. use '_for' to distinguish from gesture events generated by other
- * not-vue-render librarys.
+ * use '_triggered' to control actural bubbling (allow original bubbling).
*/
- if (e._triggered
- || gestureEvents.indexOf(originalType) > -1
- && e._for !== 'weex') {
+ if (e._triggered) {
return
}
- // but should trigger the closest parent which has bound the
- // event handler.
+ /**
+ * trigger the closest parent which has bound event handlers.
+ */
let vm = context
while (vm) {
const ons = getListeners(vm.$vnode, listenTo)
@@ -121,18 +94,7 @@ export function createEventMap (context, ...extras) {
if (on && on.fn) {
on = on.fn
}
- let evt = e
- if (originalType && evtName !== listenTo) {
- if (listenTo === 'click') {
- // dispatch real target click event befor calling listeners
- evt = createBubblesEvent(e.target, 'click', { _triggered: { el: e.target }})
- e.target.dispatchEvent(evt)
- }
- else {
- evt = createEvent(e.target, listenTo)
- }
- }
- on && on.call(vm, evt)
+ on && on.call(vm, e)
idx++
}
// once a parent node (or self node) has triggered the handler, then
@@ -140,15 +102,6 @@ export function createEventMap (context, ...extras) {
e._triggered = {
el: vm.$el
}
- // when originalType is tap, push a tapEvent to _tapQueue
- // el is uesed to store a real target which dispach this event
- if (originalType === 'tap') {
- const tapEvent = {
- el: e.target,
- event: e
- }
- _tapQueue.push(tapEvent)
- }
return
}
vm = vm.$parent
@@ -163,20 +116,14 @@ export function createEventMap (context, ...extras) {
}
/**
- * 1. Dispatch default supported events directly to user's event listeners. These
- * listeners will be triggered before extras event handlers.
- */
- supportedEvents.forEach(bindFunc())
-
- /**
- * 2. component's extra event bindings. This is mostly for the needs of component's
+ * component's extra event bindings. This is mostly for the needs of component's
* own special behaviours. These handlers will be processed after the user's
* corresponding event handlers.
*/
- if (extras) {
- const len = extras.length
+ if (events) {
+ const len = events.length
for (let i = 0; i < len; i++) {
- const extra = extras[i]
+ const extra = events[i]
if (isArray(extra)) {
extra.forEach(bindFunc())
}
@@ -188,43 +135,5 @@ export function createEventMap (context, ...extras) {
}
}
- /**
- * 3. special binding for click event, which should be a fastclick event without
- * 300ms latency.
- */
- bindFunc('tap')('click')
- /**
- * Special treatment for click event:
- * we already use tap to trigger click event, so the click event should:
- * 1. trigger none of any vm's click listeners.
- * 2. prevent default behaviour for a `<a>` element.
- * 3. stop propagation if triggered already.
- * 4. set a _triggered flag to the event object if triggered already.
- * This means the click event should always be swallowed in silence.
- */
- bindFunc('click')(function (e) {
- let vm = context
- if (e._triggered) {
- return
- }
- if (_tapQueue.length > 0) {
- const _tapEvent = _tapQueue.shift()
- if (e.target !== _tapEvent.el) {
- e.preventDefault()
- }
- // prevent click events from bubbling,because event bubbling has been handled in the tap event
- e.stopPropagation()
- }
- // if an element(not <a>) handler click event in <a> element,call stopPropagation and preventDefault on event
- while (vm) {
- const ons = getListeners(vm.$vnode, 'click')
- const len = ons.length
- if (len > 0 && vm.$el) {
- e._triggered = { el: vm.$el }
- return isInANode(vm.$el) && e.preventDefault()
- }
- vm = vm.$parent
- }
- })
return eventMap
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
new file mode 100644
index 0000000..1a57f84
--- /dev/null
+++ b/html5/render/vue/env/event-manager.js
@@ -0,0 +1,148 @@
+/*
+ * 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 config from '../config'
+import { createEvent, supportsPassive } from '../utils'
+
+const gestureEvents = config.gestureEvents
+const touchEvents = ['touchstart', 'touchmove', 'touchend']
+const needPassive = ['touchmove']
+
+const events = gestureEvents.concat(touchEvents)
+
+// /**
+// * is a element in a '<a>' tag?
+// * @param {HTMLElement} el
+// */
+// function isInANode (el) {
+// let parent = el.parentNode
+// while (parent && parent !== document.body) {
+// if (parent.tagName.toLowerCase() === 'a') {
+// return true
+// }
+// parent = parent.parentNode
+// }
+// }
+
+/**
+ * if el is a `<a>` element.
+ * @param {HTMLElement} el
+ */
+function isANode (el) {
+ return el.tagName.toLowerCase() === 'a'
+}
+
+/**
+ * get listeners from on config and v-on binding.
+ * v-on binding has a priority over on config.
+ * @param {vnode} vnode
+ * @param {String} evt: event name.
+ */
+function getListeners (vnode, evt) {
+ const handlers = []
+ while (vnode) {
+ if (vnode.data && vnode.data.on) {
+ const handler = vnode.data.on[evt]
+ handler && handlers.push(handler)
+ }
+ if (vnode.componentOptions && vnode.componentOptions.listeners) {
+ const handler = vnode.componentOptions.listeners[evt]
+ handler && handlers.push(handler)
+ }
+ vnode = vnode.parent
+ }
+ return handlers
+}
+
+let _inited = false
+function _init (doc) {
+ if (_inited) {
+ return
+ }
+ if (!doc) {
+ return
+ }
+ _inited = true
+ const _sp = supportsPassive()
+ events.forEach(function (evt) {
+ const option = needPassive.indexOf(evt) > -1 && _sp
+ ? { passive: true }
+ : false
+ doc.addEventListener(evt, function (e) {
+ const el = e.target
+ let vm = el.__vue__
+ let disposed = false
+
+ /**
+ * take full control of redirection of <a> element.
+ */
+ if (evt === 'click') {
+ e.preventDefault()
+ }
+
+ while (vm) {
+ const vnode = vm.$vnode || vm._vnode
+ const elm = vm.$el
+ const ons = getListeners(vnode, evt)
+ const len = ons && ons.length
+
+ if (len > 0) {
+ for (let i = 0; i < len; i++) {
+ let handler = ons[i]
+ if (handler && handler.fn) {
+ handler = handler.fn
+ }
+ // create a no bubble event.
+ const newEvt = createEvent(el, evt)
+ handler && handler.call(vm, newEvt)
+ }
+ e._triggered = { target: vm.$el }
+ disposed = true
+ }
+
+ /**
+ * if the handler is binding on a <a> element, should trigger
+ * the handler first and then jump to href.
+ * NOTE: if target==='_blank' then do no jumping and dispatch the
+ * click event to document.body for further disposing.
+ */
+ if (evt === 'click' && isANode(elm)) {
+ const href = elm.getAttribute('href')
+ const target = elm.getAttribute('target')
+ disposed = true
+ if (target !== '_blank') {
+ location.href = href
+ }
+ else {
+ document.body.dispatchEvent(e)
+ }
+ }
+
+ if (disposed) {
+ return
+ }
+ vm = vm.$parent
+ }
+ }, option)
+ })
+}
+
+export default function init () {
+ _init(document)
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/index.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/index.js b/html5/render/vue/index.js
index 8a00a57..038f67a 100644
--- a/html5/render/vue/index.js
+++ b/html5/render/vue/index.js
@@ -20,6 +20,8 @@ import weex from './env'
import { setVue } from './env'
import { base, style, sticky } from './mixins'
+import initEventMgr from './env/event-manager'
+
/**
* init weex.
* @param {Vue$2} Vue: Vue Constructor.
@@ -46,6 +48,8 @@ function init (Vue/*, options = {}*/) {
Vue.mixin(base)
Vue.mixin(style)
Vue.mixin(sticky)
+
+ initEventMgr()
}
// auto init in dist mode.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/lib/gesture.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/lib/gesture.js b/html5/render/vue/lib/gesture.js
index 62ad226..5f72b3c 100644
--- a/html5/render/vue/lib/gesture.js
+++ b/html5/render/vue/lib/gesture.js
@@ -384,7 +384,7 @@ function touchendHandler(event) {
if (gesture.status === 'tapping') {
gesture.timestamp = Date.now()
// fire click, not tap.
- fireEvent(gesture.element, 'tap', {
+ fireEvent(gesture.element, 'click', /* 'tap', */{
touch: touch,
touchEvent: event
})
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2504db58/html5/render/vue/utils/event.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/utils/event.js b/html5/render/vue/utils/event.js
index c5f8c38..ad14ae8 100644
--- a/html5/render/vue/utils/event.js
+++ b/html5/render/vue/utils/event.js
@@ -28,6 +28,22 @@ function extend (to, ...args) {
return to
}
+// if support passive event listeners.
+let _supportsPassive = false
+try {
+ document.createElement('div').addEventListener('test', _ => {}, {
+ get passive () {
+ _supportsPassive = true
+ }
+ })
+}
+catch (e) {
+ // do nothing.
+}
+export function supportsPassive () {
+ return _supportsPassive
+}
+
/**
* Create Event.
* @param {DOMString} type
[40/47] incubator-weex git commit: * [html5] fix ci.
Posted by gu...@apache.org.
* [html5] fix ci.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/3c2ad1c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3c2ad1c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3c2ad1c3
Branch: refs/heads/dev
Commit: 3c2ad1c39b8f328fd49f2314c99fcc48774ee51f
Parents: 524fbd1
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 25 11:18:10 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 25 11:18:10 2017 +0800
----------------------------------------------------------------------
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3c2ad1c3/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 49a5d76..e3f224a 100644
--- a/package.json
+++ b/package.json
@@ -166,7 +166,7 @@
"uglify-js": "^2.8.29",
"vue": "^2.4.3",
"vue-loader": "^12.2.1",
- "vue-template-compiler": "^2.2.6",
+ "vue-template-compiler": "^2.4.3",
"webpack": "^1.13.1",
"weex-components": "^0.2.0",
"weex-gcanvas": "^0.4.2",
[33/47] incubator-weex git commit: * [html5] fix vue2.4.3
Posted by gu...@apache.org.
* [html5] fix vue2.4.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/2cf16754
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2cf16754
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2cf16754
Branch: refs/heads/dev
Commit: 2cf16754205ec74fd4e646fecf36db84ced5b588
Parents: f58c820
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Sep 14 13:53:26 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Sep 14 13:53:26 2017 +0800
----------------------------------------------------------------------
html5/render/vue/index.js | 11 +++++++++++
package.json | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2cf16754/html5/render/vue/index.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/index.js b/html5/render/vue/index.js
index 038f67a..bd0016d 100644
--- a/html5/render/vue/index.js
+++ b/html5/render/vue/index.js
@@ -45,6 +45,17 @@ function init (Vue/*, options = {}*/) {
Vue.config.isReservedTag = tag => htmlRegex.test(tag)
Vue.config.parsePlatformTagName = tag => tag.replace(htmlRegex, '')
+ function isWeexTag (tag) {
+ return !!weex._components[tag]
+ }
+ const oldGetTagNamespace = Vue.config.getTagNamespace
+ Vue.config.getTagNamespace = function (tag) {
+ if (isWeexTag(tag)) {
+ return
+ }
+ return oldGetTagNamespace(tag)
+ }
+
Vue.mixin(base)
Vue.mixin(style)
Vue.mixin(sticky)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2cf16754/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index c98bc37..fa2a332 100644
--- a/package.json
+++ b/package.json
@@ -164,7 +164,7 @@
"sinon": "^2.1.0",
"sinon-chai": "^2.8.0",
"uglify-js": "^2.8.29",
- "vue": "^2.2.6",
+ "vue": "^2.4.3",
"vue-loader": "^12.2.1",
"vue-template-compiler": "^2.2.6",
"webpack": "^1.13.1",
[06/47] incubator-weex git commit: Merge branch '0.16-dev' into
0.16-dev-web
Posted by gu...@apache.org.
Merge branch '0.16-dev' into 0.16-dev-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/77ab0f86
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/77ab0f86
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/77ab0f86
Branch: refs/heads/dev
Commit: 77ab0f863ca57a51637a0c391bec42f7254fa0b9
Parents: 486c6f4 4bd54da
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Aug 21 14:19:09 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Aug 21 14:19:09 2017 +0800
----------------------------------------------------------------------
examples/vue/index.vue | 4 +-
examples/vue/showcase/a-node-click.vue | 74 ++++++++++
examples/vue/showcase/tap-penetrate.vue | 206 +++++++++++++++++++++++++++
html5/render/vue/core/node.js | 64 ++++++---
html5/render/vue/utils/event.js | 32 ++++-
html5/test/render/vue/core/node.js | 1 -
html5/test/render/vue/utils/event.js | 10 ++
7 files changed, 364 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
[11/47] incubator-weex git commit: * [html5] update slider version.
Posted by gu...@apache.org.
* [html5] update slider 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/3153784a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/3153784a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/3153784a
Branch: refs/heads/dev
Commit: 3153784a73c12abd7dc8880d83ebd9de61c90366
Parents: 2504db5
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 14:52:56 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 14:52:56 2017 +0800
----------------------------------------------------------------------
packages/weex-vue-plugins/weex-vue-slider/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/3153784a/packages/weex-vue-plugins/weex-vue-slider/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-plugins/weex-vue-slider/package.json b/packages/weex-vue-plugins/weex-vue-slider/package.json
index 427fdc2..1b0d8a5 100644
--- a/packages/weex-vue-plugins/weex-vue-slider/package.json
+++ b/packages/weex-vue-plugins/weex-vue-slider/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-slider",
- "version": "0.1.2",
+ "version": "0.1.3",
"description": "Weex built-in 'slider' and 'slider-neighbor' component for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.js",
[17/47] incubator-weex git commit: * [html5] fix call loop.
Posted by gu...@apache.org.
* [html5] fix call loop.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/31411dd4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/31411dd4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/31411dd4
Branch: refs/heads/dev
Commit: 31411dd4afd383cb4a25bd666830615c9c14e6d5
Parents: 902a1f7
Author: MrRaindrop <te...@gmail.com>
Authored: Fri Aug 25 15:19:01 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Fri Aug 25 15:19:01 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 2 +-
html5/render/vue/core/node.js | 33 +++++++++++++++++++++++++-----
html5/render/vue/env/event-manager.js | 19 ++++++++---------
package.json | 2 +-
packages/weex-vue-render/README.md | 2 +-
packages/weex-vue-render/package.json | 2 +-
6 files changed, 41 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/31411dd4/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 41df16b..bcdd2de 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -142,7 +142,7 @@ vue: {
* fix scanning style in production with uglified code.
-#### 0.12.6
+#### 0.12.8
* optimize event binding.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/31411dd4/html5/render/vue/core/node.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/core/node.js b/html5/render/vue/core/node.js
index d38cafd..4cef067 100644
--- a/html5/render/vue/core/node.js
+++ b/html5/render/vue/core/node.js
@@ -54,6 +54,30 @@ function getListeners (vnode, evt) {
}
/**
+ * Instead of vue's invoker, this function should check if the binding function
+ * has a _weex_hook flag. If there is one, the handler should not be triggered.
+ * @param {Array | Function} fns
+ */
+export function applyFns (fns, ...args) {
+ if (Array.isArray(fns)) {
+ const cloned = fns.slice()
+ const len = cloned.length
+ for (let i = 0; i < len; i++) {
+ const fn = cloned[i]
+ if (fn._weex_hook) {
+ continue
+ }
+ fn.apply(null, args)
+ }
+ }
+ else {
+ if (!fns._weex_hook) {
+ fns.apply(null, args)
+ }
+ }
+}
+
+/**
* emit native events to enable v-on.
* @param {VComponent} context: which one to emit a event on.
* @param {array | object} events: extra events. You can pass in multiple arguments here.
@@ -90,11 +114,8 @@ export function createEventMap (context, ...events) {
if (len > 0) {
let idx = 0
while (idx < len) {
- let on = ons[idx]
- if (on && on.fn) {
- on = on.fn
- }
- on && on.call(vm, e)
+ const on = ons[idx]
+ applyFns(on.fns, e)
idx++
}
// once a parent node (or self node) has triggered the handler, then
@@ -107,6 +128,8 @@ export function createEventMap (context, ...events) {
vm = vm.$parent
}
}
+ // flag to distinguish from user-binding listeners.
+ handler._weex_hook = true
}
if (!eventMap[evtName]) {
eventMap[evtName] = []
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/31411dd4/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 3ecf618..c19a649 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -19,6 +19,7 @@
import config from '../config'
import { createEvent, supportsPassive } from '../utils'
+import { applyFns } from '../core'
const gestureEvents = config.gestureEvents
const nativeEvents = ['click', 'touchstart', 'touchmove', 'touchend']
@@ -112,13 +113,11 @@ function _init (doc) {
if (len > 0) {
for (let i = 0; i < len; i++) {
- let handler = ons[i]
- if (handler && handler.fn) {
- handler = handler.fn
- }
- // create a no bubble event.
- const newEvt = createEvent(el, evt)
- handler && handler.call(vm, newEvt)
+ const handler = ons[i]
+ const newEvt = evtName === 'click'
+ ? createEvent(el, evtName)
+ : e
+ applyFns(handler.fns, newEvt)
}
e._triggered = { target: vm.$el }
disposed = true
@@ -127,8 +126,8 @@ function _init (doc) {
/**
* if the handler is binding on a <a> element, should trigger
* the handler first and then jump to href.
- * NOTE: if target==='_blank' then do no jumping and dispatch the
- * click event to document.body for further disposing.
+ * NOTE: if target==='_blank' then do no jumping and leave it
+ * to users binding handlers for further disposing.
*/
if (evtName === 'click' && isANode(elm)) {
const href = elm.getAttribute('href')
@@ -138,7 +137,7 @@ function _init (doc) {
location.href = href
}
else {
- document.body.dispatchEvent(e)
+ // do nothing.
}
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/31411dd4/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 47b84dd..0b79cde 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.7",
+ "vue-render": "0.12.8",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/31411dd4/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 41df16b..bcdd2de 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -142,7 +142,7 @@ vue: {
* fix scanning style in production with uglified code.
-#### 0.12.6
+#### 0.12.8
* optimize event binding.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/31411dd4/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 1262ef1..b29cfdc 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.7",
+ "version": "0.12.8",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[22/47] incubator-weex git commit: * [html5] intercept the a-jump.
Posted by gu...@apache.org.
* [html5] intercept the a-jump.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b8aae6ff
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b8aae6ff
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b8aae6ff
Branch: refs/heads/dev
Commit: b8aae6ffc9e95677641046a7dd47b1e3650028e0
Parents: 0ae0fcf
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 4 18:34:22 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 4 18:34:22 2017 +0800
----------------------------------------------------------------------
html5/render/vue/env/event-manager.js | 38 +++++++++++++-----------------
1 file changed, 17 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b8aae6ff/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 243daa0..06a00a3 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -27,20 +27,6 @@ const needPassive = ['touchmove']
const events = gestureEvents.concat(nativeEvents)
-// /**
-// * is a element in a '<a>' tag?
-// * @param {HTMLElement} el
-// */
-// function isInANode (el) {
-// let parent = el.parentNode
-// while (parent && parent !== document.body) {
-// if (parent.tagName.toLowerCase() === 'a') {
-// return true
-// }
-// parent = parent.parentNode
-// }
-// }
-
/**
* if el is a `<a>` element.
* @param {HTMLElement} el
@@ -82,7 +68,12 @@ function _init (doc) {
_inited = true
const _sp = supportsPassive()
events.forEach(function (evt) {
- const option = evt === 'click'
+ /**
+ * use capture for click handling, therefore there's a chance to handle
+ * it before any other listeners binding on document or document.body.
+ */
+ const option =
+ evt === 'click'
? true : needPassive.indexOf(evt) > -1 && _sp
? { passive: true } : false
doc.addEventListener(evt, function (e) {
@@ -133,19 +124,24 @@ function _init (doc) {
*/
if (evtName === 'click' && isANode(elm)) {
const href = elm.getAttribute('href')
- const target = elm.getAttribute('target')
disposed = true
- if (target !== '_blank') {
+ /**
+ * Give the chance to the listeners binding on doc or doc.body for
+ * handling the a-jump.
+ * Should set a _should_intercept_a_jump function on window to test
+ * whether we should intercept the a-jump.
+ */
+ if (window._should_intercept_a_jump && window._should_intercept_a_jump(elm)) {
+ // do nothing. leave it to the intercept handler.
+ }
+ else {
if (!!href) {
location.href = href
}
else {
- console.warn('[weex-vue-render] If you want to use the A tag jump, set the href attribute')
+ console.warn('[vue-render] If you want to use the A tag jump, set the href attribute')
}
}
- else {
- // do nothing.
- }
}
if (disposed) {
[14/47] incubator-weex git commit: Merge branch '0.16-dev' into
0.16-dev-web
Posted by gu...@apache.org.
Merge branch '0.16-dev' into 0.16-dev-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/768b13ae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/768b13ae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/768b13ae
Branch: refs/heads/dev
Commit: 768b13ae7d150b438bc1fc2fd392d38dd3a3a3a3
Parents: 316dfa2 53dfdbf
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 18:00:00 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 18:00:00 2017 +0800
----------------------------------------------------------------------
.../commons/adapter/FrescoImageComponent.java | 2 +-
.../java/com/alibaba/weex/WXPageActivity.java | 9 +-
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 -> 6754012 bytes
.../java/com/taobao/weex/WXEnvironment.java | 16 +-
.../main/java/com/taobao/weex/WXSDKEngine.java | 3 +-
.../java/com/taobao/weex/WXSDKInstance.java | 38 +-
.../taobao/weex/adapter/IDrawableLoader.java | 11 +-
.../java/com/taobao/weex/bridge/WXBridge.java | 14 +
.../com/taobao/weex/bridge/WXBridgeManager.java | 175 +-
.../java/com/taobao/weex/common/IWXBridge.java | 2 +
.../com/taobao/weex/common/WXErrorCode.java | 14 +-
.../taobao/weex/common/WXJSBridgeMsgType.java | 2 +
.../com/taobao/weex/dom/action/Actions.java | 3 +
.../weex/dom/action/ReloadPageAction.java | 64 +
.../taobao/weex/dom/action/TraceableAction.java | 1 +
.../ui/component/AbstractEditComponent.java | 4 +-
.../com/taobao/weex/ui/component/WXImage.java | 75 +-
.../com/taobao/weex/ui/component/WXText.java | 52 +-
.../ui/component/list/BasicListComponent.java | 7 +-
.../com/taobao/weex/ui/view/WXImageView.java | 16 +-
.../com/taobao/weex/utils/ImageDrawable.java | 17 +-
.../com/taobao/weex/utils/TypefaceUtil.java | 8 +
.../java/com/taobao/weex/utils/WXUtils.java | 52 +-
.../taobao/weex/bridge/WXWebsocketBridge.java | 6 +
dangerfile.js | 1 +
examples/vue/index.vue | 1 -
examples/vue/transition.vue | 75 +
html5/frameworks/legacy/app/differ.js | 2 +-
html5/frameworks/legacy/vm/directive.js | 2 +-
.../complex/component-append-tree.output.js | 22 +
.../complex/component-append-tree.source.js | 87 +
html5/test/case/tester.js | 19 +
ios/sdk/WeexSDK/Sources/Bridge/WXJSCoreBridge.m | 5 +-
.../WeexSDK/Sources/Component/WXListComponent.m | 52 +-
.../WeexSDK/Sources/Component/WXTextComponent.m | 15 +-
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 7 +
.../WeexSDK/Sources/Module/WXAnimationModule.h | 4 -
.../WeexSDK/Sources/Module/WXAnimationModule.m | 7 -
ios/sdk/WeexSDK/Sources/Module/WXTransition.h | 2 -
ios/sdk/WeexSDK/Sources/Module/WXTransition.m | 214 +-
ios/sdk/WeexSDK/Sources/Utility/WXConvert.h | 1 +
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 17 +
.../Sources/View/WXComponent+ViewManagement.m | 1 -
ios/sdk/WeexSDKTests/WXConvertTests.m | 21 +-
package.json | 5 +-
packages/weex-js-framework/index.js | 43740 +++++++++--------
packages/weex-js-framework/index.min.js | 9 +-
pre-build/native-bundle-main.js | 16 +-
test/pages/components/switch-event.vue | 7 +-
test/pages/include/wxc-desc.vue | 27 +-
test/pages/modules/vue_timer.vue | 8 +-
test/scripts/components/text.test.js | 61 +-
test/scripts/dom.test.js | 5 +-
test/scripts/modules/globalEvent.test.js | 20 +-
test/scripts/modules/modal-event.test.js | 2 +-
test/scripts/modules/timer.test.js | 51 +-
test/scripts/util.js | 2 +
59 files changed, 23020 insertions(+), 22079 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/768b13ae/package.json
----------------------------------------------------------------------
[31/47] incubator-weex git commit: * [html5] fix styles in firefox &
impl get/set selection range methods.
Posted by gu...@apache.org.
* [html5] fix styles in firefox & impl get/set selection range methods.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/2f3af6f6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/2f3af6f6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/2f3af6f6
Branch: refs/heads/dev
Commit: 2f3af6f6fc97fdc32cfa15c06b8da6d098753553
Parents: 86cd036
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 12 15:20:17 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 12 15:20:17 2017 +0800
----------------------------------------------------------------------
.../components/scrollable/loading-indicator.js | 13 +++---
.../render/vue/components/scrollable/style.css | 22 ++++++----
html5/render/vue/components/slider/indicator.js | 2 +
.../render/vue/components/slider/slideMixin.js | 13 +++++-
html5/render/vue/components/slider/slider.css | 6 +++
html5/render/vue/components/switch.js | 12 +++---
html5/render/vue/components/text.js | 3 ++
html5/render/vue/env/event-manager.js | 4 +-
html5/render/vue/mixins/input-common.js | 32 ++++++++++++++
html5/render/vue/modules/animation.js | 44 +++++++++++++++-----
html5/render/vue/modules/modal/style.js | 20 ++++++---
html5/render/vue/styles/base.css | 15 +++++++
html5/render/vue/styles/reset.css | 5 ++-
html5/render/vue/utils/func.js | 5 ++-
html5/render/vue/utils/style.js | 13 +++++-
15 files changed, 166 insertions(+), 43 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/scrollable/loading-indicator.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/loading-indicator.js b/html5/render/vue/components/scrollable/loading-indicator.js
index aa289bd..4fa2c7b 100644
--- a/html5/render/vue/components/scrollable/loading-indicator.js
+++ b/html5/render/vue/components/scrollable/loading-indicator.js
@@ -24,13 +24,15 @@ const _css = `
width: 1rem !important;
height: 1rem !important;
-webkit-box-align: center;
+ -moz-box-align: center;
-webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
-webkit-box-pack: center;
+ -moz-box-pack: center;
-webkit-justify-content: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -ms-flex-pack: center;
+ justify-content: center;
overflow: visible;
background: none;
}
@@ -47,7 +49,8 @@ const _css = `
position: relative;
text-indent: -9999em;
-webkit-animation: weex-spinner 1.1s infinite ease;
- animation: weex-spinner 1.1s infinite ease;
+ -moz-animation: weex-spinner 1.1s infinite ease;
+ animation: weex-spinner 1.1s infinite ease;
}
@-webkit-keyframes weex-spinner {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/scrollable/style.css
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/scrollable/style.css b/html5/render/vue/components/scrollable/style.css
index c90d2ea..f79ff7d 100644
--- a/html5/render/vue/components/scrollable/style.css
+++ b/html5/render/vue/components/scrollable/style.css
@@ -43,8 +43,10 @@ body > .weex-waterfall {
.weex-waterfall-inner-columns {
-webkit-flex-direction: row;
- -ms-flex-direction: row;
- flex-direction: row;
+ -moz-box-orient: horizontal;
+ -moz-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-box-orient: horizontal;
}
@@ -65,8 +67,10 @@ body > .weex-waterfall {
.weex-scroller-horizontal .weex-scroller-inner {
-webkit-flex-direction: row;
- -ms-flex-direction: row;
- flex-direction: row;
+ -ms-flex-direction: row;
+ -moz-box-orient: horizontal;
+ -moz-box-direction: normal;
+ flex-direction: row;
-webkit-box-orient: horizontal;
height: 100%;
}
@@ -79,12 +83,14 @@ body > .weex-waterfall {
.weex-loading {
-webkit-box-align: center;
-webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -moz-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -moz-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
width: 100%;
overflow: hidden;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/slider/indicator.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/slider/indicator.js b/html5/render/vue/components/slider/indicator.js
index 62b95a3..070f3f7 100644
--- a/html5/render/vue/components/slider/indicator.js
+++ b/html5/render/vue/components/slider/indicator.js
@@ -23,6 +23,8 @@ const _css = `
z-index: 10;
-webkit-flex-direction: row;
-ms-flex-direction: row;
+ -moz-box-orient: horizontal;
+ -moz-box-direction: normal;
flex-direction: row;
-webkit-box-orient: horizontal;
margin: 0;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/slider/slideMixin.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/slider/slideMixin.js b/html5/render/vue/components/slider/slideMixin.js
index f160d58..710fbcb 100644
--- a/html5/render/vue/components/slider/slideMixin.js
+++ b/html5/render/vue/components/slider/slideMixin.js
@@ -190,8 +190,10 @@ export default {
this.innerOffset += step * this._wrapperWidth
// transform the whole slides group.
inner.style.webkitTransition = `-webkit-transform ${TRANSITION_TIME / 1000}s ease-in-out`
+ inner.style.mozTransition = `transform ${TRANSITION_TIME / 1000}s ease-in-out`
inner.style.transition = `transform ${TRANSITION_TIME / 1000}s ease-in-out`
inner.style.webkitTransform = `translate3d(${this.innerOffset}px, 0, 0)`
+ inner.style.mozTransform = `translate3d(${this.innerOffset}px, 0, 0)`
inner.style.transform = `translate3d(${this.innerOffset}px, 0, 0)`
// emit scroll events.
@@ -213,12 +215,14 @@ export default {
setTimeout(() => {
inner.style.webkitTransition = ''
+ inner.style.mozTransition = ''
inner.style.transition = ''
for (let i = this._showStartIdx; i <= this._showEndIdx; i++) {
const node = this._showNodes[i]
if (!node) { continue }
const elm = node.firstElementChild
elm.style.webkitTransition = ''
+ elm.style.mozTransition = ''
elm.style.transition = ''
}
// clean cloned nodes and rearrange slide cells.
@@ -488,6 +492,7 @@ export default {
for (let i = this._showStartIdx; i <= this._showEndIdx; i++) {
const elm = this._showNodes[i].firstElementChild
elm.style.webkitTransition = `all ${NEIGHBOR_SCALE_TIME / 1000}s ease`
+ elm.style.mozTransition = `all ${NEIGHBOR_SCALE_TIME / 1000}s ease`
elm.style.transition = `all ${NEIGHBOR_SCALE_TIME / 1000}s ease`
const transObj = {
scale: `scale(${i === 0 ? this.currentItemScale : this.neighborScale})`
@@ -531,8 +536,11 @@ export default {
_handleTouchStart (event) {
const touch = event.changedTouches[0]
this._stopAutoPlay()
+ const inner = this.$refs.inner
this._touchParams = {
- originalTransform: this.$refs.inner.style.webkitTransform || this.$refs.inner.style.transform,
+ originalTransform: inner.style.webkitTransform
+ || inner.style.mozTransform
+ || inner.style.transform,
startTouchEvent: touch,
startX: touch.pageX,
startY: touch.pageY,
@@ -577,8 +585,9 @@ export default {
this._emitScrollEvent('scroll', {
offsetXRatio: offsetX / this._wrapperWidth
})
- inner.style.transform = `translate3d(${this.innerOffset + offsetX}px, 0, 0)`
inner.style.webkitTransform = `translate3d(${this.innerOffset + offsetX}px, 0, 0)`
+ inner.style.mozTransform = `translate3d(${this.innerOffset + offsetX}px, 0, 0)`
+ inner.style.transform = `translate3d(${this.innerOffset + offsetX}px, 0, 0)`
}
},
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/slider/slider.css
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/slider/slider.css b/html5/render/vue/components/slider/slider.css
index 8fe384b..c712278 100644
--- a/html5/render/vue/components/slider/slider.css
+++ b/html5/render/vue/components/slider/slider.css
@@ -27,6 +27,8 @@
height: 100%;
overflow: visible;
-webkit-flex-direction: row;
+ -moz-box-orient: horizontal;
+ -moz-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-orient: horizontal;
@@ -42,9 +44,13 @@
overflow: hidden;
-webkit-box-align: center;
-webkit-align-items: center;
+ -moz-box-align: center;
+ -ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
+ -moz-box-pack: center;
+ -ms-flex-pack: center;
justify-content: center;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/switch.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/switch.js b/html5/render/vue/components/switch.js
index 508957b..7f9562a 100644
--- a/html5/render/vue/components/switch.js
+++ b/html5/render/vue/components/switch.js
@@ -25,9 +25,9 @@ const _css = `
position: relative;
vertical-align: middle;
-webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
box-sizing: content-box;
background-clip: content-box;
color: #64bd63;
@@ -38,7 +38,8 @@ const _css = `
box-shadow: #dfdfdf 0 0 0 0 inset;
border-radius: 0.8rem;
-webkit-transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
- transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
+ -moz-transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
+ transition: border 0.4s, box-shadow 0.4s, background-color 1.2s;
}
.weex-switch-checked {
@@ -66,7 +67,8 @@ const _css = `
top: 0;
left: 0;
-webkit-transition: background-color 0.4s, left 0.2s;
- transition: background-color 0.4s, left 0.2s;
+ -moz-transition: background-color 0.4s, left 0.2s;
+ transition: background-color 0.4s, left 0.2s;
}
.weex-switch-checked > .weex-switch-inner {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/components/text.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/components/text.js b/html5/render/vue/components/text.js
index 0ff66f4..7379bc6 100644
--- a/html5/render/vue/components/text.js
+++ b/html5/render/vue/components/text.js
@@ -28,7 +28,10 @@
const _css = `
.weex-text {
display: -webkit-box;
+ display: -moz-box;
-webkit-box-orient: vertical;
+ -moz-box-orient: vertical;
+ -moz-box-direction: normal;
position: relative;
white-space: pre-wrap; /* not using 'pre': support auto line feed. */
font-size: 0.426667rem;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index c2d714d..16057ca 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -79,9 +79,9 @@ function _init (doc) {
doc.addEventListener(evt, function (e) {
let el = e.target
let vm = el.__vue__
- while (!vm && el !== document.body) {
+ while (!vm && el && el !== document.body) {
el = el.parentElement
- vm = el.__vue__
+ vm = el && el.__vue__
}
if (!vm) { // not a vue component.
return
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/mixins/input-common.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/mixins/input-common.js b/html5/render/vue/mixins/input-common.js
index db86079..7568ff4 100644
--- a/html5/render/vue/mixins/input-common.js
+++ b/html5/render/vue/mixins/input-common.js
@@ -38,6 +38,38 @@ export default {
blur () {
this.$el && this.$el.blur()
},
+
+ setSelectionRange (start: number, end: number) {
+ try {
+ this.$el.setSelectionRange(start, end)
+ }
+ catch (e) {
+ if (process.env.NODE_ENV === 'development') {
+ console.warn(`[vue-render] setSelectionRange is not supported.`)
+ }
+ }
+ },
+
+ getSelectionRange (callback: Function) {
+ try {
+ const selection = window.getSelection()
+ const str = selection.toString()
+ const selectionStart = this.$el.value.indexOf(str)
+ const selectionEnd = selectionStart === -1 ? selectionStart : selectionStart + str.length
+ callback && callback({
+ selectionStart,
+ selectionEnd
+ })
+ }
+ catch (e) {
+ callback && callback(new Error('[vue-render] getSelection is not supported.'))
+ }
+ },
+
+ getEditSelectionRange (callback: Function) {
+ return this.getSelectionRange(callback)
+ },
+
// support enter key event
createKeyboardEvent (events: {}) {
const customKeyType = this.returnKeyType
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/modules/animation.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/modules/animation.js b/html5/render/vue/modules/animation.js
index bf94447..ce747c2 100644
--- a/html5/render/vue/modules/animation.js
+++ b/html5/render/vue/modules/animation.js
@@ -17,6 +17,30 @@
* under the License.
*/
const utils = {}
+let endEvent
+let styleName
+
+const EVENT_NAME_MAP = {
+ transition: 'transitionend',
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'mozTransitionEnd',
+ OTransition: 'oTransitionEnd',
+ msTransition: 'MSTransitionEnd'
+}
+
+function detectEvents () {
+ const testEl = document.createElement('div')
+ const style = testEl.style
+ for (const name in EVENT_NAME_MAP) {
+ if (name in style) {
+ endEvent = EVENT_NAME_MAP[name]
+ styleName = name
+ break
+ }
+ }
+}
+
+detectEvents()
function transitionOnce (vnode, config, callback) {
const {
@@ -47,19 +71,17 @@ function transitionOnce (vnode, config, callback) {
dom && weex.utils.fireLazyload(dom, true)
const transitionEndHandler = function (event) {
- event.stopPropagation()
- dom.removeEventListener('webkitTransitionEnd', transitionEndHandler)
- dom.removeEventListener('transitionend', transitionEndHandler)
- dom.style.transition = ''
- dom.style.webkitTransition = ''
+ event && event.stopPropagation()
+ if (endEvent) {
+ dom.removeEventListener(endEvent, transitionEndHandler)
+ dom.style[styleName] = ''
+ }
callback()
}
-
- dom.style.transition = transitionValue
- dom.style.webkitTransition = transitionValue
- dom.addEventListener('webkitTransitionEnd', transitionEndHandler)
- dom.addEventListener('transitionend', transitionEndHandler)
-
+ if (endEvent) {
+ dom.style[styleName] = transitionValue
+ dom.addEventListener(endEvent, transitionEndHandler)
+ }
nextFrame(() => {
dom.style.cssText
+= toCSSText(autoPrefix(normalizeStyle(camelizeKeys(config.styles))) || {})
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/modules/modal/style.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/modules/modal/style.js b/html5/render/vue/modules/modal/style.js
index 510bb6c..2b005e1 100644
--- a/html5/render/vue/modules/modal/style.js
+++ b/html5/render/vue/modules/modal/style.js
@@ -32,11 +32,14 @@ export default `
text-align: center;
opacity: 0.7;
-webkit-transition: all 0.4s ease-in-out;
- transition: all 0.4s ease-in-out;
+ -moz-transition: all 0.4s ease-in-out;
+ -ms-transition: all 0.4s ease-in-out;
+ transition: all 0.4s ease-in-out;
border-radius: 0.066667rem;
-webkit-transform: translateX(-50%);
+ -moz-transform: translateX(-50%);
-ms-transform: translateX(-50%);
- transform: translateX(-50%);
+ transform: translateX(-50%);
}
.weex-toast.hide {
@@ -77,8 +80,9 @@ export default `
min-height: 2.666667rem;
border-radius: 0.066667rem;
-webkit-transform: translate(-50%, -50%);
+ -moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
- transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
background-color: #fff;
}
@@ -89,20 +93,26 @@ export default `
.weex-modal-node .content {
display: -webkit-box;
display: -webkit-flex;
+ display: -moz-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
+ -moz-box-orient: vertical;
+ -moz-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
- align-items: center;
+ -moz-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
+ -moz-box-pack: center;
-ms-flex-pack: center;
- justify-content: center;
+ justify-content: center;
width: 100%;
min-height: 1.866667rem;
box-sizing: border-box;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/styles/base.css
----------------------------------------------------------------------
diff --git a/html5/render/vue/styles/base.css b/html5/render/vue/styles/base.css
index 96beb83..f4263ea 100644
--- a/html5/render/vue/styles/base.css
+++ b/html5/render/vue/styles/base.css
@@ -26,6 +26,8 @@
.weex-flex-ct {
display: -webkit-box;
display: -webkit-flex;
+ display: -moz-box;
+ display: -ms-flexbox;
display: flex;
}
@@ -33,21 +35,29 @@
box-sizing: border-box;
display: -webkit-box;
display: -webkit-flex;
+ display: -moz-box;
+ display: -ms-flexbox;
display: flex;
position: relative;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
+ -moz-box-orient: vertical;
+ -moz-box-direction: normal;
+ -ms-flex-direction: column;
flex-direction: column;
-webkit-flex-shrink: 0;
-ms-flex-negative: 0;
flex-shrink: 0;
-webkit-flex-grow: 0;
+ -moz-box-flex: 0;
-ms-flex-grow: 0;
flex-grow: 0;
-webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
flex-basis: auto;
-webkit-box-align: stretch;
-webkit-align-items: stretch;
+ -moz-box-align: stretch;
-ms-flex-align: stretch;
align-items: stretch;
-webkit-align-content: flex-start;
@@ -62,6 +72,9 @@
.weex-ct.horizontal {
-webkit-box-orient: horizontal;
-webkit-flex-direction: row;
+ -moz-box-orient: horizontal;
+ -moz-box-direction: normal;
+ -ms-flex-direction: row;
flex-direction: row;
}
@@ -73,9 +86,11 @@
-ms-flex-negative: 0;
flex-shrink: 0;
-webkit-flex-grow: 0;
+ -moz-box-flex: 0;
-ms-flex-grow: 0;
flex-grow: 0;
-webkit-flex-basis: auto;
+ -ms-flex-preferred-size: auto;
flex-basis: auto;
border: 0 solid black;
margin: 0;
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/styles/reset.css
----------------------------------------------------------------------
diff --git a/html5/render/vue/styles/reset.css b/html5/render/vue/styles/reset.css
index cb334a0..b61de0f 100644
--- a/html5/render/vue/styles/reset.css
+++ b/html5/render/vue/styles/reset.css
@@ -43,8 +43,9 @@
.weex-root *::after {
box-sizing: border-box;
-webkit-text-size-adjust: none;
- -ms-text-size-adjust: none;
- text-size-adjust: none;
+ -moz-text-size-adjust: none;
+ -ms-text-size-adjust: none;
+ text-size-adjust: none;
}
.weex-root a,
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/utils/func.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/utils/func.js b/html5/render/vue/utils/func.js
index d4112c47..4e77430 100644
--- a/html5/render/vue/utils/func.js
+++ b/html5/render/vue/utils/func.js
@@ -254,7 +254,10 @@ export function appendCss (css: string, cssId: string, replace: boolean) {
style.appendChild(document.createTextNode(css))
}
export function nextFrame (callback: any) {
- const runner = window.requestAnimationFrame || window.webkitRequestAnimationFrame || (cb => setTimeout(cb, 16))
+ const runner = window.requestAnimationFrame
+ || window.webkitRequestAnimationFrame
+ || window.mozRequestAnimationFrame
+ || (cb => setTimeout(cb, 16))
runner(callback)
}
export function toCSSText (object: any) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/2f3af6f6/html5/render/vue/utils/style.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/utils/style.js b/html5/render/vue/utils/style.js
index 482e01a..a992617 100644
--- a/html5/render/vue/utils/style.js
+++ b/html5/render/vue/utils/style.js
@@ -153,6 +153,8 @@ export function autoPrefix (style: {}): {} {
const flex = prefixed.flex
if (flex) {
prefixed.WebkitBoxFlex = flex
+ prefixed.MozBoxFlex = flex
+ prefixed.MsFlex = flex
}
return prefixed
}
@@ -195,7 +197,9 @@ export function normalizeStyle (style: {}) {
export function getTransformObj (elm: HTMLElement): any {
let styleObj = {}
if (!elm) { return styleObj }
- const transformStr = elm.style.webkitTransform || elm.style.transform
+ const transformStr = elm.style.webkitTransform
+ || elm.style.mozTransform
+ || elm.style.transform
if (transformStr && transformStr.match(/(?: *(?:translate|rotate|scale)[^(]*\([^(]+\))+/i)) {
styleObj = transformStr.trim().replace(/, +/g, ',').split(' ').reduce(function (pre, str) {
['translate', 'scale', 'rotate'].forEach(function (name) {
@@ -243,6 +247,7 @@ export function addTransform (elm: HTMLElement, style: {}, replace: boolean): vo
}
const resStr = getTransformStr(styleObj)
elm.style.webkitTransform = resStr
+ elm.style.mozTransform = resStr
elm.style.transform = resStr
}
@@ -260,6 +265,7 @@ export function addTranslateX (elm: HTMLElement, toAdd: number): void {
})
const resStr = getTransformStr(styleObj)
elm.style.webkitTransform = resStr
+ elm.style.mozTransform = resStr
elm.style.transform = resStr
}
@@ -270,7 +276,9 @@ export function addTranslateX (elm: HTMLElement, toAdd: number): void {
export function copyTransform (from: HTMLElement, to: HTMLElement, key: string | void): void {
let str
if (!key) {
- str = from.style.webkitTransform || from.style.transform
+ str = from.style.webkitTransform
+ || from.style.mozTransform
+ || from.style.transform
}
else {
const fromObj = getTransformObj(from)
@@ -280,6 +288,7 @@ export function copyTransform (from: HTMLElement, to: HTMLElement, key: string |
str = getTransformStr(toObj)
}
to.style.webkitTransform = str
+ to.style.mozTransform = str
to.style.transform = str
}
[42/47] incubator-weex git commit: Merge branch
'html5-feature-offset-appear' into 0.16-dev-web
Posted by gu...@apache.org.
Merge branch 'html5-feature-offset-appear' into 0.16-dev-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/51ceff10
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/51ceff10
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/51ceff10
Branch: refs/heads/dev
Commit: 51ceff10aec22a99fbd2b006ec4cd34c555653bc
Parents: 3c2ad1c 5554d51
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 25 16:12:23 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 25 16:12:23 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 +
html5/render/vue/mixins/base.js | 4 +-
html5/render/vue/utils/component.js | 160 ++++++++++++++++++-----------
package.json | 2 +-
packages/weex-vue-render/README.md | 4 +
packages/weex-vue-render/package.json | 2 +-
6 files changed, 112 insertions(+), 64 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/51ceff10/package.json
----------------------------------------------------------------------
[45/47] incubator-weex git commit: * [html5] pair versions for vue &
vue-template-compiler.
Posted by gu...@apache.org.
* [html5] pair versions for vue & vue-template-compiler.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/aab1d745
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/aab1d745
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/aab1d745
Branch: refs/heads/dev
Commit: aab1d7455b474e949630b44f7e695a5d20225c65
Parents: cda836a
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 26 11:23:25 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 26 11:23:25 2017 +0800
----------------------------------------------------------------------
package.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/aab1d745/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index d52a121..1c7024d 100644
--- a/package.json
+++ b/package.json
@@ -164,9 +164,9 @@
"sinon": "^2.1.0",
"sinon-chai": "^2.8.0",
"uglify-js": "^2.8.29",
- "vue": "^2.4.3",
+ "vue": "2.4.3",
"vue-loader": "^12.2.1",
- "vue-template-compiler": "^2.4.3",
+ "vue-template-compiler": "2.4.3",
"webpack": "^1.13.1",
"weex-components": "^0.2.0",
"weex-gcanvas": "^0.4.2",
[08/47] incubator-weex git commit: * [html5] fix style scanning in
uglified code bundle.
Posted by gu...@apache.org.
* [html5] fix style scanning in uglified code 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/26646cf3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/26646cf3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/26646cf3
Branch: refs/heads/dev
Commit: 26646cf383399a3b035786636087d079bdd3ef4b
Parents: 214c6e3
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Aug 22 14:17:52 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Aug 22 14:17:52 2017 +0800
----------------------------------------------------------------------
html5/render/vue/mixins/style.js | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/26646cf3/html5/render/vue/mixins/style.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/mixins/style.js b/html5/render/vue/mixins/style.js
index 647119d..ba11ed5 100644
--- a/html5/render/vue/mixins/style.js
+++ b/html5/render/vue/mixins/style.js
@@ -67,16 +67,14 @@ function getIdentifiedBeforeCreate () {
for (; thisHookIdx < len; thisHookIdx++) {
if (hooks[thisHookIdx]._styleMixin) { break }
}
- for (let i = thisHookIdx + 1; i < len; i++) {
- const func = hooks[i]
- if (func.name === 'injectStyle') {
- hooks[i] = function () {
- // call the original injectStyle hook.
- func.call(this)
- // scan the new appended styleSheet.
- extend(weex._styleMap, getHeadStyleMap())
- hooks[i] = func
- }
+ if (thisHookIdx !== len - 1) {
+ const func = hooks[len - 1]
+ hooks[len - 1] = function () {
+ // call the original injectStyle hook.
+ func.call(this)
+ // scan the new appended styleSheet.
+ extend(weex._styleMap, getHeadStyleMap())
+ hooks[len - 1] = func
}
}
}
[26/47] incubator-weex git commit: * [html5] add prevent attr for a
and support href of javascript:void(0)
Posted by gu...@apache.org.
* [html5] add prevent attr for a and support href of javascript:void(0)
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/386a0c61
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/386a0c61
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/386a0c61
Branch: refs/heads/dev
Commit: 386a0c611184da024fe1132e26d857cd4c4839a0
Parents: ec5b791
Author: MrRaindrop <te...@gmail.com>
Authored: Fri Sep 8 12:52:21 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Fri Sep 8 12:52:21 2017 +0800
----------------------------------------------------------------------
html5/render/vue/env/event-manager.js | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/386a0c61/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 06a00a3..70166bc 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -124,6 +124,8 @@ function _init (doc) {
*/
if (evtName === 'click' && isANode(elm)) {
const href = elm.getAttribute('href')
+ const voidHrefReg = /^\s*javascript\s*:\s*void\s*(?:\(\s*0\s*\)|0)\s*;?\s*$/
+ const prevent = elm.getAttribute('prevent')
disposed = true
/**
* Give the chance to the listeners binding on doc or doc.body for
@@ -131,16 +133,15 @@ function _init (doc) {
* Should set a _should_intercept_a_jump function on window to test
* whether we should intercept the a-jump.
*/
- if (window._should_intercept_a_jump && window._should_intercept_a_jump(elm)) {
+ if (window._should_intercept_a_jump && window._should_intercept_a_jump(elm)
+ || href.match(voidHrefReg)
+ || prevent === '' || prevent === 'true') {
// do nothing. leave it to the intercept handler.
}
- else {
- if (!!href) {
- location.href = href
- }
- else {
- console.warn('[vue-render] If you want to use the A tag jump, set the href attribute')
- }
+ else if (href) {
+ location.href = href
+ } else if (process.env.NODE_ENV === 'development') {
+ console.warn('[vue-render] If you want to use the A tag jump, set the href attribute')
}
}
[20/47] incubator-weex git commit: Merge pull request #1 from
erha19/html5-bugfix-event
Posted by gu...@apache.org.
Merge pull request #1 from erha19/html5-bugfix-event
* [html5] add _triggered on event when evtName is click
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/125f17d3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/125f17d3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/125f17d3
Branch: refs/heads/dev
Commit: 125f17d3a2a7fc10f8645f189066d60d0f2668d9
Parents: 1ceb374 aeb55f3
Author: _HS <te...@gmail.com>
Authored: Mon Sep 4 17:59:18 2017 +0800
Committer: GitHub <no...@github.com>
Committed: Mon Sep 4 17:59:18 2017 +0800
----------------------------------------------------------------------
examples/vue/showcase/a-node-click.vue | 6 +++---
html5/render/vue/env/event-manager.js | 15 +++++++++++----
2 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
[07/47] incubator-weex git commit: * [html5] add meta.setViewport.
Posted by gu...@apache.org.
* [html5] add meta.setViewport.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/214c6e33
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/214c6e33
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/214c6e33
Branch: refs/heads/dev
Commit: 214c6e33d15dae42a415b6c3f5e2ac2dc2f6301b
Parents: 77ab0f8
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Aug 21 14:35:12 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Aug 21 14:35:12 2017 +0800
----------------------------------------------------------------------
html5/render/vue/env/weex.js | 21 +++++++++++++++
html5/render/vue/modules/index.js | 4 ++-
html5/render/vue/modules/meta.js | 36 +++++++++++++++++++++++++
packages/weex-vue-render/src/index.core.js | 3 +++
4 files changed, 63 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/214c6e33/html5/render/vue/env/weex.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/weex.js b/html5/render/vue/env/weex.js
index 199e8ae..7d88268 100644
--- a/html5/render/vue/env/weex.js
+++ b/html5/render/vue/env/weex.js
@@ -47,6 +47,27 @@ const weex = {
return this.registerApiModule(...args)
},
+ support (feature = '') {
+ const match = (feature + '').match(/@(component|module)\/(\w+)(.\w+)?/)
+ if (match) {
+ const type = match[1]
+ const mod = match[2]
+ let method = match[3]
+ method = method && method.replace(/^\./, '')
+ switch (type) {
+ case 'component':
+ return !!this._components[mod]
+ case 'module':
+ const module = this.requireModule(mod)
+ return module && method ? !!module[method] : !!module
+ }
+ }
+ else {
+ console.warn(`[vue-render] invalid argument for weex.support: ${feature}`)
+ return null
+ }
+ },
+
/**
* Register a new vue instance in this weex instance. Put its root element into weex.document.body.children, so
* that user can use weex.document.body to walk through all dom structures in all vue instances in the page.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/214c6e33/html5/render/vue/modules/index.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/modules/index.js b/html5/render/vue/modules/index.js
index c0e2fc1..48d1136 100644
--- a/html5/render/vue/modules/index.js
+++ b/html5/render/vue/modules/index.js
@@ -33,6 +33,7 @@ import modal from './modal'
import navigatorModule from './navigator'
import webview from './webview'
import websocket from './websocket'
+import meta from './meta'
export default [
geolocation,
@@ -46,5 +47,6 @@ export default [
dom,
globalEvent,
navigatorModule,
- webview
+ webview,
+ meta
]
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/214c6e33/html5/render/vue/modules/meta.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/modules/meta.js b/html5/render/vue/modules/meta.js
new file mode 100644
index 0000000..ed5f0ff
--- /dev/null
+++ b/html5/render/vue/modules/meta.js
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ */
+
+const meta = {
+ /**
+ * setViewport
+ * Changing viewport width at runtime is not supported. Please use weex-viewport meta
+ * tag to specify your viewport in your html file.
+ */
+ setViewport (options) {
+ console.warn(`[vue-render] meta.setViewport doesn't works as expected in web platform.`
+ + ` Please use <meta name="weex-viewport" content="xxx"> to specify your viewport width.`)
+ }
+}
+
+export default {
+ init (weex) {
+ weex.registerModule('meta', meta)
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/214c6e33/packages/weex-vue-render/src/index.core.js
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/src/index.core.js b/packages/weex-vue-render/src/index.core.js
index dc49562..5e84c86 100644
--- a/packages/weex-vue-render/src/index.core.js
+++ b/packages/weex-vue-render/src/index.core.js
@@ -5,6 +5,8 @@ import text from '../../../html5/render/vue/components/text'
import image from '../../../html5/render/vue/components/image'
import scrollable from '../../../html5/render/vue/components/scrollable'
+import meta from '../../../html5/render/vue/modules/meta'
+
const preInit = weex.init
weex.init = function () {
@@ -13,6 +15,7 @@ weex.init = function () {
weex.install(text)
weex.install(image)
weex.install(scrollable)
+ weex.install(meta)
}
if (global.Vue) {
[24/47] incubator-weex git commit: Merge branch '0.16-dev' into
0.16-dev-web
Posted by gu...@apache.org.
Merge branch '0.16-dev' into 0.16-dev-web
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b0741d80
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b0741d80
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b0741d80
Branch: refs/heads/dev
Commit: b0741d806e55285523fcf1ba0cd5a8dc0872ed84
Parents: 60ce630 42da9dd
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 5 11:16:29 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 5 11:16:29 2017 +0800
----------------------------------------------------------------------
.../commons/adapter/FrescoImageComponent.java | 2 +-
.../java/com/alibaba/weex/WXPageActivity.java | 5 +-
android/sdk/build.gradle | 6 +
android/sdk/libs/armeabi/libweexjsb.so | Bin 22556 -> 0 bytes
android/sdk/libs/armeabi/libweexjsc.so | Bin 325660 -> 7570392 bytes
android/sdk/libs/armeabi/libweexjss.so | Bin 6754012 -> 0 bytes
.../java/com/taobao/weex/WXSDKInstance.java | 23 ++-
.../java/com/taobao/weex/common/Constants.java | 1 +
.../com/taobao/weex/common/IWXDebugProxy.java | 2 +
.../weex/ui/component/AppearanceHelper.java | 9 +-
.../com/taobao/weex/ui/component/WXImage.java | 75 +++----
.../taobao/weex/ui/component/WXScroller.java | 2 +-
.../com/taobao/weex/ui/component/WXText.java | 29 ++-
.../taobao/weex/ui/component/WXVContainer.java | 6 +
.../ui/component/list/BasicListComponent.java | 204 +++++++++----------
.../ui/component/list/SimpleListComponent.java | 6 +-
.../ui/component/list/StickyHeaderHelper.java | 71 ++++---
.../weex/ui/component/list/WXListComponent.java | 83 +++-----
.../com/taobao/weex/ui/view/WXImageView.java | 16 +-
.../com/taobao/weex/utils/ImageDrawable.java | 17 +-
.../java/com/taobao/weex/utils/WXUtils.java | 64 +++---
dangerfile.js | 2 +-
doc/_config.yml | 2 +
doc/_config_cn.yml | 2 +
doc/source/cn/guide/integrate-to-your-app.md | 6 +-
doc/source/cn/guide/tools/index.md | 1 +
doc/source/cn/guide/tools/plugin.md | 77 +++++++
doc/source/cn/references/common-style.md | 59 +++++-
doc/source/cn/references/modules/animation.md | 37 ++--
doc/source/guide/integrate-to-your-app.md | 6 +-
doc/source/guide/tools/index.md | 1 +
doc/source/guide/tools/plugin.md | 68 +++++++
doc/source/references/common-style.md | 57 ++++++
doc/source/references/modules/animation.md | 46 ++---
doc/themes/weex/languages/en.yml | 2 +-
.../weex/layout/_partial/after-footer.ejs | 10 +
doc/themes/weex/layout/_partial/header.ejs | 3 +
doc/themes/weex/layout/_partial/sidebar.ejs | 3 +
doc/themes/weex/source/css/index.scss | 42 +++-
ios/playground/WeexDemo/Scanner/WXScannerVC.m | 2 +-
.../WeexDemo/WXConfigCenterDefaultImpl.m | 6 +-
ios/sdk/WeexSDK.xcodeproj/project.pbxproj | 20 +-
.../WeexSDK/Sources/Component/WXAComponent.m | 1 +
.../Sources/Component/WXComponent_internal.h | 3 +-
.../Sources/Component/WXCycleSliderComponent.m | 56 +++++
.../WeexSDK/Sources/Component/WXEditComponent.m | 9 +-
.../Sources/Component/WXImageComponent.m | 4 +
.../Sources/Component/WXSliderComponent.m | 53 +++++
.../Component/WXSliderNeighborComponent.m | 14 ++
.../Sources/Component/WXSwitchComponent.m | 2 +
.../Sources/Component/WXTextAreaComponent.m | 4 +
.../WeexSDK/Sources/Component/WXTextComponent.m | 19 +-
ios/sdk/WeexSDK/Sources/Component/WXTransform.m | 2 +-
.../Sources/Controller/WXBaseViewController.m | 4 +-
ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m | 1 +
.../Sources/Manager/WXComponentManager.h | 8 +
.../Sources/Manager/WXComponentManager.m | 26 ++-
.../Sources/Manager/WXDatePickerManager.m | 8 +
.../WeexSDK/Sources/Manager/WXTracingManager.m | 2 +-
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 38 ++--
ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 7 +-
ios/sdk/WeexSDK/Sources/Module/WXPickerModule.m | 44 ++++
.../WeexSDK/Sources/Module/WXPrerenderManager.h | 21 ++
.../WeexSDK/Sources/Module/WXPrerenderManager.m | 120 ++++++++---
.../WeexSDK/Sources/Module/WXVoiceOverModule.h | 25 +++
.../WeexSDK/Sources/Module/WXVoiceOverModule.m | 148 ++++++++++++++
ios/sdk/WeexSDK/Sources/Utility/WXConvert.m | 2 +-
ios/sdk/WeexSDK/Sources/WeexSDK.h | 2 +
test/mocha.opts | 2 -
test/pages/attributes/dom-operation.vue | 33 +++
test/pages/components/a-src.vue | 86 ++++++++
test/pages/components/a-support-href1.vue | 58 ++++++
test/pages/components/a-support-href2.vue | 58 ++++++
test/pages/components/hyperlink.vue | 31 ---
test/pages/components/hyperlink_target.vue | 23 ---
test/pages/components/image-onload.vue | 65 ++++++
test/pages/components/image-resize.vue | 97 +++++++++
test/pages/components/list-scroll.vue | 33 +++
test/pages/components/refresh-loading.vue | 20 +-
test/pages/components/scroller-scroll.vue | 31 +++
test/pages/components/slider-infinite.vue | 54 +++++
test/pages/components/textarea-placeholder.vue | 62 ++++++
test/pages/components/video-property.vue | 97 +++++++++
test/pages/components/web-event.vue | 55 ++++-
test/pages/dom-operation.vue | 33 ---
test/pages/image-onload.vue | 31 ---
test/pages/include/navbar.vue | 121 +++++++++++
test/pages/include/navpage.vue | 62 ++++++
test/pages/index.vue | 30 ---
test/pages/list-scroll.vue | 33 ---
test/pages/modules/dom-common.vue | 87 ++++++++
test/pages/modules/dom-update.vue | 78 +++++++
test/pages/modules/downgrade-event.vue | 2 +-
test/pages/modules/modal-event.vue | 75 +++++--
test/pages/modules/navigator-event.vue | 101 +++++++++
test/pages/modules/stream-result.vue | 185 +++++++++++++----
test/pages/modules/viewport-basic.vue | 62 ++++++
test/pages/scroller-scroll.vue | 31 ---
test/pages/slider-infinite.vue | 54 -----
test/screenshot/image-resize-android.png | Bin 0 -> 214440 bytes
test/screenshot/image-resize-ios.png | Bin 0 -> 138033 bytes
test/scripts/attributes/compositing.test.js | 5 +-
test/scripts/attributes/dom.test.js | 98 +++++++++
test/scripts/components/a-src.test.js | 65 ++++++
test/scripts/components/hyperlink.test.js | 44 ----
test/scripts/components/iconfont.test.js | 2 +-
test/scripts/components/image-onload.test.js | 32 +--
test/scripts/components/image-resize.test.js | 43 ++++
test/scripts/components/input-event.test.js | 2 +-
test/scripts/components/recycler.test.js | 20 +-
test/scripts/components/refresh-loading.test.js | 12 +-
test/scripts/components/scroll-event.test.js | 11 +-
test/scripts/components/scroller-fixed.test.js | 2 +-
test/scripts/components/slider-common.test.js | 4 +-
test/scripts/components/slider-infinite.test.js | 4 +-
test/scripts/components/switch-event.test.js | 2 +-
test/scripts/components/text.test.js | 8 +-
.../components/textarea-maxlength.test.js | 3 +-
.../components/textarea-placeholder.test.js | 69 +++++++
test/scripts/components/video-property.test.js | 45 ++++
test/scripts/components/web-event.test.js | 22 +-
test/scripts/css/border.test.js | 3 +-
test/scripts/dom.test.js | 97 ---------
test/scripts/index.test.js | 77 -------
.../scripts/modules/animation-translate.test.js | 5 +-
test/scripts/modules/clipboard-event.test.js | 5 +-
test/scripts/modules/dom-common.test.js | 36 ++++
test/scripts/modules/dom-update.test.js | 51 +++++
test/scripts/modules/gesture-longpress.test.js | 5 +-
test/scripts/modules/globalEvent.test.js | 2 +-
test/scripts/modules/modal-event.test.js | 18 +-
test/scripts/modules/navigator-event.test.js | 51 +++++
test/scripts/modules/picker-event.test.js | 5 +-
test/scripts/modules/stream-result.test.js | 20 +-
test/scripts/modules/timer.test.js | 5 +-
test/scripts/modules/viewport-basic.test.js | 45 ++++
test/scripts/util.js | 58 +++++-
137 files changed, 3375 insertions(+), 1087 deletions(-)
----------------------------------------------------------------------
[03/47] incubator-weex git commit: * [html5] build for esm.
Posted by gu...@apache.org.
* [html5] build for esm.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/7e2d4ef9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/7e2d4ef9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/7e2d4ef9
Branch: refs/heads/dev
Commit: 7e2d4ef9fe74638e788854e22ecc28932e3f72ae
Parents: a105b22
Author: MrRaindrop <te...@gmail.com>
Authored: Sat Aug 12 15:15:09 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Aug 21 11:15:10 2017 +0800
----------------------------------------------------------------------
build/build.js | 17 ++++++++++++++---
build/config.js | 12 ++++++++++--
packages/weex-vue-render/src/index.core.js | 17 +++++++++++++----
packages/weex-vue-render/src/index.js | 17 +++++++++++++----
4 files changed, 50 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7e2d4ef9/build/build.js
----------------------------------------------------------------------
diff --git a/build/build.js b/build/build.js
index 9ddf8a1..02f1e8c 100644
--- a/build/build.js
+++ b/build/build.js
@@ -207,9 +207,20 @@ function build (name) {
else {
console.log(`\n => start to build ${name} (${pkgName})\n`)
return new Promise((resolve, reject) => {
- runRollup(config).then(() => {
- runRollup(minifyConfig).then(() => {
- zip(minifyConfig.dest, resolve)
+ return runRollup(config).then(() => {
+ let p = Promise.resolve()
+ if (name === 'vue') {
+ const esConfig = getConfig(pkgName, false, {
+ format: 'es',
+ _isProd: true
+ })
+ esConfig.dest = esConfig.dest.replace(/\.js$/, '.es.js')
+ p = runRollup(esConfig)
+ }
+ return p.then(function () {
+ return runRollup(minifyConfig).then(() => {
+ zip(minifyConfig.dest, resolve)
+ })
})
})
})
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7e2d4ef9/build/config.js
----------------------------------------------------------------------
diff --git a/build/config.js b/build/config.js
index a863919..3efccb2 100644
--- a/build/config.js
+++ b/build/config.js
@@ -157,8 +157,16 @@ console.log('START WEEX VUE RENDER CORE: ${subversion['vue-render']}, Build ${no
}
}
-function getConfig (name, minify) {
+function getConfig (name, minify, params) {
const opt = configs[name]
+ let isProd
+ if (params) {
+ isProd = params._isProd
+ delete params._isProd
+ for (const k in params) {
+ opt[k] = params[k]
+ }
+ }
const config = {
moduleName: opt.moduleName,
entry: opt.entry,
@@ -169,7 +177,7 @@ function getConfig (name, minify) {
json(),
replace({
'process.env.VIEWPORT_WIDTH': 750,
- 'process.env.NODE_ENV': JSON.stringify(minify ? 'production' : 'development'),
+ 'process.env.NODE_ENV': JSON.stringify(isProd ? 'production' : minify ? 'production' : 'development'),
'process.env.VUE_ENV': JSON.stringify('WEEX'),
'process.env.NODE_DEBUG': false
}),
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7e2d4ef9/packages/weex-vue-render/src/index.core.js
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/src/index.core.js b/packages/weex-vue-render/src/index.core.js
index 3bc8edb..dc49562 100644
--- a/packages/weex-vue-render/src/index.core.js
+++ b/packages/weex-vue-render/src/index.core.js
@@ -5,9 +5,18 @@ import text from '../../../html5/render/vue/components/text'
import image from '../../../html5/render/vue/components/image'
import scrollable from '../../../html5/render/vue/components/scrollable'
-weex.install(div)
-weex.install(text)
-weex.install(image)
-weex.install(scrollable)
+const preInit = weex.init
+
+weex.init = function () {
+ preInit.apply(weex, arguments)
+ weex.install(div)
+ weex.install(text)
+ weex.install(image)
+ weex.install(scrollable)
+}
+
+if (global.Vue) {
+ weex.init(global.Vue)
+}
export default weex
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/7e2d4ef9/packages/weex-vue-render/src/index.js
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/src/index.js b/packages/weex-vue-render/src/index.js
index efbbaeb..178da4c 100644
--- a/packages/weex-vue-render/src/index.js
+++ b/packages/weex-vue-render/src/index.js
@@ -3,10 +3,19 @@ import weex from '../../../html5/render/vue'
import components from '../../../html5/render/vue/components'
import modules from '../../../html5/render/vue/modules'
-const plugins = components.concat(modules)
+const preInit = weex.init
-plugins.forEach(function (plugin) {
- weex.install(plugin)
-})
+weex.init = function () {
+ preInit.apply(weex, arguments)
+ const plugins = components.concat(modules)
+
+ plugins.forEach(function (plugin) {
+ weex.install(plugin)
+ })
+}
+
+if (global.Vue) {
+ weex.init(global.Vue)
+}
export default weex
[12/47] incubator-weex git commit: * [html5] trigger cilck with tap.
Posted by gu...@apache.org.
* [html5] trigger cilck with tap.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b3dd01f2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b3dd01f2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b3dd01f2
Branch: refs/heads/dev
Commit: b3dd01f20815594fe7d1bc824ef577099e731f9f
Parents: 3153784
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 16:44:51 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 16:44:51 2017 +0800
----------------------------------------------------------------------
html5/render/vue/config.js | 3 ++-
html5/render/vue/env/event-manager.js | 11 +++++++++--
html5/render/vue/lib/gesture.js | 2 +-
3 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b3dd01f2/html5/render/vue/config.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/config.js b/html5/render/vue/config.js
index 0858b2f..bccf1e3 100644
--- a/html5/render/vue/config.js
+++ b/html5/render/vue/config.js
@@ -23,6 +23,7 @@ export default {
'panmove',
'panend',
'swipe',
- 'longpress'
+ 'longpress',
+ 'tap'
]
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b3dd01f2/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 1a57f84..7a074d5 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -21,10 +21,10 @@ import config from '../config'
import { createEvent, supportsPassive } from '../utils'
const gestureEvents = config.gestureEvents
-const touchEvents = ['touchstart', 'touchmove', 'touchend']
+const nativeEvents = ['click', 'touchstart', 'touchmove', 'touchend']
const needPassive = ['touchmove']
-const events = gestureEvents.concat(touchEvents)
+const events = gestureEvents.concat(nativeEvents)
// /**
// * is a element in a '<a>' tag?
@@ -96,6 +96,13 @@ function _init (doc) {
e.preventDefault()
}
+ if (evt === 'tap' && evt._for !== 'weex') {
+ return
+ }
+ else if (evt === 'tap') {
+ evt = 'click'
+ }
+
while (vm) {
const vnode = vm.$vnode || vm._vnode
const elm = vm.$el
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b3dd01f2/html5/render/vue/lib/gesture.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/lib/gesture.js b/html5/render/vue/lib/gesture.js
index 5f72b3c..62ad226 100644
--- a/html5/render/vue/lib/gesture.js
+++ b/html5/render/vue/lib/gesture.js
@@ -384,7 +384,7 @@ function touchendHandler(event) {
if (gesture.status === 'tapping') {
gesture.timestamp = Date.now()
// fire click, not tap.
- fireEvent(gesture.element, 'click', /* 'tap', */{
+ fireEvent(gesture.element, 'tap', {
touch: touch,
touchEvent: event
})
[43/47] incubator-weex git commit: * [html5] fix vue-render tests.
Posted by gu...@apache.org.
* [html5] fix vue-render tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/52aed200
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/52aed200
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/52aed200
Branch: refs/heads/dev
Commit: 52aed20005c438a40dbb97c670d27858fa1e3d90
Parents: 51ceff1
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 26 10:30:40 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 26 10:30:40 2017 +0800
----------------------------------------------------------------------
build/karma.vue.conf.js | 1 +
html5/render/vue/utils/component.js | 7 +++----
html5/test/render/vue/components/switch.js | 5 +----
html5/test/render/vue/components/text.js | 4 ++--
html5/test/render/vue/components/web.js | 4 ++--
html5/test/render/vue/helper/index.js | 11 +++++++++++
html5/test/render/vue/utils/component.js | 5 -----
7 files changed, 20 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/build/karma.vue.conf.js
----------------------------------------------------------------------
diff --git a/build/karma.vue.conf.js b/build/karma.vue.conf.js
index 693c241..1bb24d3 100644
--- a/build/karma.vue.conf.js
+++ b/build/karma.vue.conf.js
@@ -72,6 +72,7 @@ module.exports = function (config) {
'../html5/test/render/vue/utils/*.js',
'../html5/test/render/vue/core/*.js',
'../html5/test/render/vue/!(utils|core)/*.js'
+ // '../html5/test/render/vue/components/switch.js',
],
exclude: [
'../html5/test/render/vue/core/node.js',
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/render/vue/utils/component.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/utils/component.js b/html5/render/vue/utils/component.js
index f1e9ee0..7e96585 100644
--- a/html5/render/vue/utils/component.js
+++ b/html5/render/vue/utils/component.js
@@ -152,7 +152,7 @@ function checkHandlers (handlers) {
*/
export function watchAppear (context, fireNow) {
const el = context && context.$el
- if (!el) { return }
+ if (!el || el.nodeType !== 1) { return }
const appearOffset = getAppearOffset(el)
const handlers = getEventHandlers(context)
@@ -163,7 +163,7 @@ export function watchAppear (context, fireNow) {
}
let isWindow = false
- let container = window
+ let container = document.body
const scroller = getParentScroller(context)
if (scroller && scroller.$el) {
container = scroller.$el
@@ -208,9 +208,8 @@ export function watchAppear (context, fireNow) {
for (let i = 0; i < len; i++) {
const vm = watchAppearList[i]
const el = vm.$el
- const ct = isWindow ? document.body : container
const appearOffset = getAppearOffset(el)
- const visibleData = isElementVisible(el, ct, dir, appearOffset)
+ const visibleData = isElementVisible(el, container, dir, appearOffset)
detectAppear(vm, visibleData, dir)
}
}, 25, true)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/components/switch.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/components/switch.js b/html5/test/render/vue/components/switch.js
index 89e3734..123bb8e 100644
--- a/html5/test/render/vue/components/switch.js
+++ b/html5/test/render/vue/components/switch.js
@@ -28,9 +28,7 @@ init('<switch> component', (Vue, helper) => {
it('simple <switch> component', () => {
const vm = compile(`<switch></switch>`)
-
- // console.log(vm.$el)
- expect(vm.$el.tagName).to.be.equal('SPAN')
+ expect(vm.$el.tagName.toLowerCase()).to.be.equal('span')
expect(utils.toArray(vm.$el.classList)).to.include('weex-switch')
expect(vm.$el.innerHTML).to.be.equal('<small class="weex-switch-inner"></small>')
})
@@ -39,7 +37,6 @@ init('<switch> component', (Vue, helper) => {
const vmA = compile(`<switch disabled="true"></switch>`)
const vmB = compile(`<switch disabled></switch>`)
const vmC = compile(`<switch disabled="disabled"></switch>`)
-
expect(vmA.$el.className).to.match(/weex\-switch\-disabled/)
expect(vmB.$el.className).to.match(/weex\-switch\-disabled/)
expect(vmC.$el.className).to.match(/weex\-switch\-disabled/)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/components/text.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/components/text.js b/html5/test/render/vue/components/text.js
index 105cb49..e45432b 100644
--- a/html5/test/render/vue/components/text.js
+++ b/html5/test/render/vue/components/text.js
@@ -30,14 +30,14 @@ init('<text> component', (Vue, helper) => {
it('create simple text component', () => {
const vm = compile(`<text>abc</text>`)
- expect(vm.$el.tagName).to.be.equal('P')
+ expect(vm.$el.tagName.toLowerCase()).to.be.equal('p')
expect(vm.$el.innerHTML).to.be.equal('abc')
})
it('empty text component', () => {
const vm = compile(`<text></text>`)
- expect(vm.$el.tagName).to.be.equal('P')
+ expect(vm.$el.tagName.toLowerCase()).to.be.equal('p')
expect(vm.$el.innerHTML).to.be.equal('')
})
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/components/web.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/components/web.js b/html5/test/render/vue/components/web.js
index 6895b35..6ee488f 100644
--- a/html5/test/render/vue/components/web.js
+++ b/html5/test/render/vue/components/web.js
@@ -29,14 +29,14 @@ init('<web> component', (Vue, helper) => {
const vm = compile(`<web></web>`)
// console.log(vm.$el)
- expect(vm.$el.tagName).to.be.equal('IFRAME')
+ expect(vm.$el.tagName.toLowerCase()).to.be.equal('iframe')
expect(utils.toArray(vm.$el.classList)).to.include.members(['weex-web', 'weex-el'])
})
it('use src attribute', () => {
const vm = compile(`<web src="https://x.cn"></web>`)
- expect(vm.$el.tagName).to.be.equal('IFRAME')
+ expect(vm.$el.tagName.toLowerCase()).to.be.equal('iframe')
expect(vm.$el.getAttribute('src')).to.be.equal('https://x.cn')
expect(utils.toArray(vm.$el.classList)).to.include.members(['weex-web', 'weex-el'])
})
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/helper/index.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/helper/index.js b/html5/test/render/vue/helper/index.js
index 883b70c..641e34e 100644
--- a/html5/test/render/vue/helper/index.js
+++ b/html5/test/render/vue/helper/index.js
@@ -39,6 +39,17 @@ export function init (title, fn) {
Vue.config.isReservedTag = tag => htmlRegex.test(tag)
Vue.config.parsePlatformTagName = tag => tag.replace(htmlRegex, '')
+ function isWeexTag (tag) {
+ return !!weex._components[tag]
+ }
+ const oldGetTagNamespace = Vue.config.getTagNamespace
+ Vue.config.getTagNamespace = function (tag) {
+ if (isWeexTag(tag)) {
+ return
+ }
+ return oldGetTagNamespace(tag)
+ }
+
Vue.mixin(base)
Vue.mixin(style)
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/52aed200/html5/test/render/vue/utils/component.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/utils/component.js b/html5/test/render/vue/utils/component.js
index fc70be2..a921800 100644
--- a/html5/test/render/vue/utils/component.js
+++ b/html5/test/render/vue/utils/component.js
@@ -47,11 +47,6 @@ init('utils component', (Vue, helper) => {
expect(getParentScroller).to.be.a('function')
expect(getParentScroller(vm)).to.be.a('undefined')
})
- it('isComponentVisible', () => {
- const { isComponentVisible } = components
- expect(isComponentVisible).to.be.a('function')
- expect(isComponentVisible(vm)).to.be.true
- })
})
describe('watchAppear', () => {
it('should work when mounted and updated.', function (done) {
[15/47] incubator-weex git commit: * [html5] fix click.
Posted by gu...@apache.org.
* [html5] fix click.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5bc58516
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5bc58516
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5bc58516
Branch: refs/heads/dev
Commit: 5bc585168ec5586901e1865a738ac521ec8a861b
Parents: 768b13a
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 21:37:14 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 21:37:14 2017 +0800
----------------------------------------------------------------------
build/karma.vue.conf.js | 1 +
html5/render/vue/core/node.js | 2 +-
html5/render/vue/env/event-manager.js | 17 +++++++++--------
html5/render/vue/lib/gesture.js | 2 +-
4 files changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/build/karma.vue.conf.js
----------------------------------------------------------------------
diff --git a/build/karma.vue.conf.js b/build/karma.vue.conf.js
index 6220025..693c241 100644
--- a/build/karma.vue.conf.js
+++ b/build/karma.vue.conf.js
@@ -74,6 +74,7 @@ module.exports = function (config) {
'../html5/test/render/vue/!(utils|core)/*.js'
],
exclude: [
+ '../html5/test/render/vue/core/node.js',
'../html5/test/render/vue/helper/*.js',
'../html5/test/render/vue/vender/**/*.js',
'../html5/test/render/vue/data/**/*.js'
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/html5/render/vue/core/node.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/core/node.js b/html5/render/vue/core/node.js
index caf4230..d38cafd 100644
--- a/html5/render/vue/core/node.js
+++ b/html5/render/vue/core/node.js
@@ -85,7 +85,7 @@ export function createEventMap (context, ...events) {
*/
let vm = context
while (vm) {
- const ons = getListeners(vm.$vnode, listenTo)
+ const ons = getListeners(vm._vnode || vm.$vnode, listenTo)
const len = ons.length
if (len > 0) {
let idx = 0
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 7a074d5..3ecf618 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -88,25 +88,26 @@ function _init (doc) {
const el = e.target
let vm = el.__vue__
let disposed = false
-
+ let evtName = e.type
/**
* take full control of redirection of <a> element.
*/
- if (evt === 'click') {
+ if (evtName === 'click') {
e.preventDefault()
+ return
}
- if (evt === 'tap' && evt._for !== 'weex') {
+ if (evtName === 'tap' && e._for !== 'weex') {
return
}
- else if (evt === 'tap') {
- evt = 'click'
+ else if (evtName === 'tap') {
+ evtName = 'click'
}
while (vm) {
- const vnode = vm.$vnode || vm._vnode
+ const vnode = vm._vnode || vm.$vnode
const elm = vm.$el
- const ons = getListeners(vnode, evt)
+ const ons = getListeners(vnode, evtName)
const len = ons && ons.length
if (len > 0) {
@@ -129,7 +130,7 @@ function _init (doc) {
* NOTE: if target==='_blank' then do no jumping and dispatch the
* click event to document.body for further disposing.
*/
- if (evt === 'click' && isANode(elm)) {
+ if (evtName === 'click' && isANode(elm)) {
const href = elm.getAttribute('href')
const target = elm.getAttribute('target')
disposed = true
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/html5/render/vue/lib/gesture.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/lib/gesture.js b/html5/render/vue/lib/gesture.js
index 62ad226..5294cb2 100644
--- a/html5/render/vue/lib/gesture.js
+++ b/html5/render/vue/lib/gesture.js
@@ -70,7 +70,7 @@ function getCommonAncestor(el1, el2) {
*/
function fireEvent(element, type, extra) {
var event = doc.createEvent('HTMLEvents')
- event.initEvent(type, false, true)
+ event.initEvent(type, true, true)
if (typeof extra === 'object') {
for (var p in extra) {
[35/47] incubator-weex git commit: * [html5] reset env.deviceHeight
after window's resizing.
Posted by gu...@apache.org.
* [html5] reset env.deviceHeight after window's resizing.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/babd33bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/babd33bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/babd33bf
Branch: refs/heads/dev
Commit: babd33bf5257cce55fe429b0137b2ce218281cc4
Parents: 89b131f
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Sep 14 20:55:09 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Sep 14 20:55:09 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 ++++
html5/render/vue/env/viewport.js | 8 ++++++++
package.json | 2 +-
packages/weex-vue-render/README.md | 4 ++++
packages/weex-vue-render/package.json | 2 +-
5 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/babd33bf/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 31b6226..4433261 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -164,6 +164,10 @@ vue: {
* fix NS (svg) bug in vue.js@v2.4.3
+#### 0.12.13
+
+* reset `env.deviceHeight` after window's resizing.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/babd33bf/html5/render/vue/env/viewport.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/viewport.js b/html5/render/vue/env/viewport.js
index 33efd6a..bec967f 100644
--- a/html5/render/vue/env/viewport.js
+++ b/html5/render/vue/env/viewport.js
@@ -118,10 +118,18 @@ export function init (viewportWidth: number = width): ?{
screenWidth = doc.documentElement.clientWidth
screenHeight = doc.documentElement.clientHeight
+ const resetDeviceHeight = function () {
+ screenHeight = doc.documentElement.clientHeight
+ const env = window.weex && window.weex.config.env
+ info.deviceHeight = env.deviceHeight = screenHeight * dpr
+ }
+
// set root font for rem.
setRootFont(screenWidth)
setMetaViewport(viewportWidth)
+ window.addEventListener('resize', resetDeviceHeight)
+
/**
* why not to use window.screen.width to get screenWidth ? Because in some
* old webkit browser on android system it get the device pixel width, which
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/babd33bf/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 534cc67..57cde71 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.12",
+ "vue-render": "0.12.13",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/babd33bf/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 31b6226..4433261 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -164,6 +164,10 @@ vue: {
* fix NS (svg) bug in vue.js@v2.4.3
+#### 0.12.13
+
+* reset `env.deviceHeight` after window's resizing.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/babd33bf/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index 8ff879e..c86c16b 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.12",
+ "version": "0.12.13",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[46/47] incubator-weex git commit: * [ios] fix type convert warnings
Posted by gu...@apache.org.
* [ios] fix type convert warnings
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5b7c9a4e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5b7c9a4e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5b7c9a4e
Branch: refs/heads/dev
Commit: 5b7c9a4e683300f63869c4fa50b21ec087570bdf
Parents: 2513b0f
Author: acton393 <zh...@gmail.com>
Authored: Tue Sep 26 11:56:49 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Tue Sep 26 11:56:49 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5b7c9a4e/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 9e95e9b..7ad52f3 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -150,7 +150,7 @@
copyId = __copy % (1024*1024);
__copy++;
}
- NSString *copyRef = [NSString stringWithFormat:@"%ldcopy_of%@", copyId, _isTemplate ? self.ref : self->_templateComponent.ref];
+ NSString *copyRef = [NSString stringWithFormat:@"%zdcopy_of%@", copyId, _isTemplate ? self.ref : self->_templateComponent.ref];
WXComponent *component = [[[self class] allocWithZone:zone] initWithRef:copyRef type:self.type styles:self.styles attributes:self.attributes events:self.events weexInstance:self.weexInstance];
if (_isTemplate) {
component->_templateComponent = self;
[47/47] incubator-weex git commit: Merge branch '0.16-dev' of
https://git-wip-us.apache.org/repos/asf/incubator-weex into 0.16-dev
Posted by gu...@apache.org.
Merge branch '0.16-dev' of https://git-wip-us.apache.org/repos/asf/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/915935b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/915935b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/915935b0
Branch: refs/heads/dev
Commit: 915935b09163d2ea88d2db7ba83979e6d9f2cf1c
Parents: aab1d74 5b7c9a4
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 26 12:22:44 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 26 12:22:44 2017 +0800
----------------------------------------------------------------------
ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
[05/47] incubator-weex git commit: Revert "* [html5] release
vue-render 0.12.2"
Posted by gu...@apache.org.
Revert "* [html5] release vue-render 0.12.2"
This reverts commit bb844b90aa013ca946c6ffdce57a1281f5340374.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/486c6f4d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/486c6f4d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/486c6f4d
Branch: refs/heads/dev
Commit: 486c6f4dffcb9865739731c34fbabf276395dd16
Parents: bb844b9
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Aug 21 11:31:55 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Aug 21 11:31:55 2017 +0800
----------------------------------------------------------------------
package.json | 5 -----
1 file changed, 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/486c6f4d/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 2148df1..4579a27 100644
--- a/package.json
+++ b/package.json
@@ -3,13 +3,8 @@
"version": "0.12.2",
"subversion": {
"browser": "0.5.0",
-<<<<<<< HEAD
"framework": "0.21.9",
"vue-render": "0.12.3",
-=======
- "framework": "0.20.6",
- "vue-render": "0.12.2",
->>>>>>> 850811c... * [html5] release vue-render 0.12.2
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
[13/47] incubator-weex git commit: * [html5] udpate publish info.
Posted by gu...@apache.org.
* [html5] udpate publish info.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/316dfa28
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/316dfa28
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/316dfa28
Branch: refs/heads/dev
Commit: 316dfa28a7f2e96540959dc06fb6ca55e2f38822
Parents: b3dd01f
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 16:57:01 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 17:06:14 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 ++++
package.json | 4 ++--
packages/weex-vue-render/README.md | 4 ++++
packages/weex-vue-render/package.json | 2 +-
4 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/316dfa28/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 7e507c9..41df16b 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -142,6 +142,10 @@ vue: {
* fix scanning style in production with uglified code.
+#### 0.12.6
+
+* optimize event binding.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/316dfa28/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 02ad3ed..1648235 100644
--- a/package.json
+++ b/package.json
@@ -3,8 +3,8 @@
"version": "0.12.2",
"subversion": {
"browser": "0.5.0",
- "framework": "0.21.9",
- "vue-render": "0.12.4",
+ "framework": "0.21.11",
+ "vue-render": "0.12.6",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/316dfa28/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 7e507c9..41df16b 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -142,6 +142,10 @@ vue: {
* fix scanning style in production with uglified code.
+#### 0.12.6
+
+* optimize event binding.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/316dfa28/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index c6dfb4a..51a68d9 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.4",
+ "version": "0.12.6",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[37/47] incubator-weex git commit: * [html5] release v0.12.14
Posted by gu...@apache.org.
* [html5] release v0.12.14
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/6ec5a50b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/6ec5a50b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/6ec5a50b
Branch: refs/heads/dev
Commit: 6ec5a50bc4c9309f3f39a01b7e91808185cfc406
Parents: 56df42d
Author: MrRaindrop <te...@gmail.com>
Authored: Fri Sep 15 17:21:02 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Fri Sep 15 17:21:02 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 ++++
package.json | 2 +-
packages/weex-vue-render/README.md | 4 ++++
packages/weex-vue-render/package.json | 2 +-
4 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6ec5a50b/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 4433261..0554334 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -168,6 +168,10 @@ vue: {
* reset `env.deviceHeight` after window's resizing.
+#### 0.12.14
+
+* fix loading & refresh: pulling down wrongly triggered.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6ec5a50b/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 57cde71..7176a73 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.13",
+ "vue-render": "0.12.14",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6ec5a50b/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 4433261..0554334 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -168,6 +168,10 @@ vue: {
* reset `env.deviceHeight` after window's resizing.
+#### 0.12.14
+
+* fix loading & refresh: pulling down wrongly triggered.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/6ec5a50b/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index c86c16b..b07535d 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.13",
+ "version": "0.12.14",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[28/47] incubator-weex git commit: * [html5] release v0.12.9 & fix
clicking on none-vue element.
Posted by gu...@apache.org.
* [html5] release v0.12.9 & fix clicking on none-vue element.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/73d2f134
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/73d2f134
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/73d2f134
Branch: refs/heads/dev
Commit: 73d2f134fa14b2600983e6647ed15d0f4f8e2fb9
Parents: eb81e1c
Author: MrRaindrop <te...@gmail.com>
Authored: Mon Sep 11 16:15:59 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Mon Sep 11 16:15:59 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 4 ++++
html5/render/vue/env/event-manager.js | 3 +++
package.json | 2 +-
packages/weex-vue-render/README.md | 4 ++++
packages/weex-vue-render/package.json | 6 +-----
5 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73d2f134/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 2c915a6..d27bdac 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -147,6 +147,10 @@ vue: {
* optimize event binding.
* fix a-jump interception condition.
+#### 0.12.9
+
+* event handling ignore none-vue element.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73d2f134/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index a72f9b6..914981d 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -81,6 +81,9 @@ function _init (doc) {
let vm = el.__vue__
let disposed = false
let evtName = e.type
+ if (!vm) { // not a vue component.
+ return
+ }
/**
* take full control of redirection of <a> element.
*/
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73d2f134/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 0b79cde..8346fc2 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.8",
+ "vue-render": "0.12.9",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73d2f134/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 2c915a6..d27bdac 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -147,6 +147,10 @@ vue: {
* optimize event binding.
* fix a-jump interception condition.
+#### 0.12.9
+
+* event handling ignore none-vue element.
+
## component -> dom map
| component | dom element | children | note |
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73d2f134/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index b29cfdc..220744f 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.8",
+ "version": "0.12.9",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
@@ -24,9 +24,5 @@
"httpurl": "^0.1.1",
"query-string": "^4.3.2",
"inline-style-prefixer": "^3.0.2"
- },
- "peerDependencies": {
- "vue": "^2.0",
- "vue-loader": "^12.0"
}
}
[18/47] incubator-weex git commit: * [html5] add _triggered on event
when evtName is click
Posted by gu...@apache.org.
* [html5] add _triggered on event when evtName is click
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/aeb55f30
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/aeb55f30
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/aeb55f30
Branch: refs/heads/dev
Commit: aeb55f304c2f05bc6e9f8f24047aeff1a12f4f60
Parents: 31411dd
Author: erha19 <fa...@gmail.com>
Authored: Mon Aug 28 23:33:09 2017 +0800
Committer: erha19 <fa...@gmail.com>
Committed: Mon Aug 28 23:33:09 2017 +0800
----------------------------------------------------------------------
examples/vue/showcase/a-node-click.vue | 6 +++---
html5/render/vue/env/event-manager.js | 15 +++++++++++----
2 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/aeb55f30/examples/vue/showcase/a-node-click.vue
----------------------------------------------------------------------
diff --git a/examples/vue/showcase/a-node-click.vue b/examples/vue/showcase/a-node-click.vue
index bf4d5a4..26d5282 100644
--- a/examples/vue/showcase/a-node-click.vue
+++ b/examples/vue/showcase/a-node-click.vue
@@ -1,9 +1,9 @@
<template>
<list class="list">
<cell class="cell" @click="clickCell">
- <xlink style="width: 400px;height: 400px;background-color: yellow;" :href = "url">
- <div class="ct" @click="click">
- <text >CLICK ME</text>
+ <xlink style="width: 400px;height: 400px;background-color: yellow;" target="_blank" :href = "url">
+ <div class="ct" @click="click">
+ <text>CLICK ME</text>
</div>
</xlink>
</cell>
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/aeb55f30/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index c19a649..243daa0 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -82,9 +82,9 @@ function _init (doc) {
_inited = true
const _sp = supportsPassive()
events.forEach(function (evt) {
- const option = needPassive.indexOf(evt) > -1 && _sp
- ? { passive: true }
- : false
+ const option = evt === 'click'
+ ? true : needPassive.indexOf(evt) > -1 && _sp
+ ? { passive: true } : false
doc.addEventListener(evt, function (e) {
const el = e.target
let vm = el.__vue__
@@ -94,6 +94,8 @@ function _init (doc) {
* take full control of redirection of <a> element.
*/
if (evtName === 'click') {
+ // use '_triggered' to control bubbles event.
+ e._triggered = { target: vm.$el }
e.preventDefault()
return
}
@@ -134,7 +136,12 @@ function _init (doc) {
const target = elm.getAttribute('target')
disposed = true
if (target !== '_blank') {
- location.href = href
+ if (!!href) {
+ location.href = href
+ }
+ else {
+ console.warn('[weex-vue-render] If you want to use the A tag jump, set the href attribute')
+ }
}
else {
// do nothing.
[29/47] incubator-weex git commit: * [html5] fix accessing vm in doms
without __vue__.
Posted by gu...@apache.org.
* [html5] fix accessing vm in doms without __vue__.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/19f0c01c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/19f0c01c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/19f0c01c
Branch: refs/heads/dev
Commit: 19f0c01cfb3c5520a46a0b3ee77a137ded381321
Parents: 73d2f13
Author: MrRaindrop <te...@gmail.com>
Authored: Tue Sep 12 10:38:59 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Tue Sep 12 10:38:59 2017 +0800
----------------------------------------------------------------------
html5/render/vue/env/event-manager.js | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19f0c01c/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 914981d..c2d714d 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -77,13 +77,17 @@ function _init (doc) {
? true : needPassive.indexOf(evt) > -1 && _sp
? { passive: true } : false
doc.addEventListener(evt, function (e) {
- const el = e.target
+ let el = e.target
let vm = el.__vue__
- let disposed = false
- let evtName = e.type
+ while (!vm && el !== document.body) {
+ el = el.parentElement
+ vm = el.__vue__
+ }
if (!vm) { // not a vue component.
return
}
+ let disposed = false
+ let evtName = e.type
/**
* take full control of redirection of <a> element.
*/
[39/47] incubator-weex git commit: * [html5] release v0.12.16.
Posted by gu...@apache.org.
* [html5] release v0.12.16.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/524fbd13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/524fbd13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/524fbd13
Branch: refs/heads/dev
Commit: 524fbd131ad557d797274dfd0cb5aea2e78c20ce
Parents: b7fa6b0
Author: MrRaindrop <te...@gmail.com>
Authored: Sun Sep 24 12:01:19 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Sun Sep 24 12:01:19 2017 +0800
----------------------------------------------------------------------
html5/render/vue/README.md | 2 +-
html5/render/vue/env/event-manager.js | 5 ++---
package.json | 2 +-
packages/weex-vue-render/README.md | 2 +-
packages/weex-vue-render/package.json | 2 +-
5 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/524fbd13/html5/render/vue/README.md
----------------------------------------------------------------------
diff --git a/html5/render/vue/README.md b/html5/render/vue/README.md
index 31646a2..d2b8c89 100644
--- a/html5/render/vue/README.md
+++ b/html5/render/vue/README.md
@@ -172,7 +172,7 @@ vue: {
* fix loading & refresh: pulling down wrongly triggered.
-#### 0.12.15
+#### 0.12.16
* not to prevent default behaviour of click events unless the click-binding element is inside a `<a>` link, or it is a `<a>` link and has a `prevent` attribute on it.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/524fbd13/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index e637b7d..4c777d0 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -131,13 +131,12 @@ function _init (doc) {
if (window._should_intercept_a_jump && window._should_intercept_a_jump(elm)) {
// e._triggered should not be true since we left the intercepter to handle the event.
e._triggered = false
- e.preventDefault()
disposed = true
}
else if (href.match(voidHrefReg)
|| prevent === '' || prevent === 'true') {
- e._triggered = false
- e.preventDefault()
+ e._triggered = false
+ e.preventDefault()
}
else {
e._triggered = { target: elm }
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/524fbd13/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index cd90c76..49a5d76 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"subversion": {
"browser": "0.5.0",
"framework": "0.21.11",
- "vue-render": "0.12.15",
+ "vue-render": "0.12.16",
"transformer": ">=0.1.5 <0.5"
},
"description": "A framework for building Mobile cross-platform UI",
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/524fbd13/packages/weex-vue-render/README.md
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/README.md b/packages/weex-vue-render/README.md
index 31646a2..d2b8c89 100644
--- a/packages/weex-vue-render/README.md
+++ b/packages/weex-vue-render/README.md
@@ -172,7 +172,7 @@ vue: {
* fix loading & refresh: pulling down wrongly triggered.
-#### 0.12.15
+#### 0.12.16
* not to prevent default behaviour of click events unless the click-binding element is inside a `<a>` link, or it is a `<a>` link and has a `prevent` attribute on it.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/524fbd13/packages/weex-vue-render/package.json
----------------------------------------------------------------------
diff --git a/packages/weex-vue-render/package.json b/packages/weex-vue-render/package.json
index a08b4ce..57fed3f 100644
--- a/packages/weex-vue-render/package.json
+++ b/packages/weex-vue-render/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-vue-render",
- "version": "0.12.15",
+ "version": "0.12.16",
"description": "Weex built-in components for Vue 2.x.",
"license": "Apache-2.0",
"main": "dist/index.common.js",
[27/47] incubator-weex git commit: * [html5] fix lint.
Posted by gu...@apache.org.
* [html5] fix lint.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/eb81e1ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/eb81e1ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/eb81e1ca
Branch: refs/heads/dev
Commit: eb81e1cacae448967b262906963a21e2dad089f0
Parents: 386a0c6
Author: MrRaindrop <te...@gmail.com>
Authored: Fri Sep 8 14:11:03 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Fri Sep 8 14:11:03 2017 +0800
----------------------------------------------------------------------
html5/render/vue/env/event-manager.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eb81e1ca/html5/render/vue/env/event-manager.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js
index 70166bc..a72f9b6 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -140,7 +140,8 @@ function _init (doc) {
}
else if (href) {
location.href = href
- } else if (process.env.NODE_ENV === 'development') {
+ }
+ else if (process.env.NODE_ENV === 'development') {
console.warn('[vue-render] If you want to use the A tag jump, set the href attribute')
}
}