Skip to content

Commit d9a62db

Browse files
add weui v0.2
1 parent 0448a09 commit d9a62db

File tree

280 files changed

+8458
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

280 files changed

+8458
-1
lines changed

miniprogram/app.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const config = require('./config')
22

3+
global.isDemo = true
34
App({
45
onLaunch(opts) {
56
console.log('App Launch', opts)

miniprogram/app.json

+36-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,35 @@
107107
"page/component/pages/doc-web-view/doc-web-view",
108108
"page/API/pages/doc-web-view/doc-web-view",
109109
"page/cloud/pages/doc-web-view/doc-web-view",
110-
"page/component/pages/editor/editor"
110+
"page/component/pages/editor/editor",
111+
"page/weui/example/index",
112+
"page/weui/example/cell/cell",
113+
"page/weui/example/slideview/slideview",
114+
"page/weui/example/form/form",
115+
"page/weui/example/uploader/uploader",
116+
"page/weui/example/article/article",
117+
"page/weui/example/badge/badge",
118+
"page/weui/example/flex/flex",
119+
"page/weui/example/footer/footer",
120+
"page/weui/example/gallery/gallery",
121+
"page/weui/example/grid/grid",
122+
"page/weui/example/loadmore/loadmore",
123+
"page/weui/example/loading/loading",
124+
"page/weui/example/panel/panel",
125+
"page/weui/example/preview/preview",
126+
"page/weui/example/dialog/dialog",
127+
"page/weui/example/msg/msg",
128+
"page/weui/example/msg/msg_text",
129+
"page/weui/example/msg/msg_text_primary",
130+
"page/weui/example/msg/msg_success",
131+
"page/weui/example/msg/msg_fail",
132+
"page/weui/example/navbar/navbar",
133+
"page/weui/example/navigation/navigation",
134+
"page/weui/example/tabbar/tabbar",
135+
"page/weui/example/icons/icons",
136+
"page/weui/example/form-page/form-page",
137+
"page/weui/example/half-screen-dialog/half-screen-dialog",
138+
"page/weui/example/actionsheet/actionsheet"
111139
],
112140
"window": {
113141
"navigationBarTextStyle": "black",
@@ -127,6 +155,12 @@
127155
"selectedIconPath": "image/icon_component_HL.png",
128156
"text": "组件"
129157
},
158+
{
159+
"pagePath": "page/weui/example/index",
160+
"iconPath": "image/icon_component.png",
161+
"selectedIconPath": "image/icon_component_HL.png",
162+
"text": "扩展组件"
163+
},
130164
{
131165
"pagePath": "page/API/index",
132166
"iconPath": "image/icon_API.png",
@@ -152,6 +186,7 @@
152186
],
153187
"workers": "workers",
154188
"debug": false,
189+
"style": "v2",
155190
"permission": {
156191
"scope.userLocation": {
157192
"desc": "你的位置信息将用于小程序位置接口的效果展示"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
module.exports =
2+
/******/ (function(modules) { // webpackBootstrap
3+
/******/ // The module cache
4+
/******/ var installedModules = {};
5+
/******/
6+
/******/ // The require function
7+
/******/ function __webpack_require__(moduleId) {
8+
/******/
9+
/******/ // Check if module is in cache
10+
/******/ if(installedModules[moduleId]) {
11+
/******/ return installedModules[moduleId].exports;
12+
/******/ }
13+
/******/ // Create a new module (and put it into the cache)
14+
/******/ var module = installedModules[moduleId] = {
15+
/******/ i: moduleId,
16+
/******/ l: false,
17+
/******/ exports: {}
18+
/******/ };
19+
/******/
20+
/******/ // Execute the module function
21+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22+
/******/
23+
/******/ // Flag the module as loaded
24+
/******/ module.l = true;
25+
/******/
26+
/******/ // Return the exports of the module
27+
/******/ return module.exports;
28+
/******/ }
29+
/******/
30+
/******/
31+
/******/ // expose the modules object (__webpack_modules__)
32+
/******/ __webpack_require__.m = modules;
33+
/******/
34+
/******/ // expose the module cache
35+
/******/ __webpack_require__.c = installedModules;
36+
/******/
37+
/******/ // define getter function for harmony exports
38+
/******/ __webpack_require__.d = function(exports, name, getter) {
39+
/******/ if(!__webpack_require__.o(exports, name)) {
40+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41+
/******/ }
42+
/******/ };
43+
/******/
44+
/******/ // define __esModule on exports
45+
/******/ __webpack_require__.r = function(exports) {
46+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48+
/******/ }
49+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
50+
/******/ };
51+
/******/
52+
/******/ // create a fake namespace object
53+
/******/ // mode & 1: value is a module id, require it
54+
/******/ // mode & 2: merge all properties of value into the ns
55+
/******/ // mode & 4: return value when already ns object
56+
/******/ // mode & 8|1: behave like require
57+
/******/ __webpack_require__.t = function(value, mode) {
58+
/******/ if(mode & 1) value = __webpack_require__(value);
59+
/******/ if(mode & 8) return value;
60+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61+
/******/ var ns = Object.create(null);
62+
/******/ __webpack_require__.r(ns);
63+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65+
/******/ return ns;
66+
/******/ };
67+
/******/
68+
/******/ // getDefaultExport function for compatibility with non-harmony modules
69+
/******/ __webpack_require__.n = function(module) {
70+
/******/ var getter = module && module.__esModule ?
71+
/******/ function getDefault() { return module['default']; } :
72+
/******/ function getModuleExports() { return module; };
73+
/******/ __webpack_require__.d(getter, 'a', getter);
74+
/******/ return getter;
75+
/******/ };
76+
/******/
77+
/******/ // Object.prototype.hasOwnProperty.call
78+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79+
/******/
80+
/******/ // __webpack_public_path__
81+
/******/ __webpack_require__.p = "";
82+
/******/
83+
/******/
84+
/******/ // Load entry module and return exports
85+
/******/ return __webpack_require__(__webpack_require__.s = 1);
86+
/******/ })
87+
/************************************************************************/
88+
/******/ ([
89+
/* 0 */,
90+
/* 1 */
91+
/***/ (function(module, exports, __webpack_require__) {
92+
93+
"use strict";
94+
95+
96+
Component({
97+
options: {
98+
multipleSlots: true,
99+
addGlobalClass: true
100+
},
101+
properties: {
102+
title: {
103+
type: String,
104+
value: ''
105+
},
106+
showCancel: {
107+
type: Boolean,
108+
value: true
109+
},
110+
cancelText: {
111+
type: String,
112+
value: '取消'
113+
},
114+
maskClass: {
115+
type: String,
116+
value: ''
117+
},
118+
extClass: {
119+
type: String,
120+
value: ''
121+
},
122+
maskClosable: {
123+
type: Boolean,
124+
value: true
125+
},
126+
mask: {
127+
type: Boolean,
128+
value: true
129+
},
130+
show: {
131+
type: Boolean,
132+
value: false
133+
},
134+
actions: {
135+
type: Array,
136+
value: [],
137+
observer: '_groupChange'
138+
}
139+
},
140+
methods: {
141+
_groupChange: function _groupChange(e) {
142+
if (e.length > 0 && typeof e[0] !== 'string' && !(e[0] instanceof Array)) {
143+
this.setData({
144+
actions: [this.data.actions]
145+
});
146+
}
147+
},
148+
buttonTap: function buttonTap(e) {
149+
var _e$currentTarget$data = e.currentTarget.dataset,
150+
value = _e$currentTarget$data.value,
151+
groupindex = _e$currentTarget$data.groupindex,
152+
index = _e$currentTarget$data.index;
153+
154+
this.triggerEvent('actiontap', { value: value, groupindex: groupindex, index: index });
155+
},
156+
closeActionSheet: function closeActionSheet(e) {
157+
var type = e.currentTarget.dataset.type;
158+
159+
if (this.data.maskClosable || type) {
160+
this.setData({
161+
show: false
162+
});
163+
this.triggerEvent('close');
164+
}
165+
}
166+
}
167+
});
168+
169+
/***/ })
170+
/******/ ]);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"component": true,
3+
"usingComponents": {}
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<wxs module="utils">
2+
var join = function(a,b) {
3+
return a+b
4+
};
5+
var isNotSlot = function(v) {
6+
return typeof v !== 'string'
7+
}
8+
module.exports = {
9+
join: join,
10+
isNotSlot: isNotSlot
11+
}
12+
</wxs>
13+
14+
<view wx:if="{{mask}}" class="weui-mask {{show ? '' : 'weui-mask_hidden'}} {{maskClass}}" bindtap="closeActionSheet"></view>
15+
<view class="weui-actionsheet {{show ? 'weui-actionsheet_toggle' : ''}} {{extClass}}">
16+
<!-- 标题 -->
17+
<block wx:if="{{title}}">
18+
<view class="weui-actionsheet__title">
19+
<view class="weui-actionsheet__title-text">{{title}}</view>
20+
</view>
21+
</block>
22+
<slot name="title" wx:else></slot>
23+
<view
24+
class="{{ !showCancel && index === actions.length-1 ? 'weui-actionsheet__action' : 'weui-actionsheet__menu' }}"
25+
wx:key="{{index}}"
26+
wx:for-item="actionItem"
27+
wx:for-index="index"
28+
wx:for="{{actions}}"
29+
>
30+
<block wx:if="{{utils.isNotSlot(actionItem)}}">
31+
<view
32+
class="weui-actionsheet__cell {{item.type === 'warn' ? 'weui-actionsheet__cell_warn' : '' }}"
33+
wx:key="{{item.text}}"
34+
wx:for="{{actionItem}}"
35+
wx:for-index="actionIndex"
36+
data-groupindex="{{index}}"
37+
data-index="{{actionIndex}}"
38+
data-value="{{item.value}}"
39+
bindtap="buttonTap"
40+
>
41+
{{item.text}}
42+
</view>
43+
</block>
44+
<slot name="{{actionItem}}" wx:else></slot>
45+
</view>
46+
<!-- 取消按钮 -->
47+
<view class="weui-actionsheet__action" wx:if="{{showCancel}}">
48+
<view class="weui-actionsheet__cell" data-type="close" id="iosActionsheetCancel" bindtap="closeActionSheet">{{cancelText}}</view>
49+
</view>
50+
</view>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.weui-mask{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,0.6)}.weui-mask_transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0}.weui-actionsheet{position:fixed;left:0;bottom:0;transform:translate(0, 100%);backface-visibility:hidden;z-index:5000;width:100%;background-color:#EAE7E8;transition:transform .3s;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden}.weui-actionsheet__title{position:relative;height:56px;padding:0 24px;display:flex;justify-content:center;flex-direction:column;text-align:center;font-size:12px;color:rgba(0,0,0,0.5);line-height:1.4;background:#FFFFFF}.weui-actionsheet__title:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.1)}.weui-actionsheet__title .weui-actionsheet__title-text{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-actionsheet__menu{color:rgba(0,0,0,0.9);background-color:#FFFFFF}.weui-actionsheet__action{margin-top:8px;background-color:#FFFFFF;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.weui-actionsheet__cell{position:relative;padding:16px;text-align:center;font-size:17px;line-height:1.41176471}.weui-actionsheet__cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.1)}.weui-actionsheet__cell:active{background-color:#ECECEC}.weui-actionsheet__cell:first-child:before{display:none}.weui-actionsheet__cell_warn{color:#FA5151}.weui-skin_android .weui-actionsheet{position:fixed;left:50%;top:50%;bottom:auto;transform:translate(-50%, -50%);width:274px;box-sizing:border-box;backface-visibility:hidden;background:transparent;transition:transform .3s;border-radius:2px}.weui-skin_android .weui-actionsheet__action{display:none}.weui-skin_android .weui-actionsheet__menu{border-radius:2px;box-shadow:0 6px 30px 0 rgba(0,0,0,0.1)}.weui-skin_android .weui-actionsheet__cell{padding:16px;font-size:17px;line-height:1.41176471;color:rgba(0,0,0,0.9);text-align:left}.weui-skin_android .weui-actionsheet__cell:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.weui-skin_android .weui-actionsheet__cell:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.weui-actionsheet_toggle{transform:translate(0, 0)}.weui-mask.weui-mask_hidden{opacity:0;transform:scale3d(1, 1, 0)}.weui-mask{opacity:1;transform:scale3d(1, 1, 1);transition:all .3s}

0 commit comments

Comments
 (0)