first
This commit is contained in:
1
node_modules/vant/es/tree-select/index.css
generated
vendored
Normal file
1
node_modules/vant/es/tree-select/index.css
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
.van-tree-select{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;font-size:14px;-webkit-user-select:none;user-select:none}.van-tree-select__nav{-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.van-tree-select__nav-item{padding:14px 12px}.van-tree-select__content{-webkit-box-flex:2;-webkit-flex:2;flex:2;overflow-y:auto;background-color:#fff;-webkit-overflow-scrolling:touch}.van-tree-select__item{position:relative;padding:0 32px 0 16px;font-weight:500;line-height:48px;cursor:pointer}.van-tree-select__item--active{color:#ee0a24}.van-tree-select__item--disabled{color:#c8c9cc;cursor:not-allowed}.van-tree-select__selected{position:absolute;top:50%;right:16px;margin-top:-8px;font-size:16px}
|
148
node_modules/vant/es/tree-select/index.js
generated
vendored
Normal file
148
node_modules/vant/es/tree-select/index.js
generated
vendored
Normal file
@ -0,0 +1,148 @@
|
||||
import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
|
||||
// Utils
|
||||
import { createNamespace, addUnit } from '../utils';
|
||||
import { emit, inherit } from '../utils/functional'; // Components
|
||||
|
||||
import Icon from '../icon';
|
||||
import Sidebar from '../sidebar';
|
||||
import SidebarItem from '../sidebar-item'; // Types
|
||||
|
||||
var _createNamespace = createNamespace('tree-select'),
|
||||
createComponent = _createNamespace[0],
|
||||
bem = _createNamespace[1];
|
||||
|
||||
function TreeSelect(h, props, slots, ctx) {
|
||||
var items = props.items,
|
||||
height = props.height,
|
||||
activeId = props.activeId,
|
||||
selectedIcon = props.selectedIcon,
|
||||
mainActiveIndex = props.mainActiveIndex;
|
||||
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
if (ctx.listeners.navclick) {
|
||||
console.warn('[Vant] TreeSelect: "navclick" event is deprecated, use "click-nav" instead.');
|
||||
}
|
||||
|
||||
if (ctx.listeners.itemclick) {
|
||||
console.warn('[Vant] TreeSelect: "itemclick" event is deprecated, use "click-item" instead.');
|
||||
}
|
||||
}
|
||||
|
||||
var selectedItem = items[+mainActiveIndex] || {};
|
||||
var subItems = selectedItem.children || [];
|
||||
var isMultiple = Array.isArray(activeId);
|
||||
|
||||
function isActiveItem(id) {
|
||||
return isMultiple ? activeId.indexOf(id) !== -1 : activeId === id;
|
||||
}
|
||||
|
||||
var Navs = items.map(function (item) {
|
||||
var _item$badge;
|
||||
|
||||
return h(SidebarItem, {
|
||||
"attrs": {
|
||||
"dot": item.dot,
|
||||
"info": (_item$badge = item.badge) != null ? _item$badge : item.info,
|
||||
"title": item.text,
|
||||
"disabled": item.disabled
|
||||
},
|
||||
"class": [bem('nav-item'), item.className]
|
||||
});
|
||||
});
|
||||
|
||||
function Content() {
|
||||
if (slots.content) {
|
||||
return slots.content();
|
||||
}
|
||||
|
||||
return subItems.map(function (item) {
|
||||
return h("div", {
|
||||
"key": item.id,
|
||||
"class": ['van-ellipsis', bem('item', {
|
||||
active: isActiveItem(item.id),
|
||||
disabled: item.disabled
|
||||
})],
|
||||
"on": {
|
||||
"click": function click() {
|
||||
if (!item.disabled) {
|
||||
var newActiveId = item.id;
|
||||
|
||||
if (isMultiple) {
|
||||
newActiveId = activeId.slice();
|
||||
var index = newActiveId.indexOf(item.id);
|
||||
|
||||
if (index !== -1) {
|
||||
newActiveId.splice(index, 1);
|
||||
} else if (newActiveId.length < props.max) {
|
||||
newActiveId.push(item.id);
|
||||
}
|
||||
}
|
||||
|
||||
emit(ctx, 'update:active-id', newActiveId);
|
||||
emit(ctx, 'click-item', item); // compatible with legacy usage, should be removed in next major version
|
||||
|
||||
emit(ctx, 'itemclick', item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, [item.text, isActiveItem(item.id) && h(Icon, {
|
||||
"attrs": {
|
||||
"name": selectedIcon
|
||||
},
|
||||
"class": bem('selected')
|
||||
})]);
|
||||
});
|
||||
}
|
||||
|
||||
return h("div", _mergeJSXProps([{
|
||||
"class": bem(),
|
||||
"style": {
|
||||
height: addUnit(height)
|
||||
}
|
||||
}, inherit(ctx)]), [h(Sidebar, {
|
||||
"class": bem('nav'),
|
||||
"attrs": {
|
||||
"activeKey": mainActiveIndex
|
||||
},
|
||||
"on": {
|
||||
"change": function change(index) {
|
||||
emit(ctx, 'update:main-active-index', index);
|
||||
emit(ctx, 'click-nav', index); // compatible with legacy usage, should be removed in next major version
|
||||
|
||||
emit(ctx, 'navclick', index);
|
||||
}
|
||||
}
|
||||
}, [Navs]), h("div", {
|
||||
"class": bem('content')
|
||||
}, [Content()])]);
|
||||
}
|
||||
|
||||
TreeSelect.props = {
|
||||
max: {
|
||||
type: [Number, String],
|
||||
default: Infinity
|
||||
},
|
||||
items: {
|
||||
type: Array,
|
||||
default: function _default() {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
height: {
|
||||
type: [Number, String],
|
||||
default: 300
|
||||
},
|
||||
activeId: {
|
||||
type: [Number, String, Array],
|
||||
default: 0
|
||||
},
|
||||
selectedIcon: {
|
||||
type: String,
|
||||
default: 'success'
|
||||
},
|
||||
mainActiveIndex: {
|
||||
type: [Number, String],
|
||||
default: 0
|
||||
}
|
||||
};
|
||||
export default createComponent(TreeSelect);
|
51
node_modules/vant/es/tree-select/index.less
generated
vendored
Normal file
51
node_modules/vant/es/tree-select/index.less
generated
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
@import '../style/var';
|
||||
|
||||
.van-tree-select {
|
||||
position: relative;
|
||||
display: flex;
|
||||
font-size: @tree-select-font-size;
|
||||
user-select: none;
|
||||
|
||||
&__nav {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
background-color: @tree-select-nav-background-color;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
|
||||
&-item {
|
||||
padding: @tree-select-nav-item-padding;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
flex: 2;
|
||||
overflow-y: auto;
|
||||
background-color: @tree-select-content-background-color;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
&__item {
|
||||
position: relative;
|
||||
padding: 0 32px 0 @padding-md;
|
||||
font-weight: @font-weight-bold;
|
||||
line-height: @tree-select-item-height;
|
||||
cursor: pointer;
|
||||
|
||||
&--active {
|
||||
color: @tree-select-item-active-color;
|
||||
}
|
||||
|
||||
&--disabled {
|
||||
color: @tree-select-item-disabled-color;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
|
||||
&__selected {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: @padding-md;
|
||||
margin-top: -@padding-xs;
|
||||
font-size: @tree-select-item-selected-size;
|
||||
}
|
||||
}
|
6
node_modules/vant/es/tree-select/style/index.js
generated
vendored
Normal file
6
node_modules/vant/es/tree-select/style/index.js
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import '../../style/base.css';
|
||||
import '../../info/index.css';
|
||||
import '../../sidebar-item/index.css';
|
||||
import '../../icon/index.css';
|
||||
import '../../sidebar/index.css';
|
||||
import '../index.css';
|
6
node_modules/vant/es/tree-select/style/less.js
generated
vendored
Normal file
6
node_modules/vant/es/tree-select/style/less.js
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import '../../style/base.less';
|
||||
import '../../info/index.less';
|
||||
import '../../sidebar-item/index.less';
|
||||
import '../../icon/index.less';
|
||||
import '../../sidebar/index.less';
|
||||
import '../index.less';
|
Reference in New Issue
Block a user