You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by zs...@apache.org on 2017/03/27 07:11:58 UTC
[08/13] incubator-weex git commit: Merge branch 'v0.10.0-playground'
into 0.11-dev
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/93063f14/android/playground/app/src/main/assets/vue/components/image.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/image.js b/android/playground/app/src/main/assets/vue/components/image.js
new file mode 100644
index 0000000..975ec97
--- /dev/null
+++ b/android/playground/app/src/main/assets/vue/components/image.js
@@ -0,0 +1,641 @@
+// { "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__(405)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(406)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(407)
+ __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/lixinke/git/other/weex/examples/vue/components/image.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+ module.exports.el = 'true'
+ new Vue(module.exports)
+
+
+/***/ },
+
+/***/ 383:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(384)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(385)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(386)
+ __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/lixinke/git/other/weex/examples/vue/include/panel.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 384:
+/***/ 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"
+ }
+ }
+
+/***/ },
+
+/***/ 385:
+/***/ 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 }
+ }
+ };
+
+/***/ },
+
+/***/ 386:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ class: ['panel', 'panel-' + _vm.type],
+ style: {
+ borderWidth: _vm.border
+ }
+ }, [_h('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._s(_vm.title)]), _h('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")])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 393:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(394)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(395)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(396)
+ __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/lixinke/git/other/weex/examples/vue/include/tip.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 394:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "tip": {
+ "paddingLeft": 36,
+ "paddingRight": 36,
+ "paddingTop": 36,
+ "paddingBottom": 36,
+ "borderRadius": 10
+ },
+ "tip-txt": {
+ "fontSize": 28
+ },
+ "tip-success": {
+ "backgroundColor": "#dff0d8",
+ "borderColor": "#d6e9c6"
+ },
+ "tip-txt-success": {
+ "color": "#3c763d"
+ },
+ "tip-info": {
+ "backgroundColor": "#d9edf7",
+ "borderColor": "#bce8f1"
+ },
+ "tip-txt-info": {
+ "color": "#31708f"
+ },
+ "tip-warning": {
+ "backgroundColor": "#fcf8e3",
+ "borderColor": "#faebcc"
+ },
+ "tip-txt-warning": {
+ "color": "#8a6d3b"
+ },
+ "tip-danger": {
+ "backgroundColor": "#f2dede",
+ "borderColor": "#ebccd1"
+ },
+ "tip-txt-danger": {
+ "color": "#a94442"
+ }
+ }
+
+/***/ },
+
+/***/ 395:
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ props: {
+ type: { default: 'success' },
+ value: { default: '' }
+ }
+ };
+
+/***/ },
+
+/***/ 396:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ class: ['tip', 'tip-' + _vm.type]
+ }, [_h('text', {
+ class: ['tip-txt', 'tip-txt-' + _vm.type]
+ }, [_vm._s(_vm.value)])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 405:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "img": {
+ "marginBottom": 20
+ }
+ }
+
+/***/ },
+
+/***/ 406:
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ data: function data() {
+ return {
+ img: '//gw.alicdn.com/tps/i2/TB1DpsmMpXXXXabaXXX20ySQVXX-512-512.png_400x400.jpg'
+ };
+ },
+ components: {
+ panel: __webpack_require__(383),
+ tip: __webpack_require__(393)
+ }
+ };
+
+/***/ },
+
+/***/ 407:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('scroller', [_h('panel', {
+ attrs: {
+ "title": "width x height",
+ "type": "primary"
+ }
+ }, [_h('tip', {
+ staticStyle: {
+ marginBottom: "20px"
+ },
+ attrs: {
+ "type": "warning",
+ "value": "Weex screen width is 750"
+ }
+ }), _h('div', {
+ staticStyle: {
+ flexDirection: "row"
+ }
+ }, [_h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "300px",
+ height: "300px"
+ },
+ attrs: {
+ "src": _vm.img
+ }
+ }), _h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "200px",
+ height: "200px"
+ },
+ attrs: {
+ "src": _vm.img
+ }
+ }), _h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "50px",
+ height: "50px"
+ },
+ attrs: {
+ "src": _vm.img
+ }
+ })])]), _h('panel', {
+ attrs: {
+ "title": "GIF Animation",
+ "type": "primary"
+ }
+ }, [_h('tip', {
+ staticStyle: {
+ marginBottom: "20px"
+ },
+ attrs: {
+ "type": "warning",
+ "value": "Depanding on Native ImageSDK"
+ }
+ }), _h('div', {
+ staticStyle: {
+ flexDirection: "row"
+ }
+ }, [_h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "96px",
+ height: "96px"
+ },
+ attrs: {
+ "src": "https://gtd.alicdn.com/tps/i4/T1HcvHXd4nXXb6ROYh-48-48.gif"
+ }
+ }), _h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "68px",
+ height: "68px",
+ marginLeft: "20px"
+ },
+ attrs: {
+ "src": "https://gw.alicdn.com/tps/TB1El.mKXXXXXXyapXXXXXXXXXX-34-34.gif"
+ }
+ })])]), _h('panel', {
+ attrs: {
+ "title": "Base64",
+ "type": "primary"
+ }
+ }, [_h('tip', {
+ staticStyle: {
+ marginBottom: "20px"
+ },
+ attrs: {
+ "type": "warning",
+ "value": "Depanding on Native ImageSDK"
+ }
+ }), _h('div', {
+ staticStyle: {
+ flexDirection: "row"
+ }
+ }, [_h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "96px",
+ height: "96px"
+ },
+ attrs: {
+ "src": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAMAAABgOjJdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO1QTFRFhomSb3J8XGBrdnqDgYWNlJefV1tmfoGKU1diT1NfgISNgoWOYmZwio2Vi4+Wc3eAkJObZGhzUlZiaGt2U1djfYCKZGdyhYiQeHyFio6VgYWOVVllbHB6XWFsY2ZxaWx3jZCYXmFsfYCJcnZ/UVVham54V1tng4aPb3N8WV1pX2JtZWl0YWVvVlpmiYyUWVxohomRd3uEdHiBeX2GZ2t1hIeQVFhkf4OMbnJ8fYGKdnqEb3N9kJScY2dycnaAjpKZdHeBjpKajI+Yc3eBhYiRf4KLXmFtio6Wi4+XjZCZkJSbkZScjI+XlJifTlJe+rAZcwAAAZBJREFUeNp0lOeWgjAQhSdUBQRRbFjX7tpW3XUt23tL3v9xNigJIHh/zRk+5iR3ZgIkULWmwgv+A7VWDWWBR/nSt2gLUzIVbLH1lo8RRW1wEfqxPtCKUaKTMUhURuUhTIi6Q07l6LuAEFdpEld6tWNEx00CKKJ3jsR1xSHJcj4bB+LmkpxT49Yj8mqQUVBBciUk8ITepESJ+5AqY1+uwny5IjDPcADoN0BIwjLOsjKZOewtbi/9fvi338a44CetIai2H/cokPLj9tfEj2wVzD4rIWMlfpu+CXc5Pw4qh5X7AUw4gZIswUENGT8lAN1fMBVeAxIIxYR3Nin0imOe52emdxkyP8aY+0S9Y2d63cNoxvACRTaeI70slst+cjYCAnXmuuS1RKKmy1hKBX0hzaC3KOsxsmz2Ir2NzMcEbVCo+cf5oDOWOzNAucpxxoglnZlT1+KzXk4kymKwL4ttN+73dhHeuWV85zLL073Vw3v7MdDuE3a/JRrCmqwFQ2yV8gmvg/d+aPCMH0GLvB//
AgwAo1MTpxsaxVoAAAAASUVORK5CYII="
+ }
+ }), _h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "68px",
+ height: "68px",
+ marginLeft: "20px"
+ },
+ attrs: {
+ "src": "data:image/gif;base64,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"
+ }
+ })])]), _h('panel', {
+ attrs: {
+ "title": "resize",
+ "type": "primary"
+ }
+ }, [_h('panel', {
+ attrs: {
+ "title": "resize=stretch(default) 600 x 200 "
+ }
+ }, [_h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "600px",
+ height: "200px",
+ borderStyle: "solid",
+ borderWidth: "1px",
+ borderColor: "#333"
+ },
+ attrs: {
+ "src": _vm.img,
+ "resize": "stretch"
+ }
+ })]), _h('panel', {
+ attrs: {
+ "title": "resize=contain 600 x 200 "
+ }
+ }, [_h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "600px",
+ height: "200px",
+ borderStyle: "solid",
+ borderWidth: "1px",
+ borderColor: "#333"
+ },
+ attrs: {
+ "src": _vm.img,
+ "resize": "contain"
+ }
+ })]), _h('panel', {
+ attrs: {
+ "title": "resize=cover 600 x 200"
+ }
+ }, [_h('image', {
+ staticClass: ["img"],
+ staticStyle: {
+ width: "600px",
+ height: "200px",
+ borderStyle: "solid",
+ borderWidth: "1px",
+ borderColor: "#333"
+ },
+ attrs: {
+ "src": _vm.img,
+ "resize": "cover"
+ }
+ })])])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ }
+
+/******/ });
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/93063f14/android/playground/app/src/main/assets/vue/components/input.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/input.js b/android/playground/app/src/main/assets/vue/components/input.js
new file mode 100644
index 0000000..d996ab4
--- /dev/null
+++ b/android/playground/app/src/main/assets/vue/components/input.js
@@ -0,0 +1,364 @@
+// { "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__(408)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(409)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(410)
+ __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/lixinke/git/other/weex/examples/vue/components/input.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+ module.exports.el = 'true'
+ new Vue(module.exports)
+
+
+/***/ },
+
+/***/ 383:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(384)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(385)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(386)
+ __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/lixinke/git/other/weex/examples/vue/include/panel.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 384:
+/***/ 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"
+ }
+ }
+
+/***/ },
+
+/***/ 385:
+/***/ 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 }
+ }
+ };
+
+/***/ },
+
+/***/ 386:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ class: ['panel', 'panel-' + _vm.type],
+ style: {
+ borderWidth: _vm.border
+ }
+ }, [_h('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._s(_vm.title)]), _h('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")])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 408:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "input": {
+ "fontSize": 60,
+ "height": 80,
+ "width": 400
+ }
+ }
+
+/***/ },
+
+/***/ 409:
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ var modal = __weex_require_module__('modal');
+ module.exports = {
+ data: function data() {
+ return {
+ txtInput: '',
+ txtChange: ''
+ };
+ },
+ components: {
+ panel: __webpack_require__(383)
+ },
+ methods: {
+ onchange: function onchange(event) {
+ this.txtChange = event.value;
+ modal.toast({
+ message: 'onchange: ' + event.value,
+ duration: 2
+ });
+ },
+ oninput: function oninput(event) {
+ this.txtInput = event.value;
+ modal.toast({
+ message: 'onitput: ' + event.value,
+ duration: 1
+ });
+ }
+ }
+ };
+
+/***/ },
+
+/***/ 410:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('scroller', [_h('panel', {
+ attrs: {
+ "title": "input",
+ "type": "primary"
+ }
+ }, [_h('input', {
+ staticClass: ["input"],
+ attrs: {
+ "type": "text",
+ "placeholder": "Text Input",
+ "autofocus": "true",
+ "value": ""
+ },
+ on: {
+ "change": _vm.onchange,
+ "input": _vm.oninput
+ }
+ }), _h('text', ["oninput: " + _vm._s(_vm.txtInput)]), _h('text', ["onchange: " + _vm._s(_vm.txtChange)])])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ }
+
+/******/ });
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/93063f14/android/playground/app/src/main/assets/vue/components/list.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/list.js b/android/playground/app/src/main/assets/vue/components/list.js
new file mode 100644
index 0000000..e8d18d2
--- /dev/null
+++ b/android/playground/app/src/main/assets/vue/components/list.js
@@ -0,0 +1,246 @@
+// { "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__(411)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(412)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(413)
+ __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/lixinke/git/other/weex/examples/vue/components/list.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+ module.exports.el = 'true'
+ new Vue(module.exports)
+
+
+/***/ },
+
+/***/ 411:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "list": {
+ "height": 850
+ },
+ "count": {
+ "fontSize": 48,
+ "margin": 10
+ },
+ "indicator": {
+ "height": 40,
+ "width": 40,
+ "color": "#45b5f0"
+ },
+ "row": {
+ "width": 750
+ },
+ "item": {
+ "justifyContent": "center",
+ "borderBottomWidth": 2,
+ "borderBottomColor": "#c0c0c0",
+ "height": 100,
+ "padding": 20
+ }
+ }
+
+/***/ },
+
+/***/ 412:
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ methods: {
+ onappear: function onappear(e) {
+ var appearId = this.rows[e.target.attr.index].id;
+ nativeLog('+++++', appearId);
+ var appearIds = this.appearIds;
+ appearIds.push(appearId);
+ this.getMinAndMaxIds(appearIds);
+ },
+ ondisappear: function ondisappear(e) {
+ var disAppearId = this.rows[e.target.attr.index].id;
+ nativeLog('+++++', disAppearId);
+ var appearIds = this.appearIds;
+ var index = appearIds.indexOf(disAppearId);
+ if (index > -1) {
+ appearIds.splice(index, 1);
+ }
+ this.getMinAndMaxIds(appearIds);
+ },
+ getMinAndMaxIds: function getMinAndMaxIds(appearIds) {
+ appearIds.sort(function (a, b) {
+ return a - b;
+ });
+ this.appearIds = appearIds;
+ this.appearMax = appearIds[appearIds.length - 1];
+ this.appearMin = appearIds[0];
+ }
+ },
+ data: function data() {
+ return {
+ appearMin: 1,
+ appearMax: 1,
+ appearIds: [],
+ rows: [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }, { id: 8 }, { id: 9 }, { id: 10 }, { id: 11 }, { id: 12 }, { id: 13 }, { id: 14 }, { id: 15 }, { id: 16 }, { id: 17 }, { id: 18 }, { id: 19 }, { id: 20 }, { id: 21 }, { id: 22 }, { id: 23 }, { id: 24 }, { id: 25 }, { id: 26 }, { id: 27 }, { id: 28 }, { id: 29 }]
+ };
+ }
+ };
+
+/***/ },
+
+/***/ 413:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', [_h('list', {
+ staticClass: ["list"]
+ }, [_vm._l((_vm.rows), function(v, i) {
+ return _h('cell', {
+ staticClass: ["row"],
+ appendAsTree: true,
+ attrs: {
+ "append": "tree",
+ "index": i
+ },
+ on: {
+ "appear": _vm.onappear,
+ "disappear": _vm.ondisappear
+ }
+ }, [_h('div', {
+ staticClass: ["item"]
+ }, [_h('text', {
+ staticClass: ["item-title"]
+ }, ["row " + _vm._s(v.id)])])])
+ })]), _h('text', {
+ staticClass: ["count"],
+ attrs: {
+ "value": 'Appear items: ' + _vm.appearMin + ' ~ ' + _vm.appearMax
+ }
+ })])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ }
+
+/******/ });
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/93063f14/android/playground/app/src/main/assets/vue/components/marquee.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/marquee.js b/android/playground/app/src/main/assets/vue/components/marquee.js
new file mode 100644
index 0000000..8f71cff
--- /dev/null
+++ b/android/playground/app/src/main/assets/vue/components/marquee.js
@@ -0,0 +1,534 @@
+// { "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__(414)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(419)
+ __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/lixinke/git/other/weex/examples/vue/components/marquee.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+ module.exports.el = 'true'
+ new Vue(module.exports)
+
+
+/***/ },
+
+/***/ 383:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(384)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(385)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(386)
+ __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/lixinke/git/other/weex/examples/vue/include/panel.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 384:
+/***/ 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"
+ }
+ }
+
+/***/ },
+
+/***/ 385:
+/***/ 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 }
+ }
+ };
+
+/***/ },
+
+/***/ 386:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ class: ['panel', 'panel-' + _vm.type],
+ style: {
+ borderWidth: _vm.border
+ }
+ }, [_h('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._s(_vm.title)]), _h('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")])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 414:
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ data: function data() {
+ return {
+ marquee: {
+ height: 30,
+ duration: 1500,
+ interval: 2000,
+ list: [{ text: 'Introducing Bots on Messenger' }, { text: 'Capturing 3D 360-Stereo VR Video' }, { text: 'The Future of Video on Facebook' }, { text: 'Announcing Vue.js 2.0' }, { text: 'Not Your Average Virtual-DOM' }, { text: 'Templates, JSX, or Hyperscript?' }]
+ }
+ };
+ },
+ components: {
+ panel: __webpack_require__(383),
+ marquee: __webpack_require__(415)
+ },
+ methods: {
+ marqueeChange: function marqueeChange(e) {
+ console.log(e);
+ }
+ }
+ };
+
+/***/ },
+
+/***/ 415:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(416)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(417)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(418)
+ __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/lixinke/git/other/weex/examples/vue/include/marquee.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 416:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "wrap": {
+ "overflow": "hidden",
+ "position": "relative"
+ },
+ "anim": {
+ "flexDirection": "column",
+ "position": "absolute",
+ "transform": "translateY(0) translateZ(0)"
+ }
+ }
+
+/***/ },
+
+/***/ 417:
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ var _animation = __weex_require_module__('animation');
+
+ module.exports = {
+ props: {
+ step: { default: 0 },
+ count: { default: 0 },
+ index: { default: 1 },
+ duration: { default: 0 },
+ interval: { default: 0 },
+ outofview: { default: false }
+ },
+ created: function created() {
+ if (this.interval > 0 && this.step > 0 && this.duration > 0) {
+ this.run();
+ }
+ },
+ methods: {
+ run: function run() {
+ if (this.outofview) {
+ setTimeout(this.run.bind(this), this.interval);
+ } else {
+ setTimeout(function () {
+ this.animation(this.run.bind(this));
+ }.bind(this), this.interval);
+ }
+ },
+ animation: function animation(cb) {
+ var offset = -this.step * this.index;
+ _animation.transition(this.$refs.anim.ref, {
+ styles: {
+ transform: 'translateY(' + offset + 'px) translateZ(0)'
+ },
+ timingFunction: 'ease',
+ duration: this.duration
+ }, function () {
+ this.index = (this.index + 1) % this.count;
+ this.$emit('change', {
+ index: this.index,
+ count: this.count
+ });
+ cb && cb();
+ }.bind(this));
+ },
+ appeared: function appeared() {
+ this.outofview = false;
+ },
+ disappeared: function disappeared() {
+ this.outofview = true;
+ }
+ }
+ };
+
+/***/ },
+
+/***/ 418:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ staticClass: ["wrap"],
+ on: {
+ "appear": _vm.appeared,
+ "disappear": _vm.disappeared
+ }
+ }, [_h('div', {
+ ref: "anim",
+ staticClass: ["anim"]
+ }, [_vm._t("default")])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 419:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('scroller', [_h('panel', {
+ attrs: {
+ "title": "Marquee",
+ "type": "primary"
+ }
+ }, [_h('marquee', {
+ style: {
+ width: 700,
+ height: _vm.marquee.height * 2,
+ backgroundColor: 'rgb(223, 240, 216)',
+ borderRadius: 8,
+ paddingLeft: 10,
+ paddingRight: 10
+ },
+ attrs: {
+ "step": _vm.marquee.height * 2,
+ "count": _vm.marquee.list.length,
+ "interval": _vm.marquee.interval,
+ "duration": _vm.marquee.duration
+ },
+ on: {
+ "change": _vm.marqueeChange
+ }
+ }, [_vm._l((_vm.marquee.list), function(item) {
+ return _h('div', {
+ style: {
+ height: _vm.marquee.height * _vm.marquee.length,
+ paddingTop: _vm.marquee.height * 0.5,
+ paddingBottom: _vm.marquee.height * 0.5,
+ overflow: 'hidden'
+ }
+ }, [_h('text', {
+ style: {
+ height: _vm.marquee.height,
+ color: 'rgb(60, 118, 61)',
+ fontSize: 28
+ }
+ }, [_vm._s(item.text)])])
+ })])])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ }
+
+/******/ });
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/93063f14/android/playground/app/src/main/assets/vue/components/navigator.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/navigator.js b/android/playground/app/src/main/assets/vue/components/navigator.js
new file mode 100644
index 0000000..5fdefce
--- /dev/null
+++ b/android/playground/app/src/main/assets/vue/components/navigator.js
@@ -0,0 +1,1059 @@
+// { "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__(420)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(430)
+ __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/lixinke/git/other/weex/examples/vue/components/navigator.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+ module.exports.el = 'true'
+ new Vue(module.exports)
+
+
+/***/ },
+
+/***/ 383:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(384)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(385)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(386)
+ __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/lixinke/git/other/weex/examples/vue/include/panel.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 384:
+/***/ 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"
+ }
+ }
+
+/***/ },
+
+/***/ 385:
+/***/ 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 }
+ }
+ };
+
+/***/ },
+
+/***/ 386:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ class: ['panel', 'panel-' + _vm.type],
+ style: {
+ borderWidth: _vm.border
+ }
+ }, [_h('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._s(_vm.title)]), _h('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")])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 387:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(388)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(389)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(390)
+ __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/lixinke/git/other/weex/examples/vue/include/button.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 388:
+/***/ 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
+ }
+ }
+
+/***/ },
+
+/***/ 389:
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ props: {
+ type: { default: 'default' },
+ size: { default: 'large' },
+ value: { default: '' }
+ }
+ };
+
+/***/ },
+
+/***/ 390:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ class: ['btn', 'btn-' + _vm.type, 'btn-sz-' + _vm.size]
+ }, [_h('text', {
+ class: ['btn-txt', 'btn-txt-' + _vm.type, 'btn-txt-sz-' + _vm.size]
+ }, [_vm._s(_vm.value)])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 420:
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ var navigator = __weex_require_module__('navigator');
+ var getBaseURL = __webpack_require__(421).getBaseURL;
+ module.exports = {
+ data: function data() {
+ return {
+ navBarHeight: 88,
+ title: 'Navigator',
+ dir: 'examples',
+ baseURL: ''
+ };
+ },
+ components: {
+ panel: __webpack_require__(383),
+ navpage: __webpack_require__(422),
+ button: __webpack_require__(387)
+ },
+ created: function created() {
+ this.$getConfig(function (config) {
+ var env = config.env;
+ if (env.platform == 'iOS') {
+ var scale = env.scale;
+ var deviceWidth = env.deviceWidth / scale;
+ this.navBarHeight = 64.0 * 750.0 / deviceWidth;
+ }
+ }.bind(this));
+ this.baseURL = getBaseURL(this);
+ },
+ methods: {
+ naviBarLeftItemClick: function naviBarLeftItemClick(e) {
+ modal.toast({ message: 'naviBarLeftItemClick', duration: 2 });
+ },
+ naviBarRightItemClick: function naviBarRightItemClick(e) {
+ modal.toast({ message: 'naviBarRightItemClick', duration: 2 });
+ },
+ push: function push() {
+ var params = {
+ 'url': this.baseURL + 'vue/components/navigator.js?test=1',
+ 'animated': 'true'
+ };
+ navigator.push(params, function () {});
+ },
+ pop: function pop() {
+ var params = {
+ 'url': this.baseURL + 'vue/components/navigator.js?test=1',
+ 'animated': 'true'
+ };
+ navigator.pop(params, function () {});
+ }
+ }
+ };
+
+/***/ },
+
+/***/ 421:
+/***/ function(module, exports) {
+
+ exports.getBaseURL = function (vm) {
+ var bundleUrl = vm.$getConfig().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(vm.$getConfig().bundleUrl);
+ if (matches && matches.length >= 2) {
+ host = matches[1];
+ }
+ nativeBase = 'http://' + host + '/' + vm.dir + '/build/';
+ }
+ var h5Base = './index.html?page=./' + vm.dir + '/build/';
+ // in Native
+ var base = nativeBase;
+ if (typeof window === 'object') {
+ // in Browser or WebView
+ base = h5Base;
+ }
+ return base
+ }
+
+
+/***/ },
+
+/***/ 422:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(423)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(424)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(429)
+ __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/lixinke/git/other/weex/examples/vue/include/navpage.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 423:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "wrapper": {
+ "position": "absolute",
+ "top": 0,
+ "left": 0,
+ "right": 0,
+ "bottom": 0,
+ "width": 750
+ }
+ }
+
+/***/ },
+
+/***/ 424:
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ components: {
+ navbar: __webpack_require__(425)
+ },
+ props: {
+ dataRole: { default: 'navbar' },
+ backgroundColor: { default: 'black' },
+ height: { default: 88 },
+ title: { default: "" },
+ titleColor: { default: 'black' },
+ rightItemSrc: { default: '' },
+ rightItemTitle: { default: '' },
+ rightItemColor: { default: 'black' },
+ leftItemSrc: { default: '' },
+ leftItemTitle: { default: '' },
+ leftItemColor: { default: 'black' }
+ },
+ methods: {
+ naviBarRightItemClick: function naviBarRightItemClick(e) {
+ this.$emit('naviBarRightItemClick', e);
+ },
+ naviBarLeftItemClick: function naviBarLeftItemClick(e) {
+ this.$emit('naviBarLeftItemClick', e);
+ }
+ }
+ };
+
+/***/ },
+
+/***/ 425:
+/***/ function(module, exports, __webpack_require__) {
+
+ var __vue_exports__, __vue_options__
+ var __vue_styles__ = []
+
+ /* styles */
+ __vue_styles__.push(__webpack_require__(426)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(427)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(428)
+ __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/lixinke/git/other/weex/examples/vue/include/navbar.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+
+
+/***/ },
+
+/***/ 426:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "container": {
+ "flexDirection": "row",
+ "position": "fixed",
+ "top": 0,
+ "left": 0,
+ "right": 0,
+ "width": 750
+ },
+ "right-text": {
+ "position": "absolute",
+ "bottom": 28,
+ "right": 32,
+ "textAlign": "right",
+ "fontSize": 32,
+ "fontFamily": "'Open Sans', sans-serif"
+ },
+ "left-text": {
+ "position": "absolute",
+ "bottom": 28,
+ "left": 32,
+ "textAlign": "left",
+ "fontSize": 32,
+ "fontFamily": "'Open Sans', sans-serif"
+ },
+ "center-text": {
+ "position": "absolute",
+ "bottom": 25,
+ "left": 172,
+ "right": 172,
+ "textAlign": "center",
+ "fontSize": 36,
+ "fontWeight": "bold"
+ },
+ "left-image": {
+ "position": "absolute",
+ "bottom": 20,
+ "left": 28,
+ "width": 50,
+ "height": 50
+ },
+ "right-image": {
+ "position": "absolute",
+ "bottom": 20,
+ "right": 28,
+ "width": 50,
+ "height": 50
+ }
+ }
+
+/***/ },
+
+/***/ 427:
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ props: {
+ dataRole: { default: 'navbar' },
+ //\u5bfc\u822a\u6761\u80cc\u666f\u8272
+ backgroundColor: { default: 'black' },
+ //\u5bfc\u822a\u6761\u9ad8\u5ea6
+ height: { default: 88 },
+ //\u5bfc\u822a\u6761\u6807\u9898
+ title: { default: '' },
+ //\u5bfc\u822a\u6761\u6807\u9898\u989c\u8272
+ titleColor: { default: 'black' },
+ //\u53f3\u4fa7\u6309\u94ae\u56fe\u7247
+ rightItemSrc: { default: '' },
+ //\u53f3\u4fa7\u6309\u94ae\u6807\u9898
+ rightItemTitle: { default: '' },
+ //\u53f3\u4fa7\u6309\u94ae\u6807\u9898\u989c\u8272
+ rightItemColor: { default: 'black' },
+ //\u5de6\u4fa7\u6309\u94ae\u56fe\u7247
+ leftItemSrc: { default: '' },
+ //\u5de6\u4fa7\u6309\u94ae\u6807\u9898
+ leftItemTitle: { default: '' },
+ //\u5de6\u4fa7\u6309\u94ae\u989c\u8272
+ leftItemColor: { default: 'black' }
+ },
+ methods: {
+ onclickrightitem: function onclickrightitem(e) {
+ this.$emit('naviBarRightItemClick');
+ },
+ onclickleftitem: function onclickleftitem(e) {
+ this.$emit('naviBarLeftItemClick');
+ }
+ }
+ };
+
+/***/ },
+
+/***/ 428:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ staticClass: ["container"],
+ style: {
+ height: _vm.height,
+ backgroundColor: _vm.backgroundColor
+ },
+ attrs: {
+ "dataRole": _vm.dataRole
+ }
+ }, [(!_vm.rightItemSrc) ? _h('text', {
+ staticClass: ["right-text"],
+ style: {
+ color: _vm.rightItemColor
+ },
+ attrs: {
+ "naviItemPosition": "right"
+ },
+ on: {
+ "click": _vm.onclickrightitem
+ }
+ }, [_vm._s(_vm.rightItemTitle)]) : _vm._e(), (_vm.rightItemSrc) ? _h('image', {
+ staticClass: ["right-image"],
+ attrs: {
+ "naviItemPosition": "right",
+ "src": _vm.rightItemSrc
+ },
+ on: {
+ "click": _vm.onclickrightitem
+ }
+ }) : _vm._e(), (!_vm.leftItemSrc) ? _h('text', {
+ staticClass: ["left-text"],
+ style: {
+ color: _vm.leftItemColor
+ },
+ attrs: {
+ "naviItemPosition": "left"
+ },
+ on: {
+ "click": _vm.onclickleftitem
+ }
+ }, [_vm._s(_vm.leftItemTitle)]) : _vm._e(), (_vm.leftItemSrc) ? _h('image', {
+ staticClass: ["left-image"],
+ attrs: {
+ "naviItemPosition": "left",
+ "src": _vm.leftItemSrc
+ },
+ on: {
+ "click": _vm.onclickleftitem
+ }
+ }) : _vm._e(), _h('text', {
+ staticClass: ["center-text"],
+ style: {
+ color: _vm.titleColor
+ },
+ attrs: {
+ "naviItemPosition": "center"
+ }
+ }, [_vm._s(_vm.title)])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 429:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('div', {
+ staticClass: ["wrapper"]
+ }, [_h('navbar', {
+ attrs: {
+ "dataRole": _vm.dataRole,
+ "height": _vm.height,
+ "backgroundColor": _vm.backgroundColor,
+ "title": _vm.title,
+ "titleColor": _vm.titleColor,
+ "leftItemSrc": _vm.leftItemSrc,
+ "leftItemTitle": _vm.leftItemTitle,
+ "leftItemColor": _vm.leftItemColor,
+ "rightItemSrc": _vm.rightItemSrc,
+ "rightItemTitle": _vm.rightItemTitle,
+ "rightItemColor": _vm.rightItemColor
+ },
+ on: {
+ "naviBarRightItemClick": _vm.naviBarRightItemClick,
+ "naviBarLeftItemClick": _vm.naviBarLeftItemClick
+ }
+ }), _h('div', {
+ staticClass: ["wrapper"],
+ style: {
+ marginTop: _vm.height
+ }
+ }, [_vm._t("default")])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ },
+
+/***/ 430:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('navpage', {
+ attrs: {
+ "dataRole": "none",
+ "height": _vm.navBarHeight,
+ "title": _vm.title,
+ "backgroundColor": "#ff5898",
+ "titleColor": "white",
+ "leftItemTitle": "More",
+ "leftItemColor": "white",
+ "rightItemSrc": "http://gtms02.alicdn.com/tps/i2/TB1ED7iMpXXXXXEXXXXWA_BHXXX-48-48.png"
+ },
+ on: {
+ "naviBarLeftItemClick": _vm.naviBarLeftItemClick,
+ "naviBarRightItemClick": _vm.naviBarRightItemClick
+ }
+ }, [_h('panel', {
+ attrs: {
+ "title": "push a new page"
+ }
+ }, [_h('button', {
+ attrs: {
+ "type": "primary",
+ "size": "small",
+ "value": "push"
+ },
+ nativeOn: {
+ "click": function($event) {
+ _vm.push($event)
+ }
+ }
+ })]), _h('panel', {
+ attrs: {
+ "title": "pop to the last page"
+ }
+ }, [_h('button', {
+ attrs: {
+ "type": "success",
+ "size": "small",
+ "value": "pop"
+ },
+ nativeOn: {
+ "click": function($event) {
+ _vm.pop($event)
+ }
+ }
+ })])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ }
+
+/******/ });
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/93063f14/android/playground/app/src/main/assets/vue/components/scroller.js
----------------------------------------------------------------------
diff --git a/android/playground/app/src/main/assets/vue/components/scroller.js b/android/playground/app/src/main/assets/vue/components/scroller.js
new file mode 100644
index 0000000..922f338
--- /dev/null
+++ b/android/playground/app/src/main/assets/vue/components/scroller.js
@@ -0,0 +1,304 @@
+// { "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__(431)
+ )
+
+ /* script */
+ __vue_exports__ = __webpack_require__(432)
+
+ /* template */
+ var __vue_template__ = __webpack_require__(433)
+ __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/lixinke/git/other/weex/examples/vue/components/scroller.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]
+ }
+ })
+
+ module.exports = __vue_exports__
+ module.exports.el = 'true'
+ new Vue(module.exports)
+
+
+/***/ },
+
+/***/ 431:
+/***/ function(module, exports) {
+
+ module.exports = {
+ "refresh-view": {
+ "height": 120,
+ "width": 750,
+ "display": "flex",
+ "MsFlexAlign": "center",
+ "WebkitAlignItems": "center",
+ "WebkitBoxAlign": "center",
+ "alignItems": "center"
+ },
+ "refresh-arrow": {
+ "fontSize": 30,
+ "color": "#45b5f0"
+ },
+ "loading-view": {
+ "height": 80,
+ "width": 750,
+ "justifyContent": "center",
+ "alignItems": "center"
+ },
+ "indicator": {
+ "height": 40,
+ "width": 40,
+ "color": "#45b5f0"
+ },
+ "header": {
+ "backgroundColor": "#45b5f0",
+ "padding": 20,
+ "height": 88,
+ "justifyContent": "center"
+ },
+ "header-title": {
+ "color": "#FFFFFF",
+ "fontWeight": "bold"
+ },
+ "item": {
+ "justifyContent": "center",
+ "borderBottomWidth": 2,
+ "borderBottomColor": "#c0c0c0",
+ "height": 100,
+ "padding": 20
+ }
+ }
+
+/***/ },
+
+/***/ 432:
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ module.exports = {
+ methods: {
+ onrefresh: function onrefresh(e) {
+ var self = this;
+ self.refresh_display = 'show';
+ setTimeout(function () {
+ self.refresh_display = 'hide';
+ }, 1000);
+ },
+ onloading: function onloading(e) {
+ var self = this;
+ self.loading_display = 'show';
+ setTimeout(function () {
+ self.loading_display = 'hide';
+ }, 1000);
+ }
+ },
+ data: function data() {
+ return {
+ refresh_display: 'hide',
+ loading_display: 'hide',
+ sections: [{
+ title: 'Header 1',
+ items: [{ id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }]
+ }, {
+ title: 'Header 2',
+ items: [{ id: 6 }, { id: 7 }, { id: 8 }, { id: 9 }, { id: 10 }, { id: 11 }]
+ }],
+ moreSections: [{
+ title: 'Header 3',
+ items: [{ id: 12 }, { id: 13 }, { id: 14 }, { id: 15 }, { id: 16 }, { id: 17 }, { id: 18 }]
+ }, {
+ title: 'Header 4',
+ items: [{ id: 19 }, { id: 20 }, { id: 21 }, { id: 22 }]
+ }, {
+ title: 'Header 5',
+ items: [{ id: 23 }, { id: 24 }, { id: 25 }, { id: 26 }, { id: 27 }]
+ }, {
+ title: 'Header 6',
+ items: [{ id: 28 }, { id: 29 }, { id: 30 }, { id: 31 }, { id: 32 }]
+ }]
+ };
+ }
+ };
+
+/***/ },
+
+/***/ 433:
+/***/ function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _h('scroller', {
+ staticClass: ["list"],
+ appendAsTree: true,
+ attrs: {
+ "append": "tree"
+ }
+ }, [_vm._l((_vm.sections), function(sec) {
+ return _h('div', {
+ staticClass: ["section"]
+ }, [_h('div', {
+ staticClass: ["header"]
+ }, [_h('text', {
+ staticClass: ["header-title"]
+ }, [_vm._s(sec.title)])]), _vm._l((sec.items), function(item) {
+ return _h('div', {
+ staticClass: ["item"]
+ }, [_h('text', {
+ staticClass: ["item-title"]
+ }, ["row " + _vm._s(item.id)])])
+ })])
+ }), _h('loading', {
+ staticClass: ["loading-view"],
+ attrs: {
+ "display": _vm.loading_display,
+ "onloading": "onloading"
+ }
+ }, [_h('loading-indicator', {
+ staticStyle: {
+ height: "60",
+ width: "60"
+ }
+ })])])
+ },staticRenderFns: []}
+ module.exports.render._withStripped = true
+
+/***/ }
+
+/******/ });
\ No newline at end of file