You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2018/01/17 11:20:34 UTC

[22/51] [partial] incubator-weex git commit: * [example] update examples in weex playground app

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/android/playground/app/src/main/assets/vue/components/slider.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/slider.js b/android/playground/app/src/main/assets/vue/components/slider.js
deleted file mode 100644
index aeeb4b5..0000000
--- a/android/playground/app/src/main/assets/vue/components/slider.js
+++ /dev/null
@@ -1,929 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(54)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(55)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(64)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/slider.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-e4ae44bc"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-	module.exports.el = 'true'
-	new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 3:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(4)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(5)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(6)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/panel.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-58511ff6"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 4:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "panel": {
-	    "marginBottom": 20,
-	    "backgroundColor": "#ffffff",
-	    "borderColor": "#dddddd",
-	    "borderWidth": 1
-	  },
-	  "panel-primary": {
-	    "borderColor": "rgb(40,96,144)"
-	  },
-	  "panel-success": {
-	    "borderColor": "rgb(76,174,76)"
-	  },
-	  "panel-info": {
-	    "borderColor": "rgb(70,184,218)"
-	  },
-	  "panel-warning": {
-	    "borderColor": "rgb(238,162,54)"
-	  },
-	  "panel-danger": {
-	    "borderColor": "rgb(212,63,58)"
-	  },
-	  "panel-header": {
-	    "backgroundColor": "#f5f5f5",
-	    "fontSize": 40,
-	    "color": "#333333"
-	  },
-	  "panel-header-primary": {
-	    "backgroundColor": "rgb(40,96,144)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-success": {
-	    "backgroundColor": "rgb(92,184,92)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-info": {
-	    "backgroundColor": "rgb(91,192,222)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-warning": {
-	    "backgroundColor": "rgb(240,173,78)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-danger": {
-	    "backgroundColor": "rgb(217,83,79)",
-	    "color": "#ffffff"
-	  },
-	  "panel-body": {
-	    "paddingLeft": 12,
-	    "paddingRight": 12,
-	    "paddingTop": 20,
-	    "paddingBottom": 20
-	  }
-	}
-
-/***/ }),
-
-/***/ 5:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    type: { default: 'default' },
-	    title: { default: '' },
-	    paddingBody: { default: 20 },
-	    paddingHead: { default: 20 },
-	    dataClass: { default: '' }, // FIXME transfer class
-	    border: { default: 0 }
-	  }
-	};
-
-/***/ }),
-
-/***/ 6:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    class: ['panel', 'panel-' + _vm.type],
-	    style: {
-	      borderWidth: _vm.border
-	    }
-	  }, [_c('text', {
-	    class: ['panel-header', 'panel-header-' + _vm.type],
-	    style: {
-	      paddingTop: _vm.paddingHead,
-	      paddingBottom: _vm.paddingHead,
-	      paddingLeft: _vm.paddingHead * 1.5,
-	      paddingRight: _vm.paddingHead * 1.5
-	    }
-	  }, [_vm._v(_vm._s(_vm.title))]), _c('div', {
-	    class: ['panel-body', 'panel-body-' + _vm.type],
-	    style: {
-	      paddingTop: _vm.paddingBody,
-	      paddingBottom: _vm.paddingBody,
-	      paddingLeft: _vm.paddingBody * 1.5,
-	      paddingRight: _vm.paddingBody * 1.5
-	    }
-	  }, [_vm._t("default")], 2)])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 54:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "body": {
-	    "backgroundColor": "#ffffff"
-	  },
-	  "slider": {
-	    "flexDirection": "row",
-	    "width": 690,
-	    "height": 360
-	  },
-	  "indicator": {
-	    "position": "absolute",
-	    "width": 690,
-	    "height": 420,
-	    "top": 140,
-	    "left": 240,
-	    "itemColor": "#dddddd",
-	    "itemSelectedColor": "rgb(40,96,144)"
-	  }
-	}
-
-/***/ }),
-
-/***/ 55:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	var img0 = '//gw.alicdn.com/tps/i2/TB1DpsmMpXXXXabaXXX20ySQVXX-512-512.png_400x400.jpg';
-	var img1 = '//gw.alicdn.com/tps/i1/TB1M3sQMpXXXXakXXXXApNeJVXX-360-360.png';
-	module.exports = {
-	  data: function data() {
-	    return {
-	      eventCnt: 0,
-	      togglePlayMsg: 'pause',
-	      sliders: [{
-	        interval: 1000,
-	        autoPlay: true,
-	        sliderPages: [{
-	          items: [{
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }, {
-	          items: [{
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }, {
-	          items: [{
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }]
-	      }, {
-	        interval: 3000,
-	        autoPlay: true,
-	        sliderPages: [{
-	          items: [{
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }, {
-	          items: [{
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }, {
-	          items: [{
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }]
-	      }, {
-	        interval: 5000,
-	        autoPlay: true,
-	        sliderPages: [{
-	          items: [{
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }, {
-	          items: [{
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }, {
-	          items: [{
-	            image: img0,
-	            link: '//h5.m.taobao.com/1'
-	          }, {
-	            image: img1,
-	            link: '//h5.m.taobao.com/1'
-	          }]
-	        }]
-	      }]
-	    };
-	  },
-	  components: {
-	    panel: __webpack_require__(3),
-	    sliderPage: __webpack_require__(56)
-	  },
-	  methods: {
-	    togglePlay: function togglePlay() {
-	      var autoPlay = this.sliders[0].autoPlay;
-	      autoPlay = !autoPlay;
-	      this.sliders[0].autoPlay = autoPlay;
-	      this.togglePlayMsg = autoPlay ? 'pause' : 'play';
-	    },
-	    handleSliderChange: function handleSliderChange() {
-	      var nowCnt = this.eventCnt + 1;
-	      this.eventCnt = nowCnt;
-	    },
-	    setInterval1: function setInterval1() {
-	      this.sliders[0].interval = 1000;
-	    },
-	    setInterval3: function setInterval3() {
-	      this.sliders[0].interval = 3000;
-	    },
-	    setInterval5: function setInterval5() {
-	      this.sliders[0].interval = 5000;
-	    }
-	  }
-	};
-
-/***/ }),
-
-/***/ 56:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(57)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(58)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(63)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/slider-page.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-e1f8e088"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 57:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "slider-page": {
-	    "flexDirection": "row",
-	    "justifyContent": "space-between",
-	    "width": 714,
-	    "height": 420
-	  }
-	}
-
-/***/ }),
-
-/***/ 58:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    items: { default: [] }
-	  },
-	  components: {
-	    sliderItem: __webpack_require__(59)
-	  }
-	};
-
-/***/ }),
-
-/***/ 59:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(60)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(61)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(62)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/slider-item.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-bc0e7380"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 60:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "slider-item": {
-	    "width": 348,
-	    "height": 400
-	  }
-	}
-
-/***/ }),
-
-/***/ 61:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    image: { default: '' },
-	    link: { default: '' }
-	  }
-	};
-
-/***/ }),
-
-/***/ 62:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('image', {
-	    staticClass: ["slider-item"],
-	    attrs: {
-	      "src": _vm.image
-	    }
-	  })
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 63:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    staticClass: ["slider-page"]
-	  }, _vm._l((_vm.items), function(v, i) {
-	    return _c('slider-item', {
-	      key: i,
-	      attrs: {
-	        "image": v.image,
-	        "link": v.link
-	      }
-	    })
-	  }))
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 64:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('scroller', {
-	    staticClass: ["body"]
-	  }, [_c('panel', {
-	    attrs: {
-	      "title": "auto-play",
-	      "type": "primary"
-	    }
-	  }, [_c('panel', {
-	    attrs: {
-	      "title": "auto-play = false",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[1].interval,
-	      "autoPlay": "false"
-	    }
-	  }, [_c('indicator', {
-	    staticClass: ["indicator"]
-	  }), _vm._l((_vm.sliders[1].sliderPages), function(v, i) {
-	    return _c('slider-page', {
-	      key: i,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)]), _c('panel', {
-	    attrs: {
-	      "title": "auto-play = true",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[0].interval,
-	      "autoPlay": _vm.sliders[0].autoPlay
-	    }
-	  }, [_c('indicator', {
-	    staticClass: ["indicator"]
-	  }), _vm._l((_vm.sliders[0].sliderPages), function(v) {
-	    return _c('slider-page', {
-	      key: v.index,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)])], 1), _c('panel', {
-	    attrs: {
-	      "title": 'Event, ' + _vm.eventCnt + ' change',
-	      "type": "primary"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[0].interval,
-	      "autoPlay": _vm.sliders[0].autoPlay
-	    },
-	    on: {
-	      "change": _vm.handleSliderChange
-	    }
-	  }, [_c('indicator', {
-	    staticClass: ["indicator"]
-	  }), _vm._l((_vm.sliders[0].sliderPages), function(v) {
-	    return _c('slider-page', {
-	      key: v.index,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)]), _c('panel', {
-	    attrs: {
-	      "title": "Indicator",
-	      "type": "primary"
-	    }
-	  }, [_c('panel', {
-	    attrs: {
-	      "title": "default style",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[0].interval,
-	      "autoPlay": _vm.sliders[0].autoPlay
-	    },
-	    on: {
-	      "change": _vm.handleSliderChange
-	    }
-	  }, [_c('indicator', {
-	    staticClass: ["indicator"]
-	  }), _vm._l((_vm.sliders[0].sliderPages), function(v) {
-	    return _c('slider-page', {
-	      key: v.index,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)]), _c('panel', {
-	    attrs: {
-	      "title": "width & height",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[0].interval,
-	      "autoPlay": _vm.sliders[0].autoPlay
-	    }
-	  }, [_c('indicator', {
-	    staticStyle: {
-	      itemColor: "#dddddd",
-	      width: "714px",
-	      height: "460px"
-	    }
-	  }), _vm._l((_vm.sliders[0].sliderPages), function(v) {
-	    return _c('slider-page', {
-	      key: v.index,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)]), _c('panel', {
-	    attrs: {
-	      "title": "left & top",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[1].interval,
-	      "autoPlay": _vm.sliders[1].autoPlay
-	    }
-	  }, [_c('indicator', {
-	    staticClass: ["indicator"],
-	    staticStyle: {
-	      top: "-140px",
-	      left: "-240px"
-	    }
-	  }), _vm._l((_vm.sliders[1].sliderPages), function(v, i) {
-	    return _c('slider-page', {
-	      key: i,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)]), _c('panel', {
-	    attrs: {
-	      "title": "itemColor & itemSelectedColor",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[2].interval,
-	      "autoPlay": _vm.sliders[2].autoPlay
-	    }
-	  }, [_c('indicator', {
-	    staticClass: ["indicator"],
-	    staticStyle: {
-	      itemSelectedColor: "rgb(217, 83, 79)"
-	    }
-	  }), _vm._l((_vm.sliders[2].sliderPages), function(v) {
-	    return _c('slider-page', {
-	      key: v.index,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)]), _c('panel', {
-	    attrs: {
-	      "title": "itemSize",
-	      "paddingBody": "0"
-	    }
-	  }, [_c('slider', {
-	    staticClass: ["slider"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree",
-	      "interval": _vm.sliders[1].interval,
-	      "autoPlay": _vm.sliders[1].autoPlay
-	    }
-	  }, [_c('indicator', {
-	    staticStyle: {
-	      itemColor: "#dddddd",
-	      itemSize: "40px",
-	      top: "140px",
-	      left: "180px",
-	      width: "700px",
-	      height: "380px"
-	    }
-	  }), _vm._l((_vm.sliders[1].sliderPages), function(v, i) {
-	    return _c('slider-page', {
-	      key: i,
-	      attrs: {
-	        "items": v.items
-	      }
-	    })
-	  })], 2)])], 1)], 1)
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/android/playground/app/src/main/assets/vue/components/sliderinfinite.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/sliderinfinite.js b/android/playground/app/src/main/assets/vue/components/sliderinfinite.js
deleted file mode 100644
index 131dd86..0000000
--- a/android/playground/app/src/main/assets/vue/components/sliderinfinite.js
+++ /dev/null
@@ -1,197 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(65)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(66)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(67)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/sliderinfinite.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-e5bd1894"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-	module.exports.el = 'true'
-	new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 65:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "image": {
-	    "width": 700,
-	    "height": 300
-	  },
-	  "slider": {
-	    "marginTop": 25,
-	    "marginLeft": 25,
-	    "width": 700,
-	    "height": 300,
-	    "borderWidth": 2,
-	    "borderStyle": "solid",
-	    "borderColor": "#41B883"
-	  },
-	  "frame": {
-	    "width": 700,
-	    "height": 300,
-	    "position": "relative"
-	  }
-	}
-
-/***/ }),
-
-/***/ 66:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	Object.defineProperty(exports, "__esModule", {
-	  value: true
-	});
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	exports.default = {
-	  data: function data() {
-	    return {
-	      imageList: [{ src: 'https://gw.alicdn.com/tfs/TB1SA2wQXXXXXXDapXXXXXXXXXX-1400-600.png' }, { src: 'https://gw.alicdn.com/tfs/TB1KS_OQXXXXXcSXVXXXXXXXXXX-1400-600.png' }, { src: 'https://gw.alicdn.com/tfs/TB1Ez7XQXXXXXbNXXXXXXXXXXXX-1400-600.png' }, { src: 'https://gw.alicdn.com/tfs/TB1XLn6QXXXXXb2XpXXXXXXXXXX-1400-600.png' }]
-
-	    };
-	  }
-	};
-
-/***/ }),
-
-/***/ 67:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', [_c('slider', {
-	    staticClass: ["slider"],
-	    attrs: {
-	      "interval": "3000",
-	      "autoPlay": "true"
-	    }
-	  }, _vm._l((_vm.imageList), function(img) {
-	    return _c('div', {
-	      staticClass: ["frame"]
-	    }, [_c('image', {
-	      staticClass: ["image"],
-	      attrs: {
-	        "resize": "cover",
-	        "src": img.src
-	      }
-	    })])
-	  }))])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/android/playground/app/src/main/assets/vue/components/tabbar.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/tabbar.js b/android/playground/app/src/main/assets/vue/components/tabbar.js
deleted file mode 100644
index aefc581..0000000
--- a/android/playground/app/src/main/assets/vue/components/tabbar.js
+++ /dev/null
@@ -1,632 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* script */
-	__vue_exports__ = __webpack_require__(68)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(77)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/tabbar.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-	module.exports.el = 'true'
-	new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 41:
-/***/ (function(module, exports) {
-
-	/*
-	 * 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.
-	 */
-	exports.getBaseURL = function (vm) {
-	  var bundleUrl = weex.config.bundleUrl;
-	  var nativeBase;
-	  var isAndroidAssets = bundleUrl.indexOf('your_current_IP') >= 0 || bundleUrl.indexOf('file://assets/')>=0;
-	  var isiOSAssets = bundleUrl.indexOf('file:///') >= 0 && bundleUrl.indexOf('WeexDemo.app') > 0;
-	  if (isAndroidAssets) {
-	    nativeBase = 'file://assets/';
-	  }
-	  else if (isiOSAssets) {
-	    // file:///var/mobile/Containers/Bundle/Application/{id}/WeexDemo.app/
-	    // file:///Users/{user}/Library/Developer/CoreSimulator/Devices/{id}/data/Containers/Bundle/Application/{id}/WeexDemo.app/
-	    nativeBase = bundleUrl.substring(0, bundleUrl.lastIndexOf('/') + 1);
-	  }
-	  else {
-	    var host = 'localhost:12580';
-	    var matches = /\/\/([^\/]+?)\//.exec(weex.config.bundleUrl);
-	    if (matches && matches.length >= 2) {
-	      host = matches[1];
-	    }
-	    nativeBase = 'http://' + host + '/' + vm.dir + '/build/';
-	  }
-	  var h5Base = './vue.html?page=./' + vm.dir + '/build/';
-	  // in Native
-	  var base = nativeBase;
-	  if (typeof window === 'object') {
-	    // in Browser or WebView
-	    base = h5Base;
-	  }
-	  return base
-	}
-
-
-/***/ }),
-
-/***/ 68:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-
-	var getBaseURL = __webpack_require__(41).getBaseURL;
-	module.exports = {
-	  data: function data() {
-	    return {
-	      dir: 'examples',
-	      tabItems: [{
-	        index: 0,
-	        title: 'tab1',
-	        titleColor: '#000000',
-	        icon: '',
-	        image: 'http://gtms01.alicdn.com/tps/i1/TB1qw.hMpXXXXagXXXX9t7RGVXX-46-46.png',
-	        selectedImage: 'http://gtms04.alicdn.com/tps/i4/TB16jjPMpXXXXazXVXX9t7RGVXX-46-46.png',
-	        src: 'component/tabbar/tabbar-item.js?itemId=tab1',
-	        visibility: 'visible'
-	      }, {
-	        index: 1,
-	        title: 'tab2',
-	        titleColor: '#000000',
-	        icon: '',
-	        image: 'http://gtms03.alicdn.com/tps/i3/TB1LEn9MpXXXXaUXpXX9t7RGVXX-46-46.png',
-	        selectedImage: 'http://gtms02.alicdn.com/tps/i2/TB1qysbMpXXXXcnXXXX9t7RGVXX-46-46.png',
-	        src: 'component/tabbar/tabbar-item.js?itemId=tab2',
-	        visibility: 'hidden'
-	      }, {
-	        index: 2,
-	        title: 'tab3',
-	        titleColor: '#000000',
-	        icon: '',
-	        image: 'http://gtms01.alicdn.com/tps/i1/TB1B0v5MpXXXXcvXpXX9t7RGVXX-46-46.png',
-	        selectedImage: 'http://gtms04.alicdn.com/tps/i4/TB1NxY5MpXXXXcrXpXX9t7RGVXX-46-46.png',
-	        src: 'component/tabbar/tabbar-item.js?itemId=tab3',
-	        visibility: 'hidden'
-	      }]
-	    };
-	  },
-	  components: {
-	    tabbar: __webpack_require__(69)
-	  },
-	  created: function created() {
-	    var baseURL = getBaseURL(this);
-	    for (var i = 0; i < this.tabItems.length; i++) {
-	      var tabItem = this.tabItems[i];
-	      tabItem.src = baseURL + tabItem.src;
-	    }
-	  },
-	  methods: {
-	    tabBarOnClick: function tabBarOnClick(e) {
-	      console.log('tabBarOnClick', e.index);
-	    }
-	  }
-	};
-
-/***/ }),
-
-/***/ 69:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(70)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(71)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(76)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/tabbar.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-285878a6"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 70:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "wrapper": {
-	    "width": 750,
-	    "position": "absolute",
-	    "top": 0,
-	    "left": 0,
-	    "right": 0,
-	    "bottom": 0
-	  },
-	  "content": {
-	    "position": "absolute",
-	    "top": 0,
-	    "left": 0,
-	    "right": 0,
-	    "bottom": 0,
-	    "marginTop": 0,
-	    "marginBottom": 88
-	  },
-	  "tabbar": {
-	    "flexDirection": "row",
-	    "position": "fixed",
-	    "bottom": 0,
-	    "left": 0,
-	    "right": 0,
-	    "height": 88
-	  }
-	}
-
-/***/ }),
-
-/***/ 71:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    tabItems: { default: [] },
-	    selectedColor: { default: '#ff0000' },
-	    unselectedColor: { default: '#000000' }
-	  },
-	  data: function data() {
-	    return {
-	      selectedIndex: 0
-	    };
-	  },
-	  components: {
-	    tabitem: __webpack_require__(72)
-	  },
-	  created: function created() {
-	    this.select(this.selectedIndex);
-	  },
-	  methods: {
-	    tabItemOnClick: function tabItemOnClick(e) {
-	      this.selectedIndex = e.index;
-	      this.select(e.index);
-	      this.$emit('tabBarOnClick', e);
-	    },
-	    select: function select(index) {
-	      for (var i = 0; i < this.tabItems.length; i++) {
-	        var tabItem = this.tabItems[i];
-	        if (i == index) {
-	          tabItem.icon = tabItem.selectedImage;
-	          tabItem.titleColor = this.selectedColor;
-	          tabItem.visibility = 'visible';
-	        } else {
-	          tabItem.icon = tabItem.image;
-	          tabItem.titleColor = this.unselectedColor;
-	          tabItem.visibility = 'hidden';
-	        }
-	      }
-	    }
-	  }
-	};
-
-/***/ }),
-
-/***/ 72:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(73)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(74)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(75)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/tabitem.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-400b65e9"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 73:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "container": {
-	    "flex": 1,
-	    "flexDirection": "column",
-	    "alignItems": "center",
-	    "justifyContent": "center",
-	    "height": 88
-	  },
-	  "top-line": {
-	    "position": "absolute",
-	    "top": 0,
-	    "left": 0,
-	    "right": 0,
-	    "height": 2
-	  },
-	  "tab-icon": {
-	    "marginTop": 5,
-	    "width": 40,
-	    "height": 40
-	  },
-	  "tab-text": {
-	    "marginTop": 5,
-	    "textAlign": "center",
-	    "fontSize": 20
-	  }
-	}
-
-/***/ }),
-
-/***/ 74:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    index: { default: 0 },
-	    title: { default: '' },
-	    titleColor: { default: '#000000' },
-	    icon: { default: '' },
-	    backgroundColor: { default: '#ffffff' }
-	  },
-	  methods: {
-	    onclickitem: function onclickitem(e) {
-	      var params = {
-	        index: this.index
-	      };
-	      this.$emit('tabItemOnClick', params);
-	    }
-	  }
-	};
-
-/***/ }),
-
-/***/ 75:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    staticClass: ["container"],
-	    style: {
-	      backgroundColor: _vm.backgroundColor
-	    },
-	    on: {
-	      "click": _vm.onclickitem
-	    }
-	  }, [_c('image', {
-	    staticClass: ["top-line"],
-	    attrs: {
-	      "src": "http://gtms03.alicdn.com/tps/i3/TB1mdsiMpXXXXXpXXXXNw4JIXXX-640-4.png"
-	    }
-	  }), _c('image', {
-	    staticClass: ["tab-icon"],
-	    attrs: {
-	      "src": _vm.icon
-	    }
-	  }), _c('text', {
-	    staticClass: ["tab-text"],
-	    style: {
-	      color: _vm.titleColor
-	    }
-	  }, [_vm._v(_vm._s(_vm.title))])])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 76:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    staticClass: ["wrapper"]
-	  }, [_vm._l((_vm.tabItems), function(item, i) {
-	    return _c('embed', {
-	      key: i,
-	      staticClass: ["content"],
-	      style: {
-	        visibility: item.visibility
-	      },
-	      attrs: {
-	        "src": item.src,
-	        "type": "weex"
-	      }
-	    })
-	  }), _c('div', {
-	    staticClass: ["tabbar"],
-	    appendAsTree: true,
-	    attrs: {
-	      "append": "tree"
-	    }
-	  }, _vm._l((_vm.tabItems), function(item) {
-	    return _c('tabitem', {
-	      key: item.index,
-	      attrs: {
-	        "index": item.index,
-	        "icon": item.icon,
-	        "title": item.title,
-	        "titleColor": item.titleColor
-	      },
-	      on: {
-	        "tabItemOnClick": _vm.tabItemOnClick
-	      }
-	    })
-	  }))], 2)
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 77:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    staticStyle: {
-	      flexDirection: "column"
-	    }
-	  }, [_c('tabbar', {
-	    attrs: {
-	      "tabItems": _vm.tabItems
-	    },
-	    on: {
-	      "tabBarOnClick": _vm.tabBarOnClick
-	    }
-	  })])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/android/playground/app/src/main/assets/vue/components/text.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/text.js b/android/playground/app/src/main/assets/vue/components/text.js
deleted file mode 100644
index ec7f6c2..0000000
--- a/android/playground/app/src/main/assets/vue/components/text.js
+++ /dev/null
@@ -1,527 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(78)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(79)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(80)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/text.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-c5678ba4"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-	module.exports.el = 'true'
-	new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 3:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(4)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(5)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(6)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/panel.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-58511ff6"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 4:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "panel": {
-	    "marginBottom": 20,
-	    "backgroundColor": "#ffffff",
-	    "borderColor": "#dddddd",
-	    "borderWidth": 1
-	  },
-	  "panel-primary": {
-	    "borderColor": "rgb(40,96,144)"
-	  },
-	  "panel-success": {
-	    "borderColor": "rgb(76,174,76)"
-	  },
-	  "panel-info": {
-	    "borderColor": "rgb(70,184,218)"
-	  },
-	  "panel-warning": {
-	    "borderColor": "rgb(238,162,54)"
-	  },
-	  "panel-danger": {
-	    "borderColor": "rgb(212,63,58)"
-	  },
-	  "panel-header": {
-	    "backgroundColor": "#f5f5f5",
-	    "fontSize": 40,
-	    "color": "#333333"
-	  },
-	  "panel-header-primary": {
-	    "backgroundColor": "rgb(40,96,144)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-success": {
-	    "backgroundColor": "rgb(92,184,92)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-info": {
-	    "backgroundColor": "rgb(91,192,222)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-warning": {
-	    "backgroundColor": "rgb(240,173,78)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-danger": {
-	    "backgroundColor": "rgb(217,83,79)",
-	    "color": "#ffffff"
-	  },
-	  "panel-body": {
-	    "paddingLeft": 12,
-	    "paddingRight": 12,
-	    "paddingTop": 20,
-	    "paddingBottom": 20
-	  }
-	}
-
-/***/ }),
-
-/***/ 5:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    type: { default: 'default' },
-	    title: { default: '' },
-	    paddingBody: { default: 20 },
-	    paddingHead: { default: 20 },
-	    dataClass: { default: '' }, // FIXME transfer class
-	    border: { default: 0 }
-	  }
-	};
-
-/***/ }),
-
-/***/ 6:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    class: ['panel', 'panel-' + _vm.type],
-	    style: {
-	      borderWidth: _vm.border
-	    }
-	  }, [_c('text', {
-	    class: ['panel-header', 'panel-header-' + _vm.type],
-	    style: {
-	      paddingTop: _vm.paddingHead,
-	      paddingBottom: _vm.paddingHead,
-	      paddingLeft: _vm.paddingHead * 1.5,
-	      paddingRight: _vm.paddingHead * 1.5
-	    }
-	  }, [_vm._v(_vm._s(_vm.title))]), _c('div', {
-	    class: ['panel-body', 'panel-body-' + _vm.type],
-	    style: {
-	      paddingTop: _vm.paddingBody,
-	      paddingBottom: _vm.paddingBody,
-	      paddingLeft: _vm.paddingBody * 1.5,
-	      paddingRight: _vm.paddingBody * 1.5
-	    }
-	  }, [_vm._t("default")], 2)])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 78:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "txt": {
-	    "marginBottom": 12,
-	    "fontSize": 40
-	  }
-	}
-
-/***/ }),
-
-/***/ 79:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  components: {
-	    panel: __webpack_require__(3)
-	  }
-	};
-
-/***/ }),
-
-/***/ 80:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('scroller', [_c('panel', {
-	    attrs: {
-	      "title": "color",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"]
-	  }, [_vm._v("default is black")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      color: "#286090"
-	    }
-	  }, [_vm._v("#286090")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      color: "#0f0"
-	    }
-	  }, [_vm._v("#0f0")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      color: "red"
-	    }
-	  }, [_vm._v("keyword")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      color: "rgb(238, 162, 54)"
-	    }
-	  }, [_vm._v("rgb(238, 162, 54)")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      color: "rgba(238, 162, 54, 0.5)"
-	    }
-	  }, [_vm._v("rgba(238, 162, 54, 0.5)")])]), _c('panel', {
-	    attrs: {
-	      "title": "font-size",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontSize: "32px"
-	    }
-	  }, [_vm._v("32")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontSize: "64px"
-	    }
-	  }, [_vm._v("64")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontSize: "100px"
-	    }
-	  }, [_vm._v("100")])]), _c('panel', {
-	    attrs: {
-	      "title": "font-style",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontStyle: "normal"
-	    }
-	  }, [_vm._v("normal")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontStyle: "italic"
-	    }
-	  }, [_vm._v("italic")])]), _c('panel', {
-	    attrs: {
-	      "title": "font-weight",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontWeight: "normal"
-	    }
-	  }, [_vm._v("normal")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      fontWeight: "bold"
-	    }
-	  }, [_vm._v("bold")])]), _c('panel', {
-	    attrs: {
-	      "title": "text-decoration",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textDecoration: "none"
-	    }
-	  }, [_vm._v("none")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textDecoration: "underline"
-	    }
-	  }, [_vm._v("underline")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textDecoration: "line-through"
-	    }
-	  }, [_vm._v("line-through")])]), _c('panel', {
-	    attrs: {
-	      "title": "text-align",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textAlign: "left"
-	    }
-	  }, [_vm._v("left")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textAlign: "center"
-	    }
-	  }, [_vm._v("center")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textAlign: "right"
-	    }
-	  }, [_vm._v("right")])]), _c('panel', {
-	    attrs: {
-	      "title": "text-overflow",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      lines: "1"
-	    }
-	  }, [_vm._v("no text-overflow, no text-overflow")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textOverflow: "clip",
-	      width: "450px",
-	      lines: "1"
-	    }
-	  }, [_vm._v("text-overflow: clip, text-overflow: clip")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      textOverflow: "ellipsis",
-	      width: "450px",
-	      lines: "1"
-	    }
-	  }, [_vm._v("text-overflow: ellipsis, text-overflow: ellipsis")])]), _c('panel', {
-	    attrs: {
-	      "title": "line-height",
-	      "type": "primary"
-	    }
-	  }, [_c('text', {
-	    staticClass: ["txt"]
-	  }, [_vm._v("no lineheight setting")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      lineHeight: "50px"
-	    }
-	  }, [_vm._v("lineheight 50")]), _c('text', {
-	    staticClass: ["txt"],
-	    staticStyle: {
-	      lineHeight: "80px"
-	    }
-	  }, [_vm._v(" lineheight 80")])])], 1)
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/android/playground/app/src/main/assets/vue/components/textarea.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/textarea.js b/android/playground/app/src/main/assets/vue/components/textarea.js
deleted file mode 100644
index 04e13d9..0000000
--- a/android/playground/app/src/main/assets/vue/components/textarea.js
+++ /dev/null
@@ -1,380 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(81)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(82)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(83)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/textarea.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-0dfb413b"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-	module.exports.el = 'true'
-	new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 3:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(4)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(5)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(6)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/panel.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-58511ff6"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 4:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "panel": {
-	    "marginBottom": 20,
-	    "backgroundColor": "#ffffff",
-	    "borderColor": "#dddddd",
-	    "borderWidth": 1
-	  },
-	  "panel-primary": {
-	    "borderColor": "rgb(40,96,144)"
-	  },
-	  "panel-success": {
-	    "borderColor": "rgb(76,174,76)"
-	  },
-	  "panel-info": {
-	    "borderColor": "rgb(70,184,218)"
-	  },
-	  "panel-warning": {
-	    "borderColor": "rgb(238,162,54)"
-	  },
-	  "panel-danger": {
-	    "borderColor": "rgb(212,63,58)"
-	  },
-	  "panel-header": {
-	    "backgroundColor": "#f5f5f5",
-	    "fontSize": 40,
-	    "color": "#333333"
-	  },
-	  "panel-header-primary": {
-	    "backgroundColor": "rgb(40,96,144)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-success": {
-	    "backgroundColor": "rgb(92,184,92)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-info": {
-	    "backgroundColor": "rgb(91,192,222)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-warning": {
-	    "backgroundColor": "rgb(240,173,78)",
-	    "color": "#ffffff"
-	  },
-	  "panel-header-danger": {
-	    "backgroundColor": "rgb(217,83,79)",
-	    "color": "#ffffff"
-	  },
-	  "panel-body": {
-	    "paddingLeft": 12,
-	    "paddingRight": 12,
-	    "paddingTop": 20,
-	    "paddingBottom": 20
-	  }
-	}
-
-/***/ }),
-
-/***/ 5:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    type: { default: 'default' },
-	    title: { default: '' },
-	    paddingBody: { default: 20 },
-	    paddingHead: { default: 20 },
-	    dataClass: { default: '' }, // FIXME transfer class
-	    border: { default: 0 }
-	  }
-	};
-
-/***/ }),
-
-/***/ 6:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    class: ['panel', 'panel-' + _vm.type],
-	    style: {
-	      borderWidth: _vm.border
-	    }
-	  }, [_c('text', {
-	    class: ['panel-header', 'panel-header-' + _vm.type],
-	    style: {
-	      paddingTop: _vm.paddingHead,
-	      paddingBottom: _vm.paddingHead,
-	      paddingLeft: _vm.paddingHead * 1.5,
-	      paddingRight: _vm.paddingHead * 1.5
-	    }
-	  }, [_vm._v(_vm._s(_vm.title))]), _c('div', {
-	    class: ['panel-body', 'panel-body-' + _vm.type],
-	    style: {
-	      paddingTop: _vm.paddingBody,
-	      paddingBottom: _vm.paddingBody,
-	      paddingLeft: _vm.paddingBody * 1.5,
-	      paddingRight: _vm.paddingBody * 1.5
-	    }
-	  }, [_vm._t("default")], 2)])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 81:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "textarea": {
-	    "fontSize": 30,
-	    "height": 280,
-	    "width": 400,
-	    "borderWidth": 2,
-	    "borderColor": "#cccccc"
-	  }
-	}
-
-/***/ }),
-
-/***/ 82:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	var modal = weex.requireModule('modal');
-	module.exports = {
-	  data: function data() {
-	    return {
-	      txtInput: '',
-	      txtChange: '',
-	      returnType: '',
-	      msg: ''
-	    };
-	  },
-	  components: {
-	    panel: __webpack_require__(3)
-	  },
-	  methods: {
-	    onchange: function onchange(event) {
-	      this.txtChange = event.value;
-	    },
-	    oninput: function oninput(event) {
-	      this.txtInput = event.value;
-	    },
-	    onreturn: function onreturn(event) {
-	      this.returnType = event.returnKeyType;
-	      this.msg = 'You are "' + this.returnType + '" ' + event.value;
-	    }
-	  }
-	};
-
-/***/ }),
-
-/***/ 83:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('scroller', [_c('panel', {
-	    attrs: {
-	      "title": "textarea",
-	      "type": "primary"
-	    }
-	  }, [_c('textarea', {
-	    staticClass: ["textarea"],
-	    attrs: {
-	      "autofocus": "true",
-	      "returnKeyType": "done"
-	    },
-	    on: {
-	      "return": _vm.onreturn,
-	      "change": _vm.onchange,
-	      "input": _vm.oninput
-	    }
-	  }), _c('text', [_vm._v("oninput: " + _vm._s(_vm.txtInput))]), _c('text', [_vm._v("onchange: " + _vm._s(_vm.txtChange))]), _c('text', [_vm._v("enter key type: " + _vm._s(_vm.returnType))]), _c('text', [_vm._v("action: " + _vm._s(_vm.msg))])])], 1)
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/43564f3b/android/playground/app/src/main/assets/vue/components/video.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/video.js b/android/playground/app/src/main/assets/vue/components/video.js
deleted file mode 100644
index fc68718..0000000
--- a/android/playground/app/src/main/assets/vue/components/video.js
+++ /dev/null
@@ -1,404 +0,0 @@
-// { "framework": "Vue" }
-
-/******/ (function(modules) { // webpackBootstrap
-/******/ 	// The module cache
-/******/ 	var installedModules = {};
-
-/******/ 	// The require function
-/******/ 	function __webpack_require__(moduleId) {
-
-/******/ 		// Check if module is in cache
-/******/ 		if(installedModules[moduleId])
-/******/ 			return installedModules[moduleId].exports;
-
-/******/ 		// Create a new module (and put it into the cache)
-/******/ 		var module = installedModules[moduleId] = {
-/******/ 			exports: {},
-/******/ 			id: moduleId,
-/******/ 			loaded: false
-/******/ 		};
-
-/******/ 		// Execute the module function
-/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-
-/******/ 		// Flag the module as loaded
-/******/ 		module.loaded = true;
-
-/******/ 		// Return the exports of the module
-/******/ 		return module.exports;
-/******/ 	}
-
-
-/******/ 	// expose the modules object (__webpack_modules__)
-/******/ 	__webpack_require__.m = modules;
-
-/******/ 	// expose the module cache
-/******/ 	__webpack_require__.c = installedModules;
-
-/******/ 	// __webpack_public_path__
-/******/ 	__webpack_require__.p = "";
-
-/******/ 	// Load entry module and return exports
-/******/ 	return __webpack_require__(0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ 0:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(84)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(85)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(86)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/components/video.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-c7b2e46c"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-	module.exports.el = 'true'
-	new Vue(module.exports)
-
-
-/***/ }),
-
-/***/ 7:
-/***/ (function(module, exports, __webpack_require__) {
-
-	var __vue_exports__, __vue_options__
-	var __vue_styles__ = []
-
-	/* styles */
-	__vue_styles__.push(__webpack_require__(8)
-	)
-
-	/* script */
-	__vue_exports__ = __webpack_require__(9)
-
-	/* template */
-	var __vue_template__ = __webpack_require__(10)
-	__vue_options__ = __vue_exports__ = __vue_exports__ || {}
-	if (
-	  typeof __vue_exports__.default === "object" ||
-	  typeof __vue_exports__.default === "function"
-	) {
-	if (Object.keys(__vue_exports__).some(function (key) { return key !== "default" && key !== "__esModule" })) {console.error("named exports are not supported in *.vue files.")}
-	__vue_options__ = __vue_exports__ = __vue_exports__.default
-	}
-	if (typeof __vue_options__ === "function") {
-	  __vue_options__ = __vue_options__.options
-	}
-	__vue_options__.__file = "/Users/Hanks/Codes/work/incubator-weex/examples/vue/include/button.vue"
-	__vue_options__.render = __vue_template__.render
-	__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
-	__vue_options__._scopeId = "data-v-71b34881"
-	__vue_options__.style = __vue_options__.style || {}
-	__vue_styles__.forEach(function (module) {
-	  for (var name in module) {
-	    __vue_options__.style[name] = module[name]
-	  }
-	})
-	if (typeof __register_static_styles__ === "function") {
-	  __register_static_styles__(__vue_options__._scopeId, __vue_styles__)
-	}
-
-	module.exports = __vue_exports__
-
-
-/***/ }),
-
-/***/ 8:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "btn": {
-	    "marginBottom": 0,
-	    "alignItems": "center",
-	    "justifyContent": "center",
-	    "borderWidth": 1,
-	    "borderStyle": "solid",
-	    "borderColor": "#333333"
-	  },
-	  "btn-default": {
-	    "color": "rgb(51,51,51)"
-	  },
-	  "btn-primary": {
-	    "backgroundColor": "rgb(40,96,144)",
-	    "borderColor": "rgb(40,96,144)"
-	  },
-	  "btn-success": {
-	    "backgroundColor": "rgb(92,184,92)",
-	    "borderColor": "rgb(76,174,76)"
-	  },
-	  "btn-info": {
-	    "backgroundColor": "rgb(91,192,222)",
-	    "borderColor": "rgb(70,184,218)"
-	  },
-	  "btn-warning": {
-	    "backgroundColor": "rgb(240,173,78)",
-	    "borderColor": "rgb(238,162,54)"
-	  },
-	  "btn-danger": {
-	    "backgroundColor": "rgb(217,83,79)",
-	    "borderColor": "rgb(212,63,58)"
-	  },
-	  "btn-link": {
-	    "borderColor": "rgba(0,0,0,0)",
-	    "borderRadius": 0
-	  },
-	  "btn-txt-default": {
-	    "color": "rgb(51,51,51)"
-	  },
-	  "btn-txt-primary": {
-	    "color": "rgb(255,255,255)"
-	  },
-	  "btn-txt-success": {
-	    "color": "rgb(255,255,255)"
-	  },
-	  "btn-txt-info": {
-	    "color": "rgb(255,255,255)"
-	  },
-	  "btn-txt-warning": {
-	    "color": "rgb(255,255,255)"
-	  },
-	  "btn-txt-danger": {
-	    "color": "rgb(255,255,255)"
-	  },
-	  "btn-txt-link": {
-	    "color": "rgb(51,122,183)"
-	  },
-	  "btn-sz-large": {
-	    "width": 300,
-	    "height": 100,
-	    "paddingTop": 25,
-	    "paddingBottom": 25,
-	    "paddingLeft": 40,
-	    "paddingRight": 40,
-	    "borderRadius": 15
-	  },
-	  "btn-sz-middle": {
-	    "width": 240,
-	    "height": 80,
-	    "paddingTop": 15,
-	    "paddingBottom": 15,
-	    "paddingLeft": 30,
-	    "paddingRight": 30,
-	    "borderRadius": 10
-	  },
-	  "btn-sz-small": {
-	    "width": 170,
-	    "height": 60,
-	    "paddingTop": 12,
-	    "paddingBottom": 12,
-	    "paddingLeft": 25,
-	    "paddingRight": 25,
-	    "borderRadius": 7
-	  },
-	  "btn-txt-sz-large": {
-	    "fontSize": 45
-	  },
-	  "btn-txt-sz-middle": {
-	    "fontSize": 35
-	  },
-	  "btn-txt-sz-small": {
-	    "fontSize": 30
-	  }
-	}
-
-/***/ }),
-
-/***/ 9:
-/***/ (function(module, exports) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	module.exports = {
-	  props: {
-	    type: { default: 'default' },
-	    size: { default: 'large' },
-	    value: { default: '' }
-	  }
-	};
-
-/***/ }),
-
-/***/ 10:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('div', {
-	    class: ['btn', 'btn-' + _vm.type, 'btn-sz-' + _vm.size]
-	  }, [_c('text', {
-	    class: ['btn-txt', 'btn-txt-' + _vm.type, 'btn-txt-sz-' + _vm.size]
-	  }, [_vm._v(_vm._s(_vm.value))])])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ }),
-
-/***/ 84:
-/***/ (function(module, exports) {
-
-	module.exports = {
-	  "video": {
-	    "width": 750,
-	    "height": 460,
-	    "marginBottom": 80
-	  }
-	}
-
-/***/ }),
-
-/***/ 85:
-/***/ (function(module, exports, __webpack_require__) {
-
-	'use strict';
-
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-	//
-
-	var modal = weex.requireModule('modal');
-	module.exports = {
-	  data: function data() {
-	    return {
-	      playStatus: 'play'
-	    };
-	  },
-	  components: {
-	    button: __webpack_require__(7)
-	  },
-	  methods: {
-	    pause: function pause() {
-	      this.playStatus = 'pause';
-	      modal.toast({ 'message': 'click pause' });
-	    },
-	    play: function play() {
-	      this.playStatus = 'play';
-	      modal.toast({ 'message': 'click play' });
-	    },
-	    onpause: function onpause(e) {
-	      this.playStatus = e.playStatus;
-	      modal.toast({ 'message': 'video pause' });
-	    },
-	    onstart: function onstart(e) {
-	      this.playStatus = e.playStatus;
-	      modal.toast({ 'message': 'video start' });
-	    },
-	    onfinish: function onfinish(e) {
-	      this.playStatus = e.playStatus;
-	      modal.toast({ 'message': 'video finish' });
-	    },
-	    onfail: function onfail(e) {
-	      this.playStatus = e.playStatus;
-	      modal.toast({ 'message': 'video fail' });
-	    }
-	  }
-	};
-
-/***/ }),
-
-/***/ 86:
-/***/ (function(module, exports) {
-
-	module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
-	  return _c('scroller', [_c('video', {
-	    staticClass: ["video"],
-	    attrs: {
-	      "onpause": "onpause",
-	      "onstart": "onstart",
-	      "onfinish": "onfinish",
-	      "onfail": "onfail",
-	      "src": "http://g.tbcdn.cn/ali-wireless-h5/res/0.0.6/toy.mp4",
-	      "autoPlay": "true",
-	      "playStatus": _vm.playStatus
-	    }
-	  }), _c('div', {
-	    staticStyle: {
-	      flexDirection: "row",
-	      justifyContent: "center"
-	    }
-	  }, [_c('button', {
-	    attrs: {
-	      "value": "Pause"
-	    },
-	    nativeOn: {
-	      "click": function($event) {
-	        _vm.pause($event)
-	      }
-	    }
-	  }), _c('button', {
-	    staticStyle: {
-	      marginLeft: "20px"
-	    },
-	    attrs: {
-	      "value": "Play",
-	      "type": "primary"
-	    },
-	    nativeOn: {
-	      "click": function($event) {
-	        _vm.play($event)
-	      }
-	    }
-	  })], 1)])
-	},staticRenderFns: []}
-	module.exports.render._withStripped = true
-
-/***/ })
-
-/******/ });
\ No newline at end of file