[Doc] optimzie router & remove unused code (#640)

This commit is contained in:
neverland
2018-02-12 17:23:37 +08:00
committed by GitHub
parent e1123c4116
commit 3991ec3bc9
28 changed files with 154 additions and 230 deletions

View File

@@ -1,22 +1,6 @@
<template>
<van-badge-group>
<van-badge title="热销榜" info="8" @click="onItemClick"></van-badge>
<van-badge title="手握寿司" info="199" @click="onItemClick"></van-badge>
<van-badge title="热销榜" info="8" />
<van-badge title="手握寿司" info="199" />
</van-badge-group>
</template>
<script>
import Badge from 'packages/badge';
import BadgeGroup from 'packages/badge-group';
export default {
components: {
'van-badge': Badge,
'van-badge-group': BadgeGroup
},
methods: {
onItemClick() {}
}
};
</script>

View File

@@ -1,19 +1,11 @@
<template>
<van-checkbox-group v-model="result" :max="max">
<van-checkbox v-for="(item, index) in list" :key="index" :name="item" :disabled="index === 2">复选框{{item}}</van-checkbox>
<van-checkbox v-for="(item, index) in list" :key="index" :name="item" :disabled="index === 2">复选框{{ item }}</van-checkbox>
</van-checkbox-group>
</template>
<script>
import Checkbox from 'packages/checkbox';
import CheckboxGroup from 'packages/checkbox-group';
export default {
components: {
'van-checkbox': Checkbox,
'van-checkbox-group': CheckboxGroup
},
data() {
return {
list: [

View File

@@ -1,18 +1,16 @@
<template>
<van-field :onIconClick="onIconClick" @blur="$emit('blur')">
<van-field @click-icon="onIconClick" @blur="$emit('blur')">
<div slot="icon">icon</div>
</van-field>
</template>
<script>
import Field from 'packages/field';
export default {
components: {
[Field.name]: Field
},
props: ['onIconClick']
props: {
onIconClick: {
type: Function,
default: () => {}
}
}
};
</script>

View File

@@ -1,37 +1,16 @@
<template>
<van-goods-action>
<van-goods-action-mini-btn icon="chat" @click="onClickMiniBtn">
<van-goods-action-mini-btn icon="chat">
客服
</van-goods-action-mini-btn>
<van-goods-action-mini-btn icon="cart" url="http://www.youzan.com" @click="onClickMiniBtn">
<van-goods-action-mini-btn icon="cart" url="http://www.youzan.com">
购物车
</van-goods-action-mini-btn>
<van-goods-action-big-btn @click="onClickBigBtn">
<van-goods-action-big-btn>
加入购物车
</van-goods-action-big-btn>
<van-goods-action-big-btn @click="onClickBigBtn" primary url="http://www.youzan.com">
<van-goods-action-big-btn primary url="http://www.youzan.com">
立即购买
</van-goods-action-big-btn>
</van-goods-action>
</template>
<script>
import GoodsAction from 'packages/goods-action';
import GoodsActionBigBtn from 'packages/goods-action-big-btn';
import GoodsActionMiniBtn from 'packages/goods-action-mini-btn';
export default {
components: {
[GoodsAction.name]: GoodsAction,
[GoodsActionBigBtn.name]: GoodsActionBigBtn,
[GoodsActionMiniBtn.name]: GoodsActionMiniBtn
},
methods: {
onClickMiniBtn() {
},
onClickBigBtn() {
}
}
};
</script>

View File

@@ -12,15 +12,7 @@
</template>
<script>
import Tab from 'packages/tab';
import Tabs from 'packages/tabs';
export default {
components: {
'van-tab': Tab,
'van-tabs': Tabs
},
props: {
active: [String, Number]
}

View File

@@ -5,12 +5,12 @@
</template>
<script>
import NoticeBar from 'packages/notice-bar';
export default {
components: {
[NoticeBar.name]: NoticeBar
},
props: ['speed', 'text', 'mode', 'delay']
props: {
speed: Number,
text: String,
mode: String,
delay: Number
}
};
</script>

View File

@@ -5,15 +5,9 @@
</template>
<script>
import NumberKeyboard from 'packages/number-keyboard';
export default {
name: 'number-keyboard-test',
components: {
[NumberKeyboard.name]: NumberKeyboard
},
props: ['showKeyboard']
props: {
showKeyboard: Boolean
}
};
</script>

View File

@@ -4,17 +4,9 @@
<van-radio name="2">单选框2</van-radio>
</van-radio-group>
</template>
<script>
import Radio from 'packages/radio';
import RadioGroup from 'packages/radio-group';
export default {
components: {
'van-radio': Radio,
'van-radio-group': RadioGroup
},
data() {
return {
radio: '1'

View File

@@ -11,15 +11,3 @@
</van-col>
</van-row>
</template>
<script>
import Row from 'packages/row';
import Col from 'packages/col';
export default {
components: {
'van-row': Row,
'van-col': Col
}
};
</script>

View File

@@ -8,15 +8,7 @@
</template>
<script>
import Steps from 'packages/steps';
import Step from 'packages/step';
export default {
components: {
'van-step': Step,
'van-steps': Steps
},
data() {
return {
active: 1

View File

@@ -2,7 +2,7 @@
<van-tabbar v-model="active" @change="onChange">
<van-tabbar-item icon="shop">
<span>自定义</span>
<img slot="icon" :src="active === 0 ? icon.active : icon.normal" />
<img slot="icon" :src="active === 0 ? icon.active : icon.normal" >
</van-tabbar-item>
<van-tabbar-item icon="chat">标签</van-tabbar-item>
<van-tabbar-item icon="chat">标签</van-tabbar-item>
@@ -11,15 +11,7 @@
</template>
<script>
import Tabbar from 'packages/tabbar';
import TabbarItem from 'packages/tabbar-item';
export default {
components: {
[Tabbar.name]: Tabbar,
[TabbarItem.name]: TabbarItem
},
data() {
return {
active: 0,

View File

@@ -8,15 +8,7 @@
</template>
<script>
import Tab from 'packages/tab';
import Tabs from 'packages/tabs';
export default {
components: {
'van-tab': Tab,
'van-tabs': Tabs
},
props: {
firstTabTitle: {
type: String,

View File

@@ -1,28 +1,3 @@
<script>
import Waterfall from 'packages/waterfall';
export default {
props: {
disabled: Boolean,
list: Array,
onWaterfallLower: {
type: Function,
default() {
return function() {};
}
}
},
directives: {
WaterfallLower: Waterfall('lower')
},
methods: {
triggerWaterfallLower() {
this.onWaterfallLower();
}
}
};
</script>
<template>
<div
v-waterfall-lower="triggerWaterfallLower"
@@ -36,6 +11,31 @@
</div>
</template>
<script>
import Waterfall from 'packages/waterfall';
export default {
props: {
disabled: Boolean,
list: Array,
onWaterfallLower: {
type: Function,
default() {
return function() {};
}
}
},
directives: {
WaterfallLower: Waterfall('lower')
},
methods: {
triggerWaterfallLower() {
this.onWaterfallLower();
}
}
};
</script>
<style>
.waterfall--hidden {
overflow: scroll;

View File

@@ -1,38 +1,3 @@
<script>
import Waterfall from 'packages/waterfall';
export default {
props: {
disabled: Boolean,
list: Array,
onWaterfallLower: {
type: Function,
default() {
return function() {};
}
},
onWaterfallUpper: {
type: Function,
default() {
return function() {};
}
}
},
directives: {
WaterfallLower: Waterfall('lower'),
WaterfallUpper: Waterfall('upper')
},
methods: {
triggerWaterfallLower() {
this.onWaterfallLower();
},
triggerWaterfallUpper() {
this.onWaterfallUpper();
}
}
};
</script>
<template>
<div
v-waterfall-lower="triggerWaterfallLower"
@@ -45,3 +10,38 @@
>{{ item.id }}</div>
</div>
</template>
<script>
import Waterfall from 'packages/waterfall';
export default {
props: {
disabled: Boolean,
list: Array,
onWaterfallLower: {
type: Function,
default() {
return function() {};
}
},
onWaterfallUpper: {
type: Function,
default() {
return function() {};
}
}
},
directives: {
WaterfallLower: Waterfall('lower'),
WaterfallUpper: Waterfall('upper')
},
methods: {
triggerWaterfallLower() {
this.onWaterfallLower();
},
triggerWaterfallUpper() {
this.onWaterfallUpper();
}
}
};
</script>

View File

@@ -39,7 +39,6 @@ function getWebpackConfig(testFileName) {
alias: {
src: path.resolve(process.cwd(), 'src'),
packages: path.resolve(process.cwd(), 'packages'),
examples: path.resolve(process.cwd(), 'examples'),
vue$: 'vue/dist/vue.common.js'
}
},

View File

@@ -1,5 +1,9 @@
import Vue from 'vue';
import Vant from 'packages';
require('packages/vant-css/src/index.css');
Vue.use(Vant);
// hack for test touch event
window.ontouchstart = {};

View File

@@ -43,6 +43,17 @@ describe('ContactCard', () => {
expect(wrapper.hasClass('van-contact-card')).to.be.true;
expect(wrapper.find('.van-contact-card__text div')[0].text()).to.equal('联系人:测试姓名');
expect(wrapper.find('.van-contact-card__text div')[1].text()).to.equal('联系电话13000000000');
const spy = sinon.spy();
wrapper.vm.$on('click', spy);
wrapper.trigger('click');
expect(spy.calledOnce).to.be.true;
wrapper.vm.editable = false;
const spy2 = sinon.spy();
wrapper.vm.$on('click', spy2);
wrapper.trigger('click');
expect(spy2.calledOnce).to.be.false;
});
});

View File

@@ -121,6 +121,33 @@ describe('Field', () => {
expect(wrapper.find('.van-field__icon').length).to.equal(1);
});
it('keypress event', () => {
wrapper = mount(Field, {
propsData: {
value: '',
type: 'number'
}
});
const spy1 = sinon.spy();
wrapper.vm.onKeypress({ keyCode: 0, preventDefault: spy1 });
expect(spy1.calledOnce).to.be.true;
const spy2 = sinon.spy();
wrapper.vm.onKeypress({ keyCode: 50, preventDefault: spy2 });
expect(spy2.calledOnce).to.be.false;
const spy3 = sinon.spy();
wrapper.vm.value = '0.1';
wrapper.vm.onKeypress({ keyCode: 46, preventDefault: spy3 });
expect(spy3.calledOnce).to.be.true;
wrapper.vm.type = 'text';
const spy4 = sinon.spy();
wrapper.vm.onKeypress({ keyCode: 0, preventDefault: spy4 });
expect(spy4.calledOnce).to.be.false;
});
it('create a field with icon slot', () => {
const fn = sinon.spy();