Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zui
提交
0258d5c7
Z
zui
项目概览
易企天创
/
zui
11 个月 前同步成功
通知
6
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
37
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
37
Issue
37
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0258d5c7
编写于
4月 15, 2016
作者:
C
Catouse
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* add option 'clickBehavior' and method 'toggle' to selectable.
上级
40539347
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
36 deletion
+32
-36
src/js/selectable.js
src/js/selectable.js
+32
-36
未找到文件。
src/js/selectable.js
浏览文件 @
0258d5c7
...
...
@@ -45,6 +45,7 @@
border
:
'
1px solid
'
+
(
$
.
zui
.
colorset
?
$
.
zui
.
colorset
.
primary
:
'
#3280fc
'
),
backgroundColor
:
$
.
zui
.
colorset
?
(
new
$
.
zui
.
Color
(
$
.
zui
.
colorset
.
primary
).
fade
(
20
).
toCssStr
())
:
'
rgba(50, 128, 252, 0.2)
'
},
clickBehavior
:
'
toggle
'
};
// Get and init options
...
...
@@ -53,37 +54,18 @@
};
Selectable
.
prototype
.
select
=
function
(
elementOrid
)
{
var
$element
,
id
,
selector
=
this
.
options
.
selector
,
that
=
this
;
if
(
elementOrid
===
true
)
{
this
.
$
.
find
(
selector
).
each
(
function
()
{
that
.
select
(
this
);
});
return
;
}
else
if
(
typeof
elementOrid
===
'
object
'
)
{
$element
=
$
(
elementOrid
).
closest
(
selector
);
id
=
$element
.
data
(
'
id
'
);
}
else
{
id
=
elementOrid
;
$element
=
that
.
$
.
find
(
'
.slectable-item[data-id="
'
+
id
+
'
"]
'
);
}
if
(
$element
&&
$element
.
length
)
{
if
(
!
id
)
{
id
=
$
.
zui
.
uuid
();
$element
.
attr
(
'
data-id
'
,
id
);
}
$element
.
addClass
(
that
.
options
.
selectClass
);
if
(
!
that
.
selections
[
id
])
{
that
.
selections
[
id
]
=
that
.
selectOrder
++
;
that
.
callEvent
(
'
select
'
,
{
id
:
id
,
selections
:
that
.
selections
,
target
:
$element
},
that
);
}
}
this
.
toggle
(
elementOrid
,
true
);
};
Selectable
.
prototype
.
unselect
=
function
(
elementOrid
)
{
this
.
toggle
(
elementOrid
,
false
);
};
Selectable
.
prototype
.
toggle
=
function
(
elementOrid
,
isSelect
,
handle
)
{
var
$element
,
id
,
selector
=
this
.
options
.
selector
,
that
=
this
;
if
(
elementOrid
===
true
)
{
if
(
elementOrid
===
undefined
)
{
this
.
$
.
find
(
selector
).
each
(
function
()
{
that
.
unselect
(
this
);
that
.
toggle
(
this
,
isSelect
);
});
return
;
}
else
if
(
typeof
elementOrid
===
'
object
'
)
{
...
...
@@ -98,11 +80,20 @@
id
=
$
.
zui
.
uuid
();
$element
.
attr
(
'
data-id
'
,
id
);
}
$element
.
removeClass
(
that
.
options
.
selectClass
);
if
(
that
.
selections
[
id
])
{
that
.
selections
[
id
]
=
false
;
that
.
callEvent
(
'
unselect
'
,
{
id
:
id
,
selections
:
that
.
selections
,
target
:
$element
},
that
);
if
(
isSelect
===
undefined
||
isSelect
===
null
)
{
isSelect
=
!
that
.
selections
[
id
];
}
if
(
!!
isSelect
!==
!!
that
.
selections
[
id
])
{
var
handleResult
;
if
(
$
.
isFunction
(
handle
))
{
handleResult
=
handle
(
isSelect
);
}
if
(
handleResult
!==
true
)
{
that
.
selections
[
id
]
=
isSelect
?
that
.
selectOrder
++
:
false
;
that
.
callEvent
(
isSelect
?
'
select
'
:
'
unselect
'
,
{
id
:
id
,
selections
:
that
.
selections
,
target
:
$element
},
that
);
}
}
$element
.
toggleClass
(
that
.
options
.
selectClass
,
isSelect
);
}
};
...
...
@@ -112,7 +103,7 @@
var
startX
,
startY
,
$range
,
range
,
x
,
y
,
checkRangeCall
;
var
checkFunc
=
$
.
isFunction
(
options
.
checkFunc
)
?
options
.
checkFunc
:
null
;
var
rangeFunc
=
$
.
isFunction
(
options
.
rangeFunc
)
?
options
.
rangeFunc
:
null
;
var
checkRange
=
function
()
{
if
(
!
range
)
return
;
that
.
$children
.
each
(
function
()
{
...
...
@@ -191,13 +182,18 @@
var
$children
=
that
.
$children
=
that
.
$
.
find
(
options
.
selector
);
$children
.
addClass
(
'
slectable-item
'
);
if
(
!
that
.
multiKey
)
{
$children
.
removeClass
(
options
.
selectClass
);
that
.
selections
=
{};
var
clickBehavior
=
that
.
multiKey
?
'
multi
'
:
options
.
clickBehavior
;
if
(
clickBehavior
===
'
multi
'
)
{
that
.
toggle
(
e
.
target
);
}
else
if
(
clickBehavior
===
'
single
'
)
{
that
.
unselect
();
that
.
select
(
e
.
target
);
}
else
if
(
clickBehavior
===
'
toggle
'
)
{
that
.
toggle
(
e
.
target
,
null
,
function
(
isSelect
)
{
that
.
unselect
();
});
}
that
.
select
(
e
.
target
);
startX
=
e
.
pageX
;
startY
=
e
.
pageY
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录