| | |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | |
| | | @RequestMapping(value = "/order/nav/list/auth") |
| | | @ManagerAuth |
| | | public R navList(@RequestParam(required = false) String orderNo){ |
| | | EntityWrapper<Order> wrapper = new EntityWrapper<>(); |
| | | if (!Cools.isEmpty(orderNo)) { |
| | | wrapper.like("order_no", orderNo); |
| | | } |
| | | wrapper.le("settle", 2).eq("doc_type", 1); |
| | | wrapper.orderBy("create_time", false); |
| | | List<Order> orders = orderService.selectList(wrapper); |
| | | return R.ok().add(orders); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/head/page/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam(defaultValue = "1")Integer curr, |
New file |
| | |
| | | #originTable + .layui-table-view .layui-table-tool-temp { |
| | | padding-right: 0; |
| | | } |
| | | #originTable + .layui-table-view .layui-table-body tbody > tr td { |
| | | cursor: pointer; |
| | | } |
| | | #originTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click { |
| | | background-color: #fff3e0; |
| | | } |
| | | #originTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click td:last-child > div:before { |
| | | position: absolute; |
| | | right: 6px; |
| | | content: "\e602"; |
| | | font-size: 12px; |
| | | font-style: normal; |
| | | font-family: layui-icon,serif !important; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | #left-table .layui-table-grid-down { |
| | | display: none; |
| | | } |
| | | .layui-form.layui-border-box.layui-table-view { |
| | | border-width: 1px; |
| | | } |
| | | #left-table .layui-table thead th { |
| | | /* font-weight: bold; */ |
| | | text-align: left; |
| | | } |
New file |
| | |
| | | var pageCurr; |
| | | var tableData; |
| | | var insTb2; |
| | | const sensorType = 5; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | | notice: 'notice/notice', |
| | | }).use(['table','laydate', 'form', 'util', 'admin', 'notice', 'treeTable', 'xmSelect'], function(){ |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | var util = layui.util; |
| | | var notice = layui.notice; |
| | | var treeTable = layui.treeTable; |
| | | var xmSelect = layui.xmSelect; |
| | | |
| | | // 设备类型数据 |
| | | var modelTb = treeTable.render({ |
| | | elem: '#nothing', |
| | | url: baseUrl+'/sensorModel/list/auth', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | tree: { |
| | | iconIndex: 2, // 折叠图标显示在第几列 |
| | | isPidData: true, // 是否是id、pid形式数据 |
| | | idName: 'id', // id字段名称 |
| | | pidName: 'parentId' // pid字段名称 |
| | | }, |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | ,{type: 'numbers'} |
| | | ,{field: 'name', align: 'left',title: '名称', minWidth: 150} |
| | | ]], |
| | | done: function (data) { |
| | | modelTb.expandAll(); |
| | | } |
| | | }); |
| | | |
| | | insTb2 = table.render({ |
| | | elem: '#sensorTable', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/sensor/list/auth?sensor_type='+sensorType, |
| | | page: true, |
| | | limit: 15, |
| | | limits: [15, 30, 50, 100, 200, 500], |
| | | toolbar: '#sensorToolbar', |
| | | height: 'full-100', |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | // ,{field: 'id', align: 'center',title: 'ID'} |
| | | ,{field: 'hostId$', align: 'center',title: '所属项目', templet: '#hostTpl', width: 130} |
| | | // ,{field: 'sensorType$', align: 'center',title: '设备类型'} |
| | | ,{field: 'uuid', align: 'center',title: '设备编码', width: 160} |
| | | ,{field: 'location', align: 'center',title: '地理位置', width: 180, style: 'font-size: 13px', hide: false} |
| | | ,{field: 'sensorModel$', align: 'center',title: '设备型号', width: 130, hide: false} |
| | | // ,{field: 'ccid', align: 'center',title: 'CCID'} |
| | | ,{field: 'sim', align: 'center',title: 'sim卡号',hide: true} |
| | | // ,{field: 'name', align: 'center',title: '设备名'} |
| | | // ,{field: 'topic', align: 'center',title: '主题'} |
| | | // ,{field: 'ip', align: 'center',title: 'ip'} |
| | | // ,{field: 'port', align: 'center',title: '端口'} |
| | | // ,{field: 'data', align: 'center',title: '报文'} |
| | | // ,{field: 'lon', align: 'center',title: '经度'} |
| | | // ,{field: 'lat', align: 'center',title: '纬度'} |
| | | ,{field: 'signal', align: 'center',title: '信号值'} |
| | | ,{field: 'battery', align: 'center',title: '电量',hide: true} |
| | | // ,{field: 'charge$', align: 'center',title: '充电状态'} |
| | | // ,{field: 'tiltX', align: 'center',title: 'x轴倾斜'} |
| | | // ,{field: 'tiltY', align: 'center',title: 'y轴倾斜'} |
| | | // ,{field: 'tiltZ', align: 'center',title: 'z轴倾斜'} |
| | | // ,{field: 'tilt$', align: 'center',title: '倾斜状态'} |
| | | ,{field: 'tempe', align: 'center',title: '温度', hide: true} |
| | | ,{ |
| | | field: 'online', title: '网络', templet: function (d) { |
| | | var strs = [ |
| | | '<span class="text-success">在线</span>', |
| | | '<span class="text-danger">离线</span>' |
| | | ]; |
| | | return strs[d.online?0:1]; |
| | | }, align: 'center', sort: true |
| | | } |
| | | ,{ |
| | | field: 'error', title: '状态', templet: function (d) { |
| | | var strs = [ |
| | | '<span class="layui-badge layui-badge-red">异常</span>', |
| | | '<span class="layui-badge layui-badge-green">正常</span>' |
| | | ]; |
| | | return strs[d.error?0:1]; |
| | | }, align: 'center', sort: false, minWidth: 70, hide: false |
| | | } |
| | | // ,{field: 'worn$', align: 'center',title: '破损状态'} |
| | | // ,{field: 'overflow$', align: 'center',title: '定点水位'} |
| | | // ,{field: 'nsAngle', align: 'center',title: '南北角度'} |
| | | // ,{field: 'waterGage', align: 'center',title: '管道水压'} |
| | | // ,{field: 'harmGas', align: 'center',title: '有害气体'} |
| | | // ,{field: 'lnGas', align: 'center',title: '可燃气体'} |
| | | // ,{field: 'hsGas', align: 'center',title: '硫化氢气体'} |
| | | // ,{field: 'reserve0', align: 'center',title: '预留0'} |
| | | // ,{field: 'reserve1', align: 'center',title: '预留1'} |
| | | // ,{field: 'status$', align: 'center',title: '状态', templet: '#statusTpl', width: 120, unresize: true} |
| | | // ,{field: 'createTime$', align: 'center',title: '添加时间'} |
| | | // ,{field: 'createBy$', align: 'center',title: '添加人员'} |
| | | ,{field: 'updateTime$', align: 'center',title: '更新时间', minWidth: 170} |
| | | // ,{field: 'updateBy$', align: 'center',title: '修改人员'} |
| | | ,{field: 'addr', align: 'center',title: '详细地址', hide: true} |
| | | ,{field: 'memo', align: 'center',title: '备注', hide: true} |
| | | |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 160} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function(res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | tableData = table.cache.sensorTable; |
| | | pageCurr=curr; |
| | | limit(); |
| | | } |
| | | }); |
| | | /* 表格2搜索 */ |
| | | form.on('submit(sensorTbSearch)', function (data) { |
| | | insTb2.reload({where: data.field, page: {curr: 1}}); |
| | | return false; |
| | | }); |
| | | |
| | | /* 表格2头工具栏点击事件 */ |
| | | table.on('toolbar(sensorTable)', function (obj) { |
| | | if (obj.event === 'add') { // 添加 |
| | | showEditModel() |
| | | } else if (obj.event === 'del') { // 删除 |
| | | var checkRows = table.checkStatus('sensorTable'); |
| | | if (checkRows.data.length === 0) { |
| | | layer.msg('请选择要删除的数据', {icon: 2}); |
| | | return; |
| | | } |
| | | var ids = checkRows.data.map(function (d) { |
| | | return d.id; |
| | | }); |
| | | doDelSensor({ids: ids}); |
| | | } |
| | | }); |
| | | |
| | | /* 表格2工具条点击事件 */ |
| | | table.on('tool(sensorTable)', function (obj) { |
| | | var data = obj.data; |
| | | switch (obj.event) { |
| | | case 'detl': |
| | | top.sensorByDetl = data.id; |
| | | break; |
| | | // 编辑 |
| | | case 'edit': |
| | | showEditModel(data); |
| | | break; |
| | | // 删除 |
| | | case 'del': |
| | | var ids = [data.id]; |
| | | doDelSensor({ids: ids}); |
| | | break; |
| | | // 基点定位 |
| | | case 'lbs': |
| | | notice.msg('请求中...', {icon: 4, position: "topCenter"}); |
| | | var param = { |
| | | uuid: data.uuid, |
| | | event: obj.event |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/main/command/v1/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify(param), |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | notice.destroy(); |
| | | if (res.code === 200){ |
| | | admin.open({ |
| | | title: '终端响应', |
| | | url: 'callback.html', |
| | | area: '360px', |
| | | data: { |
| | | request: param, |
| | | response: res.data |
| | | }, |
| | | tpl: true |
| | | }); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | break |
| | | } |
| | | }); |
| | | |
| | | // 设备明细展开回调 |
| | | window.onSensorDetlDialog = function () { |
| | | }; |
| | | |
| | | |
| | | /* 显示表单弹窗 */ |
| | | function showEditModel(mData) { |
| | | admin.open({ |
| | | type: 1, |
| | | area: '900px', |
| | | title: (mData ? '修改' : '添加') + '设备', |
| | | content: $('#editDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | // 回显表单数据 |
| | | form.val('detail', mData); |
| | | // 地图定位回显 |
| | | if (mData) { |
| | | setTimeout(function () { |
| | | $("#mapIframe")[0].contentWindow.position(mData.lon, mData.lat); |
| | | }, 500) |
| | | } |
| | | // 表单提交事件 |
| | | form.on('submit(editSubmit)', function (data) { |
| | | data.field.sensorModel = insXmSel.getValue('valueStr'); |
| | | if (isEmpty(data.field.hostId)) { |
| | | layer.msg('请选择所属项目', {icon: 2}); |
| | | return false; |
| | | } |
| | | data.field.lon = $("#mapIframe").contents().find("#lon").val(); |
| | | data.field.lat = $("#mapIframe").contents().find("#lat").val(); |
| | | data.field.city = $("#mapIframe").contents().find("#city").val(); |
| | | if (isEmpty(data.field.lon) || isEmpty(data.field.lat)) { |
| | | layer.msg('设备不在定位', {icon: 2}); |
| | | return false; |
| | | } |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/sensor/"+(mData?'update':'add')+"/auth?sensorType="+sensorType, |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: data.field, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.close(dIndex); |
| | | layer.msg(res.msg, {icon: 1}); |
| | | $(".layui-laypage-btn")[0].click(); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | return false; |
| | | }); |
| | | // 渲染下拉树 |
| | | var insXmSel = xmSelect.render({ |
| | | el: '#modelSel', |
| | | height: '250px', |
| | | data: modelTb.options.data, |
| | | initValue: mData&&mData.sensorModel ? [mData.sensorModel] : [], |
| | | model: {label: {type: 'text'}}, |
| | | prop: { |
| | | name: 'name', |
| | | value: 'id' |
| | | }, |
| | | radio: true, |
| | | clickClose: true, |
| | | tree: { |
| | | show: true, |
| | | indent: 15, |
| | | strict: false, |
| | | expandedKeys: true |
| | | } |
| | | }); |
| | | // 弹窗不出现滚动条 |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | layui.form.render('select'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /* 删除订单 */ |
| | | function doDelSensor(obj) { |
| | | layer.confirm('确定要删除选中数据吗?', { |
| | | skin: 'layui-layer-admin', |
| | | shade: .1 |
| | | }, function (i) { |
| | | layer.close(i); |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/sensor/delete/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {ids: obj.ids}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.msg(res.msg, {icon: 1}); |
| | | $(".layui-laypage-btn")[0].click(); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | |
| | | }); |
| | | } |
| | | |
| | | // 修改状态 |
| | | form.on('switch(statusSwitch)', function (obj) { |
| | | var index = obj.othis.parents('tr').attr("data-index"); |
| | | var data = tableData[index]; |
| | | data[this.name] = obj.elem.checked?1:0; |
| | | http.post(baseUrl+"/sensor/edit/auth", {id: data.id, status: data[this.name]}, function (res) { |
| | | layer.msg(res.msg, {icon: 1}); |
| | | }) |
| | | }) |
| | | |
| | | }); |
| | | |
| | | function tableReload(child) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | (child ? parent.tableIns : tableIns).reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr |
| | | } |
| | | }); |
| | | } |
| | | |
New file |
| | |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" // 配置模块所在的目录 |
| | | }).use(['table','laydate', 'form', 'admin'], function() { |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | |
| | | /****************************************** 左边表 *************************************************/ |
| | | |
| | | var insTb = table.render({ |
| | | elem: '#originTable', |
| | | url: baseUrl + '/order/nav/list/auth', |
| | | height: 'full-100', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | page: false, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'data': res.data |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | // toolbar: ['<p>', |
| | | // '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon"></i>添加</button> ', |
| | | // '<button lay-event="edit" class="layui-btn layui-btn-sm layui-btn-warm icon-btn"><i class="layui-icon"></i>修改</button> ', |
| | | // '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon"></i>删除</button>', |
| | | // '</p>'].join(''), |
| | | defaultToolbar: [], |
| | | cols: [[ |
| | | // {type: 'number', title: '#'}, |
| | | {field: 'orderTime', title: '日期'}, |
| | | {field: 'orderNo', title: '编号', align: 'center'} |
| | | ]], |
| | | done: function (res, curr, count) { |
| | | console.log(res) |
| | | $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click'); |
| | | } |
| | | }); |
| | | |
| | | /* 表格搜索 */ |
| | | form.on('submit(originTableSearch)', function (data) { |
| | | insTb.reload({where: data.field}); |
| | | return false; |
| | | }); |
| | | |
| | | /* 表格重置 */ |
| | | form.on('submit(originTbReset)', function (data) { |
| | | insTb.reload({where: null}); |
| | | insTb2.reload({where: {host_id: null}, page: {curr: 1}}); |
| | | return false; |
| | | }); |
| | | |
| | | /* 表格头工具栏点击事件 */ |
| | | table.on('toolbar(originTable)', function (obj) { |
| | | if (obj.event === 'add') { // 添加 |
| | | showEdit(); |
| | | } else if (obj.event === 'edit') { // 修改 |
| | | if (selObj == null) { |
| | | return; |
| | | } |
| | | showEdit(selObj.data); |
| | | } else if (obj.event === 'del') { // 删除 |
| | | if (selObj == null) { |
| | | return; |
| | | } |
| | | doDel(selObj); |
| | | } |
| | | }); |
| | | |
| | | /* 监听行单击事件 */ |
| | | var selObj; |
| | | table.on('row(originTable)', function (obj) { |
| | | selObj = obj; |
| | | obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click'); |
| | | insTb2.reload({where: {host_id: obj.data.id}, page: {curr: 1}}); |
| | | }); |
| | | |
| | | /* 显示表单弹窗 */ |
| | | function showEdit(mData) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: (mData ? '修改' : '添加') + '项目', |
| | | content: $('#hostEditDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | // 回显表单数据 |
| | | form.val('hostEditForm', mData); |
| | | // 表单提交事件 |
| | | form.on('submit(hostEditSubmit)', function (data) { |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/host/"+(mData?'update':'add')+"/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: data.field, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | selObj = null; |
| | | if (res.code === 200){ |
| | | layer.close(dIndex); |
| | | layer.msg(res.msg, {icon: 1}); |
| | | insTb.reload(); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | return false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /* 删除 */ |
| | | function doDel(obj) { |
| | | layer.confirm('确定要删除此单据类型吗?', { |
| | | skin: 'layui-layer-admin', |
| | | shade: .1 |
| | | }, function (i) { |
| | | layer.close(i); |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/host/delete/one/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {param: JSON.stringify(obj.data)}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | selObj = null; |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.closeAll(); |
| | | insTb.reload(); |
| | | $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click'); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | }) |
New file |
| | |
| | | /** 下拉菜单模块 date:2020-05-04 License By http://easyweb.vip */ |
| | | |
| | | .dropdown-no-scroll { |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .dropdown-fix-parent { |
| | | z-index: auto !important; |
| | | } |
| | | |
| | | /** 遮罩层 */ |
| | | .dropdown-menu-shade { |
| | | position: fixed; |
| | | left: 0; |
| | | right: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | z-index: 9998; |
| | | background-color: rgba(0, 0, 0, .1); |
| | | } |
| | | |
| | | .dropdown-menu-shade.no-shade { |
| | | background-color: transparent; |
| | | } |
| | | |
| | | /** 夜间主题 */ |
| | | |
| | | .dropdown-menu-nav.dark, .dropdown-menu-nav.dark .dropdown-menu-nav-child { |
| | | background: #32363F; |
| | | border-color: #484e58; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li > a, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li > a { |
| | | color: #a1a8b8; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li > a:hover, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li > a:hover { |
| | | background-color: #272b34; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li.disabled > a, .dropdown-menu-nav > li.disabled > a:hover, |
| | | .dropdown-menu-nav.dark .dropdown-menu-nav-child > li.disabled > a, .dropdown-menu-nav .dropdown-menu-nav-child > li.disabled > a:hover { |
| | | color: #7a8191; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > hr, .dropdown-menu-nav.dark .dropdown-menu-nav-child > hr { |
| | | background-color: #484e58; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark > li.title, .dropdown-menu-nav.dark .dropdown-menu-nav-child > li.title { |
| | | color: #868b9a; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark .dropdown-anchor { |
| | | border-color: #484e58; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dark .dropdown-anchor::after { |
| | | border-color: #32363F; |
| | | } |
| | | |
| | | /** 白色主题 */ |
| | | .dropdown-menu { |
| | | position: relative; |
| | | display: inline-block; |
| | | vertical-align: bottom; |
| | | } |
| | | |
| | | .dropdown-menu-nav, .dropdown-menu-nav .dropdown-menu-nav-child { |
| | | position: absolute; |
| | | padding: 5px 0; |
| | | margin: 0; |
| | | overflow: visible; |
| | | min-width: 110px; |
| | | background: #fff; |
| | | border-radius: 2px; |
| | | box-shadow: 0 1px 4px rgba(0, 0, 0, .12); |
| | | border: 1px solid #e4e4e4; |
| | | line-height: initial; |
| | | text-align: left; |
| | | z-index: 9999; |
| | | } |
| | | |
| | | .dropdown-menu .dropdown-menu-nav { |
| | | display: none; |
| | | } |
| | | |
| | | .dropdown-menu.dropdown-open .dropdown-menu-nav { |
| | | display: block; |
| | | } |
| | | |
| | | .dropdown-menu-nav.fixed { |
| | | position: fixed; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li, .dropdown-menu-nav-child > li { |
| | | padding: 0; |
| | | margin: 0; |
| | | line-height: 18px; |
| | | user-select: none; |
| | | list-style: none; |
| | | position: relative; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li > a, .dropdown-menu-nav-child > li > a { |
| | | display: block; |
| | | color: #555; |
| | | font-size: 14px; |
| | | padding: 10px 15px; |
| | | text-decoration: none; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | user-select: none; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li > a:hover, .dropdown-menu-nav-child > li > a:hover { |
| | | background-color: #eeeeee; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li .layui-icon, .dropdown-menu-nav-child > li .layui-icon { |
| | | font-size: 14px; |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .dropdown-menu-nav > hr, .dropdown-menu-nav-child > hr { |
| | | height: 1px; |
| | | margin: 3px 0; |
| | | background-color: #e6e6e6; |
| | | } |
| | | |
| | | /** 禁用样式 */ |
| | | .dropdown-menu-nav > li.disabled, .dropdown-menu-nav-child > li.disabled { |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li.disabled > a, .dropdown-menu-nav > li.disabled > a:hover, |
| | | .dropdown-menu-nav-child > li.disabled > a, .dropdown-menu-nav-child > li.disabled > a:hover { |
| | | color: #999; |
| | | cursor: not-allowed; |
| | | pointer-events: none; |
| | | background-color: transparent; |
| | | } |
| | | |
| | | /** 标题样式 */ |
| | | .dropdown-menu-nav > li.title, .dropdown-menu-nav-child > li.title { |
| | | color: #999; |
| | | font-size: 12px; |
| | | padding: 3px 15px; |
| | | } |
| | | |
| | | /* nav子菜单 */ |
| | | .dropdown-menu-nav .dropdown-menu-nav-child { |
| | | left: 100%; |
| | | top: 0; |
| | | display: none; |
| | | } |
| | | |
| | | .dropdown-menu-nav .show-left .dropdown-menu-nav-child { |
| | | left: auto; |
| | | right: 100%; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li.active > .dropdown-menu-nav-child, .dropdown-menu-nav-child > li.active > .dropdown-menu-nav-child { |
| | | display: block; |
| | | } |
| | | |
| | | .dropdown-menu-nav > li.have-more:after, .dropdown-menu-nav-child > li.have-more:after { |
| | | content: "\e602"; |
| | | font-family: layui-icon !important; |
| | | font-size: 14px; |
| | | font-style: normal; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | position: absolute; |
| | | right: 4px; |
| | | color: #666; |
| | | top: 50%; |
| | | margin-top: -8px; |
| | | } |
| | | |
| | | /** 小箭头 */ |
| | | .dropdown-menu-nav .dropdown-anchor, .dropdown-menu-nav .dropdown-anchor:after { |
| | | border: 8px solid #e4e4e4; |
| | | position: absolute; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .dropdown-menu-nav .dropdown-anchor:after { |
| | | content: ''; |
| | | border: 7px solid #fff; |
| | | } |
| | | |
| | | /** 下左位置 */ |
| | | .dropdown-menu-nav.dropdown-bottom-left { |
| | | top: 100%; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor:after { |
| | | border-top-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | top: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor:after { |
| | | top: -6px; |
| | | left: -7px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-left .dropdown-anchor { |
| | | left: 12px; |
| | | } |
| | | |
| | | /** 下右位置 */ |
| | | .dropdown-menu-nav.dropdown-bottom-right { |
| | | right: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor:after { |
| | | border-top-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | top: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor:after { |
| | | top: -6px; |
| | | left: -7px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-right .dropdown-anchor { |
| | | right: 12px; |
| | | } |
| | | |
| | | /** 下中位置 */ |
| | | .dropdown-menu-nav.dropdown-bottom-center { |
| | | left: 50%; |
| | | /*transform: translateX(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center { |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor, .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor:after { |
| | | border-top-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | top: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor:after { |
| | | top: -6px; |
| | | left: -7px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-bottom-center .dropdown-anchor { |
| | | left: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 上左位置 */ |
| | | .dropdown-menu-nav.dropdown-top-left { |
| | | bottom: 100%; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left { |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left .dropdown-anchor, .dropdown-menu-nav.dropdown-top-left .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | bottom: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left .dropdown-anchor:after { |
| | | top: -8px; |
| | | left: -7px; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-left .dropdown-anchor { |
| | | left: 12px; |
| | | } |
| | | |
| | | /** 上右位置 */ |
| | | .dropdown-menu-nav.dropdown-top-right { |
| | | bottom: 100%; |
| | | right: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right { |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right .dropdown-anchor, .dropdown-menu-nav.dropdown-top-right .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | bottom: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right .dropdown-anchor:after { |
| | | top: -8px; |
| | | left: -7px; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-right .dropdown-anchor { |
| | | right: 12px; |
| | | } |
| | | |
| | | /** 上中位置 */ |
| | | .dropdown-menu-nav.dropdown-top-center { |
| | | bottom: 100%; |
| | | left: 50%; |
| | | /*transform: translateX(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center { |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center .dropdown-anchor, .dropdown-menu-nav.dropdown-top-center .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-left-color: transparent; |
| | | bottom: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center .dropdown-anchor:after { |
| | | top: -8px; |
| | | left: -7px; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-top-center .dropdown-anchor { |
| | | left: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 左上位置 */ |
| | | .dropdown-menu-nav.dropdown-left-top { |
| | | right: 100%; |
| | | bottom: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top { |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top .dropdown-anchor, .dropdown-menu-nav.dropdown-left-top .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-top-color: transparent; |
| | | right: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -8px; |
| | | right: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-top .dropdown-anchor { |
| | | bottom: 12px; |
| | | } |
| | | |
| | | /** 左下位置 */ |
| | | .dropdown-menu-nav.dropdown-left-bottom { |
| | | right: 100%; |
| | | top: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom { |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor, .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-top-color: transparent; |
| | | right: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -8px; |
| | | right: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-bottom .dropdown-anchor { |
| | | top: 12px; |
| | | } |
| | | |
| | | /** 左中位置 */ |
| | | .dropdown-menu-nav.dropdown-left-center { |
| | | right: 100%; |
| | | top: 50%; |
| | | /*transform: translateY(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center { |
| | | margin-right: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center .dropdown-anchor, .dropdown-menu-nav.dropdown-left-center .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-right-color: transparent; |
| | | border-top-color: transparent; |
| | | right: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -8px; |
| | | right: auto; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-left-center .dropdown-anchor { |
| | | top: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 右上位置 */ |
| | | .dropdown-menu-nav.dropdown-right-top { |
| | | left: 100%; |
| | | bottom: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top { |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top .dropdown-anchor, .dropdown-menu-nav.dropdown-right-top .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | left: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -6px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-top .dropdown-anchor { |
| | | bottom: 12px; |
| | | } |
| | | |
| | | /** 右下位置 */ |
| | | .dropdown-menu-nav.dropdown-right-bottom { |
| | | left: 100%; |
| | | top: 0; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom { |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor, .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | left: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -6px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-bottom .dropdown-anchor { |
| | | top: 12px; |
| | | } |
| | | |
| | | /** 右中位置 */ |
| | | .dropdown-menu-nav.dropdown-right-center { |
| | | left: 100%; |
| | | top: 50%; |
| | | /*transform: translateY(-50%);*/ |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center { |
| | | margin-left: 8px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center .dropdown-anchor, .dropdown-menu-nav.dropdown-right-center .dropdown-anchor:after { |
| | | border-bottom-color: transparent; |
| | | border-left-color: transparent; |
| | | border-top-color: transparent; |
| | | left: -16px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center .dropdown-anchor:after { |
| | | top: -7px; |
| | | left: -6px; |
| | | } |
| | | |
| | | .dropdown-menu-nav.dropdown-right-center .dropdown-anchor { |
| | | top: calc(50% - 8px); |
| | | } |
| | | |
| | | /** 按钮里面三角形样式 */ |
| | | .icon-btn .layui-icon-drop { |
| | | margin-right: 0; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .layui-icon-drop:before { |
| | | content: "\e625"; |
| | | } |
| | | |
| | | .layui-icon-drop.top { |
| | | transform: rotate(180deg); |
| | | display: inline-table; |
| | | } |
| | | |
| | | .layui-icon-drop.left { |
| | | transform: rotate(90deg); |
| | | display: inline-table; |
| | | } |
| | | |
| | | .layui-icon-drop.right { |
| | | transform: rotate(-90deg); |
| | | display: inline-table; |
| | | } |
| | | |
| | | /** 适配btn-container */ |
| | | .layui-btn-container .dropdown-menu .layui-btn { |
| | | margin: 0; |
| | | } |
| | | |
| | | .layui-btn-container .dropdown-menu { |
| | | margin-right: 10px; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .dropdown-menu + .dropdown-menu, .layui-btn + .dropdown-menu, .dropdown-menu + .layui-btn { |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .layui-btn-container input { |
| | | font-size: 14px; |
| | | } |
| | | |
| | | /** 气泡确认框 */ |
| | | .dropdown-popconfirm { |
| | | color: #555; |
| | | font-size: 14px; |
| | | max-width: 230px; |
| | | min-width: 200px; |
| | | width: max-content; |
| | | padding: 15px 15px; |
| | | box-sizing: border-box; |
| | | border: none; |
| | | border-radius: 4px; |
| | | box-shadow: 0 1px 6px rgba(0, 0, 0, .2); |
| | | } |
| | | |
| | | .dropdown-popconfirm .layui-icon-help, .dropdown-popconfirm .layui-icon-about { |
| | | font-size: 12px; |
| | | color: #fff; |
| | | height: 16px; |
| | | width: 16px; |
| | | line-height: 16px; |
| | | text-align: center; |
| | | display: inline-block; |
| | | box-sizing: border-box; |
| | | background-color: #FF9900; |
| | | border-radius: 50%; |
| | | margin: -2px 3px 0 0; |
| | | overflow: hidden; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | .dropdown-popconfirm .layui-icon-about { |
| | | background-color: #FF0000; |
| | | position: relative; |
| | | } |
| | | |
| | | .dropdown-popconfirm .layui-icon-about:before { |
| | | font-size: 28px; |
| | | position: absolute; |
| | | left: -6px; |
| | | top: 0; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-title > span { |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-btn { |
| | | margin-top: 12px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-btn .layui-btn { |
| | | height: 24px; |
| | | min-width: 45px; |
| | | line-height: 24px; |
| | | padding: 0; |
| | | font-size: 12px; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .dropdown-popconfirm .dropdown-popconfirm-btn .layui-btn[btn-cancel] { |
| | | color: #333; |
| | | background: transparent; |
| | | } |
New file |
| | |
| | | /** 下拉菜单模块 date:2020-05-04 License By http://easyweb.vip */ |
| | | layui.define(['jquery'], function (exports) { |
| | | var $ = layui.jquery; |
| | | var openClass = 'dropdown-open'; |
| | | var disableClass = 'dropdown-disabled'; |
| | | var noScrollClass = 'dropdown-no-scroll'; |
| | | var shadeClass = 'dropdown-menu-shade'; |
| | | var dropdownClass = 'dropdown-menu'; |
| | | var dropNavClass = 'dropdown-menu-nav'; |
| | | var hoverClass = 'dropdown-hover'; |
| | | var fixedClass = 'fixed'; |
| | | var noShadeClass = 'no-shade'; |
| | | var animClass = 'layui-anim layui-anim-upbit'; |
| | | var popAnimClass = 'layui-anim layui-anim-fadein'; |
| | | var dropDirect = ['bottom-left', 'bottom-right', 'bottom-center', 'top-left', 'top-right', 'top-center', 'left-top', 'left-bottom', 'left-center', 'right-top', 'right-bottom', 'right-center']; |
| | | if ($('#ew-css-dropdown').length <= 0) { |
| | | layui.link(layui.cache.base + 'dropdown/dropdown.css'); |
| | | } |
| | | |
| | | var dropdown = { |
| | | // 绑定事件 |
| | | init: function () { |
| | | // 点击触发 |
| | | $(document).off('click.dropdown').on('click.dropdown', '.' + dropdownClass + '>*:first-child', function (event) { |
| | | var $drop = $(this).parent(); |
| | | if (!$drop.hasClass(hoverClass)) { |
| | | if ($drop.hasClass(openClass)) { |
| | | $drop.removeClass(openClass); |
| | | } else { |
| | | dropdown.hideAll(); |
| | | dropdown.show($(this).parent().find('.' + dropNavClass)); |
| | | } |
| | | } |
| | | event.stopPropagation(); |
| | | }); |
| | | // 点击任何位置关闭所有 |
| | | $(document).off('click.dropHide').on('click.dropHide', function (event) { |
| | | dropdown.hideAll(); |
| | | }); |
| | | // 点击下拉菜单内容部分不关闭 |
| | | $(document).off('click.dropNav').on('click.dropNav', '.' + dropNavClass, function (event) { |
| | | event.stopPropagation(); |
| | | }); |
| | | // hover触发 |
| | | var timer, lastDrop, hoverSelector = '.' + dropdownClass + '.' + hoverClass; |
| | | $(document).off('mouseenter.dropdown').on('mouseenter.dropdown', hoverSelector, function (event) { |
| | | if (lastDrop && lastDrop == event.currentTarget) { |
| | | clearTimeout(timer); |
| | | } |
| | | dropdown.show($(this).find('.' + dropNavClass)); |
| | | }); |
| | | $(document).off('mouseleave.dropdown').on('mouseleave.dropdown', hoverSelector, function (event) { |
| | | lastDrop = event.currentTarget; |
| | | timer = setTimeout(function () { |
| | | $(event.currentTarget).removeClass(openClass); |
| | | }, 300); |
| | | }); |
| | | // 分离式绑定 |
| | | $(document).off('click.dropStand').on('click.dropStand', '[data-dropdown]', function (event) { |
| | | dropdown.showFixed($(this)); |
| | | event.stopPropagation(); |
| | | }); |
| | | // 无限级子菜单 |
| | | var hoverNavSelector = '.' + dropNavClass + ' li'; |
| | | $(document).off('mouseenter.dropdownNav').on('mouseenter.dropdownNav', hoverNavSelector, function (event) { |
| | | $(this).children('.dropdown-menu-nav-child').addClass(animClass); |
| | | $(this).addClass('active'); |
| | | }); |
| | | $(document).off('mouseleave.dropdownNav').on('mouseleave.dropdownNav', hoverNavSelector, function (event) { |
| | | $(this).removeClass('active'); |
| | | $(this).find('li.active').removeClass('active'); |
| | | }); |
| | | // 气泡确认弹窗 |
| | | $(document).off('click.popconfirm').on('click.popconfirm', '.dropdown-menu-nav [btn-cancel]', function (event) { |
| | | dropdown.hideAll(); |
| | | event.stopPropagation(); |
| | | }); |
| | | }, |
| | | // 点击菜单关闭 |
| | | openClickNavClose: function () { |
| | | $(document).off('click.dropNavA').on('click.dropNavA', '.' + dropNavClass + '>li>a', function (event) { |
| | | dropdown.hideAll(); |
| | | $(this).parentsUntil('.' + dropdownClass).last().parent().removeClass(openClass); |
| | | event.stopPropagation(); |
| | | }); |
| | | }, |
| | | // 关闭所有 |
| | | hideAll: function () { |
| | | $('.' + dropdownClass).removeClass(openClass); |
| | | // 隐藏分离式菜单 |
| | | $('.' + dropNavClass + '.' + fixedClass).addClass('layui-hide'); // 隐藏分离式菜单 |
| | | $('.' + shadeClass).remove(); // 移除遮罩层 |
| | | $('body').removeClass(noScrollClass); // 移除禁止页面滚动 |
| | | $('.dropdown-fix-parent').removeClass('dropdown-fix-parent'); |
| | | $('[data-dropdown]').removeClass(openClass); |
| | | }, |
| | | // 展开非分离式下拉菜单 |
| | | show: function ($dropNav) { |
| | | if ($dropNav && $dropNav.length > 0 && !$dropNav.hasClass(disableClass)) { |
| | | if ($dropNav.hasClass('dropdown-popconfirm')) { |
| | | $dropNav.removeClass(animClass); |
| | | $dropNav.addClass(popAnimClass); |
| | | } else { |
| | | $dropNav.removeClass(popAnimClass); |
| | | $dropNav.addClass(animClass); |
| | | } |
| | | var position; // 获取位置 |
| | | for (var i = 0; i < dropDirect.length; i++) { |
| | | if ($dropNav.hasClass('dropdown-' + dropDirect[i])) { |
| | | position = dropDirect[i]; |
| | | break; |
| | | } |
| | | } |
| | | if (!position) { // 没有设置位置添加默认位置 |
| | | $dropNav.addClass('dropdown-' + dropDirect[0]); |
| | | position = dropDirect[0]; |
| | | } |
| | | dropdown.forCenter($dropNav, position); |
| | | $dropNav.parent('.' + dropdownClass).addClass(openClass); |
| | | return position; |
| | | } |
| | | return false; |
| | | }, |
| | | // 展开分离式菜单 |
| | | showFixed: function ($trigger) { |
| | | var $dropNav = $($trigger.data('dropdown')), position; |
| | | if (!$dropNav.hasClass('layui-hide')) { |
| | | dropdown.hideAll(); // 已经展开则隐藏 |
| | | return; |
| | | } |
| | | dropdown.hideAll(); // 已经展开则隐藏 |
| | | position = dropdown.show($dropNav); // 获取弹出位置 |
| | | if (position) { |
| | | $dropNav.addClass(fixedClass); // 设置为固定定位 |
| | | $dropNav.removeClass('layui-hide'); // 显示下拉菜单 |
| | | var topLeft = dropdown.getTopLeft($trigger, $dropNav, position); // 计算坐标 |
| | | topLeft = dropdown.checkPosition($dropNav, $trigger, position, topLeft); // 是否溢出屏幕 |
| | | $dropNav.css(topLeft); // 设置坐标 |
| | | $('body').addClass(noScrollClass); // 禁止页面滚动 |
| | | var hideShade = ($trigger.attr('no-shade') == 'true'); // 是否隐藏遮罩层 |
| | | $('body').append('<div class="' + (hideShade ? (shadeClass + ' ' + noShadeClass) : shadeClass) + ' layui-anim layui-anim-fadein"></div>'); // 添加遮罩层 |
| | | // 重置父元素z-index |
| | | $trigger.parentsUntil('body').each(function () { |
| | | var zIndex = $(this).css('z-index'); |
| | | if (/[0-9]+/.test(zIndex)) { |
| | | $(this).addClass('dropdown-fix-parent'); |
| | | } |
| | | }); |
| | | $trigger.addClass(openClass); |
| | | } |
| | | }, |
| | | // 解决绝对定位因动画导致平移失效 |
| | | forCenter: function ($dropNav, position) { |
| | | if (!$dropNav.hasClass(fixedClass)) { |
| | | var wTrigger = $dropNav.parent().outerWidth(), hTrigger = $dropNav.parent().outerHeight(); |
| | | var wDrop = $dropNav.outerWidth(), hDrop = $dropNav.outerHeight(); |
| | | var pParts = position.split('-'), dropSide = pParts[0], dropPosition = pParts[1]; // 显示方向 |
| | | if ((dropSide == 'top' || dropSide == 'bottom') && dropPosition == 'center') { |
| | | $dropNav.css('left', (wTrigger - wDrop) / 2); |
| | | } |
| | | if ((dropSide == 'left' || dropSide == 'right') && dropPosition == 'center') { |
| | | $dropNav.css('top', (hTrigger - hDrop) / 2); |
| | | } |
| | | } |
| | | }, |
| | | // 计算固定定位坐标 |
| | | getTopLeft: function ($trigger, $dropdown, position) { |
| | | var widthTrigger = $trigger.outerWidth(); |
| | | var heightTrigger = $trigger.outerHeight(); |
| | | var widthDropdown = $dropdown.outerWidth(); |
| | | var heightDropdown = $dropdown.outerHeight(); |
| | | var topTrigger = $trigger.offset().top - $(document).scrollTop(); |
| | | var leftTrigger = $trigger.offset().left; |
| | | var rightTrigger = leftTrigger + widthTrigger; |
| | | var top = 0, left = 0; |
| | | var positionParts = position.split('-'); |
| | | var anchorSide = positionParts[0]; // 箭头位置 |
| | | var anchorPosition = positionParts[1]; // 箭头方向 |
| | | if (anchorSide == 'top' || anchorSide == 'bottom') { |
| | | heightDropdown += 8; // 加上margin距离 |
| | | switch (anchorPosition) { |
| | | case 'left': |
| | | left = leftTrigger; |
| | | break; |
| | | case 'center': |
| | | left = leftTrigger - widthDropdown / 2 + widthTrigger / 2; |
| | | break; |
| | | case 'right': |
| | | left = rightTrigger - widthDropdown; |
| | | } |
| | | } |
| | | if (anchorSide == 'left' || anchorSide == 'right') { |
| | | widthDropdown += 8; // 加上margin距离 |
| | | switch (anchorPosition) { |
| | | case 'top': |
| | | top = topTrigger + heightTrigger - heightDropdown; |
| | | break; |
| | | case 'center': |
| | | top = topTrigger - heightDropdown / 2 + heightTrigger / 2; |
| | | break; |
| | | case 'bottom': |
| | | top = topTrigger; |
| | | } |
| | | } |
| | | switch (anchorSide) { |
| | | case 'top': |
| | | top = topTrigger - heightDropdown; |
| | | break; |
| | | case 'right': |
| | | left = leftTrigger + widthTrigger; |
| | | break; |
| | | case 'bottom': |
| | | top = topTrigger + heightTrigger; |
| | | break; |
| | | case 'left': |
| | | left = leftTrigger - widthDropdown; |
| | | } |
| | | return {top: top, left: left, right: 'auto', bottom: 'auto'}; |
| | | }, |
| | | // 检查是否溢出屏幕 |
| | | checkPosition: function ($dropNav, $trigger, position, topLeft) { |
| | | var aps = position.split('-'); |
| | | if ('bottom' == aps[0]) { |
| | | if ((topLeft.top + $dropNav.outerHeight()) > dropdown.getPageHeight()) { |
| | | topLeft = dropdown.getTopLeft($trigger, $dropNav, 'top-' + aps[1]); |
| | | $dropNav.removeClass('dropdown-' + position); |
| | | $dropNav.addClass('dropdown-top-' + aps[1]); |
| | | } |
| | | } else if ('top' == aps[0]) { |
| | | if (topLeft.top < 0) { |
| | | topLeft = dropdown.getTopLeft($trigger, $dropNav, 'bottom-' + aps[1]); |
| | | $dropNav.removeClass('dropdown-' + position); |
| | | $dropNav.addClass('dropdown-bottom-' + aps[1]); |
| | | } |
| | | } |
| | | return topLeft; |
| | | }, |
| | | // 获取浏览器高度 |
| | | getPageHeight: function () { |
| | | return document.documentElement.clientHeight || document.body.clientHeight; |
| | | }, |
| | | // 获取浏览器宽度 |
| | | getPageWidth: function () { |
| | | return document.documentElement.clientWidth || document.body.clientWidth; |
| | | } |
| | | }; |
| | | |
| | | dropdown.init(); |
| | | exports('dropdown', dropdown); |
| | | }); |
New file |
| | |
| | | .iziToast-capsule { |
| | | font-size: 0; |
| | | height: 0; |
| | | width: 100%; |
| | | transform: translateZ(0); |
| | | backface-visibility: hidden; |
| | | transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); |
| | | } |
| | | |
| | | .iziToast-capsule, .iziToast-capsule * { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .iziToast-overlay { |
| | | display: block; |
| | | position: fixed; |
| | | top: -100px; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: -100px; |
| | | z-index: 19891100; |
| | | } |
| | | |
| | | .iziToast { |
| | | display: inline-block; |
| | | clear: both; |
| | | position: relative; |
| | | font-family: 'Lato', Tahoma, Arial; |
| | | font-size: 14px; |
| | | padding: 8px 45px 9px 0; |
| | | background: #fff; |
| | | border-color: #fff; |
| | | width: 100%; |
| | | pointer-events: all; |
| | | cursor: default; |
| | | transform: translateX(0); |
| | | -webkit-touch-callout: none /* iOS Safari */; |
| | | -webkit-user-select: none /* Chrome/Safari/Opera */; |
| | | -khtml-user-select: none /* Konqueror */; |
| | | -moz-user-select: none /* Firefox */; |
| | | -ms-user-select: none /* Internet Explorer/Edge */; |
| | | user-select: none; |
| | | min-height: 45px; |
| | | box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1); |
| | | max-width: 90%; |
| | | margin: 5px 0; |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-progressbar { |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 0; |
| | | width: 100%; |
| | | z-index: 1; |
| | | background: rgba(255, 255, 255, 0.5); |
| | | } |
| | | |
| | | .iziToast > .iziToast-progressbar > div { |
| | | height: 2px; |
| | | width: 100%; |
| | | background: #dddddd; |
| | | border-radius: 0 0 3px 3px; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark > .iziToast-progressbar > div { |
| | | background: #fff; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon:before { |
| | | content: ''; |
| | | position: absolute; |
| | | right: 8px; |
| | | left: auto; |
| | | width: 0px; |
| | | height: 0px; |
| | | top: 100%; |
| | | border-right: 0px solid transparent; |
| | | border-left: 15px solid transparent; |
| | | border-top: 10px solid #000; |
| | | border-top-color: inherit; |
| | | border-radius: 0; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon .iziToast-progressbar { |
| | | top: 0; |
| | | bottom: auto; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon > div { |
| | | border-radius: 0 0 0 3px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-cover { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 0; |
| | | bottom: 0; |
| | | height: 100%; |
| | | margin: 0; |
| | | background-size: 100%; |
| | | background-position: 50% 50%; |
| | | background-repeat: no-repeat; |
| | | } |
| | | |
| | | .iziToast > .iziToast-close { |
| | | position: absolute; |
| | | right: 0; |
| | | top: 0; |
| | | border: 0; |
| | | padding: 0; |
| | | opacity: 0.6; |
| | | width: 42px; |
| | | height: 100%; |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 8px; |
| | | cursor: pointer; |
| | | outline: none; |
| | | } |
| | | |
| | | .iziToast > .iziToast-close:hover { |
| | | opacity: 1; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body { |
| | | position: relative; |
| | | padding: 0 0 0 10px; |
| | | height: auto; |
| | | min-height: 28px; |
| | | margin: 0 0 0 15px; |
| | | text-align: left; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body:after { |
| | | content: ""; |
| | | display: table; |
| | | clear: both; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-texts { |
| | | margin: 6px 0; |
| | | padding-right: 2px; |
| | | display: inline-block; |
| | | float: left; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-inputs { |
| | | min-height: 19px; |
| | | float: left; |
| | | margin: 3px -2px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-inputs > input:not([type=checkbox]):not([type=radio]), |
| | | .iziToast > .iziToast-body .iziToast-inputs > select { |
| | | position: relative; |
| | | display: inline-block; |
| | | margin: 2px; |
| | | border-radius: 2px; |
| | | border: 0; |
| | | padding: 4px 7px; |
| | | font-size: 13px; |
| | | letter-spacing: 0.02em; |
| | | background: rgba(0, 0, 0, 0.1); |
| | | color: #000; |
| | | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2); |
| | | min-height: 26px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-inputs > input:not([type=checkbox]):not([type=radio]):focus, |
| | | .iziToast > .iziToast-body .iziToast-inputs > select:focus { |
| | | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6); |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons { |
| | | min-height: 17px; |
| | | float: left; |
| | | margin: 4px 0 0 0; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]) { |
| | | position: relative; |
| | | display: inline-block; |
| | | margin: 2px; |
| | | border-radius: 2px; |
| | | border: 0; |
| | | padding: 5px 10px; |
| | | font-size: 12px; |
| | | letter-spacing: 0.02em; |
| | | cursor: pointer; |
| | | background: rgba(0, 0, 0, 0.1); |
| | | color: #555; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a:hover, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button:hover, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):hover { |
| | | background: rgba(0, 0, 0, 0.15); |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a:focus, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button:focus, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):focus { |
| | | box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.6); |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-buttons > a:active, |
| | | .iziToast > .iziToast-body .iziToast-buttons > button:active, |
| | | .iziToast > .iziToast-body .iziToast-buttons > input:not([type=checkbox]):not([type=radio]):active { |
| | | top: 1px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon { |
| | | height: 100%; |
| | | position: absolute; |
| | | left: 0; |
| | | top: 50%; |
| | | display: table; |
| | | font-size: 23px; |
| | | line-height: 24px; |
| | | margin-top: -11px; |
| | | color: #000; |
| | | width: 24px; |
| | | height: 24px; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-info { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcxMTk5MzYwIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEwODAzIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiAyOC40MTZjLTI2Ny40Njg4IDAtNDg0LjI0OTYgMjE2LjgzMi00ODQuMjQ5NiA0ODQuMjQ5NiAwIDI2Ny40MTc2IDIxNi44MzIgNDg0LjI0OTYgNDg0LjI0OTYgNDg0LjI0OTYgMjY3LjQxNzYgMCA0ODQuMzAwOC0yMTYuODMyIDQ4NC4zMDA4LTQ4NC4yNDk2Qzk5Ni4zMDA4IDI0NS4yNDggNzc5LjQxNzYgMjguNDE2IDUxMiAyOC40MTZ6TTQ1NS41MjY0IDI0NS4wOTQ0QzQ3MC4zMjMyIDIyOS44ODggNDkwLjcwMDggMjIxLjMzNzYgNTExLjc5NTIgMjIxLjY0NDhjMjEuMTk2OC0wLjIwNDggNDEuNzc5MiA4LjI0MzIgNTYuNTI0OCAyMy40NDk2IDE1LjAwMTYgMTQuNzk2OCAyMy4yOTYgMzUuMTIzMiAyMy4wOTEyIDU2LjExNTIgMC4yMDQ4IDIxLjE5NjgtOC4yOTQ0IDQxLjU3NDQtMjMuMzk4NCA1Ni4yMTc2LTE0LjY5NDQgMTQuNjk0NC0zNC43MTM2IDIzLjA0LTU1LjM5ODQgMjMuMDRMNTExLjc5NTIgMzgwLjQ2NzJjLTIwLjk5MiAwLjIwNDgtNDEuMzY5Ni04LjE0MDgtNTYuMDY0LTIzLjE0MjRDNDQwLjY3ODQgMzQyLjY4MTYgNDMyLjMzMjggMzIyLjMwNCA0MzIuNTM3NiAzMDEuMjA5NiA0MzIuMzMyOCAyODAuMjE3NiA0NDAuNjc4NCAyNTkuODkxMiA0NTUuNTI2NCAyNDUuMDk0NHpNNjI3LjYwOTYgNzY4LjE1MzZsMCAxMy40MTQ0IDAgMjIuMjIwOEwzOTYuMjg4IDgwMy43ODg4bDAtNTcuMTM5MiAyMS42MDY0LTAuNzY4YzEwLjI0LTAuNDYwOCAxNC41OTItMi43MTM2IDE2Ljk5ODQtNC43NjE2bDEuMjI4OC01LjQyNzJjMC45NzI4LTUuNTgwOCAxLjYzODQtMTQuNDM4NCAxLjU4NzItMjUuOTA3Mkw0MzcuNzA4OCA1MDcuOTA0YzAuMjU2LTE3Ljc2NjQtMi4zNTUyLTI5LjkwMDgtMy40ODE2LTMyLjU2MzJsMCAwTDQzMS42MTYgNDc0LjA2MDhDNDI4Ljg1MTIgNDczLjA4OCA0MjMuOTM2IDQ3Mi4wNjQgNDE3LjE3NzYgNDcxLjY1NDRMMzk2LjI4OCA0NzAuMzc0NCAzOTYuMjg4IDQxMy40OTEybDE4OS40OTEyIDAgMCAyOTYuMjk0NGMtMC4zMDcyIDE3LjcxNTIgMi40MDY0IDI5Ljc5ODQgMy40MzA0IDMyLjU2MzJsMC4wNTEyIDAgMi43MTM2IDEuMTc3NmMyLjgxNiAwLjk3MjggNy43ODI0IDEuOTk2OCAxNC42OTQ0IDIuMzU1MmwyMC44ODk2IDEuMjhMNjI3LjU1ODQgNzY4LjE1MzZ6IiBwLWlkPSIxMDgwNCIgZmlsbD0iIzQwOUVGRiI+PC9wYXRoPjwvc3ZnPg==") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-warning { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwODczNzUzIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUxMTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyLjAyMzI3MyAxMDI0Qzc5NC43NjM2MzYgMTAyNCAxMDI0IDc5NC43ODY5MDkgMTAyNCA1MTEuOTc2NzI3IDEwMjQgMjI5LjIzNjM2NCA3OTQuNzg2OTA5LTAuMDIzMjczIDUxMi4wMjMyNzMtMC4wMjMyNzNTMCAyMjkuMjEzMDkxIDAgNTExLjk3NjcyN0MwIDc5NC43ODY5MDkgMjI5LjIzNjM2NCAxMDI0IDUxMi4wMjMyNzMgMTAyNE00NjkuMzQxMDkxIDc2OGMwLTIzLjU1MiAxOC45MjA3MjctNDIuNjU4OTA5IDQyLjcwNTQ1NS00Mi42NTg5MDkgMjMuNTUyIDAgNDIuNjU4OTA5IDE4LjkyMDcyNyA0Mi42NTg5MDkgNDIuNjU4OTA5IDAgMjMuNTc1MjczLTE4LjkyMDcyNyA0Mi43MDU0NTUtNDIuNjU4OTA5IDQyLjcwNTQ1NUM0ODguNDcxMjczIDgxMC43MDU0NTUgNDY5LjM0MTA5MSA3OTEuNzM4MTgyIDQ2OS4zNDEwOTEgNzY4TTQ2OS4zNDEwOTEgMjU1LjgxMzgxOGMwLTIzLjQ1ODkwOSAxOC45MjA3MjctNDIuNDcyNzI3IDQyLjcwNTQ1NS00Mi40NzI3MjcgMjMuNTUyIDAgNDIuNjU4OTA5IDE5LjQzMjcyNyA0Mi42NTg5MDkgNDIuNDcyNzI3bDAgMzQxLjczNjcyN2MwIDIzLjQ1ODkwOS0xOC45MjA3MjcgNDIuNDcyNzI3LTQyLjY1ODkwOSA0Mi40NzI3MjctMjMuNTc1MjczIDAtNDIuNzA1NDU1LTE5LjQzMjcyNy00Mi43MDU0NTUtNDIuNDcyNzI3TDQ2OS4zNDEwOTEgMjU1LjgxMzgxOHoiIHAtaWQ9IjUxMTkiIGZpbGw9IiNmZjk5MDAiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-error { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwNDI1NDkwIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEyNjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5NjQxOCAyMy41MjA2OTNjLTI2OS43NjcwNSAwLTQ4OC40NTQ3NDggMjE4LjY4ODcyMS00ODguNDU0NzQ4IDQ4OC40NTQ3NDggMCAyNjkuNzY4MDczIDIxOC42ODg3MjEgNDg4LjQ1MzcyNCA0ODguNDU0NzQ4IDQ4OC40NTM3MjQgMjY5Ljc2NjAyNyAwIDQ4OC40NTQ3NDgtMjE4LjY4NTY1MSA0ODguNDU0NzQ4LTQ4OC40NTM3MjRDMTAwMC40NTExNjYgMjQyLjIwOTQxNCA3ODEuNzYyNDQ1IDIzLjUyMDY5MyA1MTEuOTk2NDE4IDIzLjUyMDY5M3pNNzY5LjMzNDM5MSA3MTUuMTU1OTU2bC01NC4xNTY0MzQgNTQuMTU2NDM0TDUxMS45OTY0MTggNTY2LjEyOTgyOCAzMDguODEzODU2IDc2OS4zMTIzOWwtNTQuMTU1NDExLTU0LjE1NjQzNEw0NTcuODQxMDA4IDUxMS45NzU0NDEgMjU0LjY1ODQ0NiAzMDguNzkyODc4bDU0LjE1NTQxMS01NC4xNTU0MTFMNTExLjk5NjQxOCA0NTcuODIwMDNsMjAzLjE4MjU2Mi0yMDMuMTgyNTYyIDU0LjE1NjQzNCA1NC4xNTU0MTFMNTY2LjE1MTgyOSA1MTEuOTc1NDQxIDc2OS4zMzQzOTEgNzE1LjE1NTk1NnoiIHAtaWQ9IjEyNjYiIGZpbGw9IiNGNTZDNkMiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 80%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-success { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTU1NzcwNTI2MjA3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ5NjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMTAyNCA1MTEuOTk5NTAyYzAgMjgyLjc3MDU1Ny0yMjkuMjI5OTQxIDUxMi4wMDA0OTgtNTExLjk5OTUwMiA1MTIuMDAwNDk4LTI4Mi43Njk1NjEgMC01MTIuMDAwNDk4LTIyOS4yMjk5NDEtNTEyLjAwMDQ5OC01MTIuMDAwNDk4IDAtMjgyLjc2ODU2NiAyMjkuMjMwOTM2LTUxMS45OTk1MDIgNTEyLjAwMDQ5OC01MTEuOTk5NTAyQzc5NC43NjkwNjQgMCAxMDI0IDIyOS4yMzA5MzYgMTAyNCA1MTEuOTk5NTAyek03OTYuNTc3MDgxIDM3OC4zMTc3MTNsLTQ4LjQ1OTA1MS00OC40NTkwNTEtMjk3LjA3ODM4NyAyOTcuMDc3MzkyTDI3Ny4yNjc4NTIgNDUzLjE2NTI1OGwtNDguNDU4MDU2IDQ4LjQ1ODA1NiAyMjIuMjI4ODUxIDIyMi4yMzA4NDJMNzk2LjU3NzA4MSAzNzguMzE3NzEzeiIgcC1pZD0iNDk2NiIgZmlsbD0iIzY3YzIzYSI+PC9wYXRoPjwvc3ZnPg==") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-question { |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEhFovxTxAAAEDklEQVRo3s2ZTWgTQRTHf03ipTRUqghNSgsRjHgQrFUQC6JgD1Kak3gQUUoPqRdBglf1oBehBws9Cn4cGk+1SOmh2upBxAYVoeJHrR9tgq0i1Cq0lqYeks7MbpPdmU00/c8hm9n33v/t7Nt5M2+qMEWQI0QIibZKRrQpHvLL2KI2wnQzzBKrDm2RIeKEy01dTYKUI7G1ZRknQXV5yP10kTYgly1NF/5S6duZ8ES+1iZodyaocrjXxE0OFeifYYgp0mRIkwFChAkRJsIxGgrIP+I0n82fvZW5dc/zkss0O2o1c5mX6/TmaDWl77RFe5YkUW3tKEmyFv0lOvXJ/fTYnmCEFuMRbGHEZqVHLyT9DFjUJmkzJl9DG5MWWwM6Llif/gF1nukB6nhgGwUXdFrE+wiURA8QoM9i0zEWWpXQW+ZsyeRrOMuyEo5Fv4gmy4dXPvqcC+pH2VRYaMwy+OWG+iLGCgm0W0Kv9HdvR8ASjmKCXpuK/bxiV/76A/v5UdDIZuKcJGjrnec5KZ7wwsWFOp6xPX/9mt2sqDe7FO+Kf/fXHBPPDWpdXGhTpLvUG9VKwh1xMDDjkvu+cNDFBTk7ptX1QkKZ850m3duu6fcrWxwdaFFyREJ2j4vOpKP6Du6z4uJCv8sYJIVkCnJBGGZaBONO3roY2EqNrSfIPi7SKP4fdXyNUd6I6wbSAHEl33tFLe+FlSsusnK90A0+oEPcuufZgXnOi+u9LrKSJQZQw6LwqBnv2CKsfHORbFbyQhA6xN/pEuihSdj56Co7LWRjPiKie6gkB2LiKuUqK5kiPkLiz1QJ9K1cNXBAMoUCigNpQ9IqDtMI1HKA4/jyvUsaoSyZLA5kjOjDPFZen8Ql5TsvBskUgjciIPSX3QAXC86DT7VWvlEh/xZ+ij9BDVWJ0QL0SbZq6QaFxoLPcXPmBLveLCc4wXdDK6s+6/vwhCSniFLPXW0NJe5UB8zKCsviqpc7vGPVQFcyZbyPwGD+d5ZnxmNWlhG4xSBZZjivjIWHEQgoDkSMjMwTo54569JSE5IpA7EyJSMTyGTUAUFlO1ZKOtaHTMeL1PhYYFTcihmY2cQ5+ullj7EDkiVfVez2sCTz8yiv84djhg7IJVk81xFWJlPdfHBG0flkRC/zQFZ+DSllNtfDdUsOMCliyGX5uOzU3ZhIXFDof4m1gDuKbEx0t2YS25gVGpcMnr/I1kx3c6piB8P8ZoqEwfMX3ZyCXynJTmq/U7NUXqfUzCbWL1wqVKBQUeESzQYoUlW8TAcVL1RCxUu1G6BYXfFyfQ4VPbDI4T8d2WzgQ6sc/vmxnTsqfHCZQzUJxm1h5dxS5Tu6lQgTZ0ipqRVqSwzTbbLHMt+c19iO76tsx/cLZub+Ali+tYC93olEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjE3KzAyOjAwjKtfjgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxNyswMjowMP325zIAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-icon.ico-load { |
| | | background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQ1NTUyMzAyOTE3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQyNDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTEyIDY0YzI0Ny4yIDAgNDQ4IDIwMC44IDQ0OCA0NDhoLTY0YzAtMjEyLTE3Mi0zODQtMzg0LTM4NFY2NHogbTAgODMyYy0yMTIgMC0zODQtMTcyLTM4NC0zODRINjRjMCAyNDcuMiAyMDAuOCA0NDggNDQ4IDQ0OHYtNjR6IiBwLWlkPSI0MjQxIiBmaWxsPSIjMUU5RkZGIj48L3BhdGg+PC9zdmc+') no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | animation: rotating 1.2s linear infinite |
| | | } |
| | | |
| | | @keyframes rotating { |
| | | from { |
| | | transform: rotate(0) |
| | | } |
| | | to { |
| | | transform: rotate(360deg) |
| | | } |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-title { |
| | | padding: 0; |
| | | margin: 0 0 10px 0; |
| | | line-height: 16px; |
| | | font-size: 14px; |
| | | text-align: left; |
| | | float: left; |
| | | color: #303133; |
| | | white-space: normal; |
| | | } |
| | | |
| | | .iziToast > .iziToast-body .iziToast-message { |
| | | padding: 0; |
| | | margin: 0; |
| | | font-size: 14px; |
| | | line-height: 16px; |
| | | text-align: left; |
| | | float: left; |
| | | color: #606266; |
| | | white-space: normal; |
| | | } |
| | | |
| | | .iziToast.iziToast-animateInside .iziToast-title, |
| | | .iziToast.iziToast-animateInside .iziToast-message, |
| | | .iziToast.iziToast-animateInside .iziToast-icon, |
| | | .iziToast.iziToast-animateInside .iziToast-buttons-child, |
| | | .iziToast.iziToast-animateInside .iziToast-inputs-child { |
| | | opacity: 0; |
| | | } |
| | | |
| | | .iziToast-target { |
| | | position: relative; |
| | | width: 100%; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | .iziToast-target .iziToast-capsule { |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .iziToast-target .iziToast-capsule:after { |
| | | visibility: hidden; |
| | | display: block; |
| | | font-size: 0; |
| | | content: " "; |
| | | clear: both; |
| | | height: 0; |
| | | } |
| | | |
| | | .iziToast-target .iziToast-capsule .iziToast { |
| | | width: 100%; |
| | | float: left; |
| | | } |
| | | |
| | | .iziToast-wrapper { |
| | | z-index: 19891101; |
| | | position: fixed; |
| | | width: 100%; |
| | | pointer-events: none; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .iziToast-wrapper .iziToast.iziToast-balloon:before { |
| | | border-right: 0 solid transparent; |
| | | border-left: 15px solid transparent; |
| | | border-top: 10px solid #000; |
| | | border-top-color: inherit; |
| | | right: 8px; |
| | | left: auto; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomLeft { |
| | | left: 0; |
| | | bottom: 0; |
| | | text-align: left; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomLeft .iziToast.iziToast-balloon:before { |
| | | border-right: 15px solid transparent; |
| | | border-left: 0 solid transparent; |
| | | right: auto; |
| | | left: 8px; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomRight { |
| | | right: 0; |
| | | bottom: 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-wrapper-topLeft { |
| | | left: 0; |
| | | top: 0; |
| | | text-align: left; |
| | | } |
| | | |
| | | .iziToast-wrapper-topLeft .iziToast.iziToast-balloon:before { |
| | | border-right: 15px solid transparent; |
| | | border-left: 0 solid transparent; |
| | | right: auto; |
| | | left: 8px; |
| | | } |
| | | |
| | | .iziToast-wrapper-topRight { |
| | | top: 0; |
| | | right: 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-wrapper-topCenter { |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .iziToast-wrapper-bottomCenter { |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | } |
| | | |
| | | .iziToast-wrapper-center { |
| | | top: 0; |
| | | bottom: 0; |
| | | left: 0; |
| | | right: 0; |
| | | text-align: center; |
| | | justify-content: center; |
| | | flex-flow: column; |
| | | align-items: center; |
| | | } |
| | | |
| | | .iziToast-rtl { |
| | | direction: rtl; |
| | | padding: 8px 0 9px 45px; |
| | | font-family: Tahoma, 'Lato', Arial; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-cover { |
| | | left: auto; |
| | | right: 0; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-close { |
| | | right: auto; |
| | | left: 0; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-body { |
| | | padding: 0 10px 0 0; |
| | | margin: 0 16px 0 0; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-body .iziToast-buttons, |
| | | .iziToast-rtl .iziToast-body .iziToast-inputs, |
| | | .iziToast-rtl .iziToast-body .iziToast-texts, |
| | | .iziToast-rtl .iziToast-body .iziToast-title, |
| | | .iziToast-rtl .iziToast-body .iziToast-message { |
| | | float: right; |
| | | text-align: right; |
| | | } |
| | | |
| | | .iziToast-rtl .iziToast-body .iziToast-icon { |
| | | left: auto; |
| | | right: 0; |
| | | } |
| | | |
| | | @media only screen and (min-width: 568px) { |
| | | .iziToast-wrapper { |
| | | padding: 10px 15px; |
| | | } |
| | | |
| | | .iziToast { |
| | | width: auto; |
| | | } |
| | | |
| | | .iziToast:not(.iziToast-rtl) .iziToast-cover { |
| | | border-radius: 3px 0 0 3px; |
| | | } |
| | | |
| | | .iziToast.iziToast-rtl .iziToast-cover { |
| | | border-radius: 0 3px 3px 0; |
| | | } |
| | | |
| | | .iziToast.iziToast-color-dark:after { |
| | | box-shadow: inset 0 -10px 20px -10px rgba(255, 255, 255, 0.3), 0 10px 10px -5px rgba(0, 0, 0, 0.25); |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon .iziToast-progressbar { |
| | | background: transparent; |
| | | } |
| | | |
| | | .iziToast.iziToast-balloon:after { |
| | | box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.25), inset 0 10px 20px -5px rgba(0, 0, 0, 0.25); |
| | | } |
| | | |
| | | .iziToast-target .iziToast:after { |
| | | box-shadow: inset 0 -10px 20px -10px rgba(0, 0, 0, 0.2), inset 0 0 5px rgba(0, 0, 0, 0.1); |
| | | } |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark { |
| | | background: #565c70; |
| | | border-color: #565c70; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-title { |
| | | color: #fff; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-message { |
| | | color: rgba(255, 255, 255, 0.9); |
| | | font-weight: 300; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-close { |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfgCR4OIQIPSao6AAAAwElEQVRIx72VUQ6EIAwFmz2XB+AConhjzqTJ7JeGKhLYlyx/BGdoBVpjIpMJNjgIZDKTkQHYmYfwmR2AfAqGFBcO2QjXZCd24bEggvd1KBx+xlwoDpYmvnBUUy68DYXD77ESr8WDtYqvxRex7a8oHP4Wo1Mkt5I68Mc+qYqv1h5OsZmZsQ3gj/02h6cO/KEYx29hu3R+VTTwz6D3TymIP1E8RvEiiVdZfEzicxYLiljSxKIqlnW5seitTW6uYnv/Aqh4whX3mEUrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA5LTMwVDE0OjMzOjAyKzAyOjAwl6RMVgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOS0zMFQxNDozMzowMiswMjowMOb59OoAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 8px; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon { |
| | | color: #fff; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-info { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjQ5NjA1MTc2IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM1MzIiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNODUxLjE3MTU1NiA3MTcuOTM3Nzc4YzMuMjQyNjY3IDExLjk0NjY2NyAyLjg0NDQ0NCAyNC40NjIyMjItMS40MjIyMjMgMzYuNDA4ODg5YTYyLjkxOTExMSA2Mi45MTkxMTEgMCAwIDEtMjEuOTU5MTExIDI5LjUyNTMzMyA2NS4yNTE1NTYgNjUuMjUxNTU2IDAgMCAxLTM4LjkxMiAxMi41MTU1NTZIMTc4LjExOTExMWE2NC44NTMzMzMgNjQuODUzMzMzIDAgMCAxLTM4Ljc5ODIyMi0xMi41NzI0NDUgNjIuMjM2NDQ0IDYyLjIzNjQ0NCAwIDAgMS0yMi4wMTYtMjkuNTI1MzMzIDYwLjY0MzU1NiA2MC42NDM1NTYgMCAwIDEtMS4zNjUzMzMtMzYuNDA4ODg5YzMuNTg0LTEzLjE0MTMzMyAxMS40MzQ2NjctMjQuNTc2IDIyLjY5ODY2Ni0zMy4xMDkzMzNsNTguNDgxNzc4LTQ0LjAzMmE0MC43MzI0NDQgNDAuNzMyNDQ0IDAgMCAwIDE2LjQ5Nzc3OC0zMi43MTExMTJ2LTIwMy4wOTMzMzNjMC0zNS4yMTQyMjIgNy4xNjgtNjkuNTE4MjIyIDIxLjIxOTU1NS0xMDEuNzE3MzMzIDEzLjY1MzMzMy0zMS4xNzUxMTEgMzMuMTA5MzMzLTU5LjE2NDQ0NCA1Ny44NTYtODMuMTE0NjY3QTI2OC44NTY4ODkgMjY4Ljg1Njg4OSAwIDAgMSA0MTQuNzIgMTUyLjA2NHYtMjguNTAxMzMzQzQxNC43MiA4Ni44MTI0NDQgNDQ1LjYxMDY2NyA1Ni44ODg4ODkgNDgzLjU1NTU1NiA1Ni44ODg4ODljMzcuOTQ0ODg5IDAgNjguODM1NTU2IDI5LjkyMzU1NiA2OC44MzU1NTUgNjYuNjczNzc4djI4LjUwMTMzM2MxMi4zNDQ4ODkgMy4xODU3NzggMjQuNDYyMjIyIDcuMTY4IDM2LjIzODIyMiAxMi4wMDM1NTZhMjY4LjY4NjIyMiAyNjguNjg2MjIyIDAgMCAxIDg1Ljc4ODQ0NSA1Ni4wMzU1NTVjMjQuNzQ2NjY3IDI0LjAwNzExMSA0NC4yMDI2NjcgNTEuOTM5NTU2IDU3Ljc5OTExMSA4My4wNTc3NzggMTQuMTA4NDQ0IDMyLjMxMjg4OSAyMS4yMTk1NTYgNjYuNTYgMjEuMjE5NTU1IDEwMS44MzExMTF2MjAzLjA5MzMzM2MwIDEyLjg1Njg4OSA2LjAzMDIyMiAyNC44NjA0NDQgMTYuNTU0NjY3IDMyLjcxMTExMWw1OC40ODE3NzggNDQuMDMyYzExLjIwNzExMSA4LjUzMzMzMyAxOS4wNTc3NzggMTkuOTExMTExIDIyLjc1NTU1NSAzMy4wNTI0NDV6TTM5OC4yMjIyMjIgODU2LjE3Nzc3OFY4NTMuMzMzMzMzaDE3MC42NjY2Njd2Mi44NDQ0NDVDNTY4Ljg4ODg4OSA5MzUuOTM2IDUzMC42MDI2NjcgOTY3LjExMTExMSA0ODMuNTU1NTU2IDk2Ny4xMTExMTFTMzk4LjIyMjIyMiA5MzUuOTM2IDM5OC4yMjIyMjIgODU2LjE3Nzc3OHoiIHAtaWQ9IjM1MzMiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-warning { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMTE1OTQ4IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjUgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjUwOTYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4LjEyNSIgaGVpZ2h0PSIxMjgiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTk4NC4wMjI5NTAwMiA3NDYuODc1NDk3NUw2NDEuOTY0NjA3NTIgMTMwLjM4MDY1Yy0zMC40OTE4NDI1LTU0Ljg2MTUwMjUtNzcuOTMxMzE1LTg2LjMzNTY3MjUtMTMwLjE0MzUxLTg2LjMzNTY3MjUtNTIuMjkxNTc1IDAtOTkuNzQwOTcgMzEuNTEzODYtMTMwLjE0MzUxIDg2LjQzNDg5NzVMMzkuOTc2NDU1MDIgNzQ2LjgyNTg4NUM5Ljk2MDg5MjUyIDgwMC45NjMwNDUgNy45MTY4NTc1MiA4NTguMDE3NDIgMzQuMzUwMzk3NTIgOTAzLjM1MzMyMjVjMjYuNTEyOTIgNDUuNDc0ODE3NSA3Ny4xOTcwNSA3MS41NjEwNyAxMzkuMDczNzYgNzEuNTYxMDdoNjc3LjIyMDU0NzVjNjEuOTA2NDc3NSAwIDExMi41OTA2MDc1LTI2LjA4NjI1MjUgMTM5LjAxNDIyNS03MS40OTE2MTI1IDI2LjQ4MzE1MjUtNDUuMjc2MzY3NSAyNC40MjkxOTUtMTAyLjM0MDY2NS01LjYzNTk4LTE1Ni41NDcyODI1ek05MTEuNzU3MzgyNTIgODU3Ljk5NzU3NWMtOS44OTI3MzI1IDE2Ljk4NzMyLTMyLjE1ODgyMjUgMjYuNzMxMjE1LTYxLjExMjY3NzUgMjYuNzMxMjE1SDE3My40MjQxNTc1MmMtMjguOTQzOTMyNSAwLTUxLjIyOTg2NzUtOS43NjM3NC02MS4xNjIyOS0yNi43OTA3NS0xMC4wMjE3MjUtMTcuMTg1NzctNy42MTA1NTc1LTQxLjc0Mzk1NzUgNi41ODg1NC02Ny4zNzM3NzVsMzQxLjcxMTA1NS02MTYuMzY1ODU1YzE0LjA2MDE4MjUtMjUuMzkxNjc3NSAzMi43NTQxNzI1LTM5Ljk1NzkwNzUgNTEuMjU5NjM1LTM5Ljk1NzkwNzUgMTguNDk1NTQgMCAzNy4xOTk0NTI1IDE0LjU2NjIzIDUxLjMwOTI0NzUgMzkuOTM4MDYyNWwzNDIuMDI4NTc1IDYxNi40NDUyMzVjMTQuMjI4ODY1IDI1LjY0OTY2MjUgMTYuNjQwMDMyNSA1MC4xODgwMDUgNi41OTg0NjI1IDY3LjM3Mzc3NXoiIGZpbGw9IiNmZmZmZmYiIHAtaWQ9IjUwOTciPjwvcGF0aD48cGF0aCBkPSJNNTEyLjAxOTU0NzUyIDYzMC4yODYxMjI1YTQ1LjA4Nzg0IDQ1LjA4Nzg0IDAgMCAwIDQ1LjA5Nzc2MjUtNDUuMDA4NDZWMzc0LjY1Mjc1NWE0NS4wNzc5MTc1IDQ1LjA3NzkxNzUgMCAwIDAtNDUuMDk3NzYyNS00NS4wMDg0NiA0NS4wODc4NCA0NS4wODc4NCAwIDAgMC00NS4wOTc3NjI1IDQ1LjAwODQ2djIxMC42MTQ5ODVhNDUuMDg3ODQgNDUuMDg3ODQgMCAwIDAgNDUuMDk3NzYyNSA0NS4wMTgzODI1ek01MTIuMDE5NTQ3NTIgNjc1LjM3Mzk2MjVhNjAuMTcwMDQgNjAuMTcwMDQgMCAwIDAtNjAuMTMwMzUgNjAuMTMwMzVjMCAzMy4xNDExNSAyNi45MTk3NDI1IDYwLjEzMDM1IDYwLjEzMDM1IDYwLjEzMDM1IDMzLjE0MTE1IDAgNjAuMTMwMzUtMjYuOTE5NzQyNSA2MC4xMzAzNS02MC4xMzAzNSAwLTMzLjE0MTE1LTI2LjkxOTc0MjUtNjAuMTMwMzUtNjAuMTMwMzUtNjAuMTMwMzV6IiBmaWxsPSIjZmZmZmZmIiBwLWlkPSI1MDk4Ij48L3BhdGg+PC9zdmc+") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-error { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMzE1NTQ3IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjY4MDYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNzcyLjI2NjY2NyA4ODMuMmMyNS42IDI1LjYgNjQgMjUuNiA4OS42IDAgMjUuNi0yNS42IDI1LjYtNjQgMC04OS42TDIzMC40IDE2Mi4xMzMzMzNjLTI1LjYtMjUuNi02NC0yNS42LTg5LjYgMC0yNS42IDI1LjYtMjUuNiA2NCAwIDg5LjZsNjMxLjQ2NjY2NyA2MzEuNDY2NjY3eiIgcC1pZD0iNjgwNyIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik04NjEuODY2NjY3IDI1MS43MzMzMzNjMjUuNi0yNS42IDI1LjYtNjQgMC04OS42LTI1LjYtMjUuNi02NC0yNS42LTg5LjYgMEwxNDAuOCA3OTMuNmMtMjUuNiAyNS42LTI1LjYgNjQgMCA4OS42czY0IDI1LjYgODkuNiAwbDYzMS40NjY2NjctNjMxLjQ2NjY2N3oiIHAtaWQ9IjY4MDgiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 80%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-success { |
| | | background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNjUxMjQyNTMxIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwMjMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNDA0LjI1MTQyOCA4MDkuNjEwN2MtMTEuNjY0MTAyIDAtMjMuMzI3MTc5LTQuNDQ4NzgyLTMyLjIyNTc2Ny0xMy4zNDczNjlMODMuOTgwMDk4IDUwOC4yMTk4MTVjLTE3Ljc5ODE5OS0xNy43OTcxNzUtMTcuNzk4MTk5LTQ2LjY1MzMzNSAwLTY0LjQ1MTUzM3M0Ni42NTMzMzUtMTcuNzk4MTk5IDY0LjQ1MTUzNCAwbDI4OC4wNDQ1MzkgMjg4LjA0MjQ5MWMxNy43OTgxOTkgMTcuNzk4MTk5IDE3Ljc5ODE5OSA0Ni42NTQzNTkgMCA2NC40NTI1NTgtOC44OTc1NjMgOC44OTg1ODctMjAuNTYxNjY1IDEzLjM0NzM2OS0zMi4yMjQ3NDMgMTMuMzQ3MzY5eiIgcC1pZD0iNjAyNCIgZmlsbD0iI2ZmZmZmZiI+PC9wYXRoPjxwYXRoIGQ9Ik00MDQuMjczOTUzIDgwOS42MTE3MjNjLTExLjY2NDEwMiAwLTIzLjMyNjE1NS00LjQ0OTgwNi0zMi4yMjU3NjYtMTMuMzQ4MzkyLTE3Ljc5ODE5OS0xNy43OTcxNzUtMTcuNzk5MjIyLTQ2LjY1MzMzNS0wLjAwMTAyNC02NC40NTE1MzRMODc2LjEwMTgxMyAyMjcuNzM1NjQ2YzE3Ljc5NjE1MS0xNy43OTgxOTkgNDYuNjUzMzM1LTE3Ljc5OTIyMiA2NC40NTE1MzMtMC4wMDEwMjQgMTcuNzk4MTk5IDE3Ljc5NzE3NSAxNy43OTkyMjIgNDYuNjUzMzM1IDAuMDAxMDI0IDY0LjQ1MTUzM0w0MzYuNTAwNzQ0IDc5Ni4yNjIzMDdjLTguODk4NTg3IDguODk4NTg3LTIwLjU2MjY4OSAxMy4zNDk0MTctMzIuMjI2NzkxIDEzLjM0OTQxNnoiIHAtaWQ9IjYwMjUiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48L3N2Zz4=") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-icon.ico-question { |
| | | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEg18vki+AAAETUlEQVRo3s1ZTWhbRxD+VlIuxsLFCYVIIQYVopBDoK5bKDWUBupDMNbJ5FBKg/FBziUQdE9yaC+FHBrwsdCfQ9RTGoLxwWl+DqHEojUFFydxnB9bInZDqOsErBrr6yGvs/ueX97bldTKo4Pe7puZb3Z33s7srIIjMY1jyCEjP6ImvyX8pF64arSHznKC06wzijY5xSKz7YbuYokV2lODsyyxqz3gSY6z6gCuqcpxJluFH+Z8U+D/0jyHoxFUBHgfvsGHIS9WMIUlVFFDFTUAGWSRQRY5HMeBEP6b+Ew9dh/7INd2jGeO59kfKdXP85zbIbfGQVf4sYC3N1hm3lo6zzIbPvk6x+zBk7wQGMEMB5xncIAzAS0XrFySSV72iS1yyBVcdA1x0afrsoUJgdFfY2+z8ADAXl7zz0KcwJiPfZKpVuABgClO+nRG+QIHDdfb4qlWwUXvKW4Z7vi6L4J9vg+vbfCeCeZH2RfOdMOc/HbCA4BvIW6EMQz7XK/ltd+hP+VzR9mgva2YSfyGI17fA7ynnocqeQNFfIJ0oHsdv6CC2+rXGBN6cQdveY3fcVRtmy/HDete+93zy8jA8zV7YkwYMrjHzRddRsCdiVCwwmh6wg9iTNC7Y9XIF1iS7kbUpsvvGEdPuTfSgAEjRpR096x0liPFD/Eqt2NMuBQzB2XhrACAApjFsuQFh9XdGAX70B3oSuNdnMVBaX+sopYxjwVpHFBVACyKTXNoktjD+6Ll8xhenS9MAAkAI/Lux2YNUOs4I413Ypg1SgEAu7kpFvWjaeJe0fJHDGe/cNaZBkekudw8PMA+0fMwlndZeAsJ5KR/qhUDUJCnSiyvRsolkJHGUgvjH8QXDgZopEzKMKDqCKrwEQ4C6MH7GEXC665buLJG8hlQc4LP4paxfJrOqYVYYY2UARfEIazTbgDg2dB98GebzJd54b8L/iWNdLyooeR6CHyZ+6xk0yKxkYg6nEVSUG4VJ9QJ9cxRCxO+9WiOyvgUeexXP1hLGH5nGuBWVtiSp4vqe3VP0UFWI9Wan4Er3v8q7jjPWVtm4FtcQQMrOKO2nOQCM5AyDMi56FDrKHA/1nyppS1ppBpYaE8wciEjGI2AaeM41kI4doDX4XiT3Qm1gevyruCgZg9P8xIv8m1nCzTKq6oiJ9xTMiZ505P5m8cdZ0CnZMVXHVljM7WMBzxpyDxygtdxoCEFTaMIWbZU85UvBjgUMYy0fBaAF8V1Lj9qWQ1aMZ5f4k9r+AGMSkMP1vZoZih6k6sicc5h/OFHM9vDqU/VIU7zJZdYYsKGH4g4nAJMGiXZRds1pVMoZ69RM5vfkbh0qkBhsnS2RLMLilQdL9MBHS9UAh0v1e6CYnXHy/WeeCcvLDwl/9OVze69tPKM+M+v7eJN6OzFpWdEF0ucDbhVNFXadnVrmJFlkVNGTS2M6pzmhMvltfPhnN2B63sVuL7fcNP3D1TSk2ihosPrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjEzKzAyOjAweOR7nQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxMyswMjowMAm5wyEAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC") no-repeat 50% 50%; |
| | | background-size: 85%; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > a, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > button, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > input { |
| | | color: #fff; |
| | | background: rgba(255, 255, 255, 0.1); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > a:hover, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > button:hover, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > input:hover { |
| | | background: rgba(255, 255, 255, 0.2); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > a:focus, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > button:focus, |
| | | .iziToast.iziToast-theme-dark .iziToast-buttons > input:focus { |
| | | box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-red { |
| | | background: #F56C6C; |
| | | border-color: #F56C6C; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-orange { |
| | | background: #E6A23C; |
| | | border-color: #E6A23C; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-yellow { |
| | | background: rgba(255, 249, 178, 0.9); |
| | | border-color: rgba(255, 249, 178, 0.9); |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-blue { |
| | | background: #409EFF; |
| | | border-color: #409EFF; |
| | | } |
| | | |
| | | .iziToast.iziToast-theme-dark.iziToast-color-green { |
| | | background: #67C23A; |
| | | border-color: #67C23A; |
| | | } |
| | | |
| | | .iziToast.iziToast-layout2 .iziToast-body .iziToast-texts, |
| | | .iziToast.iziToast-layout2 .iziToast-body .iziToast-message { |
| | | width: 100%; |
| | | } |
| | | |
| | | .iziToast.iziToast-layout3 { |
| | | border-radius: 2px; |
| | | } |
| | | |
| | | .iziToast.iziToast-layout3::after { |
| | | display: none; |
| | | } |
| | | |
| | | .iziToast.revealIn, |
| | | .iziToast .revealIn { |
| | | -webkit-animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; |
| | | -moz-animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; |
| | | animation: iziT-revealIn 1s cubic-bezier(0.25, 1.6, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.slideIn, |
| | | .iziToast .slideIn { |
| | | -webkit-animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; |
| | | -moz-animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; |
| | | animation: iziT-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; |
| | | } |
| | | |
| | | .iziToast.bounceInLeft { |
| | | -webkit-animation: iziT-bounceInLeft 0.7s ease-in-out both; |
| | | animation: iziT-bounceInLeft 0.7s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.bounceInRight { |
| | | -webkit-animation: iziT-bounceInRight 0.85s ease-in-out both; |
| | | animation: iziT-bounceInRight 0.85s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.bounceInDown { |
| | | -webkit-animation: iziT-bounceInDown 0.7s ease-in-out both; |
| | | animation: iziT-bounceInDown 0.7s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.bounceInUp { |
| | | -webkit-animation: iziT-bounceInUp 0.7s ease-in-out both; |
| | | animation: iziT-bounceInUp 0.7s ease-in-out both; |
| | | } |
| | | |
| | | .iziToast.fadeIn, |
| | | .iziToast .fadeIn { |
| | | -webkit-animation: iziT-fadeIn 0.5s ease both; |
| | | animation: iziT-fadeIn 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeInUp { |
| | | -webkit-animation: iziT-fadeInUp 0.7s ease both; |
| | | animation: iziT-fadeInUp 0.7s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeInDown { |
| | | -webkit-animation: iziT-fadeInDown 0.7s ease both; |
| | | animation: iziT-fadeInDown 0.7s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeInLeft { |
| | | -webkit-animation: iziT-fadeInLeft 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | animation: iziT-fadeInLeft 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.fadeInRight { |
| | | -webkit-animation: iziT-fadeInRight 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | animation: iziT-fadeInRight 0.85s cubic-bezier(0.25, 0.8, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.flipInX { |
| | | -webkit-animation: iziT-flipInX 0.85s cubic-bezier(0.35, 0, 0.25, 1) both; |
| | | animation: iziT-flipInX 0.85s cubic-bezier(0.35, 0, 0.25, 1) both; |
| | | } |
| | | |
| | | .iziToast.fadeOut { |
| | | -webkit-animation: iziT-fadeOut 0.7s ease both; |
| | | animation: iziT-fadeOut 0.7s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeOutDown { |
| | | -webkit-animation: iziT-fadeOutDown 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | animation: iziT-fadeOutDown 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | } |
| | | |
| | | .iziToast.fadeOutUp { |
| | | -webkit-animation: iziT-fadeOutUp 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | animation: iziT-fadeOutUp 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | } |
| | | |
| | | .iziToast.fadeOutLeft { |
| | | -webkit-animation: iziT-fadeOutLeft 0.5s ease both; |
| | | animation: iziT-fadeOutLeft 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast.fadeOutRight { |
| | | -webkit-animation: iziT-fadeOutRight 0.5s ease both; |
| | | animation: iziT-fadeOutRight 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast.flipOutX { |
| | | -webkit-backface-visibility: visible !important; |
| | | backface-visibility: visible !important; |
| | | -webkit-animation: iziT-flipOutX 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | animation: iziT-flipOutX 0.7s cubic-bezier(0.4, 0.45, 0.15, 0.91) both; |
| | | } |
| | | |
| | | .iziToast-overlay.fadeIn { |
| | | -webkit-animation: iziT-fadeIn 0.5s ease both; |
| | | animation: iziT-fadeIn 0.5s ease both; |
| | | } |
| | | |
| | | .iziToast-overlay.fadeOut { |
| | | -webkit-animation: iziT-fadeOut 0.7s ease both; |
| | | animation: iziT-fadeOut 0.7s ease both; |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -moz-transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | -webkit-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | -moz-transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | -moz-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | -webkit-transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | -webkit-transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | -webkit-transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | -webkit-transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-revealIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: scale3d(0.3, 0.3, 1); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-slideIn { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(50px); |
| | | } |
| | | 100% { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInLeft { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(-20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInRight { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateX(-280px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateX(20px); |
| | | } |
| | | 70% { |
| | | transform: translateX(-10px); |
| | | } |
| | | 100% { |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInDown { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(-200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(-5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-bounceInUp { |
| | | 0% { |
| | | opacity: 0; |
| | | transform: translateY(200px); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | transform: translateY(-10px); |
| | | } |
| | | 70% { |
| | | transform: translateY(5px); |
| | | } |
| | | 100% { |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInDown { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInLeft { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(300px, 0, 0); |
| | | transform: translate3d(300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeInRight { |
| | | from { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-300px, 0, 0); |
| | | transform: translate3d(-300px, 0, 0); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | -webkit-transform: none; |
| | | transform: none; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-flipInX { |
| | | from { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | 40% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | } |
| | | 60% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 10deg); |
| | | opacity: 1; |
| | | } |
| | | 80% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -5deg); |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOut { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutDown { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, 100%, 0); |
| | | transform: translate3d(0, 100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutUp { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(0, -100%, 0); |
| | | transform: translate3d(0, -100%, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutLeft { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(-200px, 0, 0); |
| | | transform: translate3d(-200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-fadeOutRight { |
| | | from { |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | opacity: 0; |
| | | -webkit-transform: translate3d(200px, 0, 0); |
| | | transform: translate3d(200px, 0, 0); |
| | | } |
| | | } |
| | | |
| | | @-moz-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-webkit-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @-o-keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | @keyframes iziT-flipOutX { |
| | | from { |
| | | -webkit-transform: perspective(400px); |
| | | transform: perspective(400px); |
| | | } |
| | | 30% { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, -20deg); |
| | | opacity: 1; |
| | | } |
| | | to { |
| | | -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | transform: perspective(400px) rotate3d(1, 0, 0, 90deg); |
| | | opacity: 0; |
| | | } |
| | | } |
New file |
| | |
| | | layui.define([], function (exports) { |
| | | var PLUGIN_NAME = 'iziToast'; // 样式类名 |
| | | var BODY = document.querySelector('body'); |
| | | var ISMOBILE = (/Mobi/.test(navigator.userAgent)) ? true : false; |
| | | var MOBILEWIDTH = 568; |
| | | var ISCHROME = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); |
| | | var ISFIREFOX = typeof InstallTrigger !== 'undefined'; |
| | | var ACCEPTSTOUCH = 'ontouchstart' in document.documentElement; |
| | | // 显示区域 |
| | | var POSITIONS = ['bottomRight', 'bottomLeft', 'bottomCenter', 'topRight', 'topLeft', 'topCenter', 'center']; |
| | | // 默认主题 |
| | | var THEMES = { |
| | | info: { |
| | | color: 'blue', |
| | | icon: 'ico-info' |
| | | }, |
| | | success: { |
| | | color: 'green', |
| | | icon: 'ico-success' |
| | | }, |
| | | warning: { |
| | | color: 'orange', |
| | | icon: 'ico-warning' |
| | | }, |
| | | error: { |
| | | color: 'red', |
| | | icon: 'ico-error' |
| | | }, |
| | | question: { |
| | | color: 'yellow', |
| | | icon: 'ico-question' |
| | | } |
| | | }; |
| | | var CONFIG = {}; // 全局配置 |
| | | // 默认配置 |
| | | var defaults = { |
| | | id: null, |
| | | className: '', // 自定义class,用空格分割 |
| | | title: '', // 标题 |
| | | titleColor: '', // 标题文字颜色 |
| | | titleSize: '', // 标题文字大小 |
| | | titleLineHeight: '', // 标题高度 |
| | | message: '', // 内容 |
| | | messageColor: '', // 内容文字颜色 |
| | | messageSize: '', // 内容文字大小 |
| | | messageLineHeight: '', // 内容高度 |
| | | backgroundColor: '', // 背景颜色 |
| | | theme: 'light', // dark |
| | | color: '', // 背景颜色 |
| | | icon: '', // 图标 |
| | | iconText: '', // 图标文字 |
| | | iconColor: '', // 图标颜色 |
| | | iconUrl: null, // 图标地址 |
| | | image: '', // 是否显示图片 |
| | | imageWidth: 60, // 图片宽度 |
| | | maxWidth: null, // 最大宽度 |
| | | zindex: null, // |
| | | layout: 2, // 布局类型 |
| | | balloon: false, // 气泡 |
| | | close: true, // 是否显示关闭按钮 |
| | | closeOnEscape: false, |
| | | closeOnClick: false, // 点击关闭 |
| | | displayMode: 0, // 0无限制,1存在就不发出,2销毁之前 |
| | | position: 'topRight', // bottomRight, bottomLeft, topRight, topLeft, topCenter, bottomCenter, center |
| | | target: '', // 显示位置 |
| | | targetFirst: null, // 插入顺序 |
| | | timeout: 5000, // 关闭时间,false不自动关闭 |
| | | rtl: false, // 内容居右 |
| | | animateInside: false, // 进入动画效果 |
| | | drag: true, // 是否可滑动移除 |
| | | pauseOnHover: true, // 鼠标移入暂停进度条时间 |
| | | resetOnHover: false, // 鼠标移入重置进度条时间 |
| | | progressBar: true, // 是否显示进度条 |
| | | progressBarColor: '', // 进度条颜色 |
| | | progressBarEasing: 'linear', // 进度条动画效果 |
| | | overlay: false, // 是否显示遮罩层 |
| | | overlayClose: false, // 点击遮罩层是否关闭 |
| | | overlayColor: 'rgba(0, 0, 0, 0.1)', // 遮罩层颜色 |
| | | transitionIn: 'fadeInLeft', // bounceInLeft, bounceInRight, bounceInUp, bounceInDown, fadeIn, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX |
| | | transitionOut: 'fadeOutRight', // fadeOut, fadeOutUp, fadeOutDown, fadeOutLeft, fadeOutRight, flipOutX |
| | | transitionInMobile: 'bounceInDown', // 移动端进入动画 |
| | | transitionOutMobile: 'fadeOutUp', // 移动端退出动画 |
| | | buttons: {}, // 操作按钮 |
| | | inputs: {}, // 输入框 |
| | | audio: '', // 音效 |
| | | onOpening: function () { |
| | | }, |
| | | onOpened: function () { |
| | | }, |
| | | onClosing: function () { |
| | | }, |
| | | onClosed: function () { |
| | | } |
| | | }; |
| | | |
| | | var $iziToast = { |
| | | children: {}, |
| | | setSetting: function (ref, option, value) { |
| | | $iziToast.children[ref][option] = value; |
| | | }, |
| | | getSetting: function (ref, option) { |
| | | return $iziToast.children[ref][option]; |
| | | }, |
| | | // 全局设置 |
| | | settings: function (options) { |
| | | $iziToast.destroy(); // 全部销毁之前的通知 |
| | | CONFIG = options; |
| | | defaults = extend(defaults, options || {}); |
| | | }, |
| | | // 关闭所有通知 |
| | | destroy: function () { |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME + '-overlay'), function (element, index) { |
| | | element.remove(); |
| | | }); |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME + '-wrapper'), function (element, index) { |
| | | element.remove(); |
| | | }); |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME), function (element, index) { |
| | | element.remove(); |
| | | }); |
| | | this.children = {}; |
| | | // 移除事件监听 |
| | | document.removeEventListener(PLUGIN_NAME + '-opened', {}, false); |
| | | document.removeEventListener(PLUGIN_NAME + '-opening', {}, false); |
| | | document.removeEventListener(PLUGIN_NAME + '-closing', {}, false); |
| | | document.removeEventListener(PLUGIN_NAME + '-closed', {}, false); |
| | | document.removeEventListener('keyup', {}, false); |
| | | CONFIG = {}; // 移除全局配置 |
| | | }, |
| | | // msg类型 |
| | | msg: function (msg, options) { |
| | | if (options.icon == 4) { |
| | | options.overlay = true; |
| | | options.timeout = false; |
| | | options.drag = false; |
| | | options.displayMode = 0; |
| | | } |
| | | var icons = ['ico-success', 'ico-error', 'ico-warning', 'ico-load', 'ico-info']; |
| | | options.icon = icons[options.icon - 1]; |
| | | var theme = { |
| | | message: msg, |
| | | position: 'topCenter', |
| | | transitionIn: 'bounceInDown', |
| | | transitionOut: 'fadeOut', |
| | | transitionOutMobile: 'fadeOut', |
| | | progressBar: false, |
| | | close: false, |
| | | layout: 1, |
| | | audio: '' |
| | | }; |
| | | var settings = extend(CONFIG, options || {}); |
| | | settings = extend(theme, settings || {}); |
| | | this.show(settings); |
| | | } |
| | | }; |
| | | |
| | | // 关闭指定的通知 |
| | | $iziToast.hide = function (options, $toast, closedBy) { |
| | | if (typeof $toast != 'object') { |
| | | $toast = document.querySelector($toast); |
| | | } |
| | | var that = this; |
| | | var settings = extend(this.children[$toast.getAttribute('data-iziToast-ref')], options || {}); |
| | | settings.closedBy = closedBy || null; |
| | | delete settings.time.REMAINING; |
| | | $toast.classList.add(PLUGIN_NAME + '-closing'); |
| | | // 移除遮罩层 |
| | | (function () { |
| | | var $overlay = document.querySelector('.' + PLUGIN_NAME + '-overlay'); |
| | | if ($overlay !== null) { |
| | | var refs = $overlay.getAttribute('data-iziToast-ref'); |
| | | refs = refs.split(','); |
| | | var index = refs.indexOf(String(settings.ref)); |
| | | if (index !== -1) { |
| | | refs.splice(index, 1); |
| | | } |
| | | $overlay.setAttribute('data-iziToast-ref', refs.join()); |
| | | if (refs.length === 0) { |
| | | $overlay.classList.remove('fadeIn'); |
| | | $overlay.classList.add('fadeOut'); |
| | | setTimeout(function () { |
| | | $overlay.remove(); |
| | | }, 700); |
| | | } |
| | | } |
| | | })(); |
| | | // 移除动画 |
| | | if (settings.transitionIn) { |
| | | $toast.classList.remove(settings.transitionIn); |
| | | } |
| | | if (settings.transitionInMobile) { |
| | | $toast.classList.remove(settings.transitionInMobile); |
| | | } |
| | | if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { |
| | | if (settings.transitionOutMobile) |
| | | $toast.classList.add(settings.transitionOutMobile); |
| | | } else { |
| | | if (settings.transitionOut) |
| | | $toast.classList.add(settings.transitionOut); |
| | | } |
| | | var H = $toast.parentNode.offsetHeight; |
| | | $toast.parentNode.style.height = H + 'px'; |
| | | $toast.style.pointerEvents = 'none'; |
| | | if (!ISMOBILE || window.innerWidth > MOBILEWIDTH) { |
| | | $toast.parentNode.style.transitionDelay = '0.2s'; |
| | | } |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-closing', {detail: settings, bubbles: true, cancelable: true}); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | setTimeout(function () { |
| | | $toast.parentNode.style.height = '0px'; |
| | | $toast.parentNode.style.overflow = ''; |
| | | setTimeout(function () { |
| | | delete that.children[settings.ref]; |
| | | $toast.parentNode.remove(); |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-closed', { |
| | | detail: settings, |
| | | bubbles: true, |
| | | cancelable: true |
| | | }); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | if (typeof settings.onClosed !== 'undefined') { |
| | | settings.onClosed.apply(null, [settings, $toast, closedBy]); |
| | | } |
| | | }, 1000); |
| | | }, 200); |
| | | // 回调关闭事件 |
| | | if (typeof settings.onClosing !== 'undefined') { |
| | | settings.onClosing.apply(null, [settings, $toast, closedBy]); |
| | | } |
| | | }; |
| | | |
| | | // 显示通知 |
| | | $iziToast.show = function (options) { |
| | | var that = this; |
| | | // Merge user options with defaults |
| | | var settings = extend(CONFIG, options || {}); |
| | | settings = extend(defaults, settings); |
| | | settings.time = {}; |
| | | if (settings.id === null) { |
| | | settings.id = generateId(settings.title + settings.message + settings.color); |
| | | } |
| | | if (settings.displayMode == 1 || settings.displayMode == 'once') { |
| | | try { |
| | | if (document.querySelectorAll('.' + PLUGIN_NAME + '#' + settings.id).length > 0) { |
| | | return false; |
| | | } |
| | | } catch (exc) { |
| | | console.warn('[' + PLUGIN_NAME + '] Could not find an element with this selector: ' + '#' + settings.id + '. Try to set an valid id.'); |
| | | } |
| | | } |
| | | if (settings.displayMode == 2 || settings.displayMode == 'replace') { |
| | | try { |
| | | forEach(document.querySelectorAll('.' + PLUGIN_NAME + '#' + settings.id), function (element, index) { |
| | | that.hide(settings, element, 'replaced'); |
| | | }); |
| | | } catch (exc) { |
| | | console.warn('[' + PLUGIN_NAME + '] Could not find an element with this selector: ' + '#' + settings.id + '. Try to set an valid id.'); |
| | | } |
| | | } |
| | | settings.ref = new Date().getTime() + Math.floor((Math.random() * 10000000) + 1); |
| | | $iziToast.children[settings.ref] = settings; |
| | | var $DOM = { |
| | | body: document.querySelector('body'), |
| | | overlay: document.createElement('div'), |
| | | toast: document.createElement('div'), |
| | | toastBody: document.createElement('div'), |
| | | toastTexts: document.createElement('div'), |
| | | toastCapsule: document.createElement('div'), |
| | | cover: document.createElement('div'), |
| | | buttons: document.createElement('div'), |
| | | inputs: document.createElement('div'), |
| | | icon: !settings.iconUrl ? document.createElement('i') : document.createElement('img'), |
| | | wrapper: null |
| | | }; |
| | | $DOM.toast.setAttribute('data-iziToast-ref', settings.ref); |
| | | $DOM.toast.appendChild($DOM.toastBody); |
| | | $DOM.toastCapsule.appendChild($DOM.toast); |
| | | // CSS Settings |
| | | (function () { |
| | | $DOM.toast.classList.add(PLUGIN_NAME); |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-opening'); |
| | | $DOM.toastCapsule.classList.add(PLUGIN_NAME + '-capsule'); |
| | | $DOM.toastBody.classList.add(PLUGIN_NAME + '-body'); |
| | | $DOM.toastTexts.classList.add(PLUGIN_NAME + '-texts'); |
| | | if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { |
| | | if (settings.transitionInMobile) |
| | | $DOM.toast.classList.add(settings.transitionInMobile); |
| | | } else { |
| | | if (settings.transitionIn) |
| | | $DOM.toast.classList.add(settings.transitionIn); |
| | | } |
| | | if (settings.className) { |
| | | var classes = settings.className.split(' '); |
| | | forEach(classes, function (value, index) { |
| | | $DOM.toast.classList.add(value); |
| | | }); |
| | | } |
| | | if (settings.id) { |
| | | $DOM.toast.id = settings.id; |
| | | } |
| | | if (settings.rtl) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-rtl'); |
| | | $DOM.toast.setAttribute('dir', 'rtl'); |
| | | } |
| | | if (settings.layout > 1) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-layout' + settings.layout); |
| | | } |
| | | if (settings.balloon) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-balloon'); |
| | | } |
| | | if (settings.maxWidth) { |
| | | if (!isNaN(settings.maxWidth)) { |
| | | $DOM.toast.style.maxWidth = settings.maxWidth + 'px'; |
| | | } else { |
| | | $DOM.toast.style.maxWidth = settings.maxWidth; |
| | | } |
| | | } |
| | | if (settings.theme !== '' || settings.theme !== 'light') { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-theme-' + settings.theme); |
| | | } |
| | | if (settings.color) { //#, rgb, rgba, hsl |
| | | if (isColor(settings.color)) { |
| | | $DOM.toast.style.background = settings.color; |
| | | } else { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-color-' + settings.color); |
| | | } |
| | | } |
| | | if (settings.backgroundColor) { |
| | | $DOM.toast.style.background = settings.backgroundColor; |
| | | if (settings.balloon) { |
| | | $DOM.toast.style.borderColor = settings.backgroundColor; |
| | | } |
| | | } |
| | | })(); |
| | | // Cover image |
| | | (function () { |
| | | if (settings.image) { |
| | | $DOM.cover.classList.add(PLUGIN_NAME + '-cover'); |
| | | $DOM.cover.style.width = settings.imageWidth + 'px'; |
| | | if (isBase64(settings.image.replace(/ /g, ''))) { |
| | | $DOM.cover.style.backgroundImage = 'url(data:image/png;base64,' + settings.image.replace(/ /g, '') + ')'; |
| | | } else { |
| | | $DOM.cover.style.backgroundImage = 'url(' + settings.image + ')'; |
| | | } |
| | | if (settings.rtl) { |
| | | $DOM.toastBody.style.marginRight = (settings.imageWidth) + 'px'; |
| | | } else { |
| | | $DOM.toastBody.style.marginLeft = (settings.imageWidth) + 'px'; |
| | | } |
| | | $DOM.toast.appendChild($DOM.cover); |
| | | } |
| | | })(); |
| | | // Button close |
| | | (function () { |
| | | if (settings.close) { |
| | | $DOM.buttonClose = document.createElement('button'); |
| | | // $DOM.buttonClose.type = 'button'; |
| | | $DOM.buttonClose.setAttribute('type', 'button'); |
| | | $DOM.buttonClose.classList.add(PLUGIN_NAME + '-close'); |
| | | $DOM.buttonClose.addEventListener('click', function (e) { |
| | | var button = e.target; |
| | | that.hide(settings, $DOM.toast, 'button'); |
| | | }); |
| | | $DOM.toast.appendChild($DOM.buttonClose); |
| | | } else { |
| | | if (settings.rtl) { |
| | | $DOM.toast.style.paddingLeft = '18px'; |
| | | } else { |
| | | $DOM.toast.style.paddingRight = '18px'; |
| | | } |
| | | } |
| | | })(); |
| | | // Progress Bar & Timeout |
| | | (function () { |
| | | if (settings.progressBar) { |
| | | $DOM.progressBar = document.createElement('div'); |
| | | $DOM.progressBarDiv = document.createElement('div'); |
| | | $DOM.progressBar.classList.add(PLUGIN_NAME + '-progressbar'); |
| | | $DOM.progressBarDiv.style.background = settings.progressBarColor; |
| | | $DOM.progressBar.appendChild($DOM.progressBarDiv); |
| | | $DOM.toast.appendChild($DOM.progressBar); |
| | | } |
| | | if (settings.timeout) { |
| | | if (settings.pauseOnHover && !settings.resetOnHover) { |
| | | $DOM.toast.addEventListener('mouseenter', function (e) { |
| | | that.progress(settings, $DOM.toast).pause(); |
| | | }); |
| | | $DOM.toast.addEventListener('mouseleave', function (e) { |
| | | that.progress(settings, $DOM.toast).resume(); |
| | | }); |
| | | } |
| | | if (settings.resetOnHover) { |
| | | $DOM.toast.addEventListener('mouseenter', function (e) { |
| | | that.progress(settings, $DOM.toast).reset(); |
| | | }); |
| | | $DOM.toast.addEventListener('mouseleave', function (e) { |
| | | that.progress(settings, $DOM.toast).start(); |
| | | }); |
| | | } |
| | | } |
| | | })(); |
| | | // Icon |
| | | (function () { |
| | | if (settings.iconUrl) { |
| | | $DOM.icon.setAttribute('class', PLUGIN_NAME + '-icon'); |
| | | $DOM.icon.setAttribute('src', settings.iconUrl); |
| | | } else if (settings.icon) { |
| | | $DOM.icon.setAttribute('class', PLUGIN_NAME + '-icon ' + settings.icon); |
| | | if (settings.iconText) { |
| | | $DOM.icon.appendChild(document.createTextNode(settings.iconText)); |
| | | } |
| | | if (settings.iconColor) { |
| | | $DOM.icon.style.color = settings.iconColor; |
| | | } |
| | | } |
| | | if (settings.icon || settings.iconUrl) { |
| | | if (settings.rtl) { |
| | | $DOM.toastBody.style.paddingRight = '33px'; |
| | | } else { |
| | | $DOM.toastBody.style.paddingLeft = '33px'; |
| | | } |
| | | $DOM.toastBody.appendChild($DOM.icon); |
| | | } |
| | | |
| | | })(); |
| | | // Title & Message |
| | | (function () { |
| | | if (settings.title.length > 0) { |
| | | $DOM.strong = document.createElement('strong'); |
| | | $DOM.strong.classList.add(PLUGIN_NAME + '-title'); |
| | | $DOM.strong.appendChild(createFragElem(settings.title)); |
| | | $DOM.toastTexts.appendChild($DOM.strong); |
| | | if (settings.titleColor) { |
| | | $DOM.strong.style.color = settings.titleColor; |
| | | } |
| | | if (settings.titleSize) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.strong.style.fontSize = settings.titleSize + 'px'; |
| | | } else { |
| | | $DOM.strong.style.fontSize = settings.titleSize; |
| | | } |
| | | } |
| | | if (settings.titleLineHeight) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.strong.style.lineHeight = settings.titleLineHeight + 'px'; |
| | | } else { |
| | | $DOM.strong.style.lineHeight = settings.titleLineHeight; |
| | | } |
| | | } |
| | | } |
| | | if (settings.message.length > 0) { |
| | | $DOM.p = document.createElement('p'); |
| | | $DOM.p.classList.add(PLUGIN_NAME + '-message'); |
| | | $DOM.p.appendChild(createFragElem(settings.message)); |
| | | $DOM.toastTexts.appendChild($DOM.p); |
| | | if (settings.messageColor) { |
| | | $DOM.p.style.color = settings.messageColor; |
| | | } |
| | | if (settings.messageSize) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.p.style.fontSize = settings.messageSize + 'px'; |
| | | } else { |
| | | $DOM.p.style.fontSize = settings.messageSize; |
| | | } |
| | | } |
| | | if (settings.messageLineHeight) { |
| | | if (!isNaN(settings.titleSize)) { |
| | | $DOM.p.style.lineHeight = settings.messageLineHeight + 'px'; |
| | | } else { |
| | | $DOM.p.style.lineHeight = settings.messageLineHeight; |
| | | } |
| | | } |
| | | } |
| | | if (settings.title.length > 0 && settings.message.length > 0) { |
| | | if (settings.rtl) { |
| | | $DOM.strong.style.marginLeft = '10px'; |
| | | } else if (settings.layout != 2 && !settings.rtl) { |
| | | $DOM.strong.style.marginRight = '10px'; |
| | | $DOM.strong.style.marginBottom = '0px'; |
| | | } |
| | | } |
| | | })(); |
| | | $DOM.toastBody.appendChild($DOM.toastTexts); |
| | | // Inputs |
| | | var $inputs; |
| | | (function () { |
| | | if (settings.inputs.length > 0) { |
| | | $DOM.inputs.classList.add(PLUGIN_NAME + '-inputs'); |
| | | forEach(settings.inputs, function (value, index) { |
| | | $DOM.inputs.appendChild(createFragElem(value[0])); |
| | | $inputs = $DOM.inputs.childNodes; |
| | | $inputs[index].classList.add(PLUGIN_NAME + '-inputs-child'); |
| | | if (value[3]) { |
| | | setTimeout(function () { |
| | | $inputs[index].focus(); |
| | | }, 300); |
| | | } |
| | | $inputs[index].addEventListener(value[1], function (e) { |
| | | var ts = value[2]; |
| | | return ts(that, $DOM.toast, this, e); |
| | | }); |
| | | }); |
| | | $DOM.toastBody.appendChild($DOM.inputs); |
| | | } |
| | | })(); |
| | | // Buttons |
| | | (function () { |
| | | if (settings.buttons.length > 0) { |
| | | $DOM.buttons.classList.add(PLUGIN_NAME + '-buttons'); |
| | | forEach(settings.buttons, function (value, index) { |
| | | $DOM.buttons.appendChild(createFragElem(value[0])); |
| | | var $btns = $DOM.buttons.childNodes; |
| | | $btns[index].classList.add(PLUGIN_NAME + '-buttons-child'); |
| | | if (value[2]) { |
| | | setTimeout(function () { |
| | | $btns[index].focus(); |
| | | }, 300); |
| | | } |
| | | $btns[index].addEventListener('click', function (e) { |
| | | e.preventDefault(); |
| | | var ts = value[1]; |
| | | return ts(that, $DOM.toast, this, e, $inputs); |
| | | }); |
| | | }); |
| | | } |
| | | $DOM.toastTexts.appendChild($DOM.buttons); |
| | | })(); |
| | | if (settings.message.length > 0 && (settings.inputs.length > 0 || settings.buttons.length > 0)) { |
| | | $DOM.p.style.marginBottom = '0'; |
| | | } |
| | | if (settings.inputs.length > 0 || settings.buttons.length > 0) { |
| | | if (settings.rtl) { |
| | | $DOM.toastTexts.style.marginLeft = '10px'; |
| | | } else { |
| | | $DOM.toastTexts.style.marginRight = '10px'; |
| | | } |
| | | if (settings.inputs.length > 0 && settings.buttons.length > 0) { |
| | | if (settings.rtl) { |
| | | $DOM.inputs.style.marginLeft = '8px'; |
| | | } else { |
| | | $DOM.inputs.style.marginRight = '8px'; |
| | | } |
| | | } |
| | | } |
| | | // Wrap |
| | | (function () { |
| | | $DOM.toastCapsule.style.visibility = 'hidden'; |
| | | setTimeout(function () { |
| | | var H = $DOM.toast.offsetHeight; |
| | | var style = $DOM.toast.currentStyle || window.getComputedStyle($DOM.toast); |
| | | var marginTop = style.marginTop; |
| | | marginTop = marginTop.split('px'); |
| | | marginTop = parseInt(marginTop[0]); |
| | | var marginBottom = style.marginBottom; |
| | | marginBottom = marginBottom.split('px'); |
| | | marginBottom = parseInt(marginBottom[0]); |
| | | |
| | | $DOM.toastCapsule.style.visibility = ''; |
| | | $DOM.toastCapsule.style.height = (H + marginBottom + marginTop) + 'px'; |
| | | |
| | | setTimeout(function () { |
| | | $DOM.toastCapsule.style.height = 'auto'; |
| | | if (settings.target) { |
| | | $DOM.toastCapsule.style.overflow = 'visible'; |
| | | } |
| | | }, 500); |
| | | |
| | | if (settings.timeout) { |
| | | that.progress(settings, $DOM.toast).start(); |
| | | } |
| | | }, 100); |
| | | })(); |
| | | // Target |
| | | (function () { |
| | | var position = settings.position; |
| | | if (settings.target) { |
| | | $DOM.wrapper = document.querySelector(settings.target); |
| | | $DOM.wrapper.classList.add(PLUGIN_NAME + '-target'); |
| | | if (settings.targetFirst) { |
| | | $DOM.wrapper.insertBefore($DOM.toastCapsule, $DOM.wrapper.firstChild); |
| | | } else { |
| | | $DOM.wrapper.appendChild($DOM.toastCapsule); |
| | | } |
| | | } else { |
| | | if (POSITIONS.indexOf(settings.position) == -1) { |
| | | console.warn('[' + PLUGIN_NAME + '] Incorrect position.\nIt can be › ' + POSITIONS); |
| | | return; |
| | | } |
| | | if (ISMOBILE || window.innerWidth <= MOBILEWIDTH) { |
| | | if (settings.position == 'bottomLeft' || settings.position == 'bottomRight' || settings.position == 'bottomCenter') { |
| | | position = PLUGIN_NAME + '-wrapper-bottomCenter'; |
| | | } else if (settings.position == 'topLeft' || settings.position == 'topRight' || settings.position == 'topCenter') { |
| | | position = PLUGIN_NAME + '-wrapper-topCenter'; |
| | | } else { |
| | | position = PLUGIN_NAME + '-wrapper-center'; |
| | | } |
| | | } else { |
| | | position = PLUGIN_NAME + '-wrapper-' + position; |
| | | } |
| | | $DOM.wrapper = document.querySelector('.' + PLUGIN_NAME + '-wrapper.' + position); |
| | | if (!$DOM.wrapper) { |
| | | $DOM.wrapper = document.createElement('div'); |
| | | $DOM.wrapper.classList.add(PLUGIN_NAME + '-wrapper'); |
| | | $DOM.wrapper.classList.add(position); |
| | | document.body.appendChild($DOM.wrapper); |
| | | } |
| | | var targetFirst = settings.targetFirst; |
| | | if ((targetFirst == undefined || targetFirst == null) && (settings.position == 'topLeft' || settings.position == 'topCenter' || settings.position == 'topRight')) { |
| | | targetFirst = true; |
| | | } |
| | | if (targetFirst) { |
| | | $DOM.wrapper.insertBefore($DOM.toastCapsule, $DOM.wrapper.firstChild); |
| | | } else { |
| | | $DOM.wrapper.appendChild($DOM.toastCapsule); |
| | | } |
| | | } |
| | | if (!isNaN(settings.zindex)) { |
| | | $DOM.wrapper.style.zIndex = settings.zindex; |
| | | } else { |
| | | console.warn('[' + PLUGIN_NAME + '] Invalid zIndex.'); |
| | | } |
| | | })(); |
| | | // Overlay |
| | | (function () { |
| | | if (settings.overlay) { |
| | | if (document.querySelector('.' + PLUGIN_NAME + '-overlay.fadeIn') !== null) { |
| | | $DOM.overlay = document.querySelector('.' + PLUGIN_NAME + '-overlay'); |
| | | $DOM.overlay.setAttribute('data-iziToast-ref', $DOM.overlay.getAttribute('data-iziToast-ref') + ',' + settings.ref); |
| | | if (!isNaN(settings.zindex) && settings.zindex !== null) { |
| | | $DOM.overlay.style.zIndex = settings.zindex - 1; |
| | | } |
| | | } else { |
| | | $DOM.overlay.classList.add(PLUGIN_NAME + '-overlay'); |
| | | $DOM.overlay.classList.add('fadeIn'); |
| | | $DOM.overlay.style.background = settings.overlayColor; |
| | | $DOM.overlay.setAttribute('data-iziToast-ref', settings.ref); |
| | | if (!isNaN(settings.zindex) && settings.zindex !== null) { |
| | | $DOM.overlay.style.zIndex = settings.zindex - 1; |
| | | } |
| | | document.querySelector('body').appendChild($DOM.overlay); |
| | | } |
| | | if (settings.overlayClose) { |
| | | $DOM.overlay.removeEventListener('click', {}); |
| | | $DOM.overlay.addEventListener('click', function (e) { |
| | | that.hide(settings, $DOM.toast, 'overlay'); |
| | | }); |
| | | } else { |
| | | $DOM.overlay.removeEventListener('click', {}); |
| | | } |
| | | } |
| | | })(); |
| | | // Inside animations |
| | | (function () { |
| | | if (settings.animateInside) { |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-animateInside'); |
| | | var animationTimes = [200, 100, 300]; |
| | | if (settings.transitionIn == 'bounceInLeft' || settings.transitionIn == 'bounceInRight') { |
| | | animationTimes = [400, 200, 400]; |
| | | } |
| | | if (settings.title.length > 0) { |
| | | setTimeout(function () { |
| | | $DOM.strong.classList.add('slideIn'); |
| | | }, animationTimes[0]); |
| | | } |
| | | if (settings.message.length > 0) { |
| | | setTimeout(function () { |
| | | $DOM.p.classList.add('slideIn'); |
| | | }, animationTimes[1]); |
| | | } |
| | | if (settings.icon || settings.iconUrl) { |
| | | setTimeout(function () { |
| | | $DOM.icon.classList.add('revealIn'); |
| | | }, animationTimes[2]); |
| | | } |
| | | var counter = 150; |
| | | if (settings.buttons.length > 0 && $DOM.buttons) { |
| | | setTimeout(function () { |
| | | forEach($DOM.buttons.childNodes, function (element, index) { |
| | | setTimeout(function () { |
| | | element.classList.add('revealIn'); |
| | | }, counter); |
| | | counter = counter + 150; |
| | | }); |
| | | }, settings.inputs.length > 0 ? 150 : 0); |
| | | } |
| | | if (settings.inputs.length > 0 && $DOM.inputs) { |
| | | counter = 150; |
| | | forEach($DOM.inputs.childNodes, function (element, index) { |
| | | setTimeout(function () { |
| | | element.classList.add('revealIn'); |
| | | }, counter); |
| | | counter = counter + 150; |
| | | }); |
| | | } |
| | | } |
| | | })(); |
| | | settings.onOpening.apply(null, [settings, $DOM.toast]); |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-opening', {detail: settings, bubbles: true, cancelable: true}); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | setTimeout(function () { |
| | | $DOM.toast.classList.remove(PLUGIN_NAME + '-opening'); |
| | | $DOM.toast.classList.add(PLUGIN_NAME + '-opened'); |
| | | try { |
| | | var event = new CustomEvent(PLUGIN_NAME + '-opened', { |
| | | detail: settings, |
| | | bubbles: true, |
| | | cancelable: true |
| | | }); |
| | | document.dispatchEvent(event); |
| | | } catch (ex) { |
| | | console.warn(ex); |
| | | } |
| | | settings.onOpened.apply(null, [settings, $DOM.toast]); |
| | | }, 1000); |
| | | if (settings.drag) { |
| | | if (ACCEPTSTOUCH) { |
| | | $DOM.toast.addEventListener('touchstart', function (e) { |
| | | drag.startMoving(this, that, settings, e); |
| | | }, false); |
| | | $DOM.toast.addEventListener('touchend', function (e) { |
| | | drag.stopMoving(this, e); |
| | | }, false); |
| | | } else { |
| | | $DOM.toast.addEventListener('mousedown', function (e) { |
| | | e.preventDefault(); |
| | | drag.startMoving(this, that, settings, e); |
| | | }, false); |
| | | $DOM.toast.addEventListener('mouseup', function (e) { |
| | | e.preventDefault(); |
| | | drag.stopMoving(this, e); |
| | | }, false); |
| | | } |
| | | } |
| | | if (settings.closeOnEscape) { |
| | | document.addEventListener('keyup', function (evt) { |
| | | evt = evt || window.event; |
| | | if (evt.keyCode == 27) { |
| | | that.hide(settings, $DOM.toast, 'esc'); |
| | | } |
| | | }); |
| | | } |
| | | if (settings.closeOnClick) { |
| | | $DOM.toast.addEventListener('click', function (evt) { |
| | | that.hide(settings, $DOM.toast, 'toast'); |
| | | }); |
| | | } |
| | | // 播放声音 |
| | | if (settings.audio) { |
| | | that.playSound(settings.audio); |
| | | } |
| | | that.toast = $DOM.toast; |
| | | }; |
| | | |
| | | // 控制进度条 |
| | | $iziToast.progress = function (options, $toast, callback) { |
| | | var that = this, |
| | | ref = $toast.getAttribute('data-iziToast-ref'), |
| | | settings = extend(this.children[ref], options || {}), |
| | | $elem = $toast.querySelector('.' + PLUGIN_NAME + '-progressbar div'); |
| | | return { |
| | | start: function () { |
| | | if (typeof settings.time.REMAINING == 'undefined') { |
| | | $toast.classList.remove(PLUGIN_NAME + '-reseted'); |
| | | if ($elem !== null) { |
| | | $elem.style.transition = 'width ' + settings.timeout + 'ms ' + settings.progressBarEasing; |
| | | $elem.style.width = '0%'; |
| | | } |
| | | settings.time.START = new Date().getTime(); |
| | | settings.time.END = settings.time.START + settings.timeout; |
| | | settings.time.TIMER = setTimeout(function () { |
| | | clearTimeout(settings.time.TIMER); |
| | | if (!$toast.classList.contains(PLUGIN_NAME + '-closing')) { |
| | | that.hide(settings, $toast, 'timeout'); |
| | | if (typeof callback === 'function') { |
| | | callback.apply(that); |
| | | } |
| | | } |
| | | }, settings.timeout); |
| | | that.setSetting(ref, 'time', settings.time); |
| | | } |
| | | }, |
| | | pause: function () { |
| | | if (typeof settings.time.START !== 'undefined' && !$toast.classList.contains(PLUGIN_NAME + '-paused') && !$toast.classList.contains(PLUGIN_NAME + '-reseted')) { |
| | | $toast.classList.add(PLUGIN_NAME + '-paused'); |
| | | settings.time.REMAINING = settings.time.END - new Date().getTime(); |
| | | clearTimeout(settings.time.TIMER); |
| | | that.setSetting(ref, 'time', settings.time); |
| | | if ($elem !== null) { |
| | | var computedStyle = window.getComputedStyle($elem), |
| | | propertyWidth = computedStyle.getPropertyValue('width'); |
| | | $elem.style.transition = 'none'; |
| | | $elem.style.width = propertyWidth; |
| | | } |
| | | if (typeof callback === 'function') { |
| | | setTimeout(function () { |
| | | callback.apply(that); |
| | | }, 10); |
| | | } |
| | | } |
| | | }, |
| | | resume: function () { |
| | | if (typeof settings.time.REMAINING !== 'undefined') { |
| | | $toast.classList.remove(PLUGIN_NAME + '-paused'); |
| | | if ($elem !== null) { |
| | | $elem.style.transition = 'width ' + settings.time.REMAINING + 'ms ' + settings.progressBarEasing; |
| | | $elem.style.width = '0%'; |
| | | } |
| | | settings.time.END = new Date().getTime() + settings.time.REMAINING; |
| | | settings.time.TIMER = setTimeout(function () { |
| | | clearTimeout(settings.time.TIMER); |
| | | if (!$toast.classList.contains(PLUGIN_NAME + '-closing')) { |
| | | that.hide(settings, $toast, 'timeout'); |
| | | if (typeof callback === 'function') { |
| | | callback.apply(that); |
| | | } |
| | | } |
| | | }, settings.time.REMAINING); |
| | | that.setSetting(ref, 'time', settings.time); |
| | | } else { |
| | | this.start(); |
| | | } |
| | | }, |
| | | reset: function () { |
| | | clearTimeout(settings.time.TIMER); |
| | | delete settings.time.REMAINING; |
| | | that.setSetting(ref, 'time', settings.time); |
| | | $toast.classList.add(PLUGIN_NAME + '-reseted'); |
| | | $toast.classList.remove(PLUGIN_NAME + '-paused'); |
| | | if ($elem !== null) { |
| | | $elem.style.transition = 'none'; |
| | | $elem.style.width = '100%'; |
| | | } |
| | | if (typeof callback === 'function') { |
| | | setTimeout(function () { |
| | | callback.apply(that); |
| | | }, 10); |
| | | } |
| | | } |
| | | }; |
| | | }; |
| | | |
| | | // 判断是否是ie9以下版本 |
| | | var isIE9_ = function () { |
| | | var userAgent = navigator.userAgent; |
| | | if (window.navigator.userAgent.indexOf("MSIE") >= 1) { |
| | | var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); |
| | | reIE.test(userAgent); |
| | | var fIEVersion = parseFloat(RegExp["$1"]); |
| | | if (fIEVersion != 10) { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | }; |
| | | |
| | | // 给Element添加remove方法 |
| | | if (!('remove' in Element.prototype)) { |
| | | Element.prototype.remove = function () { |
| | | if (this.parentNode) { |
| | | this.parentNode.removeChild(this); |
| | | } |
| | | }; |
| | | } |
| | | |
| | | // 自定义事件 |
| | | if (typeof window.CustomEvent !== 'function') { |
| | | var CustomEventPolyfill = function (event, params) { |
| | | params = params || {bubbles: false, cancelable: false, detail: undefined}; |
| | | var evt = document.createEvent('CustomEvent'); |
| | | evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); |
| | | return evt; |
| | | }; |
| | | CustomEventPolyfill.prototype = window.Event.prototype; |
| | | window.CustomEvent = CustomEventPolyfill; |
| | | } |
| | | |
| | | // 遍历数据 |
| | | var forEach = function (collection, callback, scope) { |
| | | if (Object.prototype.toString.call(collection) === '[object Object]') { |
| | | for (var prop in collection) { |
| | | if (Object.prototype.hasOwnProperty.call(collection, prop)) { |
| | | callback.call(scope, collection[prop], prop, collection); |
| | | } |
| | | } |
| | | } else { |
| | | if (collection) { |
| | | for (var i = 0, len = collection.length; i < len; i++) { |
| | | callback.call(scope, collection[i], i, collection); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // 合并自定义参数和默认参数 |
| | | var extend = function (defaults, options) { |
| | | var extended = {}; |
| | | forEach(defaults, function (value, prop) { |
| | | extended[prop] = defaults[prop]; |
| | | }); |
| | | forEach(options, function (value, prop) { |
| | | extended[prop] = options[prop]; |
| | | }); |
| | | return extended; |
| | | }; |
| | | |
| | | // 创建新的文档片段 |
| | | var createFragElem = function (htmlStr) { |
| | | var frag = document.createDocumentFragment(), |
| | | temp = document.createElement('div'); |
| | | temp.innerHTML = htmlStr; |
| | | while (temp.firstChild) { |
| | | frag.appendChild(temp.firstChild); |
| | | } |
| | | return frag; |
| | | }; |
| | | |
| | | // 生成ID |
| | | var generateId = function (params) { |
| | | var newId = btoa(encodeURIComponent(params)); |
| | | return newId.replace(/=/g, ""); |
| | | }; |
| | | |
| | | // 判断是否是颜色字符串 |
| | | var isColor = function (color) { |
| | | if (color.substring(0, 1) == '#' || color.substring(0, 3) == 'rgb' || color.substring(0, 3) == 'hsl') { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | // 判断是否是base64字符串 |
| | | var isBase64 = function (str) { |
| | | try { |
| | | return btoa(atob(str)) == str; |
| | | } catch (err) { |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | // 拖拽方法 |
| | | var drag = function () { |
| | | return { |
| | | move: function (toast, instance, settings, xpos) { |
| | | var opacity, |
| | | opacityRange = 0.3, |
| | | distance = 180; |
| | | if (xpos !== 0) { |
| | | toast.classList.add(PLUGIN_NAME + '-dragged'); |
| | | toast.style.transform = 'translateX(' + xpos + 'px)'; |
| | | if (xpos > 0) { |
| | | opacity = (distance - xpos) / distance; |
| | | if (opacity < opacityRange) { |
| | | instance.hide(extend(settings, { |
| | | transitionOut: 'fadeOutRight', |
| | | transitionOutMobile: 'fadeOutRight' |
| | | }), toast, 'drag'); |
| | | } |
| | | } else { |
| | | opacity = (distance + xpos) / distance; |
| | | if (opacity < opacityRange) { |
| | | instance.hide(extend(settings, { |
| | | transitionOut: 'fadeOutLeft', |
| | | transitionOutMobile: 'fadeOutLeft' |
| | | }), toast, 'drag'); |
| | | } |
| | | } |
| | | toast.style.opacity = opacity; |
| | | if (opacity < opacityRange) { |
| | | if (ISCHROME || ISFIREFOX) |
| | | toast.style.left = xpos + 'px'; |
| | | toast.parentNode.style.opacity = opacityRange; |
| | | this.stopMoving(toast, null); |
| | | } |
| | | } |
| | | }, |
| | | startMoving: function (toast, instance, settings, e) { |
| | | e = e || window.event; |
| | | var posX = ((ACCEPTSTOUCH) ? e.touches[0].clientX : e.clientX), |
| | | toastLeft = toast.style.transform.replace('px)', ''); |
| | | toastLeft = toastLeft.replace('translateX(', ''); |
| | | var offsetX = posX - toastLeft; |
| | | if (settings.transitionIn) { |
| | | toast.classList.remove(settings.transitionIn); |
| | | } |
| | | if (settings.transitionInMobile) { |
| | | toast.classList.remove(settings.transitionInMobile); |
| | | } |
| | | toast.style.transition = ''; |
| | | if (ACCEPTSTOUCH) { |
| | | document.ontouchmove = function (e) { |
| | | e.preventDefault(); |
| | | e = e || window.event; |
| | | var posX = e.touches[0].clientX, |
| | | finalX = posX - offsetX; |
| | | drag.move(toast, instance, settings, finalX); |
| | | }; |
| | | } else { |
| | | document.onmousemove = function (e) { |
| | | e.preventDefault(); |
| | | e = e || window.event; |
| | | var posX = e.clientX, |
| | | finalX = posX - offsetX; |
| | | drag.move(toast, instance, settings, finalX); |
| | | }; |
| | | } |
| | | }, |
| | | stopMoving: function (toast, e) { |
| | | if (ACCEPTSTOUCH) { |
| | | document.ontouchmove = function () { |
| | | }; |
| | | } else { |
| | | document.onmousemove = function () { |
| | | }; |
| | | } |
| | | toast.style.opacity = ''; |
| | | toast.style.transform = ''; |
| | | if (toast.classList.contains(PLUGIN_NAME + '-dragged')) { |
| | | toast.classList.remove(PLUGIN_NAME + '-dragged'); |
| | | toast.style.transition = 'transform 0.4s ease, opacity 0.4s ease'; |
| | | setTimeout(function () { |
| | | toast.style.transition = ''; |
| | | }, 400); |
| | | } |
| | | } |
| | | }; |
| | | }(); |
| | | |
| | | // 兼容IE |
| | | var Base64 = { |
| | | _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", encode: function (e) { |
| | | var t = ""; |
| | | var n, r, i, s, o, u, a; |
| | | var f = 0; |
| | | e = Base64._utf8_encode(e); |
| | | while (f < e.length) { |
| | | n = e.charCodeAt(f++); |
| | | r = e.charCodeAt(f++); |
| | | i = e.charCodeAt(f++); |
| | | s = n >> 2; |
| | | o = (n & 3) << 4 | r >> 4; |
| | | u = (r & 15) << 2 | i >> 6; |
| | | a = i & 63; |
| | | if (isNaN(r)) { |
| | | u = a = 64 |
| | | } else if (isNaN(i)) { |
| | | a = 64 |
| | | } |
| | | t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a) |
| | | } |
| | | return t |
| | | }, decode: function (e) { |
| | | var t = ""; |
| | | var n, r, i; |
| | | var s, o, u, a; |
| | | var f = 0; |
| | | e = e.replace(/[^A-Za-z0-9+/=]/g, ""); |
| | | while (f < e.length) { |
| | | s = this._keyStr.indexOf(e.charAt(f++)); |
| | | o = this._keyStr.indexOf(e.charAt(f++)); |
| | | u = this._keyStr.indexOf(e.charAt(f++)); |
| | | a = this._keyStr.indexOf(e.charAt(f++)); |
| | | n = s << 2 | o >> 4; |
| | | r = (o & 15) << 4 | u >> 2; |
| | | i = (u & 3) << 6 | a; |
| | | t = t + String.fromCharCode(n); |
| | | if (u != 64) { |
| | | t = t + String.fromCharCode(r) |
| | | } |
| | | if (a != 64) { |
| | | t = t + String.fromCharCode(i) |
| | | } |
| | | } |
| | | t = Base64._utf8_decode(t); |
| | | return t |
| | | }, _utf8_encode: function (e) { |
| | | e = e.replace(/rn/g, "n"); |
| | | var t = ""; |
| | | for (var n = 0; n < e.length; n++) { |
| | | var r = e.charCodeAt(n); |
| | | if (r < 128) { |
| | | t += String.fromCharCode(r) |
| | | } else if (r > 127 && r < 2048) { |
| | | t += String.fromCharCode(r >> 6 | 192); |
| | | t += String.fromCharCode(r & 63 | 128) |
| | | } else { |
| | | t += String.fromCharCode(r >> 12 | 224); |
| | | t += String.fromCharCode(r >> 6 & 63 | 128); |
| | | t += String.fromCharCode(r & 63 | 128) |
| | | } |
| | | } |
| | | return t |
| | | }, _utf8_decode: function (e) { |
| | | var t = ""; |
| | | var n = 0; |
| | | var r = c1 = c2 = 0; |
| | | while (n < e.length) { |
| | | r = e.charCodeAt(n); |
| | | if (r < 128) { |
| | | t += String.fromCharCode(r); |
| | | n++ |
| | | } else if (r > 191 && r < 224) { |
| | | c2 = e.charCodeAt(n + 1); |
| | | t += String.fromCharCode((r & 31) << 6 | c2 & 63); |
| | | n += 2 |
| | | } else { |
| | | c2 = e.charCodeAt(n + 1); |
| | | c3 = e.charCodeAt(n + 2); |
| | | t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63); |
| | | n += 3 |
| | | } |
| | | } |
| | | return t |
| | | } |
| | | }; |
| | | if (isIE9_()) { |
| | | // 兼容btoa和atob方法 |
| | | window.btoa = function (str) { |
| | | return Base64.encode(str); |
| | | }; |
| | | window.atob = function (str) { |
| | | return Base64.decode(str); |
| | | }; |
| | | // 兼容classList属性 |
| | | if (!("classList" in document.documentElement)) { |
| | | Object.defineProperty(window.Element.prototype, 'classList', { |
| | | get: function () { |
| | | var self = this; |
| | | |
| | | function update(fn) { |
| | | return function () { |
| | | var className = self.className.replace(/^\s+|\s+$/g, ''), |
| | | valArr = arguments; |
| | | return fn(className, valArr) |
| | | } |
| | | } |
| | | |
| | | function add_rmv(className, valArr, tag) { |
| | | for (var i in valArr) { |
| | | if (typeof valArr[i] !== 'string' || !!~valArr[i].search(/\s+/g)) throw TypeError('the type of value is error') |
| | | var temp = valArr[i] |
| | | var flag = !!~className.search(new RegExp('(\\s+)?' + temp + '(\\s+)?')) |
| | | if (tag === 1) { |
| | | !flag ? className += ' ' + temp : '' |
| | | } else if (tag === 2) { |
| | | flag ? className = className.replace(new RegExp('(\\s+)?' + temp), '') : '' |
| | | } |
| | | } |
| | | self.className = className; |
| | | return tag; |
| | | } |
| | | |
| | | return { |
| | | add: update(function (className, valArr) { |
| | | add_rmv(className, valArr, 1) |
| | | }), |
| | | remove: update(function (className, valArr) { |
| | | add_rmv(className, valArr, 2) |
| | | }), |
| | | toggle: function (value) { |
| | | if (typeof value !== 'string' || arguments.length === 0) throw TypeError("Failed to execute 'toggle' on 'DOMTokenList': 1 argument(string) required, but only 0 present.") |
| | | if (arguments.length === 1) { |
| | | this.contains(value) ? this.remove(value) : this.add(value) |
| | | return |
| | | } |
| | | !arguments[1] ? this.remove(value) : this.add(value) |
| | | }, |
| | | contains: update(function (className, valArr) { |
| | | if (valArr.length === 0) throw TypeError("Failed to execute 'contains' on 'DOMTokenList': 1 argument required, but only 0 present.") |
| | | if (typeof valArr[0] !== 'string' || !!~valArr[0].search(/\s+/g)) return false |
| | | return !!~className.search(new RegExp(valArr[0])) |
| | | }), |
| | | item: function (index) { |
| | | typeof index === 'string' ? index = parseInt(index) : '' |
| | | if (arguments.length === 0 || typeof index !== 'number') throw TypeError("Failed to execute 'toggle' on 'DOMTokenList': 1 argument required, but only 0 present.") |
| | | var claArr = self.className.replace(/^\s+|\s+$/, '').split(/\s+/) |
| | | var len = claArr.length |
| | | if (index < 0 || index >= len) return null |
| | | return claArr[index] |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 播放声音 |
| | | $iziToast.playSound = function (src) { |
| | | if (!(src.indexOf('http') == 0)) { |
| | | src = layui.cache.base + 'notice/' + src + '.wav'; |
| | | } |
| | | if (!!window.ActiveXObject || "ActiveXObject" in window) { // IE |
| | | var embed = document.noticePlay; |
| | | if (embed) { |
| | | embed.remove(); |
| | | } |
| | | embed = document.createElement('embed'); |
| | | embed.setAttribute('name', 'noticePlay'); |
| | | embed.setAttribute('src', src); |
| | | embed.setAttribute('autostart', true); |
| | | embed.setAttribute('loop', false); |
| | | embed.setAttribute('hidden', true); |
| | | document.body.appendChild(embed); |
| | | embed = document.noticePlay; |
| | | embed.volume = 100; |
| | | } else { // 非IE |
| | | var audio = document.createElement('audio'); |
| | | audio.setAttribute('hidden', true); |
| | | audio.setAttribute('src', src); |
| | | document.body.appendChild(audio); |
| | | audio.addEventListener('ended', function () { |
| | | audio.parentNode.removeChild(audio); |
| | | }, false); |
| | | audio.play(); |
| | | } |
| | | }; |
| | | |
| | | // 不同主题的通知 |
| | | forEach(THEMES, function (theme, name) { |
| | | $iziToast[name] = function (options) { |
| | | var settings = extend(CONFIG, options || {}); |
| | | settings = extend(theme, settings || {}); |
| | | this.show(settings); |
| | | }; |
| | | }); |
| | | |
| | | layui.link(layui.cache.base + 'notice/notice.css'); // 加载css |
| | | exports('notice', $iziToast); |
| | | }); |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/originTable.css" media="all"> |
| | | <style> |
| | | body { |
| | | color: #595959; |
| | | background-color: #f5f7f9; |
| | | } |
| | | |
| | | .admin-form { |
| | | padding: 25px 30px 0 0 !important; |
| | | margin: 0 !important; |
| | | } |
| | | |
| | | /* 权限控制 */ |
| | | #btn-add { |
| | | display: none; |
| | | } |
| | | #btn-delete { |
| | | display: none; |
| | | } |
| | | .btn-edit { |
| | | display: none; |
| | | } |
| | | .btn-more { |
| | | display: none; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <!-- 正文开始 --> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-row layui-col-space15"> |
| | | <!-- 左 --> |
| | | <div class="layui-col-md3" id="left-table"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body" style="padding: 10px;"> |
| | | <form class="layui-form toolbar"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline" style="max-width: 300px;"> |
| | | <input name="orderNo" class="layui-input" placeholder="输入单据编号" autocomplete="off"/> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <button class="layui-btn icon-btn" lay-filter="originTableSearch" lay-submit> |
| | | <i class="layui-icon"></i>搜索 |
| | | </button> |
| | | <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit> |
| | | <i class="layui-icon"></i>重置 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | <table id="originTable" lay-filter="originTable"></table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 右 --> |
| | | <div class="layui-col-md9"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body" style="padding: 10px;"> |
| | | <form class="layui-form toolbar"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">设备编号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input name="uuid" class="layui-input" placeholder="设备编号"/> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <label class="layui-form-label">状态:</label>--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <select name="isOnline">--> |
| | | <!-- <option value="1">充电中</option>--> |
| | | <!-- <option value="1">充电中</option>--> |
| | | <!-- <option value="0">不在充电</option>--> |
| | | <!-- </select>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline">  |
| | | <button class="layui-btn icon-btn" lay-filter="sensorTbSearch" lay-submit> |
| | | <i class="layui-icon"></i>搜索 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | <table id="sensorTable" lay-filter="sensorTable"></table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 头工具栏 --> |
| | | <script type="text/html" id="sensorToolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-add" lay-event="add"><i class="layui-icon"></i>新增</button> |
| | | <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="del"><i class="layui-icon"></i>删除</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <!-- 行工具栏 --> |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="detl" ew-event="popupRight" |
| | | data-type="1" data-window="top" data-area="1250px" data-url="sensor5/sensor_detl.html"> |
| | | <i class="layui-icon"></i>查看</a> |
| | | <a class="layui-btn layui-btn-xs layui-btn-primary btn-edit" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>修改</a> |
| | | </script> |
| | | |
| | | <!-- 行样式 --> |
| | | <script type="text/html" id="hostTpl"> |
| | | <span name="hostId$" class="layui-badge layui-badge-gray">{{d.hostId$}}</span> |
| | | </script> |
| | | <script type="text/html" id="statusTpl"> |
| | | <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="正常|禁用" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}> |
| | | </script> |
| | | |
| | | <!-- 表单弹窗 --> |
| | | <script type="text/html" id="editDialog"> |
| | | <form id="detail" lay-filter="detail" class="layui-form admin-form"> |
| | | <input name="id" type="hidden"> |
| | | <input name="status" type="hidden"> |
| | | <div class="layui-row"> |
| | | |
| | | <div class="layui-col-md4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">设备编号</label> |
| | | <div class="layui-input-block"> |
| | | <input name="uuid" placeholder="请输入设备编号" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-md4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">设备类型:</label> |
| | | <div class="layui-input-block"> |
| | | <div id="modelSel" class="ew-xmselect-tree"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-md4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">所属项目: </label> |
| | | <div class="layui-input-block cool-auto-complete"> |
| | | <input name="hostId" class="layui-input" style="display: none"> |
| | | <input id="hostId$" name="hostId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请选择所属项目" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="hostQueryByhostId" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="hostQueryByhostIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-md12"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">详细地址</label> |
| | | <div class="layui-input-block"> |
| | | <input name="addr" placeholder="请输入详细地址" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div class="layui-col-md12" style="text-align: center"> |
| | | <iframe id="mapIframe" src="map.html" scrolling="no" frameborder="0" |
| | | style="display: inline-block; width: 90%;height: 400px;margin: auto"> |
| | | </iframe> |
| | | </div> |
| | | |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn" lay-filter="editSubmit" lay-submit="">保存</button> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript" src="../../static/js/orderTable.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/order/out.js" charset="utf-8"></script> |
| | | |
| | | <!-- 项目编辑窗口 --> |
| | | <script type="text/html" id="hostEditDialog"> |
| | | <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">项目名称:</label> |
| | | <div class="layui-input-block"> |
| | | <input name="name" placeholder="请输入类型名称" class="layui-input" |
| | | lay-verType="tips" lay-verify="required" required/> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>保存</button> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |