/** layui-v2.4.5 MIT License By https://www.layui.com */
;layui.define('jquery', function (e) { 'use strict'; var a = layui.jquery, i = { config: {}, index: layui.rate ? layui.rate.index + 1e4 : 0, set: function (e) { var i = this; return i.config = a.extend({}, i.config, e), i }, on: function (e, a) { return layui.onevent.call(this, n, e, a) } }, l = function () { var e = this, a = e.config; return { setvalue: function (a) { e.setvalue.call(e, a) }, config: a } }, n = 'rate', t = 'layui-rate', o = 'layui-icon-rate', s = 'layui-icon-rate-solid', u = 'layui-icon-rate-half', r = 'layui-icon-rate-solid layui-icon-rate-half', c = 'layui-icon-rate-solid layui-icon-rate', f = 'layui-icon-rate layui-icon-rate-half', v = function (e) { var l = this; l.index = ++i.index, l.config = a.extend({}, l.config, i.config, e), l.render() }; v.prototype.config = { length: 5, text: !1, readonly: !1, half: !1, value: 0, theme: '' }, v.prototype.render = function () { var e = this, i = e.config, l = i.theme ? 'style="color: ' + i.theme + ';"' : ''; i.elem = a(i.elem), parseInt(i.value) !== i.value && (i.half || (i.value = Math.ceil(i.value) - i.value < 0.5 ? Math.ceil(i.value) : Math.floor(i.value))); for (var n = '<ul class="layui-rate" ' + (i.readonly ? 'readonly' : '') + '>', u = 1; u <= i.length; u++) { var r = '<li class="layui-inline"><i class="layui-icon ' + (u > Math.floor(i.value) ? o : s) + '" ' + l + '></i></li>'; i.half && parseInt(i.value) !== i.value && u == Math.ceil(i.value) ? n = n + '<li><i class="layui-icon layui-icon-rate-half" ' + l + '></i></li>' : n += r }n += '</ul>' + (i.text ? '<span class="layui-inline">' + i.value + '星' : '') + '</span>'; var c = i.elem, f = c.next('.' + t); f[0] && f.remove(), e.elemTemp = a(n), i.span = e.elemTemp.next('span'), i.setText && i.setText(i.value), c.html(e.elemTemp), c.addClass('layui-inline'), i.readonly || e.action() }, v.prototype.setvalue = function (e) { var a = this, i = a.config; i.value = e, a.render() }, v.prototype.action = function () { var e = this, i = e.config, l = e.elemTemp, n = l.find('i').width(); l.children('li').each(function (e) { var t = e + 1, v = a(this); v.on('click', function (e) { if (i.value = t, i.half) { var o = e.pageX - a(this).offset().left; o <= n / 2 && (i.value = i.value - 0.5) }i.text && l.next('span').text(i.value + '星'), i.choose && i.choose(i.value), i.setText && i.setText(i.value) }), v.on('mousemove', function (e) { if (l.find('i').each(function () { a(this).addClass(o).removeClass(r) }), l.find('i:lt(' + t + ')').each(function () { a(this).addClass(s).removeClass(f) }), i.half) { var c = e.pageX - a(this).offset().left; c <= n / 2 && v.children('i').addClass(u).removeClass(s) } }), v.on('mouseleave', function () { l.find('i').each(function () { a(this).addClass(o).removeClass(r) }), l.find('i:lt(' + Math.floor(i.value) + ')').each(function () { a(this).addClass(s).removeClass(f) }), i.half && parseInt(i.value) !== i.value && l.children('li:eq(' + Math.floor(i.value) + ')').children('i').addClass(u).removeClass(c) }) }) }, v.prototype.events = function () { var e = this; e.config }, i.render = function (e) { var a = new v(e); return l.call(a) }, e(n, i) })
