iconFonts.js 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351
  1. /**
  2. * iconFonts 字体图标选择
  3. * User: jackhhy
  4. * Date: 2019/7/4-11:09
  5. * Link: https://gitee.com/luckygyl/iconFonts
  6. */
  7. layui.define(['laypage', 'form'], function (exports) {
  8. "use strict";
  9. var IconFonts =function () {
  10. this.v = '1.0.beta';
  11. }, _MOD = 'IconFonts',
  12. _this = this,
  13. $ = layui.jquery,
  14. laypage = layui.laypage,
  15. form = layui.form,
  16. BODY = 'body',
  17. TIPS = '请选择图标';
  18. /**
  19. * 渲染组件
  20. * @param options
  21. * @returns {IconFonts}
  22. */
  23. IconFonts.prototype.render = function(options){
  24. var opts = options,
  25. // DOM选择器
  26. elem = opts.elem,
  27. // 数据类型:fontClass/layui_icon
  28. type = opts.type == null ? 'fontClass' : opts.type,
  29. // 是否分页:true/false
  30. page = opts.page,
  31. // 每页显示数量
  32. limit = limit == null ? 12 : opts.limit,
  33. // 是否开启搜索:true/false
  34. search = opts.search == null ? true : opts.search,
  35. // 点击回调
  36. click = opts.click,
  37. // json数据
  38. data = {},
  39. // 唯一标识
  40. tmp = new Date().getTime(),
  41. TITLE = 'layui-select-title',
  42. TITLE_ID = 'layui-select-title-' + tmp,
  43. ICON_BODY = 'layui-iconfonts-' + tmp,
  44. PICKER_BODY = 'layui-iconfonts-body-' + tmp,
  45. PAGE_ID = 'layui-iconfonts-page-' + tmp,
  46. LIST_BOX = 'layui-iconfonts-list-box',
  47. selected = 'layui-form-selected',
  48. unselect = 'layui-unselect';
  49. layui.link(layui.cache.base + 'icon/font-awesome-4.7.0/css/font-awesome.min.css');
  50. // layui.link("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css");//font-awesome图标css
  51. // layui.link('https://www.layuicdn.com/layui-v2.5.4/css/layui.css');//layui_css
  52. var a = {
  53. init: function () {
  54. data = common.getData[type]();
  55. a.hideElem().createSelect().createBody().toggleSelect();
  56. common.loadCss();
  57. return a;
  58. },
  59. /**
  60. * 隐藏elem
  61. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  62. */
  63. hideElem: function () {
  64. $(elem).hide();
  65. return a;
  66. },
  67. /**
  68. * 绘制select下拉选择框
  69. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  70. */
  71. createSelect: function () {
  72. if (type=="fontClass"){
  73. var str= '<i class="fa fa-home"></i>' ;
  74. } else {
  75. var str= '<i class="layui-icon">&#xe617;</i>';
  76. }
  77. var selectHtml = '<div class="layui-iconfonts layui-unselect layui-form-select" id="'+ ICON_BODY +'">' +
  78. '<div class="'+ TITLE +'" id="'+ TITLE_ID +'">' +
  79. '<div class="layui-iconfonts-item">'+
  80. '<span class="layui-iconfonts-icon layui-unselect">' +
  81. str+
  82. '</span>'+
  83. '<i class="layui-edge"></i>' +
  84. '</div>'+
  85. '</div>' +
  86. '<div class="layui-anim layui-anim-upbit" style="">' +
  87. '123' +
  88. '</div>';
  89. $(elem).after(selectHtml);
  90. return a;
  91. },
  92. /**
  93. * 展开/折叠下拉框
  94. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  95. */
  96. toggleSelect: function () {
  97. var item = '#' + TITLE_ID + ' .layui-iconfonts-item,#' + TITLE_ID + ' .layui-iconfonts-item .layui-edge';
  98. a.event('click', item, function (e) {
  99. // console.log('xxxx');
  100. var $icon = $('#' + ICON_BODY);
  101. if ($icon.hasClass(selected)) {
  102. $icon.removeClass(selected).addClass(unselect);
  103. } else {
  104. $icon.addClass(selected).removeClass(unselect);
  105. }
  106. e.stopPropagation();
  107. });
  108. return a;
  109. },
  110. /**
  111. * 绘制主体部分
  112. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  113. */
  114. createBody: function () {
  115. // 获取数据
  116. var searchHtml = '';
  117. if (search) {
  118. searchHtml = '<div class="layui-iconfonts-search">' +
  119. '<input class="layui-input" placeholder="'+TIPS+'">' +
  120. '<i class="fa fa-search"></i>' +
  121. '</div>';
  122. }
  123. // 组合dom
  124. var bodyHtml = '<div class="layui-iconfonts-body" id="'+ PICKER_BODY +'">' +
  125. searchHtml +
  126. '<div class="'+ LIST_BOX +'"></div> '+
  127. '</div>';
  128. $('#' + ICON_BODY).find('.layui-anim').eq(0).html(bodyHtml);
  129. a.search().createList().check().page();
  130. return a;
  131. },
  132. /**
  133. * 绘制图标列表
  134. * @param text 模糊查询关键字
  135. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  136. */
  137. createList: function (text) {
  138. var d = data,
  139. l = d.length,
  140. pageHtml = '',
  141. listHtml = $('<div class="layui-iconfonts-list">')//'<div class="layui-iconfonts-list">';
  142. // 计算分页数据
  143. var _limit = limit, // 每页显示数量
  144. _pages = l % _limit === 0 ? l / _limit : parseInt(l / _limit + 1), // 总计多少页
  145. _id = PAGE_ID;
  146. // 图标列表
  147. var icons = [];
  148. for (var i = 0; i < l; i++) {
  149. var obj = d[i];
  150. // 判断是否模糊查询
  151. if (text && obj.indexOf(text) === -1) {
  152. continue;
  153. }
  154. // 每个图标dom
  155. var icon = '<div class="layui-iconfonts-icon-item" title="'+ obj +'">';
  156. // console.log(isFontClass);
  157. if (type=='fontClass'){
  158. icon += '<i class="fa fa-'+ obj +'" aria-hidden="true" style="margin-top: 13px;"></i>';
  159. } else {
  160. icon += '<i class="layui-icon '+ obj +'"></i>';
  161. }
  162. icon += '</div>';
  163. icons.push(icon);
  164. }
  165. /**
  166. * 查询出图标后再分页
  167. * @type {number}
  168. */
  169. l = icons.length;
  170. _pages = l % _limit === 0 ? l / _limit : parseInt(l / _limit + 1);
  171. for (var i = 0; i < _pages; i++) {
  172. // 按limit分块
  173. var lm = $('<div class="layui-iconfonts-icon-limit" id="layui-iconfonts-icon-limit-'+ (i+1) +'">');
  174. for (var j = i * _limit; j < (i+1) * _limit && j < l; j++) {
  175. lm.append(icons[j]);
  176. }
  177. listHtml.append(lm);
  178. }
  179. /**
  180. * 无数据
  181. */
  182. if (l === 0) {
  183. listHtml.append('<p class="layui-iconfonts-tips">无数据</p>');
  184. }
  185. /**
  186. * 判断是否分页
  187. */
  188. if (page){
  189. $('#' + PICKER_BODY).addClass('layui-iconfonts-body-page');
  190. pageHtml = '<div class="layui-iconfonts-page" id="'+ PAGE_ID +'">' +
  191. '<div class="layui-iconfonts-page-count">' +
  192. '<span id="'+ PAGE_ID +'-current">1</span>/' +
  193. '<span id="'+ PAGE_ID +'-pages">'+ _pages +'</span>' +
  194. ' (<span id="'+ PAGE_ID +'-length">'+ l +'</span>)' +
  195. '</div>' +
  196. '<div class="layui-iconfonts-page-operate">' +
  197. '<i class="layui-icon" id="'+ PAGE_ID +'-prev" data-index="0" prev>&#xe603;</i> ' +
  198. '<i class="layui-icon" id="'+ PAGE_ID +'-next" data-index="2" next>&#xe602;</i> ' +
  199. '</div>' +
  200. '</div>';
  201. }
  202. $('#' + ICON_BODY).find('.layui-anim').find('.' + LIST_BOX).html('').append(listHtml).append(pageHtml);
  203. return a;
  204. },
  205. /**
  206. * 数据分页
  207. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  208. */
  209. page: function () {
  210. var icon = '#' + PAGE_ID + ' .layui-iconfonts-page-operate .layui-icon';
  211. $(icon).unbind('click');
  212. a.event('click', icon, function (e) {
  213. var elem = e.currentTarget,
  214. total = parseInt($('#' +PAGE_ID + '-pages').html()),
  215. isPrev = $(elem).attr('prev') !== undefined,
  216. // 按钮上标的页码
  217. index = parseInt($(elem).attr('data-index')),
  218. $cur = $('#' +PAGE_ID + '-current'),
  219. // 点击时正在显示的页码
  220. current = parseInt($cur.html());
  221. // 分页数据
  222. if (isPrev && current > 1) {
  223. current=current-1;
  224. $(icon + '[prev]').attr('data-index', current);
  225. } else if (!isPrev && current < total){
  226. current=current+1;
  227. $(icon + '[next]').attr('data-index', current);
  228. }
  229. $cur.html(current);
  230. // 图标数据
  231. $('.layui-iconfonts-icon-limit').hide();
  232. $('#layui-iconfonts-icon-limit-' + current).show();
  233. e.stopPropagation();
  234. });
  235. return a;
  236. },
  237. /**
  238. * 搜索
  239. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  240. */
  241. search: function () {
  242. var item = '#' + PICKER_BODY + ' .layui-iconfonts-search .layui-input';
  243. a.event('input propertychange', item, function (e) {
  244. var elem = e.target,
  245. t = $(elem).val();
  246. a.createList(t);
  247. });
  248. a.event('click', item, function (e) {
  249. e.stopPropagation();
  250. });
  251. return a;
  252. },
  253. /**
  254. * 点击选中图标
  255. * @returns {{init: (function()), createList: (function(*=)), search: (function()), toggleSelect: (function()), createBody: (function()), page: (function()), check: (function()), hideElem: (function()), createSelect: (function()), event: event}}
  256. */
  257. check: function () {
  258. var item = '#' + PICKER_BODY + ' .layui-iconfonts-icon-item';
  259. a.event('click', item, function (e) {
  260. var icon = '';
  261. if (type=='fontClass') {
  262. var el = $(e.currentTarget).find('.fa');
  263. var clsArr = el.attr('class').split(/[\s\n]/),
  264. cls = clsArr[1],
  265. icon =cls;
  266. $('#' + TITLE_ID).find('.layui-iconfonts-item .fa').html('').attr('class', clsArr.join(' '));
  267. // console.log(cls);
  268. } else {
  269. var el = $(e.currentTarget).find('.layui-icon');
  270. var clsArr = el.attr('class').split(/[\s\n]/),
  271. cls = clsArr[1],
  272. icon = cls;
  273. //console.log(cls);
  274. $('#' + TITLE_ID).find('.layui-iconfonts-item .layui-icon').html('').attr('class', clsArr.join(' '));
  275. }
  276. $('#' + ICON_BODY).removeClass(selected).addClass(unselect);
  277. $(elem).attr('value', icon);
  278. // 回调
  279. if (click) {
  280. click({
  281. icon: icon
  282. });
  283. }
  284. });
  285. return a;
  286. },
  287. event: function (evt, el, fn) {
  288. $(BODY).on(evt, el, fn);
  289. }
  290. };
  291. var common = {
  292. /**
  293. * 加载样式表
  294. */
  295. loadCss: function () {
  296. var css = '.layui-iconfonts {max-width: 280px;}.layui-iconfonts .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-iconfonts-item{border:1px solid #e6e6e6;width:90px;height:38px;border-radius:4px;cursor:pointer;position:relative;}.layui-iconfonts-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-iconfonts-icon i{line-height:38px;font-size:18px;}.layui-iconfonts-item > .layui-edge{left:70px;}.layui-iconfonts-item:hover{border-color:#D2D2D2!important;}.layui-iconfonts-item:hover .layui-iconfonts-icon{border-color:#D2D2D2!important;}.layui-iconfonts.layui-form-selected .layui-anim{display:block;}.layui-iconfonts-body{padding:6px;}.layui-iconfonts .layui-iconfonts-list{background-color:#fff;border:1px solid #ccc;border-radius:4px;}.layui-iconfonts .layui-iconfonts-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-iconfonts .layui-iconfonts-icon-item i.layui-icon{font-size:17px;}.layui-iconfonts .layui-iconfonts-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-iconfonts-search{position:relative;margin:0 0 6px 0;border:1px solid #e6e6e6;border-radius:2px;transition:300ms;}.layui-iconfonts-search:hover{border-color:#D2D2D2!important;}.layui-iconfonts-search .layui-input{cursor:text;display:inline-block;width:86%;border:none;padding-right:0;margin-top:1px;}.layui-iconfonts-search .layui-icon{position:absolute;top:11px;right:4%;}.layui-iconfonts-tips{text-align:center;padding:8px 0;cursor:not-allowed;}.layui-iconfonts-page{margin-top:6px;margin-bottom:-6px;font-size:12px;padding:0 2px;}.layui-iconfonts-page-count{display:inline-block;}.layui-iconfonts-page-operate{display:inline-block;float:right;cursor:default;}.layui-iconfonts-page-operate .layui-icon{font-size:12px;cursor:pointer;}.layui-iconfonts-body-page .layui-iconfonts-icon-limit{display:none;}.layui-iconfonts-body-page .layui-iconfonts-icon-limit:first-child{display:block;}';
  297. $('head').append('<style rel="stylesheet">'+css+'</style>');
  298. },
  299. /**
  300. * 获取数据
  301. */
  302. getData: {
  303. fontClass: function () {
  304. var arr=[
  305. "address-book",
  306. "address-book-o",
  307. "address-card",
  308. "address-card-o",
  309. "bandcamp",
  310. "bath",
  311. "bathtub",
  312. "drivers-license",
  313. "drivers-license-o",
  314. "eercast",
  315. "envelope-open",
  316. "envelope-open-o",
  317. "etsy",
  318. "free-code-camp",
  319. "grav",
  320. "handshake-o",
  321. "id-badge",
  322. "id-card",
  323. "id-card-o",
  324. "imdb",
  325. "linode",
  326. "meetup",
  327. "microchip",
  328. "podcast",
  329. "quora",
  330. "ravelry",
  331. "s15",
  332. "shower",
  333. "snowflake-o",
  334. "superpowers",
  335. "telegram",
  336. "thermometer",
  337. "thermometer-0",
  338. "thermometer-1",
  339. "thermometer-2",
  340. "thermometer-3",
  341. "thermometer-4",
  342. "thermometer-empty",
  343. "thermometer-full",
  344. "thermometer-half",
  345. "thermometer-quarter",
  346. "thermometer-three-quarters",
  347. "times-rectangle",
  348. "times-rectangle-o",
  349. "user-circle",
  350. "user-circle-o",
  351. "user-o",
  352. "vcard",
  353. "vcard-o",
  354. "window-close",
  355. "window-close-o",
  356. "window-maximize",
  357. "window-minimize",
  358. "window-restore",
  359. "wpexplorer",
  360. "address-book",
  361. "address-book-o",
  362. "address-card",
  363. "address-card-o",
  364. "adjust",
  365. "american-sign-language-interpreting",
  366. "anchor",
  367. "archive",
  368. "area-chart",
  369. "arrows",
  370. "arrows-h",
  371. "arrows-v",
  372. "asl-interpreting",
  373. "assistive-listening-systems",
  374. "asterisk",
  375. "at",
  376. "audio-description",
  377. "automobile",
  378. "balance-scale",
  379. "ban",
  380. "bank",
  381. "bar-chart",
  382. "bar-chart-o",
  383. "barcode",
  384. "bars",
  385. "bath",
  386. "bathtub",
  387. "battery",
  388. "battery-0",
  389. "battery-1",
  390. "battery-2",
  391. "battery-3",
  392. "battery-4",
  393. "battery-empty",
  394. "battery-full",
  395. "battery-half",
  396. "battery-quarter",
  397. "battery-three-quarters",
  398. "bed",
  399. "beer",
  400. "bell",
  401. "bell-o",
  402. "bell-slash",
  403. "bell-slash-o",
  404. "bicycle",
  405. "binoculars",
  406. "birthday-cake",
  407. "blind",
  408. "bluetooth",
  409. "bluetooth-b",
  410. "bolt",
  411. "bomb",
  412. "book",
  413. "bookmark",
  414. "bookmark-o",
  415. "braille",
  416. "briefcase",
  417. "bug",
  418. "building",
  419. "building-o",
  420. "bullhorn",
  421. "bullseye",
  422. "bus",
  423. "cab",
  424. "calculator",
  425. "calendar",
  426. "calendar-check-o",
  427. "calendar-minus-o",
  428. "calendar-o",
  429. "calendar-plus-o",
  430. "calendar-times-o",
  431. "camera",
  432. "camera-retro",
  433. "car",
  434. "caret-square-o-down",
  435. "caret-square-o-left",
  436. "caret-square-o-right",
  437. "caret-square-o-up",
  438. "cart-arrow-down",
  439. "cart-plus",
  440. "cc",
  441. "certificate",
  442. "check",
  443. "check-circle",
  444. "check-circle-o",
  445. "check-square",
  446. "check-square-o",
  447. "child",
  448. "circle",
  449. "circle-o",
  450. "circle-o-notch",
  451. "circle-thin",
  452. "clock-o",
  453. "clone",
  454. "close",
  455. "cloud",
  456. "cloud-download",
  457. "cloud-upload",
  458. "code",
  459. "code-fork",
  460. "coffee",
  461. "cog",
  462. "cogs",
  463. "comment",
  464. "comment-o",
  465. "commenting",
  466. "commenting-o",
  467. "comments",
  468. "comments-o",
  469. "compass",
  470. "copyright",
  471. "creative-commons",
  472. "credit-card",
  473. "credit-card-alt",
  474. "crop",
  475. "crosshairs",
  476. "cube",
  477. "cubes",
  478. "cutlery",
  479. "dashboard",
  480. "database",
  481. "deaf",
  482. "deafness",
  483. "desktop",
  484. "diamond",
  485. "dot-circle-o",
  486. "download",
  487. "drivers-license",
  488. "drivers-license-o",
  489. "edit",
  490. "ellipsis-h",
  491. "ellipsis-v",
  492. "envelope",
  493. "envelope-o",
  494. "envelope-open",
  495. "envelope-open-o",
  496. "envelope-square",
  497. "eraser",
  498. "exchange",
  499. "exclamation",
  500. "exclamation-circle",
  501. "exclamation-triangle",
  502. "external-link",
  503. "external-link-square",
  504. "eye",
  505. "eye-slash",
  506. "eyedropper",
  507. "fax",
  508. "feed",
  509. "female",
  510. "fighter-jet",
  511. "file-archive-o",
  512. "file-audio-o",
  513. "file-code-o",
  514. "file-excel-o",
  515. "file-image-o",
  516. "file-movie-o",
  517. "file-pdf-o",
  518. "file-photo-o",
  519. "file-picture-o",
  520. "file-powerpoint-o",
  521. "file-sound-o",
  522. "file-video-o",
  523. "file-word-o",
  524. "file-zip-o",
  525. "film",
  526. "filter",
  527. "fire",
  528. "fire-extinguisher",
  529. "flag",
  530. "flag-checkered",
  531. "flag-o",
  532. "flash",
  533. "flask",
  534. "folder",
  535. "folder-o",
  536. "folder-open",
  537. "folder-open-o",
  538. "frown-o",
  539. "futbol-o",
  540. "gamepad",
  541. "gavel",
  542. "gear",
  543. "gears",
  544. "gift",
  545. "glass",
  546. "globe",
  547. "graduation-cap",
  548. "group",
  549. "hand-grab-o",
  550. "hand-lizard-o",
  551. "hand-paper-o",
  552. "hand-peace-o",
  553. "hand-pointer-o",
  554. "hand-rock-o",
  555. "hand-scissors-o",
  556. "hand-spock-o",
  557. "hand-stop-o",
  558. "handshake-o",
  559. "hard-of-hearing",
  560. "hashtag",
  561. "hdd-o",
  562. "headphones",
  563. "heart",
  564. "heart-o",
  565. "heartbeat",
  566. "history",
  567. "home",
  568. "hotel",
  569. "hourglass",
  570. "hourglass-1",
  571. "hourglass-2",
  572. "hourglass-3",
  573. "hourglass-end",
  574. "hourglass-half",
  575. "hourglass-o",
  576. "hourglass-start",
  577. "i-cursor",
  578. "id-badge",
  579. "id-card",
  580. "id-card-o",
  581. "image",
  582. "inbox",
  583. "industry",
  584. "info",
  585. "info-circle",
  586. "institution",
  587. "key",
  588. "keyboard-o",
  589. "language",
  590. "laptop",
  591. "leaf",
  592. "legal",
  593. "lemon-o",
  594. "level-down",
  595. "level-up",
  596. "life-bouy",
  597. "life-buoy",
  598. "life-ring",
  599. "life-saver",
  600. "lightbulb-o",
  601. "line-chart",
  602. "location-arrow",
  603. "lock",
  604. "low-vision",
  605. "magic",
  606. "magnet",
  607. "mail-forward",
  608. "mail-reply",
  609. "mail-reply-all",
  610. "male",
  611. "map",
  612. "map-marker",
  613. "map-o",
  614. "map-pin",
  615. "map-signs",
  616. "meh-o",
  617. "microchip",
  618. "microphone",
  619. "microphone-slash",
  620. "minus",
  621. "minus-circle",
  622. "minus-square",
  623. "minus-square-o",
  624. "mobile",
  625. "mobile-phone",
  626. "money",
  627. "moon-o",
  628. "mortar-board",
  629. "motorcycle",
  630. "mouse-pointer",
  631. "music",
  632. "navicon",
  633. "newspaper-o",
  634. "object-group",
  635. "object-ungroup",
  636. "paint-brush",
  637. "paper-plane",
  638. "paper-plane-o",
  639. "paw",
  640. "pencil",
  641. "pencil-square",
  642. "pencil-square-o",
  643. "percent",
  644. "phone",
  645. "phone-square",
  646. "photo",
  647. "picture-o",
  648. "pie-chart",
  649. "plane",
  650. "plug",
  651. "plus",
  652. "plus-circle",
  653. "plus-square",
  654. "plus-square-o",
  655. "podcast",
  656. "power-off",
  657. "print",
  658. "puzzle-piece",
  659. "qrcode",
  660. "question",
  661. "question-circle",
  662. "question-circle-o",
  663. "quote-left",
  664. "quote-right",
  665. "random",
  666. "recycle",
  667. "refresh",
  668. "registered",
  669. "remove",
  670. "reorder",
  671. "reply",
  672. "reply-all",
  673. "retweet",
  674. "road",
  675. "rocket",
  676. "rss",
  677. "rss-square",
  678. "s15",
  679. "search",
  680. "search-minus",
  681. "search-plus",
  682. "send",
  683. "send-o",
  684. "server",
  685. "share",
  686. "share-alt",
  687. "share-alt-square",
  688. "share-square",
  689. "share-square-o",
  690. "shield",
  691. "ship",
  692. "shopping-bag",
  693. "shopping-basket",
  694. "shopping-cart",
  695. "shower",
  696. "sign-in",
  697. "sign-language",
  698. "sign-out",
  699. "signal",
  700. "signing",
  701. "sitemap",
  702. "sliders",
  703. "smile-o",
  704. "snowflake-o",
  705. "soccer-ball-o",
  706. "sort",
  707. "sort-alpha-asc",
  708. "sort-alpha-desc",
  709. "sort-amount-asc",
  710. "sort-amount-desc",
  711. "sort-asc",
  712. "sort-desc",
  713. "sort-down",
  714. "sort-numeric-asc",
  715. "sort-numeric-desc",
  716. "sort-up",
  717. "space-shuttle",
  718. "spinner",
  719. "spoon",
  720. "square",
  721. "square-o",
  722. "star",
  723. "star-half",
  724. "star-half-empty",
  725. "star-half-full",
  726. "star-half-o",
  727. "star-o",
  728. "sticky-note",
  729. "sticky-note-o",
  730. "street-view",
  731. "suitcase",
  732. "sun-o",
  733. "support",
  734. "tablet",
  735. "tachometer",
  736. "tag",
  737. "tags",
  738. "tasks",
  739. "taxi",
  740. "television",
  741. "terminal",
  742. "thermometer",
  743. "thermometer-0",
  744. "thermometer-1",
  745. "thermometer-2",
  746. "thermometer-3",
  747. "thermometer-4",
  748. "thermometer-empty",
  749. "thermometer-full",
  750. "thermometer-half",
  751. "thermometer-quarter",
  752. "thermometer-three-quarters",
  753. "thumb-tack",
  754. "thumbs-down",
  755. "thumbs-o-down",
  756. "thumbs-o-up",
  757. "thumbs-up",
  758. "ticket",
  759. "times",
  760. "times-circle",
  761. "times-circle-o",
  762. "times-rectangle",
  763. "times-rectangle-o",
  764. "tint",
  765. "toggle-down",
  766. "toggle-left",
  767. "toggle-off",
  768. "toggle-on",
  769. "toggle-right",
  770. "toggle-up",
  771. "trademark",
  772. "trash",
  773. "trash-o",
  774. "tree",
  775. "trophy",
  776. "truck",
  777. "tty",
  778. "tv",
  779. "umbrella",
  780. "universal-access",
  781. "university",
  782. "unlock",
  783. "unlock-alt",
  784. "unsorted",
  785. "upload",
  786. "user",
  787. "user-circle",
  788. "user-circle-o",
  789. "user-o",
  790. "user-plus",
  791. "user-secret",
  792. "user-times",
  793. "users",
  794. "vcard",
  795. "vcard-o",
  796. "video-camera",
  797. "volume-control-phone",
  798. "volume-down",
  799. "volume-off",
  800. "volume-up",
  801. "warning",
  802. "wheelchair",
  803. "wheelchair-alt",
  804. "wifi",
  805. "window-close",
  806. "window-close-o",
  807. "window-maximize",
  808. "window-minimize",
  809. "window-restore",
  810. "wrench",
  811. "american-sign-language-interpreting",
  812. "asl-interpreting",
  813. "assistive-listening-systems",
  814. "audio-description",
  815. "blind",
  816. "braille",
  817. "cc",
  818. "deaf",
  819. "deafness",
  820. "hard-of-hearing",
  821. "low-vision",
  822. "question-circle-o",
  823. "sign-language",
  824. "signing",
  825. "tty",
  826. "universal-access",
  827. "volume-control-phone",
  828. "wheelchair",
  829. "wheelchair-alt",
  830. "hand-grab-o",
  831. "hand-lizard-o",
  832. "hand-o-down",
  833. "hand-o-left",
  834. "hand-o-right",
  835. "hand-o-up",
  836. "hand-paper-o",
  837. "hand-peace-o",
  838. "hand-pointer-o",
  839. "hand-rock-o",
  840. "hand-scissors-o",
  841. "hand-spock-o",
  842. "hand-stop-o",
  843. "thumbs-down",
  844. "thumbs-o-down",
  845. "thumbs-o-up",
  846. "thumbs-up",
  847. "ambulance",
  848. "automobile",
  849. "bicycle",
  850. "bus",
  851. "cab",
  852. "car",
  853. "fighter-jet",
  854. "motorcycle",
  855. "plane",
  856. "rocket",
  857. "ship",
  858. "space-shuttle",
  859. "subway",
  860. "taxi",
  861. "train",
  862. "truck",
  863. "wheelchair",
  864. "wheelchair-alt",
  865. "genderless",
  866. "intersex",
  867. "mars",
  868. "mars-double",
  869. "mars-stroke",
  870. "mars-stroke-h",
  871. "mars-stroke-v",
  872. "mercury",
  873. "neuter",
  874. "transgender",
  875. "transgender-alt",
  876. "venus",
  877. "venus-double",
  878. "venus-mars",
  879. "file",
  880. "file-archive-o",
  881. "file-audio-o",
  882. "file-code-o",
  883. "file-excel-o",
  884. "file-image-o",
  885. "file-movie-o",
  886. "file-o",
  887. "file-pdf-o",
  888. "file-photo-o",
  889. "file-picture-o",
  890. "file-powerpoint-o",
  891. "file-sound-o",
  892. "file-text",
  893. "file-text-o",
  894. "file-video-o",
  895. "file-word-o",
  896. "file-zip-o",
  897. "circle-o-notch",
  898. "cog",
  899. "gear",
  900. "refresh",
  901. "spinner",
  902. "check-square",
  903. "check-square-o",
  904. "circle",
  905. "circle-o",
  906. "dot-circle-o",
  907. "minus-square",
  908. "minus-square-o",
  909. "plus-square",
  910. "plus-square-o",
  911. "square",
  912. "square-o",
  913. "cc-amex",
  914. "cc-diners-club",
  915. "cc-discover",
  916. "cc-jcb",
  917. "cc-mastercard",
  918. "cc-paypal",
  919. "cc-stripe",
  920. "cc-visa",
  921. "credit-card",
  922. "credit-card-alt",
  923. "google-wallet",
  924. "paypal",
  925. "area-chart",
  926. "bar-chart",
  927. "bar-chart-o",
  928. "line-chart",
  929. "pie-chart",
  930. "bitcoin",
  931. "btc",
  932. "cny",
  933. "dollar",
  934. "eur",
  935. "euro",
  936. "gbp",
  937. "gg",
  938. "gg-circle",
  939. "ils",
  940. "inr",
  941. "jpy",
  942. "krw",
  943. "money",
  944. "rmb",
  945. "rouble",
  946. "rub",
  947. "ruble",
  948. "rupee",
  949. "shekel",
  950. "sheqel",
  951. "try",
  952. "turkish-lira",
  953. "usd",
  954. "won",
  955. "yen",
  956. "align-center",
  957. "align-justify",
  958. "align-left",
  959. "align-right",
  960. "bold",
  961. "chain",
  962. "chain-broken",
  963. "clipboard",
  964. "columns",
  965. "copy",
  966. "cut",
  967. "dedent",
  968. "eraser",
  969. "file",
  970. "file-o",
  971. "file-text",
  972. "file-text-o",
  973. "files-o",
  974. "floppy-o",
  975. "font",
  976. "header",
  977. "indent",
  978. "italic",
  979. "link",
  980. "list",
  981. "list-alt",
  982. "list-ol",
  983. "list-ul",
  984. "outdent",
  985. "paperclip",
  986. "paragraph",
  987. "paste",
  988. "repeat",
  989. "rotate-left",
  990. "rotate-right",
  991. "save",
  992. "scissors",
  993. "strikethrough",
  994. "subscript",
  995. "superscript",
  996. "table",
  997. "text-height",
  998. "text-width",
  999. "th",
  1000. "th-large",
  1001. "th-list",
  1002. "underline",
  1003. "undo",
  1004. "unlink",
  1005. "angle-double-down",
  1006. "angle-double-left",
  1007. "angle-double-right",
  1008. "angle-double-up",
  1009. "angle-down",
  1010. "angle-left",
  1011. "angle-right",
  1012. "angle-up",
  1013. "arrow-circle-down",
  1014. "arrow-circle-left",
  1015. "arrow-circle-o-down",
  1016. "arrow-circle-o-left",
  1017. "arrow-circle-o-right",
  1018. "arrow-circle-o-up",
  1019. "arrow-circle-right",
  1020. "arrow-circle-up",
  1021. "arrow-down",
  1022. "arrow-left",
  1023. "arrow-right",
  1024. "arrow-up",
  1025. "arrows",
  1026. "arrows-alt",
  1027. "arrows-h",
  1028. "arrows-v",
  1029. "caret-down",
  1030. "caret-left",
  1031. "caret-right",
  1032. "caret-square-o-down",
  1033. "caret-square-o-left",
  1034. "caret-square-o-right",
  1035. "caret-square-o-up",
  1036. "caret-up",
  1037. "chevron-circle-down",
  1038. "chevron-circle-left",
  1039. "chevron-circle-right",
  1040. "chevron-circle-up",
  1041. "chevron-down",
  1042. "chevron-left",
  1043. "chevron-right",
  1044. "chevron-up",
  1045. "exchange",
  1046. "hand-o-down",
  1047. "hand-o-left",
  1048. "hand-o-right",
  1049. "hand-o-up",
  1050. "long-arrow-down",
  1051. "long-arrow-left",
  1052. "long-arrow-right",
  1053. "long-arrow-up",
  1054. "toggle-down",
  1055. "toggle-left",
  1056. "toggle-right",
  1057. "toggle-up",
  1058. "arrows-alt",
  1059. "backward",
  1060. "compress",
  1061. "eject",
  1062. "expand",
  1063. "fast-backward",
  1064. "fast-forward",
  1065. "forward",
  1066. "pause",
  1067. "pause-circle",
  1068. "pause-circle-o",
  1069. "play",
  1070. "play-circle",
  1071. "play-circle-o",
  1072. "random",
  1073. "step-backward",
  1074. "step-forward",
  1075. "stop",
  1076. "stop-circle",
  1077. "stop-circle-o",
  1078. "youtube-play",
  1079. "500px",
  1080. "adn",
  1081. "amazon",
  1082. "android",
  1083. "angellist",
  1084. "apple",
  1085. "bandcamp",
  1086. "behance",
  1087. "behance-square",
  1088. "bitbucket",
  1089. "bitbucket-square",
  1090. "bitcoin",
  1091. "black-tie",
  1092. "bluetooth",
  1093. "bluetooth-b",
  1094. "btc",
  1095. "buysellads",
  1096. "cc-amex",
  1097. "cc-diners-club",
  1098. "cc-discover",
  1099. "cc-jcb",
  1100. "cc-mastercard",
  1101. "cc-paypal",
  1102. "cc-stripe",
  1103. "cc-visa",
  1104. "chrome",
  1105. "codepen",
  1106. "codiepie",
  1107. "connectdevelop",
  1108. "contao",
  1109. "css3",
  1110. "dashcube",
  1111. "delicious",
  1112. "deviantart",
  1113. "digg",
  1114. "dribbble",
  1115. "dropbox",
  1116. "drupal",
  1117. "edge",
  1118. "eercast",
  1119. "empire",
  1120. "envira",
  1121. "etsy",
  1122. "expeditedssl",
  1123. "fa",
  1124. "facebook",
  1125. "facebook-f",
  1126. "facebook-official",
  1127. "facebook-square",
  1128. "firefox",
  1129. "first-order",
  1130. "flickr",
  1131. "font-awesome",
  1132. "fonticons",
  1133. "fort-awesome",
  1134. "forumbee",
  1135. "foursquare",
  1136. "free-code-camp",
  1137. "ge",
  1138. "get-pocket",
  1139. "gg",
  1140. "gg-circle",
  1141. "git",
  1142. "git-square",
  1143. "github",
  1144. "github-alt",
  1145. "github-square",
  1146. "gitlab",
  1147. "gittip",
  1148. "glide",
  1149. "glide-g",
  1150. "google",
  1151. "google-plus",
  1152. "google-plus-circle",
  1153. "google-plus-official",
  1154. "google-plus-square",
  1155. "google-wallet",
  1156. "gratipay",
  1157. "grav",
  1158. "hacker-news",
  1159. "houzz",
  1160. "html5",
  1161. "imdb",
  1162. "instagram",
  1163. "internet-explorer",
  1164. "ioxhost",
  1165. "joomla",
  1166. "jsfiddle",
  1167. "lastfm",
  1168. "lastfm-square",
  1169. "leanpub",
  1170. "linkedin",
  1171. "linkedin-square",
  1172. "linode",
  1173. "linux",
  1174. "maxcdn",
  1175. "meanpath",
  1176. "medium",
  1177. "meetup",
  1178. "mixcloud",
  1179. "modx",
  1180. "odnoklassniki",
  1181. "odnoklassniki-square",
  1182. "opencart",
  1183. "openid",
  1184. "opera",
  1185. "optin-monster",
  1186. "pagelines",
  1187. "paypal",
  1188. "pied-piper",
  1189. "pied-piper-alt",
  1190. "pied-piper-pp",
  1191. "pinterest",
  1192. "pinterest-p",
  1193. "pinterest-square",
  1194. "product-hunt",
  1195. "qq",
  1196. "quora",
  1197. "ra",
  1198. "ravelry",
  1199. "rebel",
  1200. "reddit",
  1201. "reddit-alien",
  1202. "reddit-square",
  1203. "renren",
  1204. "resistance",
  1205. "safari",
  1206. "scribd",
  1207. "sellsy",
  1208. "share-alt",
  1209. "share-alt-square",
  1210. "shirtsinbulk",
  1211. "simplybuilt",
  1212. "skyatlas",
  1213. "skype",
  1214. "slack",
  1215. "slideshare",
  1216. "snapchat",
  1217. "snapchat-ghost",
  1218. "snapchat-square",
  1219. "soundcloud",
  1220. "spotify",
  1221. "stack-exchange",
  1222. "stack-overflow",
  1223. "steam",
  1224. "steam-square",
  1225. "stumbleupon",
  1226. "stumbleupon-circle",
  1227. "superpowers",
  1228. "telegram",
  1229. "tencent-weibo",
  1230. "themeisle",
  1231. "trello",
  1232. "tripadvisor",
  1233. "tumblr",
  1234. "tumblr-square",
  1235. "twitch",
  1236. "twitter",
  1237. "twitter-square",
  1238. "usb",
  1239. "viacoin",
  1240. "viadeo",
  1241. "viadeo-square",
  1242. "vimeo",
  1243. "vimeo-square",
  1244. "vine",
  1245. "vk",
  1246. "wechat",
  1247. "weibo",
  1248. "weixin",
  1249. "whatsapp",
  1250. "wikipedia-w",
  1251. "windows",
  1252. "wordpress",
  1253. "wpbeginner",
  1254. "wpexplorer",
  1255. "wpforms",
  1256. "xing",
  1257. "xing-square",
  1258. "y-combinator",
  1259. "y-combinator-square",
  1260. "yahoo",
  1261. "yc",
  1262. "yc-square",
  1263. "yelp",
  1264. "yoast",
  1265. "youtube",
  1266. "youtube-play",
  1267. "youtube-square",
  1268. "ambulance",
  1269. "h-square",
  1270. "heart",
  1271. "heart-o",
  1272. "heartbeat",
  1273. "hospital-o",
  1274. "medkit",
  1275. "plus-square",
  1276. "stethoscope",
  1277. "user-md",
  1278. "wheelchair",
  1279. "wheelchair-alt"
  1280. ];
  1281. return arr;
  1282. },
  1283. layui_icon: function () {
  1284. var arrs = ["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"];
  1285. return arrs;
  1286. }
  1287. }
  1288. };
  1289. a.init();
  1290. return new IconFonts();
  1291. };
  1292. /**
  1293. * 默认选中图标
  1294. * @param filter
  1295. * @param iconName
  1296. */
  1297. IconFonts.prototype.checkIcon = function (filter, iconName,type){
  1298. if (type=="fontClass"){
  1299. var icon=".fa";
  1300. } else {
  1301. var icon=".layui-icon";
  1302. }
  1303. var p = $('*[lay-filter='+ filter +']').next().find('.layui-iconfonts-item '+icon+''),
  1304. c = iconName;
  1305. if (c.indexOf('fa') > 0){
  1306. p.html('').attr('class', 'fa ' + c);
  1307. } else {
  1308. p.html('').attr('class', 'layui-icon ' + c);
  1309. }
  1310. };
  1311. var ics = new IconFonts();
  1312. exports(_MOD, ics);
  1313. });