mirror of https://github.com/helloxz/onenav.git
xiaoz
3 years ago
23 changed files with 26494 additions and 3 deletions
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,325 @@
@@ -0,0 +1,325 @@
|
||||
/*! |
||||
* Bootstrap Reboot v4.6.1 (https://getbootstrap.com/) |
||||
* Copyright 2011-2021 The Bootstrap Authors |
||||
* Copyright 2011-2021 Twitter, Inc. |
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) |
||||
*/ |
||||
*, |
||||
*::before, |
||||
*::after { |
||||
box-sizing: border-box; |
||||
} |
||||
|
||||
html { |
||||
font-family: sans-serif; |
||||
line-height: 1.15; |
||||
-webkit-text-size-adjust: 100%; |
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
||||
} |
||||
|
||||
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { |
||||
display: block; |
||||
} |
||||
|
||||
body { |
||||
margin: 0; |
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; |
||||
font-size: 1rem; |
||||
font-weight: 400; |
||||
line-height: 1.5; |
||||
color: #212529; |
||||
text-align: left; |
||||
background-color: #fff; |
||||
} |
||||
|
||||
[tabindex="-1"]:focus:not(:focus-visible) { |
||||
outline: 0 !important; |
||||
} |
||||
|
||||
hr { |
||||
box-sizing: content-box; |
||||
height: 0; |
||||
overflow: visible; |
||||
} |
||||
|
||||
h1, h2, h3, h4, h5, h6 { |
||||
margin-top: 0; |
||||
margin-bottom: 0.5rem; |
||||
} |
||||
|
||||
p { |
||||
margin-top: 0; |
||||
margin-bottom: 1rem; |
||||
} |
||||
|
||||
abbr[title], |
||||
abbr[data-original-title] { |
||||
text-decoration: underline; |
||||
-webkit-text-decoration: underline dotted; |
||||
text-decoration: underline dotted; |
||||
cursor: help; |
||||
border-bottom: 0; |
||||
-webkit-text-decoration-skip-ink: none; |
||||
text-decoration-skip-ink: none; |
||||
} |
||||
|
||||
address { |
||||
margin-bottom: 1rem; |
||||
font-style: normal; |
||||
line-height: inherit; |
||||
} |
||||
|
||||
ol, |
||||
ul, |
||||
dl { |
||||
margin-top: 0; |
||||
margin-bottom: 1rem; |
||||
} |
||||
|
||||
ol ol, |
||||
ul ul, |
||||
ol ul, |
||||
ul ol { |
||||
margin-bottom: 0; |
||||
} |
||||
|
||||
dt { |
||||
font-weight: 700; |
||||
} |
||||
|
||||
dd { |
||||
margin-bottom: .5rem; |
||||
margin-left: 0; |
||||
} |
||||
|
||||
blockquote { |
||||
margin: 0 0 1rem; |
||||
} |
||||
|
||||
b, |
||||
strong { |
||||
font-weight: bolder; |
||||
} |
||||
|
||||
small { |
||||
font-size: 80%; |
||||
} |
||||
|
||||
sub, |
||||
sup { |
||||
position: relative; |
||||
font-size: 75%; |
||||
line-height: 0; |
||||
vertical-align: baseline; |
||||
} |
||||
|
||||
sub { |
||||
bottom: -.25em; |
||||
} |
||||
|
||||
sup { |
||||
top: -.5em; |
||||
} |
||||
|
||||
a { |
||||
color: #007bff; |
||||
text-decoration: none; |
||||
background-color: transparent; |
||||
} |
||||
|
||||
a:hover { |
||||
color: #0056b3; |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
a:not([href]):not([class]) { |
||||
color: inherit; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
a:not([href]):not([class]):hover { |
||||
color: inherit; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
pre, |
||||
code, |
||||
kbd, |
||||
samp { |
||||
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; |
||||
font-size: 1em; |
||||
} |
||||
|
||||
pre { |
||||
margin-top: 0; |
||||
margin-bottom: 1rem; |
||||
overflow: auto; |
||||
-ms-overflow-style: scrollbar; |
||||
} |
||||
|
||||
figure { |
||||
margin: 0 0 1rem; |
||||
} |
||||
|
||||
img { |
||||
vertical-align: middle; |
||||
border-style: none; |
||||
} |
||||
|
||||
svg { |
||||
overflow: hidden; |
||||
vertical-align: middle; |
||||
} |
||||
|
||||
table { |
||||
border-collapse: collapse; |
||||
} |
||||
|
||||
caption { |
||||
padding-top: 0.75rem; |
||||
padding-bottom: 0.75rem; |
||||
color: #6c757d; |
||||
text-align: left; |
||||
caption-side: bottom; |
||||
} |
||||
|
||||
th { |
||||
text-align: inherit; |
||||
text-align: -webkit-match-parent; |
||||
} |
||||
|
||||
label { |
||||
display: inline-block; |
||||
margin-bottom: 0.5rem; |
||||
} |
||||
|
||||
button { |
||||
border-radius: 0; |
||||
} |
||||
|
||||
button:focus:not(:focus-visible) { |
||||
outline: 0; |
||||
} |
||||
|
||||
input, |
||||
button, |
||||
select, |
||||
optgroup, |
||||
textarea { |
||||
margin: 0; |
||||
font-family: inherit; |
||||
font-size: inherit; |
||||
line-height: inherit; |
||||
} |
||||
|
||||
button, |
||||
input { |
||||
overflow: visible; |
||||
} |
||||
|
||||
button, |
||||
select { |
||||
text-transform: none; |
||||
} |
||||
|
||||
[role="button"] { |
||||
cursor: pointer; |
||||
} |
||||
|
||||
select { |
||||
word-wrap: normal; |
||||
} |
||||
|
||||
button, |
||||
[type="button"], |
||||
[type="reset"], |
||||
[type="submit"] { |
||||
-webkit-appearance: button; |
||||
} |
||||
|
||||
button:not(:disabled), |
||||
[type="button"]:not(:disabled), |
||||
[type="reset"]:not(:disabled), |
||||
[type="submit"]:not(:disabled) { |
||||
cursor: pointer; |
||||
} |
||||
|
||||
button::-moz-focus-inner, |
||||
[type="button"]::-moz-focus-inner, |
||||
[type="reset"]::-moz-focus-inner, |
||||
[type="submit"]::-moz-focus-inner { |
||||
padding: 0; |
||||
border-style: none; |
||||
} |
||||
|
||||
input[type="radio"], |
||||
input[type="checkbox"] { |
||||
box-sizing: border-box; |
||||
padding: 0; |
||||
} |
||||
|
||||
textarea { |
||||
overflow: auto; |
||||
resize: vertical; |
||||
} |
||||
|
||||
fieldset { |
||||
min-width: 0; |
||||
padding: 0; |
||||
margin: 0; |
||||
border: 0; |
||||
} |
||||
|
||||
legend { |
||||
display: block; |
||||
width: 100%; |
||||
max-width: 100%; |
||||
padding: 0; |
||||
margin-bottom: .5rem; |
||||
font-size: 1.5rem; |
||||
line-height: inherit; |
||||
color: inherit; |
||||
white-space: normal; |
||||
} |
||||
|
||||
progress { |
||||
vertical-align: baseline; |
||||
} |
||||
|
||||
[type="number"]::-webkit-inner-spin-button, |
||||
[type="number"]::-webkit-outer-spin-button { |
||||
height: auto; |
||||
} |
||||
|
||||
[type="search"] { |
||||
outline-offset: -2px; |
||||
-webkit-appearance: none; |
||||
} |
||||
|
||||
[type="search"]::-webkit-search-decoration { |
||||
-webkit-appearance: none; |
||||
} |
||||
|
||||
::-webkit-file-upload-button { |
||||
font: inherit; |
||||
-webkit-appearance: button; |
||||
} |
||||
|
||||
output { |
||||
display: inline-block; |
||||
} |
||||
|
||||
summary { |
||||
display: list-item; |
||||
cursor: pointer; |
||||
} |
||||
|
||||
template { |
||||
display: none; |
||||
} |
||||
|
||||
[hidden] { |
||||
display: none !important; |
||||
} |
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */ |
File diff suppressed because one or more lines are too long
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
/*! |
||||
* Bootstrap Reboot v4.6.1 (https://getbootstrap.com/) |
||||
* Copyright 2011-2021 The Bootstrap Authors |
||||
* Copyright 2011-2021 Twitter, Inc. |
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) |
||||
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} |
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */ |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,487 @@
@@ -0,0 +1,487 @@
|
||||
/** |
||||
* iconHhysFa 1.0 字体图标选择 |
||||
* User: jackhhy |
||||
* Date: 2020/06/23-11:09 |
||||
* Link: https://gitee.com/luckygyl/iconFonts
|
||||
*/ |
||||
layui.define(['laypage', 'form'], function (exports) { |
||||
"use strict"; |
||||
|
||||
var IconHhys =function () { |
||||
this.v = '1.0'; |
||||
}, _MOD = 'iconHhysFa', |
||||
_this = this, |
||||
$ = layui.jquery, |
||||
laypage = layui.laypage, |
||||
form = layui.form, |
||||
BODY = 'body', |
||||
TIPS = '请选择图标'; |
||||
|
||||
|
||||
/** |
||||
* 渲染组件 |
||||
*/ |
||||
IconHhys.prototype.render = function (options) { |
||||
var opts = options, |
||||
// DOM选择器
|
||||
elem = opts.elem, |
||||
// 数据类型:fontClass/awesome
|
||||
type = opts.type == null ? 'fontClass' : opts.type, |
||||
//当数据类型为awesome 的时候 需要配置 url
|
||||
url = opts.url , |
||||
// 是否分页:true/false
|
||||
page = opts.page == null ? true : opts.page, |
||||
// 每页显示数量
|
||||
limit = opts.limit == null ? 12 : opts.limit, |
||||
// 是否开启搜索:true/false
|
||||
search = opts.search == null ? true : opts.search, |
||||
// 每个图标格子的宽度:'43px'或'20%'
|
||||
cellWidth = opts.cellWidth == null ? '20%':opts.cellWidth, |
||||
// 点击回调
|
||||
click = opts.click, |
||||
// 渲染成功后的回调
|
||||
success = opts.success, |
||||
// json数据
|
||||
data = {}, |
||||
value = opts.value == null ? '' : opts.value, |
||||
// 唯一标识
|
||||
tmp = new Date().getTime(), |
||||
// 初始化时input的值
|
||||
ORIGINAL_ELEM_VALUE = value, |
||||
TITLE = 'layui-select-title', |
||||
TITLE_ID = 'layui-select-title-' + tmp, |
||||
ICON_BODY = 'layui-iconpicker-' + tmp, |
||||
PICKER_BODY = 'layui-iconpicker-body-' + tmp, |
||||
PAGE_ID = 'layui-iconpicker-page-' + tmp, |
||||
LIST_BOX = 'layui-iconpicker-list-box', |
||||
selected = 'layui-form-selected', |
||||
unselect = 'layui-unselect'; |
||||
|
||||
var a = { |
||||
init: function () { |
||||
if (type.indexOf("fontClass") > -1){ |
||||
data = common.getfont[type](); |
||||
}else{ |
||||
data = common.getData(url); |
||||
} |
||||
a.hideElem().createSelect().createBody().toggleSelect(); |
||||
a.preventEvent().inputListen(); |
||||
common.loadCss(); |
||||
if (success) { |
||||
success(this.successHandle()); |
||||
} |
||||
return a; |
||||
}, |
||||
successHandle: function () { |
||||
var d = { |
||||
options: opts, |
||||
data: data, |
||||
id: tmp, |
||||
elem: $('#' + ICON_BODY) |
||||
}; |
||||
return d; |
||||
}, |
||||
/** |
||||
* 隐藏elem |
||||
*/ |
||||
hideElem: function () { |
||||
$(elem).hide(); |
||||
return a; |
||||
}, |
||||
/** |
||||
* 绘制select下拉选择框 |
||||
*/ |
||||
createSelect: function () { |
||||
if (type.indexOf("fontClass") > -1){ |
||||
var oriIcon = '<i class="layui-icon">'; |
||||
|
||||
// 默认图标
|
||||
if(ORIGINAL_ELEM_VALUE === '') { |
||||
ORIGINAL_ELEM_VALUE = 'layui-icon-circle-dot'; |
||||
} |
||||
oriIcon = '<i class="layui-icon '+ ORIGINAL_ELEM_VALUE +'">'; |
||||
oriIcon += '</i>'; |
||||
|
||||
var selectHtml = '<div class="layui-iconpicker layui-unselect layui-form-select" id="'+ ICON_BODY +'">' + |
||||
'<div class="'+ TITLE +'" id="'+ TITLE_ID +'">' + |
||||
'<div class="layui-iconpicker-item">'+ |
||||
'<span class="layui-iconpicker-icon layui-unselect">' + |
||||
oriIcon + |
||||
'</span>'+ |
||||
'<i class="layui-edge"></i>' + |
||||
'</div>'+ |
||||
'</div>' + |
||||
'<div class="layui-anim layui-anim-upbit" style="">' + |
||||
'123' + |
||||
'</div>'; |
||||
$(elem).after(selectHtml); |
||||
return a; |
||||
}else{ |
||||
var oriIcon = '<i class="fa">'; |
||||
// 默认图标
|
||||
if (ORIGINAL_ELEM_VALUE === '') { |
||||
ORIGINAL_ELEM_VALUE = 'fa-adjust'; |
||||
} |
||||
oriIcon = '<i class="fa ' + ORIGINAL_ELEM_VALUE + '">'; |
||||
oriIcon += '</i>'; |
||||
|
||||
var selectHtml = '<div class="layui-iconpicker layui-unselect layui-form-select" id="' + ICON_BODY + '">' + |
||||
'<div class="' + TITLE + '" id="' + TITLE_ID + '">' + |
||||
'<div class="layui-iconpicker-item">' + |
||||
'<span class="layui-iconpicker-icon layui-unselect">' + |
||||
oriIcon + |
||||
'</span>' + |
||||
'<i class="layui-edge"></i>' + |
||||
'</div>' + |
||||
'</div>' + |
||||
'<div class="layui-anim layui-anim-upbit" style="">' + |
||||
'123' + |
||||
'</div>'; |
||||
$(elem).after(selectHtml); |
||||
return a; |
||||
} |
||||
|
||||
}, |
||||
|
||||
/** |
||||
* 展开/折叠下拉框 |
||||
*/ |
||||
toggleSelect: function () { |
||||
var item = '#' + TITLE_ID + ' .layui-iconpicker-item,#' + TITLE_ID + ' .layui-iconpicker-item .layui-edge'; |
||||
a.event('click', item, function (e) { |
||||
var $icon = $('#' + ICON_BODY); |
||||
if ($icon.hasClass(selected)) { |
||||
$icon.removeClass(selected).addClass(unselect); |
||||
} else { |
||||
// 隐藏其他picker
|
||||
$('.layui-form-select').removeClass(selected); |
||||
// 显示当前picker
|
||||
$icon.addClass(selected).removeClass(unselect); |
||||
} |
||||
e.stopPropagation(); |
||||
}); |
||||
return a; |
||||
|
||||
}, |
||||
|
||||
/** |
||||
* 绘制主体部分 |
||||
*/ |
||||
createBody: function () { |
||||
// 获取数据
|
||||
var searchHtml = ''; |
||||
|
||||
if (search) { |
||||
searchHtml = '<div class="layui-iconpicker-search">' + |
||||
'<input class="layui-input">' + |
||||
'<i class="layui-icon"></i>' + |
||||
'</div>'; |
||||
} |
||||
// 组合dom
|
||||
var bodyHtml = '<div class="layui-iconpicker-body" id="'+ PICKER_BODY +'">' + |
||||
searchHtml + |
||||
'<div class="'+ LIST_BOX +'"></div> '+ |
||||
'</div>'; |
||||
$('#' + ICON_BODY).find('.layui-anim').eq(0).html(bodyHtml); |
||||
a.search().createList().check().page(); |
||||
return a; |
||||
}, |
||||
|
||||
|
||||
/** |
||||
* 绘制图标列表 |
||||
* @param text 模糊查询关键字 |
||||
* @returns {string} |
||||
*/ |
||||
createList: function (text) { |
||||
var d = data, |
||||
l = d.length, |
||||
pageHtml = '', |
||||
listHtml = $('<div class="layui-iconpicker-list">')//'<div class="layui-iconpicker-list">';
|
||||
|
||||
// 计算分页数据
|
||||
var _limit = limit, // 每页显示数量
|
||||
_pages = l % _limit === 0 ? l / _limit : parseInt(l / _limit + 1), // 总计多少页
|
||||
_id = PAGE_ID; |
||||
|
||||
// 图标列表
|
||||
var icons = []; |
||||
|
||||
for (var i = 0; i < l; i++) { |
||||
var obj = d[i]; |
||||
|
||||
// 判断是否模糊查询
|
||||
if (text && obj.indexOf(text) === -1) { |
||||
continue; |
||||
} |
||||
|
||||
// 是否自定义格子宽度
|
||||
var style = ''; |
||||
if (cellWidth !== null) { |
||||
style += ' style="width:' + cellWidth + '"'; |
||||
} |
||||
// 每个图标dom
|
||||
var icon = '<div class="layui-iconpicker-icon-item" title="'+ obj +'" '+ style +'>'; |
||||
|
||||
if(type.indexOf("fontClass") >-1){ |
||||
icon += '<i class="layui-icon '+ obj +'"></i>'; |
||||
}else { |
||||
icon += '<i class="fa ' + obj + '"></i>'; |
||||
} |
||||
icon += '</div>'; |
||||
|
||||
icons.push(icon); |
||||
} |
||||
|
||||
// 查询出图标后再分页
|
||||
l = icons.length; |
||||
_pages = l % _limit === 0 ? l / _limit : parseInt(l / _limit + 1); |
||||
for (var i = 0; i < _pages; i++) { |
||||
// 按limit分块
|
||||
var lm = $('<div class="layui-iconpicker-icon-limit" id="layui-iconpicker-icon-limit-' + tmp + (i+1) +'">'); |
||||
|
||||
for (var j = i * _limit; j < (i+1) * _limit && j < l; j++) { |
||||
lm.append(icons[j]); |
||||
} |
||||
listHtml.append(lm); |
||||
} |
||||
// 无数据
|
||||
if (l === 0) { |
||||
listHtml.append('<p class="layui-iconpicker-tips">无数据</p>'); |
||||
} |
||||
// 判断是否分页
|
||||
if (page){ |
||||
$('#' + PICKER_BODY).addClass('layui-iconpicker-body-page'); |
||||
pageHtml = '<div class="layui-iconpicker-page" id="'+ PAGE_ID +'">' + |
||||
'<div class="layui-iconpicker-page-count">' + |
||||
'<span id="'+ PAGE_ID +'-current">1</span>/' + |
||||
'<span id="'+ PAGE_ID +'-pages">'+ _pages +'</span>' + |
||||
' (<span id="'+ PAGE_ID +'-length">'+ l +'</span>)' + |
||||
'</div>' + |
||||
'<div class="layui-iconpicker-page-operate">' + |
||||
'<i class="layui-icon" id="'+ PAGE_ID +'-prev" data-index="0" prev></i> ' + |
||||
'<i class="layui-icon" id="'+ PAGE_ID +'-next" data-index="2" next></i> ' + |
||||
'</div>' + |
||||
'</div>'; |
||||
} |
||||
|
||||
$('#' + ICON_BODY).find('.layui-anim').find('.' + LIST_BOX).html('').append(listHtml).append(pageHtml); |
||||
return a; |
||||
}, |
||||
// 阻止Layui的一些默认事件
|
||||
preventEvent: function() { |
||||
var item = '#' + ICON_BODY + ' .layui-anim'; |
||||
a.event('click', item, function (e) { |
||||
e.stopPropagation(); |
||||
}); |
||||
return a; |
||||
}, |
||||
|
||||
// 分页
|
||||
page: function () { |
||||
var icon = '#' + PAGE_ID + ' .layui-iconpicker-page-operate .layui-icon'; |
||||
|
||||
$(icon).unbind('click'); |
||||
a.event('click', icon, function (e) { |
||||
var elem = e.currentTarget, |
||||
total = parseInt($('#' +PAGE_ID + '-pages').html()), |
||||
isPrev = $(elem).attr('prev') !== undefined, |
||||
// 按钮上标的页码
|
||||
index = parseInt($(elem).attr('data-index')), |
||||
$cur = $('#' +PAGE_ID + '-current'), |
||||
// 点击时正在显示的页码
|
||||
current = parseInt($cur.html()); |
||||
|
||||
// 分页数据
|
||||
if (isPrev && current > 1) { |
||||
current=current-1; |
||||
$(icon + '[prev]').attr('data-index', current); |
||||
} else if (!isPrev && current < total){ |
||||
current=current+1; |
||||
$(icon + '[next]').attr('data-index', current); |
||||
} |
||||
$cur.html(current); |
||||
|
||||
// 图标数据
|
||||
$('#'+ ICON_BODY + ' .layui-iconpicker-icon-limit').hide(); |
||||
$('#layui-iconpicker-icon-limit-' + tmp + current).show(); |
||||
e.stopPropagation(); |
||||
}); |
||||
return a; |
||||
}, |
||||
/** |
||||
* 搜索 |
||||
*/ |
||||
search: function () { |
||||
var item = '#' + PICKER_BODY + ' .layui-iconpicker-search .layui-input'; |
||||
a.event('input propertychange', item, function (e) { |
||||
var elem = e.target, |
||||
t = $(elem).val(); |
||||
a.createList(t); |
||||
}); |
||||
return a; |
||||
}, |
||||
/** |
||||
* 点击选中图标 |
||||
*/ |
||||
check: function () { |
||||
if(type.indexOf("fontClass") >-1){ |
||||
var item = '#' + PICKER_BODY + ' .layui-iconpicker-icon-item'; |
||||
a.event('click', item, function (e) { |
||||
var el = $(e.currentTarget).find('.layui-icon'), |
||||
icon = ''; |
||||
|
||||
var clsArr = el.attr('class').split(/[\s\n]/), |
||||
cls = clsArr[1], |
||||
icon = cls; |
||||
$('#' + TITLE_ID).find('.layui-iconpicker-item .layui-icon').html('').attr('class', clsArr.join(' ')); |
||||
|
||||
|
||||
$('#' + ICON_BODY).removeClass(selected).addClass(unselect); |
||||
$(elem).val(icon).attr('value', icon); |
||||
// 回调
|
||||
if (click) { |
||||
click({ |
||||
icon: icon |
||||
}); |
||||
} |
||||
}); |
||||
}else{ |
||||
var item = '#' + PICKER_BODY + ' .layui-iconpicker-icon-item'; |
||||
a.event('click', item, function (e) { |
||||
var el = $(e.currentTarget).find('.fa'), |
||||
icon = ''; |
||||
|
||||
var clsArr = el.attr('class').split(/[\s\n]/), |
||||
cls = clsArr[1], |
||||
icon = cls; |
||||
$('#' + TITLE_ID).find('.layui-iconpicker-item .fa').html('').attr('class', clsArr.join(' ')); |
||||
|
||||
$('#' + ICON_BODY).removeClass(selected).addClass(unselect); |
||||
$(elem).val(icon).attr('value', icon); |
||||
// 回调
|
||||
if (click) { |
||||
click({ |
||||
icon: icon |
||||
}); |
||||
} |
||||
|
||||
}); |
||||
} |
||||
|
||||
return a; |
||||
|
||||
}, |
||||
|
||||
|
||||
// 监听原始input数值改变
|
||||
inputListen: function(){ |
||||
var el = $(elem); |
||||
a.event('change', elem, function(){ |
||||
var value = el.val(); |
||||
}) |
||||
// el.change(function(){
|
||||
|
||||
// });
|
||||
return a; |
||||
}, |
||||
event: function (evt, el, fn) { |
||||
$(BODY).on(evt, el, fn); |
||||
} |
||||
|
||||
}; |
||||
|
||||
|
||||
|
||||
var common = { |
||||
/** |
||||
* 加载样式表 |
||||
*/ |
||||
loadCss: function () { |
||||
var css = '.layui-iconpicker {max-width: 280px;}.layui-iconpicker .layui-anim{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box;}.layui-iconpicker-item{border:1px solid #e6e6e6;width:90px;height:36px;border-radius:4px;cursor:pointer;position:relative;}.layui-iconpicker-icon{border-right:1px solid #e6e6e6;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:60px;height:100%;float:left;text-align:center;background:#fff;transition:all .3s;}.layui-iconpicker-icon i{line-height:38px;font-size:18px;}.layui-iconpicker-item > .layui-edge{left:70px;}.layui-iconpicker-item:hover{border-color:#D2D2D2!important;}.layui-iconpicker-item:hover .layui-iconpicker-icon{border-color:#D2D2D2!important;}.layui-iconpicker.layui-form-selected .layui-anim{display:block;}.layui-iconpicker-body{padding:6px;}.layui-iconpicker .layui-iconpicker-list{background-color:#fff;border:1px solid #ccc;border-radius:4px;}.layui-iconpicker .layui-iconpicker-icon-item{display:inline-block;width:21.1%;line-height:36px;text-align:center;cursor:pointer;vertical-align:top;height:36px;margin:4px;border:1px solid #ddd;border-radius:2px;transition:300ms;}.layui-iconpicker .layui-iconpicker-icon-item i.layui-icon{font-size:17px;}.layui-iconpicker .layui-iconpicker-icon-item:hover{background-color:#eee;border-color:#ccc;-webkit-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;-moz-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;box-shadow:0 0 2px #aaa,0 0 2px #fff inset;text-shadow:0 0 1px #fff;}.layui-iconpicker-search{position:relative;margin:0 0 6px 0;border:1px solid #e6e6e6;border-radius:2px;transition:300ms;}.layui-iconpicker-search:hover{border-color:#D2D2D2!important;}.layui-iconpicker-search .layui-input{cursor:text;display:inline-block;width:86%;border:none;padding-right:0;margin-top:1px;}.layui-iconpicker-search .layui-icon{position:absolute;top:11px;right:4%;}.layui-iconpicker-tips{text-align:center;padding:8px 0;cursor:not-allowed;}.layui-iconpicker-page{margin-top:6px;margin-bottom:-6px;font-size:12px;padding:0 2px;}.layui-iconpicker-page-count{display:inline-block;}.layui-iconpicker-page-operate{display:inline-block;float:right;cursor:default;}.layui-iconpicker-page-operate .layui-icon{font-size:12px;cursor:pointer;}.layui-iconpicker-body-page .layui-iconpicker-icon-limit{display:none;}.layui-iconpicker-body-page .layui-iconpicker-icon-limit:first-child{display:block;}'; |
||||
var $style = $('head').find('style[iconpicker]'); |
||||
if ($style.length === 0) { |
||||
$('head').append('<style rel="stylesheet" iconpicker>'+css+'</style>'); |
||||
} |
||||
}, |
||||
/** |
||||
* 获取数据 |
||||
*/ |
||||
getfont: { |
||||
fontClass: function () { |
||||
var arr = ["layui-icon-rate-half","layui-icon-rate","layui-icon-rate-solid","layui-icon-cellphone","layui-icon-vercode","layui-icon-login-wechat","layui-icon-login-qq","layui-icon-login-weibo","layui-icon-password","layui-icon-username","layui-icon-refresh-3","layui-icon-auz","layui-icon-spread-left","layui-icon-shrink-right","layui-icon-snowflake","layui-icon-tips","layui-icon-note","layui-icon-home","layui-icon-senior","layui-icon-refresh","layui-icon-refresh-1","layui-icon-flag","layui-icon-theme","layui-icon-notice","layui-icon-website","layui-icon-console","layui-icon-face-surprised","layui-icon-set","layui-icon-template-1","layui-icon-app","layui-icon-template","layui-icon-praise","layui-icon-tread","layui-icon-male","layui-icon-female","layui-icon-camera","layui-icon-camera-fill","layui-icon-more","layui-icon-more-vertical","layui-icon-rmb","layui-icon-dollar","layui-icon-diamond","layui-icon-fire","layui-icon-return","layui-icon-location","layui-icon-read","layui-icon-survey","layui-icon-face-smile","layui-icon-face-cry","layui-icon-cart-simple","layui-icon-cart","layui-icon-next","layui-icon-prev","layui-icon-upload-drag","layui-icon-upload","layui-icon-download-circle","layui-icon-component","layui-icon-file-b","layui-icon-user","layui-icon-find-fill","layui-icon-loading","layui-icon-loading-1","layui-icon-add-1","layui-icon-play","layui-icon-pause","layui-icon-headset","layui-icon-video","layui-icon-voice","layui-icon-speaker","layui-icon-fonts-del","layui-icon-fonts-code","layui-icon-fonts-html","layui-icon-fonts-strong","layui-icon-unlink","layui-icon-picture","layui-icon-link","layui-icon-face-smile-b","layui-icon-align-left","layui-icon-align-right","layui-icon-align-center","layui-icon-fonts-u","layui-icon-fonts-i","layui-icon-tabs","layui-icon-radio","layui-icon-circle","layui-icon-edit","layui-icon-share","layui-icon-delete","layui-icon-form","layui-icon-cellphone-fine","layui-icon-dialogue","layui-icon-fonts-clear","layui-icon-layer","layui-icon-date","layui-icon-water","layui-icon-code-circle","layui-icon-carousel","layui-icon-prev-circle","layui-icon-layouts","layui-icon-util","layui-icon-templeate-1","layui-icon-upload-circle","layui-icon-tree","layui-icon-table","layui-icon-chart","layui-icon-chart-screen","layui-icon-engine","layui-icon-triangle-d","layui-icon-triangle-r","layui-icon-file","layui-icon-set-sm","layui-icon-add-circle","layui-icon-404","layui-icon-about","layui-icon-up","layui-icon-down","layui-icon-left","layui-icon-right","layui-icon-circle-dot","layui-icon-search","layui-icon-set-fill","layui-icon-group","layui-icon-friends","layui-icon-reply-fill","layui-icon-menu-fill","layui-icon-log","layui-icon-picture-fine","layui-icon-face-smile-fine","layui-icon-list","layui-icon-release","layui-icon-ok","layui-icon-help","layui-icon-chat","layui-icon-top","layui-icon-star","layui-icon-star-fill","layui-icon-close-fill","layui-icon-close","layui-icon-ok-circle","layui-icon-add-circle-fine"]; |
||||
return arr; |
||||
} |
||||
}, |
||||
/** |
||||
* 获取数据 |
||||
*/ |
||||
getData: function (url) { |
||||
var iconlist = []; |
||||
$.ajax({ |
||||
url: url, |
||||
type: 'get', |
||||
contentType: "application/x-www-form-urlencoded; charset=UTF-8", |
||||
async: false, |
||||
success: function (ret) { |
||||
var exp = /fa-var-(.*):/ig; |
||||
var result; |
||||
while ((result = exp.exec(ret)) != null) { |
||||
iconlist.push('fa-' + result[1]); |
||||
} |
||||
}, |
||||
error: function (xhr, textstatus, thrown) { |
||||
layer.msg('fa图标接口有误'); |
||||
} |
||||
}); |
||||
return iconlist; |
||||
} |
||||
|
||||
}; |
||||
|
||||
a.init(); |
||||
return new IconHhys(); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 选中图标 |
||||
* @param filter lay-filter |
||||
* @param iconName 图标名称,自动识别fontClass/unicode |
||||
*/ |
||||
/** IconHhys.prototype.checkIcon = function (filter, iconName){ |
||||
var el = $('*[lay-filter='+ filter +']'), |
||||
p = el.next().find('.layui-iconpicker-item .layui-icon'), |
||||
c = iconName; |
||||
if (c.indexOf('#xe') > -1){ |
||||
p.html(c); |
||||
} else { |
||||
p.html('').attr('class', 'layui-icon ' + c); |
||||
} |
||||
el.attr('value', c).val(c); |
||||
};*/ |
||||
|
||||
|
||||
|
||||
/** |
||||
* 选中图标auwosome |
||||
* @param filter lay-filter |
||||
* @param iconName 图标名称,自动识别fontClass/unicode |
||||
*/ |
||||
/** IconHhys.prototype.checkAwesome = function (filter, iconName) { |
||||
var el = $('*[lay-filter=' + filter + ']'), |
||||
p = el.next().find('.layui-iconpicker-item .fa'), |
||||
c = iconName; |
||||
|
||||
if (c.indexOf('#xe') > 0) { |
||||
p.html(c); |
||||
} else { |
||||
p.html('').attr('class', 'fa ' + c); |
||||
} |
||||
el.attr('value', c).val(c); |
||||
};*/ |
||||
|
||||
|
||||
var iconHhys = new IconHhys(); |
||||
exports(_MOD, iconHhys); |
||||
}); |
Loading…
Reference in new issue