dfish-widget 0.1.348 → 0.1.352

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/util/browser.js","../../../src/util/uid.js","../../../src/util/loc/zh-CN.js","../../../src/util/str.js","../../../src/util/number.js","../../../src/util/date.js","../../../src/util/range.js","../../../src/util/elem.js","../../../src/util/css.js","../../../src/util/snap.js","../../../src/util/json.js","../../../src/util/event.js","../../../src/dfish.js","../../../src/widgets/WidgetAbs.vue","../../../src/widgets/SrcParent.vue","../../../src/widgets/Pop.vue","../../../src/widgets/Pop.vue?vue&type=template&id=784f3f08&lang.js","../../../src/widgets/WidgetBase.vue","../../../src/widgets/Scroll.vue","../../../src/widgets/AlignParent.vue","../../../src/widgets/Horizontal.vue","../../../src/widgets/Vertical.vue","../../../src/widgets/Img.vue","../../../src/template/TemplateAlert.vue","../../../src/template/TemplateAlert.vue?vue&type=template&id=a3a2deb4&lang.js","../../../src/template/TemplateConfirm.vue","../../../src/template/TemplateConfirm.vue?vue&type=template&id=68d2b78a&lang.js","../../../src/template/TemplateTip.vue","../../../src/template/TemplateTip.vue?vue&type=template&id=f92fd636&lang.js","../../../src/widgets/ViewAbs.vue","../../../src/assets/SVGIcon.vue","../../../src/assets/SVGIcon.vue?vue&type=template&id=295361ea&lang.js","../../../src/template/TemplatePreviewMedia.vue","../../../src/template/TemplatePreviewMedia.vue?vue&type=template&id=ee9dc2bc&lang.js","../../../src/template/TemplateDateSheet.vue","../../../src/template/TemplateDateSheet.vue?vue&type=template&id=74a0f61b&lang.js","../../../src/widgets/DocView.vue","../../../src/widgets/View.vue","../../../src/widgets/Dialog.vue","../../../src/widgets/DialogMove.vue","../../../src/widgets/DialogMove.vue?vue&type=template&id=9f3d285c&lang.js","../../../src/widgets/Alert.vue","../../../src/widgets/Confirm.vue","../../../src/widgets/Tip.vue","../../../src/widgets/Button.vue","../../../src/widgets/MenuButton.vue","../../../src/widgets/Menu.vue","../../../src/widgets/Loading.vue","../../../src/widgets/TableAbs.vue","../../../src/widgets/TableFixedLeft.vue","../../../src/widgets/TableFixedRight.vue","../../../src/widgets/Table.vue","../../../src/widgets/TableColumns.vue","../../../src/widgets/TableColumn.vue","../../../src/widgets/PubParent.vue","../../../src/widgets/TableTHead.vue","../../../src/widgets/TableTBody.vue","../../../src/widgets/TableTR.vue","../../../src/widgets/TableTD.vue","../../../src/widgets/TableTH.vue","../../../src/widgets/Grid.vue","../../../src/widgets/SwiperItem.vue","../../../src/widgets/Swiper.vue","../../../src/widgets/ButtonBar.vue","../../../src/widgets/TabButton.vue","../../../src/widgets/Tabs.vue","../../../src/widgets/Tab.vue","../../../src/widgets/Album.vue","../../../src/widgets/SubmitButton.vue","../../../src/widgets/Html.vue","../../../src/widgets/Tree.vue","../../../src/widgets/Label.vue","../../../src/widgets/FormBase.vue","../../../src/widgets/CheckBox.vue","../../../src/widgets/TripleBox.vue","../../../src/widgets/Leaf.vue","../../../src/widgets/PageBar.vue","../../../src/widgets/Split.vue","../../../src/widgets/Toggle.vue","../../../src/widgets/Video.vue","../../../src/widgets/Progress.vue","../../../src/widgets/Calendar.vue","../../../src/widgets/Calendar.vue?vue&type=template&id=a37780d2&lang.js","../../../src/widgets/Timeline.vue","../../../src/widgets/TimelineItem.vue","../../../src/widgets/Picker.vue","../../../src/widgets/Picker.vue?vue&type=template&id=4b866127&lang.js","../../../src/widgets/Hidden.vue","../../../src/widgets/Text.vue","../../../src/widgets/Textarea.vue","../../../src/widgets/CheckBoxGroup.vue","../../../src/widgets/RadioGroup.vue","../../../src/widgets/Radio.vue","../../../src/widgets/Switch.vue","../../../src/util/mime.js","../../../src/widgets/FileUpload.vue","../../../src/widgets/MediaUploadItem.vue","../../../src/widgets/MediaUploadItem.vue?vue&type=template&id=fbfb4322&lang.js","../../../src/widgets/MediaUpload.vue","../../../src/widgets/ImageUpload.vue","../../../src/widgets/Option.vue","../../../src/widgets/Option.vue?vue&type=template&id=1bc8d4e4&lang.js","../../../src/widgets/Spinner.vue","../../../src/widgets/DatePicker.vue","../../../src/widgets/DropBox.vue","../../../src/widgets/PickBox.vue","../../../src/widgets/Password.vue","../../../src/widgets/Range.vue","../../../src/widgets/ComboBox.vue","../../../src/widgets/LinkBox.vue","../../../src/template/TemplateJigsaw.vue","../../../src/template/TemplateJigsaw.vue?vue&type=template&id=4ce89cf2&lang.js","../../../src/widgets/Jigsaw.vue","../../../src/widgets/Form.vue","../../../src/widgets/index.js"],"sourcesContent":["let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: u.indexOf('firefox') > 0,\r\n safari: !chrome && u.indexOf('safari') > 0\r\n}\r\n\r\nif (u.match(/\\bmobile\\b/)) {\r\n r.mobile = true\r\n r.app = location.protocol === 'file:';\r\n let wechat = u.match(/(MicroMessenger)\\/([\\d\\.]+)/i);\r\n if (wechat) r.wechat = {\r\n version: wechat[2].replace(/_/g, '.')\r\n };\r\n let android = u.match(/(Android);?[\\s\\/]+([\\d.]+)?/i);\r\n if (android) {\r\n r.android = true;\r\n r.version = android[2];\r\n r.isBadAndroid = !(/Chrome\\/\\d/.test(window.navigator.appVersion))\r\n }\r\n let iphone = u.match(/(iPhone\\sOS)\\s([\\d_]+)/i)\r\n if (iphone) {\r\n r.ios = r.iphone = true;\r\n r.version = iphone[2].replace(/_/g, '.')\r\n } else {\r\n let ipad = u.match(/(iPad).*OS\\s([\\d_]+)/i)\r\n if (ipad) {\r\n r.ios = r.ipad = true;\r\n r.version = ipad[2].replace(/_/g, '.')\r\n }\r\n }\r\n}\r\n\r\nexport default r\n","let _uidCnt = 0\r\nconst _uidKey = 'uid'\r\nconst _guid = () => (_uidCnt++).toString(36) + ':'\r\n\r\nexport default function(o) {\r\n if (o) {\r\n return o[_uidKey] || (o[_uidKey] = _guid())\r\n }\r\n return _guid()\r\n}","export default {\r\n yes: '是',\r\n no: '否',\r\n none: '无',\r\n to: '至',\r\n jump: '转到',\r\n confirm: '确定',\r\n search: '搜索',\r\n query: '查询',\r\n choose: '选择',\r\n save: '保存',\r\n remove: '删除',\r\n cancel: '取消',\r\n create: '新建',\r\n add: '添加',\r\n edit: '编辑',\r\n finish: '完成',\r\n refresh: '刷新',\r\n operfail: '操作失败',\r\n opertip: '操作提示',\r\n nodata: '暂无数据',\r\n more: '更多',\r\n field: '字段',\r\n close: '关闭',\r\n restore: '还原',\r\n rotate_left: '向左旋转',\r\n rotate_right: '向右旋转',\r\n dialog_max: '最大化',\r\n dialog_min: '最小化',\r\n\r\n detect_zoom: '温馨提示: 你的浏览器可能处于缩放({0}%)状态,这可能影响页面浏览效果,请尝试Ctrl+0重置,并刷新',\r\n no_tip_anymore: '不再提示',\r\n loading: '正在加载',\r\n wait: '请稍候..',\r\n submiting: '数据提交中,请稍候..',\r\n uploading: '正在上传,请稍侯..',\r\n click_preview: '点击预览',\r\n toomuch_wait: '次数过多,请稍候再试',\r\n toomuch_wait_countdown: '次数过多,请稍候再试(<em>{0}</em>)',\r\n preview_orginal_image: '查看原图',\r\n auth_success: '验证成功',\r\n auth_fail: '验证失败',\r\n choose_image: '选择图片',\r\n \r\n\r\n tree_movefail1: '无法移动:目标文件夹和源文件夹相同',\r\n tree_movefail2: '无法移动:目标文件夹是源文件夹的子文件夹',\r\n\r\n internet_error: '[{0} error] {1}<br>网络连接失败,请稍候再试',\r\n server_error: '[{0} error] {1}<br>系统异常,请联系管理员',\r\n preload_error: '获取预装载模板 \"{0}\" 失败',\r\n\r\n page: '页',\r\n page_text: {\r\n first: '首页',\r\n last: '尾页',\r\n next: '下页',\r\n prev: '上页'\r\n },\r\n\r\n print_preview: '打印预览',\r\n\r\n placeholder_input: '请输入{0}',\r\n placeholder_select: '请选择{0}',\r\n\r\n pulldown_refresh: '下拉刷新',\r\n release_refresh: '释放刷新',\r\n pullup_refresh: '上拉显示更多',\r\n pullup_nomore: '没有更多了',\r\n\r\n download_start: '开始下载..',\r\n download_complete: '下载完成',\r\n download_cannotopen: '无法打开此文件',\r\n download_fail: '下载失败',\r\n\r\n tab_close: '关闭标签',\r\n tab_close_others: '关闭其他标签',\r\n tab_close_all: '关闭全部标签',\r\n\r\n sort_asc: '升序',\r\n sort_desc: '降序',\r\n sort_cancel: '取消排序',\r\n column_choose: '选择列',\r\n\r\n connection_not_wifi: '您当前处于非wifi网络环境下,继续使用可能产生流量,确定继续吗?',\r\n\r\n debug: {\r\n sorry: '很抱歉,系统发生了错误',\r\n view_more: '点击“确定”,可在新窗口查看详细错误信息',\r\n no_command: '视图中没有定义此命令: {0}\\nview path: {1}',\r\n no_combo: '选项列表(或树)没有设置combo参数\\nname: {0}',\r\n error_template_type: '{0}\\n请把此模板类型改为 \"{1}\"',\r\n error_type: 'type错误或丢失\\n{0}',\r\n tmpl_method_undefined: '\"{0}\" 方法不存在'\r\n },\r\n\r\n form: {\r\n required: '{0}不能为空',\r\n onlyone: '{0的}只能选择一条记录',\r\n maxLength: '{0的}字符长度超出了{1}个字节',\r\n reach_maxLength: '已到达可输入的最大字符长度',\r\n over_maxLength: '字符长度超出了{0}个字节',\r\n minLength: '{0}不能少于{1}个字节',\r\n maxValue: '{0}最大值为{1}',\r\n minValue: '{0}最小值为{1}',\r\n maxSize: '{0}最多选择{1}项',\r\n minSize: '{0}最少选择{1}项',\r\n pattern: '{0}格式不符合规范,或包含非法字符',\r\n password_weak: '弱',\r\n password_middle: '中',\r\n password_strong: '强',\r\n number_invalid: '{0}不是一个有效数字',\r\n number_integer: '{0}请填入一个整数',\r\n number_decimal_digit: '{0的}小数位不能超过{1}位',\r\n step_max_value: '已到达最大值',\r\n step_min_value: '已到达最小值',\r\n time_exceed: '{0的}年份超出有效范围。有效年份:{1}年 至 {2}年',\r\n time_format: '{0的}时间格式错误。正确格式范例:{1}',\r\n period_invalid: '{0的}起始时间应早于结束时间',\r\n beforeNow: '{0}不能大于当前时间',\r\n afterNow: '{0}不能小于当前时间',\r\n compare: '{0}需要满足条件:{1} {2} {3}',\r\n invalid_option: '存在无效选项',\r\n need_valid_option: '请输入一个有效选项',\r\n choose_atleastone: '请至少选择一项',\r\n complete_required: '请完成必填项',\r\n jigsaw_drag_right: '向右拖动滑块填充拼图',\r\n jigsaw_required: '请完成滑块验证',\r\n jigsaw_errorimg: '图片数据异常',\r\n upload_loading: '正在上传,请稍候..',\r\n upload_invalid_file: '无效文件',\r\n no_files: '<没有文件>',\r\n upload_error: '(上传失败)',\r\n upload_limit: '上传数量超过上限(最多{0}个)',\r\n upload_invalid_file_type: '无效的文件类型:<br>{0}',\r\n upload_invalid_data: '错误的文件数据格式:<br>{0}',\r\n upload_no_data: '缺少文件数据',\r\n upload_maxfilesize: '上传失败: {0}<br><br>文件大小不能超过{1}',\r\n upload_minfilesize: '上传失败: {0}<br><br>文件大小不能小于{1}'\r\n },\r\n\r\n year: '年',\r\n month: '月',\r\n day: '日',\r\n sky: '天',\r\n hour: '时',\r\n minute: '分',\r\n second: '秒',\r\n\r\n calendar: {\r\n now: '现在',\r\n today: '今天',\r\n weeknow: '本周',\r\n monthnow: '本月',\r\n yearnow: '本年',\r\n day_title: ['日', '一', '二', '三', '四', '五', '六'],\r\n day_title_1: [ '一', '二', '三', '四', '五', '六','日'],\r\n y: '{0}<span>年</span>',\r\n monthname: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n backdate: '返回日期',\r\n picktime: '选择时间',\r\n H: '时',\r\n m: '分',\r\n s: '秒'\r\n },\r\n\r\n error: '错误',\r\n\r\n ps(a, ...args) {\r\n if (a) {\r\n a = a.replace(/\\{(\\d+)([^\\d]+)?\\}/g, function($0, $1, $2) {\r\n let d = args[parseFloat($1)]\r\n return d == null || d == '' ? '' : $2 ? d + $2 : d\r\n })\r\n }\r\n return a\r\n },\r\n \r\n end: '结束'\r\n\r\n}\r\n","import lodash from 'lodash'\r\n\r\nconst strTrim = (a) => String(a).replace(/^\\s+|\\s+$/g, '')\r\n\r\n// @a -> str, b -> no html entities?\r\nconst strQuot = (a, b) => {\r\n\ta = String(a)\r\n\tb && (a = a.replace(/<[^>]+>/g, ''))\r\n\treturn a.replace(/\\\"/g, '&quot;')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\n\r\nexport {strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","import {strFrom, strTo} from './str.js'\r\n\r\nconst number = (a) => {\r\n var r = typeof a === 'string' ? parseFloat(a.replace(/[^\\d\\.-]|\\b-/g, '')) : +a\r\n return isNaN(r) ? 0 : r\r\n}\r\n// 判断是否数字\r\nconst isNumber = (a) => a != null && !isNaN(a)\r\n\r\n// 如果 a 的大小在 b 和 c 之间,则返回 a。否则返回 b 或 c\nconst numRange = function(a, b, c) {\n\treturn a == null ? ((b || b === 0) ? b : (c || c === 0) ? c : a) : ((b || b === 0) && a < b) ? b : ((c || c === 0) && a > c) ? c : a\n}\n// js小数相加运算出现多位小数的解决办法\nconst numAdd = function(...args) {\r\n let m = 0\r\n let r = 0\r\n args.forEach(a => {\r\n m = Math.max(m, strFrom(a + '', '.').length)\r\n r += a\r\n })\r\n m = Math.pow(10, m)\n\treturn Math.round(r * m) / m\n}\n// 给数字加上分隔符 /@a -> str, b -> length?, c -> separator?, d -> rightward?\nconst numFormat = function(a, b, c, d) {\n\ta = String(a);\n\tb == null && (b = 3);\n\tc == null && (c = ',');\n\tlet e = a.replace(/[^.\\d]/g, '').split('.'), s = e[0], l = s.length, i = d ? 0 : l, t = '', n = a.charAt(0) === '-' ? '-' : '';\n\tif (d) {\n\t\tdo {\n\t\t\ti += b;\n\t\t\tt += (i < l ? s.substr(i - b, b) + c : s.substr(i - b));\n\t\t} while (i < l);\n\t} else {\n\t\tdo {\n\t\t\ti -= b;\n\t\t\tt = (i > 0 ? c + s.substr(i, b) : s.substr(0, b + i)) + t;\n\t\t} while (i > 0);\n\t}\n\treturn n + t + (e.length > 1 ? '.' + strFrom(a, '.').replace(RegExp('[.' + c + ']', 'g'), '') : '');\n}\n// 调整小数位数\nconst numDecimal = function(a, b) {\n\tif (!b) {\n\t\treturn a;\n\t} else if (b < 0) {\n\t\treturn a;\n\t} else {\n\t\tvar f = strFrom('' + a, '.');\n\t\treturn f ? strTo('' + a, '.') + '.' + f.slice(0, b) : a\n\t}\n}\r\n\r\nexport {number, isNumber, numRange, numAdd, numFormat, numDecimal}","import {\r\n number\r\n} from './number.js'\r\nimport {\r\n strPad\r\n} from './str.js'\r\n\r\n// 一天的毫秒数\r\nconst _date_D = 86400000\r\n\r\n// 标准格式化字符串\r\nconst _date_sf = 'yyyy-MM-dd HH:mm:ss'\r\n\r\n// 格式化日期\r\nconst dateFormat = function(a, b) {\r\n if (typeof a === 'string')\r\n a = dateParse(a, b);\r\n let o = {\r\n y: a.getFullYear(),\r\n m: a.getMonth(),\r\n d: a.getDate(),\r\n h: a.getHours(),\r\n i: a.getMinutes(),\r\n s: a.getSeconds(),\r\n w: (a.getDay() || 7)\r\n }\r\n return (b || _date_sf).replace('yyyy', o.y).replace('MM', strPad(o.m + 1)).replace('dd', strPad(o.d)).replace('HH',\r\n strPad(o.h))\r\n .replace('mm', strPad(o.i)).replace('ss', strPad(o.s))\r\n .replace('M', o.m + 1).replace('d', o.d).replace('H', o.h).replace('m', o.i).replace('s', o.s)\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n if (/^\\d{4}-\\d{2}-\\d{2}(?: \\d{2}:\\d{2}(?::\\d{2})?)?$/.test(a))\r\n return new Date(a.replace(/-/g, '/'));\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0\\$1');\r\n b = (b || _date_sf).replace(/\\b([MdHms])\\b/g, '\\$1\\$1');\r\n var c, y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date().getFullYear()),\r\n M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0,\r\n d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1,\r\n H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0,\r\n m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0,\r\n s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0;\r\n return new Date(y, M, d, H, m, s)\r\n}\r\n\r\n// 日期增减 /@ a -> date, b -> type enum (y/M/d/H/m/s), c -> value\r\nconst dateAdd = function(a, b, c) {\r\n c = number(c)\r\n let e = new Date(a.getTime())\r\n if (b === 'y')\r\n e.setFullYear(a.getFullYear() + c)\r\n else if (b === 'M')\r\n e.setMonth(e.getMonth() + c)\r\n else if (b === 'd')\r\n e.setDate(e.getDate() + c)\r\n else if (b === 'H')\r\n e.setHours(e.getHours() + c)\r\n else if (b === 'm')\r\n e.setMinutes(e.getMinutes() + c)\r\n else if (b === 's')\r\n e.setSeconds(e.getSeconds() + c)\r\n if ((b === 'y' || b === 'M') && e.getDate() != a.getDate())\r\n e = new Date(e.getTime() - e.getDate() * _date_D)\r\n return e\r\n}\r\n\r\n// 取得一个日期对象的week相关信息。返回一个包含四个元素的数组,【 年份,第几周,周一的日期,周日的日期 】\r\n// @a -> date, b -> 周的重心(星期几), c -> 周的第一天(星期几)\r\nconst dateWeek = function(a, b = 1, c = 1) {\r\n let w = a.getDay() || 7\r\n let d = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + b)\r\n let e = Math.ceil((d - new Date(d.getFullYear(), 0, 0)) / _date_D)\r\n let f = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + c)\r\n return [d.getFullYear(), Math.floor((e + 6) / 7), f, new Date(f.getTime() + (7 * _date_D) - 1)]\r\n}\r\n\r\n// 判断一个字符串格式的日期是否正确 /@ a -> date string, b -> date format string\r\nconst dateValid = function(a, b) {\r\n a = a.replace(/\\b(\\d)\\b/g, '0$1')\r\n let d = dateParse(a, b),\r\n y = d.getFullYear()\r\n return y >= 1000 && y <= 9999 && a == dateFormat(d, b)\r\n}\r\n\r\nconst dateDiff = function(a, b = new Date, c) {\r\n if (typeof a === 'string') a = dateParse(a)\r\n if (typeof b === 'string') b = dateParse(b)\r\n if (a >= b) return 0\r\n switch (c) {\r\n case 'y':\r\n var e = b.getFullYear() - a.getFullYear(),\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n var y = _dateDiff(a, b, 'y'),\r\n z = dateAdd(a, 'y', y)\r\n e = z.getFullYear() < b.getFullYear() ? b.getMonth() + 11 - z.getMonth() : b.getMonth() - z.getMonth()\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e + y * 12\r\n case 'H':\r\n return Math.floor((b - a) / (60 * 60 * 1000))\r\n case 'm':\r\n return Math.floor((b - a) / (60 * 1000))\r\n case 's':\r\n return Math.floor((b - a) / 1000)\r\n default: // 'd' 日期类型为默认\r\n return Math.floor((b - a) / _date_D)\r\n }\r\n}\r\n\r\nconst dateSheet = function(...args) {\r\n return $.docView.dateSheet(...args)\r\n}\r\n\r\nexport {\r\n dateFormat,\r\n dateParse,\r\n dateAdd,\r\n dateValid,\r\n dateDiff,\r\n dateSheet,\r\n}\n","if (window.Range && !Range.prototype.movePoint) {\r\n if (Range.prototype.__defineGetter__) {\r\n Range.prototype.__defineGetter__('text', function() {\r\n return this.toString()\r\n });\r\n Range.prototype.__defineSetter__('text', function(a) {\r\n this.deleteContents()\r\n this.insertNode(document.createTextNode(a))\r\n });\r\n }\r\n Range.prototype.movePoint = function(a, b) {\r\n var c = this.startContainer.firstChild || this.startContainer,\r\n d, i = a,\r\n l = 0,\r\n b = b == null ? a : b;\r\n do {\r\n this.selectNodeContents(c);\r\n l = this.toString().length;\r\n i -= l;\r\n } while (i > 0 && (c = c.nextSibling));\r\n c = d = this.startContainer;\r\n i += l;\r\n var j = b - a + i,\r\n l = 0;\r\n do {\r\n this.selectNodeContents(d);\r\n l = this.toString().length;\r\n j -= l;\r\n } while (j > 0 && (d = d.nextSibling));\r\n this.setStart(c.firstChild || c, i);\r\n if (d) {\r\n var e = d;\r\n while (e.firstChild) e = e.firstChild;\r\n this.setEnd(e, l + j);\r\n }\r\n };\r\n Range.prototype.select = function() {\r\n let s = window.getSelection()\r\n s.removeAllRanges()\r\n s.addRange(this)\r\n };\r\n}\r\n\r\nconst rngSelection = function() {\r\n let s = window.getSelection()\r\n return s.rangeCount && s.getRangeAt(0)\r\n}\r\nconst rngElement = function() {\r\n let s = rngSelection()\r\n return s && s.startContainer.parentNode\r\n}\r\nconst rngCursor = function(a, b) {\r\n let r = a\r\n if (window.getSelection) {\r\n if (typeof a.selectionStart === 'number' && typeof a.selectionEnd === 'number') {\r\n a.selectionStart = a.selectionEnd = b != null ? b : a.value.length\r\n } else {\r\n let s = window.getSelection()\r\n if (a.nodeType === 1)\r\n (r = document.createRange()).selectNodeContents(a)\r\n if (b != null)\r\n r.movePoint(b)\r\n s.removeAllRanges()\r\n s.addRange(r)\r\n s.collapseToEnd()\r\n }\r\n }\r\n return r\r\n}\r\nconst rngCursorOffset = function() {\r\n let n = rngSelection()\r\n let c = n.startOffset\r\n if (c != null)\r\n return c\r\n let r = document.body.createTextRange()\r\n r.selectNodeContents(n.startContainer.parentNode)\r\n r.setEndPoint('EndToStart', n)\r\n return rngText(r).length\r\n}\r\n// @a ->range, b -> text?\r\nconst rngText = function(a, b) {\r\n if (a == null)\r\n a = rngSelection()\r\n if (b != null) {\r\n if (a.deleteContents) {\r\n a.deleteContents()\r\n a.insertNode(document.createTextNode(b))\r\n } else {\r\n a.text = b\r\n }\r\n }\r\n return a.text === undefined ? a.toString() : a.text\r\n}\r\n\r\nexport {\r\n rngSelection,\r\n rngElement,\r\n rngCursor,\r\n rngCursorOffset,\r\n rngText\r\n}\n","import jquery from 'jquery'\r\n\r\nconst _adjacent_where = ['afterend', 'afterbegin', 'beforebegin', 'beforeend']\nconst _adjacent_query = ['after', 'prepend', 'before', 'append']\r\n// 创建一个div /@ s -> html\nconst _div = function(s) {\n\tlet o = document.createElement('div')\n\tif (s) o.innerHTML = s\n\ttry {return o} catch(e) {return false}\n\tfinally {o = null}\n}\r\nconst frag = function(s) {\n\tlet d = typeof s === 'string' ? _div(s) : s\r\n let f = document.createDocumentFragment()\n\twhile (d.firstChild)\n\t\tf.appendChild(d.firstChild);\n\ttry {return f} catch(e) {return false}\n\tfinally {d = f = null}\n}\r\n\r\nconst el = function(o) {\r\n if (o) {\r\n return o.isWidget ? o.el() : o\r\n }\r\n}\n// o -> el, s -> html string/object, r -> where[`after`, `prepend`, `before`, `append`]\nconst html = function(o, s, r) {\n\tif (r == null) {\n\t\tif (s == null) return o.innerHTML\n\t\ttry {o.innerHTML = s} catch(ex) {\n\t\t\twhile (o.firstChild)\n\t\t\t\to.removeChild(o.firstChild)\n\t\t\thtml(o, s, 3)\n\t\t}\n\t} else {\n\t\tlet b\n\t\tif (typeof s === 'string') {\n\t\t\ttry {\n\t\t\t\to.nodeType === 3 ? jquery(o)[_adjacent_query[r]](s) : o.insertAdjacentHTML(_adjacent_where[r], s)\n\t\t\t} catch (ex) {\n\t\t\t\thtml(o, frag(s), r)\n\t\t\t}\n\t\t} else {\n\t\t\tlet p = r % 2 ? o : o.parentNode\n\t\t\tp && p.insertBefore(s, r === 0 ? o.nextSibling : r === 1 ? o.firstChild : r === 2 ? o : null)\n\t}\n\t}\n}\nconst append = function(o, s) {html(o, s, 3); return o.lastElementChild || o.lastChild}\nconst prepend = function(o, s) {html(o, s, 1); return o.firstElementChild || o.firstChild}\nconst before = function(o, s) {html(o, s, 2); return o.previousElementSibling || o.previousSibling}\nconst after = function(o, s) {html(o, s, 0); return o.nextElementSibling || o.nextSibling}\nconst replaceWith = function(o, s) {\n\tlet a = o.nextSibling\n\tif (a) {\n\t\to.parentNode.removeChild(o)\n\t\treturn before(a, s)\n\t} else {\n\t\tlet p = o.parentNode\n\t\tp.removeChild(o)\n\t\treturn append(p, s)\n\t}\n}\r\n\r\nexport {el, html, append, prepend, before, after, replaceWith}","import {number} from './number.js'\r\nimport {strFrom, strTo} from './str.js'\r\n\r\nconst _css_camelize = (function() {\n\tlet b = {'float' : 'cssFloat'}\n\treturn function(s) {\n\t\treturn b[s] || s.replace(/-./g, function($0) {return $0.charAt(1).toUpperCase()});\n\t}\n})()\r\n\r\n// @o -> el, n -> name, v -> value\nconst _set_style = function(o, n, v) {\n\t// 如属性名前面带 += 号,则执行 += 操作\n\tif (typeof v === 'string' && v.charAt(1) === '=') {\n\t\tvar\tn = _css_camelize(n),\n\t\t\tc = o.style[n] || getComputedStyle(o, null)[n],\n\t\t\tv = number(v.replace('=', ''))\n\t\tif (n === 'width' || n === 'height') {\n\t\t\tc = number(c && c !== 'auto' ? c : n.charAt(0) === 'w' ? o.offsetWidth : o.offsetHeight);\n\t\t\tif (c < 0) c = 0;\n\t\t} else\n\t\t\tc = number(c);\n\t\to.style[n] = (c + v) + (n === 'zIndex' ? 0 : 'px');\n\t} else {\n\t\tn = _css_camelize(n);\n\t\tif (n === 'width' || n === 'height')\n\t\t\tv && v !== 'auto' && (v = Math.max(_number(v), 0));\n\t\tif (v && !isNaN(v) && n !== 'zIndex')\n\t\t\tv += 'px';\n\t\to.style[n] = v;\n\t}\n\treturn o;\n}\r\n\r\nconst css = function(o, s, n) {\n\tif (!o || !s)\n\t\treturn null;\n\tif (n != null) {\n\t\tfor (var i = 1, l = arguments.length; i < l; i += 2)\n\t\t\t_set_style(o, arguments[i], arguments[i + 1]);\n\t} else {\n\t\tif (typeof s === 'string') {\n\t\t\tif (s.indexOf(':') > 0) {\n\t\t\t\tfor (var i = 0, b = s.split(';'), l = b.length, k, v; i < l; i ++)\n\t\t\t\t\t(k = strTo(b[i], ':')) && (v = strFrom(b[i], ':')) && _set_style(o, k, v);\n\t\t\t} else\n\t\t\t\treturn o.style[s] || getComputedStyle(o, null)[s];\n\t\t}\n\t\tfor (var i in s) _set_style(o, i, s[i]);\n\t}\n}\r\n\r\nexport {css}","import {number, isNumber} from './number.js'\r\nimport {css} from './css.js'\r\n\r\nconst T = true\r\nconst F = false\r\nconst N = null\r\nconst doc = document\r\nconst cvs = document.documentElement\r\n\r\nconst _arr_comma = a => a.split(',')\r\n\r\nconst _snaptype = {\n\th : _arr_comma('21,12,34,43'),\n\tv : _arr_comma('41,14,32,23'),\n\ta : _arr_comma('41,32,14,23,21,34,12,43,11'),\n\tt: ['tt'], b: ['bb'], l: ['ll'], r: ['rr'], top: ['tt'], bottom: ['bb'], left: ['ll'], right: ['rr'],\n\ttl: ['11'], tr: ['22'], rt: ['22'], rb: ['33'], br: ['33'], bl: ['44'], lb: ['44'], lt: ['11'],\n\t'1': ['11'], '2': ['22'], '3': ['22'], '4': ['33'], '5': ['33'], '6': ['44'], '7': ['44'], '8': ['11']\n}\r\n\nconst _snapMag = (function() {\n\tvar r = [23,32,12,43,22,33,'rr','lr'], b = [14,23,34,43,33,44,'bb','tb'], i, o = {pix: {r:{}, b:{}}, mag: {l:{}, r:{}, t:{}, b:{}}, inner:{}};\n\ti = r.length; while (i --) o.pix.r[r[i]] = T;\n\ti = b.length; while (i --) o.pix.b[b[i]] = T;\n\tvar r = [21,34,22,33,'rr','rl'], b = [41,32,44,33,'bt','bb'], l = [12,43,11,44,'lr','ll'], t = [14,23,11,22,'tb','tt'];\n\ti = r.length; while (i --) o.mag.r[r[i]] = T;\n\ti = b.length; while (i --) o.mag.b[b[i]] = T;\n\ti = l.length; while (i --) o.mag.l[l[i]] = T;\n\ti = t.length; while (i --) o.mag.t[t[i]] = T;\n\tvar r = [11,22,33,44,'tt','bb','ll','rr'];\n\ti = r.length; while (i --) o.inner[r[i]] = T;\n\treturn o;\n})()\r\n\r\nconst canvasOffset = function(o) {\n\tvar a = bcr(o);\n\ta.right = cvs.clientWidth - a.right;\n\ta.bottom = cvs.clientHeight - a.bottom;\n\treturn a;\n}\r\n\r\nconst offset = function(a, b) {\n\tlet r = {top: 0, left: 0, width: a.offsetWidth, height: a.offsetHeight}\n\tdo {\n\t\tr.top += a.offsetTop\r\n r.left += a.offsetLeft\n\t} while((a = a.offsetParent) && b != a)\n\treturn r\n}\r\n\r\nconst bcr = function(a) {\n\tvar b = cvs.clientLeft, c = cvs.scrollLeft, d = cvs.clientTop, e = cvs.scrollTop, o = a && a != doc && (a.isWidget ? a.el() : a), r = o && o.getBoundingClientRect();\n\treturn r ? {left : r.left - b + c, top : r.top - d + e, right : r.right - b + c, bottom : r.bottom - d + e, width : r.width, height : r.height} :\n\t\ta == document ? {left: c, top: e, right: cvs.clientWidth + c, bottom: cvs.clientHeight + e, width: cvs.clientWidth, height: cvs.clientHeight} : N;\n}\r\n\n// 获取对齐吸附模式的位置参数。元素四个角,左上为1,右上为2,右下为3,左下为4。目标元素在前,浮动元素在后。如\"41\"代表目标元素的左下角和浮动元素的左上角粘合。\n// @ a -> width, b -> height, c -> toObj offset, d -> adsorb type, e - > fit?[是否自动选择位置,让可见区域最大化], f -> indent[缩进多少像素], u -> range?[浮动元素的限定范围元素]\nconst snap = function(a, b, c, d, e, f, u) {\n\tif (!c)\n\t\tc = bcr(doc);\n\telse if (c.nodeType)\n\t\tc = bcr(c);\n\telse if (c.isWidget)\n\t\tc = bcr(c.el());\n\telse if (c.originalEvent || c.clientX != N) {\n\t\tc = c.originalEvent || c;\n\t\tc = {left: c.clientX, right: c.clientX, top: c.clientY, bottom: c.clientY};\n\t}\n\tvar t = [], l = [], g, h, k = -1, f = number(f), ew = cvs.clientWidth, eh = cvs.clientHeight,\n\t\ts = d ? (_snaptype[d] || ('' + d).split(',')) : _snaptype.a;\n\tif (/[1-4]/.test(s[0])) {// 1-4是边角对齐 .\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = + s[i].charAt(0), h = + s[i].charAt(1);\n\t\t\tt.push((g === 1 || g === 2 ? c.top : c.bottom) - (h === 3 || h === 4 ? b : 0));\n\t\t\tl.push((g === 1 || g === 4 ? c.left : c.right) - (h === 2 || h === 3 ? a : 0));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 计算可见面积,取最大的那个\n\t\t\t\tvar ot = t[i] < 0 ? -t[i] : 0,\n\t\t\t\t\tor = l[i] + a > ew ? l[i] + a - ew : 0,\n\t\t\t\t\tob = t[i] + b > eh ? t[i] + b - eh : 0,\n\t\t\t\t\tol = l[i] < 0 ? -l[i] : 0;\n\t\t\t\tm = s[i] === '14' || s[i] === '34' ? (a-or)*(b-ot) : s[i] === '23' || s[i] === '43' ? (a-ol)*(b-ot) :\n\t\t\t\t\ts[i] === '32' || s[i] === '12' ? (a-ol)*(b-ob) : (a-or)*(b-ob);\n\t\t\t\tif (!n || n < m) {\n\t\t\t\t\tn = m;\n\t\t\t\t\tk = i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {// t r b l 是边线中点对齐 .\r\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = s[i].charAt(0), h = s[i].charAt(1);\r\n\t\t\tt.push((g === 'r' || g === 'l' || g === 'c' ? (c.top + c.bottom) / 2 : (g === 't' ? c.top : c.bottom)) - (h === 'r' || h === 'l' || h === 'c' ? b / 2 : (h === 'b' ? b : 0)));\n\t\t\tl.push((g === 't' || g === 'b' || g === 'c' ? (c.left + c.right) / 2 : (g === 'r' ? c.right : c.left)) - (h === 't' || h === 'b' || h === 'c' ? a / 2 : (h === 'r' ? a : 0)));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else if (o || p) {\n\t\t\t\tif (d) {\n\t\t\t\t\tm = d == _snaptype.v ? (g == 1 || g == 2 ? - t[i] : t[i] + b - eh) : (g == 1 || g == 4 ? - l[i] : l[i] + a - ew);\n\t\t\t\t\tif (!n || n > m) {\n\t\t\t\t\t\tn = m;\n\t\t\t\t\t\tk = i;\n\t\t\t\t\t}\n\t\t\t\t} else if (k < 0)\n\t\t\t\t\tk = i;\n\t\t\t}\n\t\t}\n\t}\r\n\tif (k < 0) k = 0;\n\tvar y = s[k], o = {left : l[k], top : t[k], bottom: eh - (t[k] + b), right: ew - (l[k] + a), type : y};\n\t_snapMag.pix.r[y] && (o.pix_r = T);\n\t_snapMag.pix.b[y] && (o.pix_b = T);\n\t_snapMag.mag.r[y] && (o.mag_r = T, o.mag = 'r');\n\t_snapMag.mag.b[y] && (o.mag_b = T, o.mag = 'b');\n\t_snapMag.mag.l[y] && (o.mag_l = T, o.mag = 'l');\n\t_snapMag.mag.t[y] && (o.mag_t = T, o.mag = 't');\n\t_snapMag.inner[y] && (o.inner = T);\r\n\tif (f && o.mag) {\n\t\tif (o.inner) {\n\t\t\to.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);\n\t\t} else {\n\t\t\to.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);\n\t\t}\n\t}\n\tif (e) {// 自适应位置\n\t\tvar l = o.left, r = o.right, b = o.bottom, t = o.top;\r\n\t\tif (o.mag_t || o.mag_b) {\n\t\t\tif (o.pix_r)\n\t\t\t\tr = Math.max(0, l < 0 ? r + l : r), l += o.right - r;\n\t\t\telse\n\t\t\t\tl = Math.max(0, r < 0 ? r + l : l), r += o.left - l;\n\t\t}\n\t\tif (o.mag_l || o.mag_r) {\n\t\t\tif (o.pix_b)\n\t\t\t\tb = Math.max(0, t < 0 ? b + t : b), t += o.bottom - b;\n\t\t\telse\n\t\t\t\tt = Math.max(0, b < 0 ? b + t : t), b += o.top - t;\n\t\t}\n\t\to.left = l, o.right = r, o.top = t, o.bottom = b;\n\t}\n\tif (d === 'cc' && o.top < 0)\n\t\to.top = 0;\n\tif (u) {\r\n\t\tvar s = canvasOffset(u);\n\t\to.top -= (s.top);\n\t\to.left -= (s.left);\n\t\to.right -= (s.right);\n\t\to.bottom -= (s.bottom);\r\n\t}\n\to.width = a;\n\to.height = b;\n\to.target = c;\n\treturn o;\n}\r\n\r\n// @a -> el, b -> snap option\nconst snapTo = function(a, b) {\n\tvar e = b.type;\n\tif (e) {\n\t\tif (b.pix_r) {\n\t\t\ta.style.right = b.right + 'px';\n\t\t\ta.style.left = '';\n\t\t} else {\n\t\t\ta.style.left = b.left + 'px';\n\t\t\ta.style.right = '';\n\t\t}\n\t\tif (b.pix_b) {\n\t\t\ta.style.bottom = b.bottom + 'px';\n\t\t\ta.style.top = '';\n\t\t} else {\n\t\t\ta.style.top = b.top + 'px';\r\n\t\t\ta.style.bottom = '';\n\t\t}\n\t} else\n\t\tcss(a, b)\n}\r\n\r\nexport {bcr, offset, snap, snapTo}\n","// 最后一个属性是数组 / a -> obj, b -> target\n// example: _jsonArray(obj, target, 'a', 'b');\n// 等同于: target['a']['b'].push(obj);\nconst jsonArray = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1; i < l; i ++)\n\t\tb = b[arguments[i]] || (b[arguments[i]] = {});\n\t(b[arguments[l]] || (b[arguments[l]] = [])).push(a);\n\treturn b[arguments[l]];\n}\r\n\n// example: _jsonChain(obj, target, 'a', 'b');\n// 等同于: target['a']['b'] = obj;\nconst jsonChain = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1, c = b; i < l; i ++)\n\t\tc = c[arguments[i]] || (c[arguments[i]] = {});\n\tc[arguments[l]] = a;\n\treturn c;\n}\r\n\r\nexport {jsonArray, jsonChain}","import {strFrom, strTo } from './str.js'\r\nimport {jsonArray} from './json.js'\r\nimport br from './browser.js'\r\nimport uid from './uid.js'\r\nimport lodash from 'lodash'\r\n\r\nconst _EventUser = {}\r\nconst _event_remove = function(k) {\r\n if (k.fn) {\r\n lodash.pull(_EventUser[k.id][k.type], k)\r\n k.type = k.fn = k.pvdr = k.args = null\r\n }\r\n}\r\nconst _event_name = function(a) {\r\n return a.indexOf('.') > -1 ? strTo(a, '.') : a\r\n}\r\nconst _event_space = function(a) {\r\n return a.indexOf('.') > -1 ? '.' + strFrom(a, '.').split('.').sort().join('.') + '.' : ''\r\n}\r\nconst _event_handlers = function(a, b) {\r\n var c = _EventUser[uid(a)];\r\n if (!c) return;\r\n var type = _event_name(b),\r\n ns = _event_space(b);\r\n if (type) {\r\n return c[type] && (ns ? c[type].filter(v => v.ns.indexOf(ns) > -1) : c[type])\r\n }\r\n var r = [];\r\n for (type in c) {\r\n r.push.apply(r, c[type].filter(v => v.ns.indexOf(ns) > -1))\r\n }\r\n return r;\r\n}\r\n\r\nclass EventListener {\r\n hasEvent(type) {\r\n let a = _event_handlers(this, type)\r\n return a && a.length\r\n }\r\n // type -> event type, fn -> fn, pvdr -> context, one -> exec once [T/F]\r\n addEvent(type, fn, pvdr, one) {\r\n var k = {\r\n id: uid(this),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\r\n pvdr: pvdr,\r\n one: one\r\n };\r\n jsonArray(k, _EventUser, k.id, k.type).ori = true\r\n return this;\r\n }\r\n addEventOnce(type, fn, pvdr) {\r\n return this.addEvent(type, fn, pvdr, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this, e.type || e);\r\n if (a) {\r\n for (var i = 0, k, l = a.length, v; i < l; i++) {\r\n if ((k = a[i]) && k.fn) {\r\n v = k.fn.apply(k.pvdr || this, r ? [e].concat(r) : [e]);\r\n if (k.one) {\r\n _event_remove(k);\r\n a.ori && (i--, l--);\r\n }\r\n if (v !== undefined)\r\n return v;\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n // a -> event type, b -> fn, c -> pvdr\r\n removeEvent(a, b, c) {\r\n if (a) {\r\n var d = _event_handlers(this, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (b ? (d[i].fn === b && (!c || c === d[i].pvdr)) : c ? c === d[i].pvdr : T) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this)];\r\n }\r\n return this;\r\n }\r\n}\n\r\nconst eventX = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientX : e.clientX\r\n}\r\n\r\nconst eventY = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientY : e.clientY\r\n}\r\n\r\nconst moveup = function(moveCB, upCB, downEv) {\r\n let moveHdl, upHdl, dir = downEv == null,\r\n cvs = document.documentElement,\r\n evX = e => e.targetTouches ? e.targetTouches[0].clientX : e.clientX,\r\n evY = e => e.targetTouches ? e.targetTouches[0].clientY : e.clientY,\r\n prevent = e => e.preventDefault()\r\n cvs.style.userSelect = 'none'\r\n cvs.addEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl = function(e) {\r\n dir ? moveCB(e) :\r\n downEv && (Math.abs(evX(e) - evX(downEv)) > 1 || Math.abs(evY(e) - evY(downEv)) > 1) && (dir = true)\r\n }, true);\r\n cvs.addEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl = function(e) {\r\n cvs.removeEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl, true)\r\n cvs.removeEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl, true)\r\n cvs.style.userSelect = ''\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {\r\n passive: false\r\n });\r\n dir && upCB && upCB(e)\r\n }, true)\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {\r\n passive: false\r\n })\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","import lodash from 'lodash'\r\nimport jquery from 'jquery'\r\nimport http from 'axios'\r\nimport Qs from 'qs'\r\n\r\nimport br from './util/browser.js'\r\nimport uid from './util/uid.js'\r\nimport loc from './util/loc/zh-CN.js'\r\nimport {number, isNumber, numRange, numAdd, numFormat, numDecimal} from './util/number.js'\r\nimport {strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet} from './util/date.js'\r\nimport {rngSelection, rngElement, rngCursor, rngCursorOffset, rngText} from './util/range.js'\r\nimport {el, html, append, prepend, before, after, replaceWith} from './util/elem.js'\r\nimport {bcr, offset, snap, snapTo} from './util/snap.js'\r\nimport {EventListener, eventX, eventY, moveup} from './util/event.js'\r\n\r\n\r\nfunction $(o) {\r\n if (!o) return\r\n if (('isWidget' in o) && o.isWidget) return o\r\n if (o.$attrs && o.$attrs.templateWrapper) {\r\n return $.vueCache[o.$attrs.templateWrapper.uid]\r\n }\r\n if (o.uid) return $.vueCache[o.uid]\r\n if (o instanceof Event) {\r\n o = o.currentTarget || o.target\r\n }\r\n if (o.$el) {\r\n o = o.$el\r\n if (o.nodeType === 3)\r\n o = o.nextElementSibling\r\n }\r\n if (lodash.isElement(o)) {\r\n do {\r\n if (o.id) {\r\n if ($.vueCache[o.id]) return $.vueCache[o.id]\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueCache[d]) return $.vueCache[d]\r\n }\r\n } while (o = o.parentNode)\r\n }\r\n while (o && !o.isWidget) o = o.$parent\r\n return o || $.docView\r\n}\r\n\r\nObject.assign($, {\r\n x: {defaultOptions: {}},\r\n vueCache: {},\r\n viewCache: {},\r\n dfclsCache: {},\r\n q: jquery, lodash, http,\r\n br, loc, uid, EventListener, eventX, eventY,\r\n number, isNumber, numRange, numAdd, numFormat, numDecimal,\r\n strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet,\r\n rngSelection, rngElement, rngCursor, rngCursorOffset, rngText,\r\n el, html, append, prepend, before, after, replaceWith,\r\n moveup, bcr, offset, snap, snapTo,\r\n})\r\n\r\n// a继承b的属性。不覆盖a的既有同名属性\r\n$.extend = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c)\r\n if (!(k in a)) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n// 递归继承\r\n$.extendDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null && c.constructor === Object) {\r\n for (let i in c) {\r\n if (!(i in a)) {\r\n if (c[i] != null && c[i].constructor === Object) {\r\n $.extendDeep(a[i] = {}, c[i])\r\n } else\r\n a[i] = c[i]\r\n } else if (a[i] != null && a[i].constructor === Object)\r\n $.extendDeep(a[i], c[i])\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.merge = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n$.mergeDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null) {\r\n for (let k in c) {\r\n if (typeof a[k] === 'object')\r\n _mergeDeep(a[k], c[k])\r\n else\r\n a[k] = c[k]\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.cloneDeep = lodash.cloneDeep\r\n\r\n$.eval = function(str, opt) {\r\n if (opt) {\r\n let keys = Object.keys(opt)\r\n return Function(keys.map(k => k), `return (${str})`)(...keys.map(k => opt[k]))\r\n }\r\n return Function(`return (${str})`)()\r\n}\r\n\r\n// a -> object, b -> split by comma?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? a : a == null || a === '' ? [] : b && typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size) => size == null || size === '' ? '' : size === '*' ? '' : size == -1 || size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s || n;\r\n for (var i = 0, n = n.split(p), l = n.length; i < l; i++) {\r\n if ((p + s + p).indexOf(p + n[i] + p) < 0) s += (s ? p : '') + n[i];\r\n }\r\n return s\r\n}\r\n// 删除一个ID\r\n$.idsRemove = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s;\r\n for (var i = 0, e, n = n.split(p), l = n.length; i < l; i++) {\r\n do {\r\n e = (p + s + p).indexOf(p + n[i] + p);\r\n if (e > -1) s = s.slice(0, e ? e - 1 : e) + s.slice(e + n[i].length + (e ? 0 : 1));\r\n } while (s && e > -1);\r\n }\r\n return s\r\n}\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAny = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return false\r\n if (s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) > -1) return true\r\n return false\r\n}\r\n\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAll = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s) return false\r\n if (!n || s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) < 0) return false\r\n return true\r\n}\r\n\r\n// 添加一个class /@ a -> el, b -> className, c -> add?(默认添加)\r\n$.classAdd = function(a, b, c) {\r\n if (!a) return\r\n let s = a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $.strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b[i], ' ')\r\n } else\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b, ' ')\r\n a.className = s\r\n}\r\n\r\n// 删除一个class /@ a -> el, b -> className\r\n$.classRemove = function(a, b) {\r\n if (!a) return\r\n if (b.indexOf(' ') > -1) {\r\n $.classAdd(a, b, false)\r\n } else\r\n a.className = $.idsRemove(a.className, b, ' ')\r\n}\r\n\r\n// 是否包含任意一个class(多个是“或”的关系) /@ a -> el or className\r\n$.classAny = function(a, b) {\r\n if (!a) return\r\n let s = typeof a === 'string' ? a : a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n if ($.idsAny(s, b[i], ' ')) return i + 1\r\n } else\r\n return $.idsAny(s, b, ' ')\r\n}\r\n\r\n// url 编码\r\n$.urlEncode = (a) => {\r\n return a == null ? '' : encodeURIComponent(typeof a === 'object' ? JSON.stringify(a) : a)\r\n}\r\n \r\n// url 解码\r\n$.urlDecode = (a) => {\r\n return a == null ? '' : decodeURIComponent(a.replace(/\\+/g, ' '))\r\n}\r\n// 替换带$变量的url,如 \"a.sp?id=$0\" /@a -> url, b -> array/object\r\n$.urlFormat = (a, ...args) => {\r\n args.forEach((v, i) => v != null && (a = $.strFormat(a, v, true, i < args.length - 1)))\r\n return a\r\n}\r\n$.urlParam = function(a, b) {\r\n var r = a.split('#'),\r\n u = r[0],\r\n h = r[1];\r\n if (typeof b === 'string') {\r\n return b === '#' ? (h || '') : $.urlDecode((u.match(new RegExp('[\\\\?&]' + b + '=([^&]*)'), 'g') || A)[1]);\r\n } else if (b && typeof b === 'object') {\r\n for (var k in b) {\r\n if (k === '#') {\r\n h = b[k];\r\n } else {\r\n var c = $.urlEncode(b[k]),\r\n d = new RegExp('\\\\b' + k + '=[^&]*');\r\n u = d.test(u) ? u.replace(d, k + '=' + c) : u + (u.indexOf('?') < 0 ? '?' : '&') + k + '=' + c;\r\n }\r\n }\r\n } else if (arguments.length === 1) {\r\n var r = {},\r\n c = u.split('?');\r\n c = c[c.length - 1];\r\n\r\n if (c) {\r\n c = c.split('&');\r\n for (var d = 0, e, f, g; d < c.length; d++) {\r\n e = c[d].indexOf('=');\r\n if (e == -1) continue;\r\n f = c[d].substring(0, e);\r\n g = c[d].substring(e + 1);\r\n r[f] = $.urlDecode(g.replace(/\\+/g, ' '));\r\n }\r\n }\r\n return r\r\n }\r\n return u + (h ? '#' + h : '')\r\n}\r\n// 把相对路径url和baseURL拼接为完整地址\r\n$.urlServer = function(src, ...args) {\r\n if (!src) return\r\n if (!(src.startsWith('http://') || src.startsWith('https://'))) {\r\n let b = lodash.get($.x, 'http.baseURL')\r\n if (b) {\r\n src = b + (b.endsWith('/') ? '' : '/') + src\r\n }\r\n }\r\n return $.strFormat(src, ...args)\r\n}\r\n\r\n$.urlComplete = function(a) {\n\tif (a.indexOf('data:') !== 0) {\n\t\ta = $.urlServer(a)\r\n let r = lodash.get($.x, 'http.params')\n\t\tr && (a = $.urlParam(a, r))\n\t}\n\treturn a\n},\r\n\t// @a -> src, b -> options\n$.download = function(a, b) {\r\n a = $.urlComplete(a)\n\tif (br.app) {\n\t\t$.wifiConfirm(function() {\n\t\t\tlet dtask = plus.downloader.createDownload(a, b)\n\t\t\tplus.nativeUI.showWaiting()\n\t\t\tdtask.addEventListener(\"statechanged\", function(task, status) {\n\t\t\t\tswitch (task.state) {\n\t\t\t\t\tcase 1: // 开始\n\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_start)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 4: // 下载完成\n\t\t\t\t\t\tif (status == 200) {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_complete)\n\t\t\t\t\t\t\tplus.runtime.openFile(task.filename, {}, function(e) {\n\t\t\t\t\t\t\t\tplus.nativeUI.alert($.loc.download_cannotopen)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_fail + status)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplus.nativeUI.closeWaiting()\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\tdtask.start()\n\t\t})\n\t} else {\r\n\t\tlet link = document.createElement('a')\r\n link.download = true\r\n link.href = a\r\n if ($.x.downloadTarget) {\r\n link.target = $.x.downloadTarget\r\n }\r\n link.click()\r\n link.remove()\n\t}\n}\r\n\r\n\n$.wifiConfirm = function(a, b) {\n\t$.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b)}, {buttons:[$.loc.confirm, $.loc.cancel]}) : a.call(b)\n}\r\n\r\n$.vm = (a) => {\r\n if (!a) return $.docView\r\n if (typeof a === 'string') {\r\n if ($.viewCache[a]) return $.viewCache[a]\r\n if ($.vueCache[a]) {\r\n a = $.vueCache[a]\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\r\n if (a.isEntity) {\r\n return a.isView ? a : a.ownerView\r\n }\r\n return a.isView ? a : a.ownerView\r\n}\r\n\r\n$.dialog = (a) => {\r\n if (!a) return\r\n a = $.vm(a)\r\n while (a && !a.isDialog) a = a.ownerView\r\n return a\r\n}\r\n\r\n$.close = (a) => {\r\n $.dialog(a)?.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\r\n}\r\n\r\n$.scrollIntoView = (a) => {\r\n let s = jquery(a.isWidget ? a.el() : a).closest('.w-scroll-y.z-scroll-y-show,.w-scroll-x.z-scroll-x-show')[0]\r\n let o = s && $(s)\r\n if (o && o.scrollTo) {\r\n let b = bcr(s)\r\n let c = bcr(a)\r\n let x = (c.left + c.right) / 2\r\n let y = (c.top + c.bottom) / 2\r\n if (x < b.left || x > b.right || y < b.top || y > b.bottom)\r\n o.scrollTo(a, 'middle', 'center')\r\n }\r\n}\r\n\r\n$.previewVideo = function(src) {\r\n $.vm().previewVideo($.urlServer(src))\n}\n\t// @img -> image array, options -> {current:i,loop:true,indicator: 'number'}\n$.previewImage = function(imgs, options) {\r\n imgs = $.array(imgs).map(v => $.urlServer(v))\n\tif (br.app) {\n\t\tplus.nativeUI.previewImage(imgs, options)\n\t} else {\r\n $.vm().previewImage(imgs, options)\n\t}\n}\r\n\r\n$.slotsChildren = function(slots, name = 'default') {\r\n let r = []\r\n const getChildren = (d) => {\r\n d && d.forEach(v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else\r\n r.push(v)\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n$.hasChild = function(slots, name = 'default') {\r\n let r = false\r\n const getChildren = (d) => {\r\n lodash.forEach(d, v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else {\r\n return !(r = true)\r\n }\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n// @a -> widget|HTMLElement, y -> {print: T/F(是否打印), head: \"head标签\", input2text: T/F(把表单值转为文本)\n$.print = function(a, y) {\n\t\tlet d = a.el ? a.el() : (a.$el || a), w = d.ownerDocument, b = $.q('link[media=print]', w), c = [];\r\n y = y || {};\n\t\t$.q('meta', w).each(function() {c.push(this.outerHTML)});\n\t\t(b.length > 0 ? b : $.q('link', w)).each(function() {c.push('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + this.getAttribute('href') + '\"/>');});\n\t\t$.q('style', w).each(function() {c.push(this.outerHTML)});\n\t\tlet s = d.outerHTML;\r\n\t\ts = s.replace(/<div[^>]+w-scroll[^>]+>/gi, function($0) {return $0.replace(/height: \\w+/gi, '');});\n\t\t$.q(':text,:password,textarea,select', d).each(function() {\n\t\t\tlet h = this.outerHTML, v, r;\r\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this), w = 'auto';\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\th = g.el('main').outerHTML;\n\t\t\t\t\tv = g.formText();\n\t\t\t\t} else\n\t\t\t\t\tv = this.value;\n\t\t\t\tv = '<div class=\"f-oh w-input-s\">' + v + '</div>';\n\t\t\t} else {\n\t\t\t\tv = h.replace('value=\"' + this.defaultValue + '\"', () => 'value=\"' + this.value + '\"');\n\t\t\t}\r\n\t\t\ts = s.replace(h, () => v + (r || ''));\n\t\t});\n\t\t$.q(':radio,:checkbox', d).each(function() {\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this);\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\ts = s.replace(g.el().outerHTML, () => g.isChecked ? '<div class=\"f-wdbr\">' + g.text + '</div>' : '');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet h = this.outerHTML, n = h.replace(/ checked=\"\"/, '');\n\t\t\t\tif (this.checked)\n\t\t\t\t\tn = n.replace(/>$/, ' checked>');\n\t\t\t\ts = s.replace(h, n);\n\t\t\t}\n\t\t});\n\t\tif (y.input2text) {\n\t\t\t$.q('input[type=hidden]', d).each(function() {\n\t\t\t\tvar g = $(this);\n\t\t\t\tif (g && g.isFormWidget && g.$options.name != 'w-hidden') {\n\t\t\t\t\ts = s.replace(g.el('main').outerHTML, () => '<div class=\"f-wdbr f-print-input-text\">' + g.formText() + '</div>');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t$.q('.w-input-placeholder', d).each(function() {\n\t\t\ts = s.replace(this.outerHTML, '');\n\t\t});\n\t\tw = window.open();\n\t\td = w.document;\n\t\td.open('text/html', 'replace');\n\t\td.write('<!doctype html><html class=f-print><head><meta charset=utf-8><title>' + $.loc.print_preview +\n\t\t\t'</title><style>.f-print .w-f-remark{height:auto;line-height:inherit}.f-print-input-text{line-height: var(--w-label-min-height);}.w-input{display: flex!important;}.w-input-s{word-break:normal;white-space:normal}.w-input-s:empty:before{content:\"\\xa0\"}</style><script>var $={e:function(){}}</script>' + c.join('') +\n\t\t\t(y.head || '') + '</head><body><div class=x-print>' + s + '</div>' +\n\t\t\t(y.print !== false ? '<script>window.print();window.close()</script>' : '') +\n\t\t\t'</body></html>');\n\t\td.close();\n\t\treturn d;\n\t}\n\r\n\r\nconst queryEncode = function(data, config) {\r\n if (!data || data instanceof FormData) return data\r\n let contentType = $.lodash.get(config, 'headers[\"Content-Type\"]') || $.lodash.get($.x, 'http.headers.post[\"Content-Type\"]')\r\n return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data\r\n}\r\n\r\n$.ajax = function(cmd, args) {\r\n let src = args ? $.urlFormat(cmd.src, args) : cmd.src\r\n if (!src) {\r\n return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')\r\n }\r\n let ctx = cmd.context || $.docView\r\n let lock = ctx.ajaxLock\r\n let config = $.lodash.pick(cmd, ['headers', 'responseType'])\r\n if (cmd.download) {\r\n $.extend(config, {responseType: 'blob'})\r\n }\r\n lock && lock()\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return (cmd.data ? $.http.post(src, queryEncode(cmd.data, config), config) : $.http.get(src, config))\r\n .then(res => {\r\n lock && lock(false)\r\n let data = res.data\r\n if (cmd.filter) data = cmd.filter(res, ctx)\r\n if (cmd.success) cmd.success(data, ctx)\r\n if (cmd.complete) cmd.complete(res, ctx)\r\n cmd.loading && ctx.cmd({type: 'Loading', hide: true})\r\n if (cmd.download) {\r\n let disposition = res.headers['content-disposition']\r\n if (disposition) {\r\n let fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))\r\n let blob = new Blob([res.data])\r\n let link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = fileName\r\n link.click()\r\n link.remove()\r\n } else {\r\n console.error('download: none content-disposition')\r\n }\r\n }\r\n return Promise.resolve(data)\r\n }).catch(ex => {\r\n lock && lock(false)\r\n if (cmd.error) cmd.error(ex, ctx)\r\n if (cmd.complete) cmd.complete(ex.response, ctx, ex)\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return Promise.reject(ex)\r\n })\r\n}\r\n\r\n$.extend($.ajax, {\r\n get(src, config) {\r\n return $.http.get(src, config).then(res => new Promise(resolve => resolve(res.data)))\r\n },\r\n post(src, data, config) {\r\n return $.http.post(src, queryEncode(data, config), config).then(res => new Promise(resolve => resolve(res.data)))\r\n }\r\n}, http)\r\n\r\n$.cmdHooks = {\r\n Submit(cmd, args) {\r\n let src = $.urlFormat(cmd.src, args)\r\n const vm = $.vm(this)\r\n const submit = () => new Promise(rsv => this.$nextTick(() => {\r\n let d = cmd.validate || false\r\n let f = vm.getFormList(d.range || cmd.range)\r\n let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f\r\n if (vm.valid(f, d.group)) {\r\n cmd.context ||= this\r\n let post = vm.getPostData(g)\r\n cmd.data = cmd.data ? $.extend(cmd.data, post) : post\r\n $.ajax(cmd, args).then(data => rsv(data))\r\n }\r\n }))\r\n if (vm.isEntity) {\r\n return submit()\r\n } else {\r\n return new Promise(rsv => {\r\n vm.addEvent('load', () => submit().then(data => rsv(data)))\r\n })\r\n }\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context ||= this\r\n return $.ajax(cmd, args)\r\n },\r\n Dialog(cmd, args) {\r\n if (cmd.title) cmd.title = $.strFormat(cmd.title, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Alert(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Confirm(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Tip(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Menu(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Loading(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n}\r\n\r\n$.isCmd = function(a) {\r\n return a && a.type && $.cmdHooks[a.type]\r\n}\r\n\r\n$.alert = function(text, position, timeout, yes) {\r\n $.docView.cmd({\r\n type: 'Alert', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd({\r\n type: 'Confirm', text, yes, no, cover\r\n })\r\n}\r\n\r\n$.directiveHooks = {\r\n colspan(el, v) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v) {\r\n el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n }\r\n}\r\n\r\n$.config = function(opt) {\r\n $.merge($.x, opt)\r\n if (opt.http) {\r\n $.merge(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n toRaw,\r\n } from 'vue/dist/vue.esm-bundler.js'\r\n\r\n const bindCache = {}\r\n\r\n\r\n export default {\r\n props: ['id', 'data', 'template', 'preload', 'width', 'height', 'minWidth', 'minHeight', 'maxWidth',\r\n 'maxHeight', 'on', 'tip', 'ownproperty', 'orientUid', 'templateWrapper', 'preloadWrapper',\r\n ],\r\n beforeCreate() {\r\n this.isWidget = true\r\n if (this.templateWrapper || this.preloadWrapper) {\r\n this.uid = (this.templateWrapper || this.preloadWrapper).uid\r\n } else {\r\n this.uid = this.orientUid || $.uid()\r\n }\r\n $.vueCache[this.uid] = this\r\n },\r\n created() {\r\n //if (this.$options.name=='w-dialog') console.log(this.templateWrapper, this.preloadWrapper, this.$attrs.class, this.isEntity)\r\n let propsEntity = !(this.template || this.preload)\r\n let dftopt = !this.ownproperty && propsEntity && this.getDefaultOption(this.$attrs.class)\r\n let dftoptEntity = !(dftopt.template || dftopt.preload)\r\n let dftX = {\r\n ...(propsEntity && dftoptEntity && this.x_default()),\r\n ...dftopt,\r\n ...(this.$options.pubParentName && propsEntity && dftoptEntity &&\r\n $.lodash.omit(this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options\r\n .name) && this.providePubParent.pub, 'template', 'preload'))\r\n }\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n return prop in obj ? obj[prop] : this.$props[prop] !== undefined ? this.$props[prop] : dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n x_watch(props) {\r\n props.forEach(k => this.$watch(k, v => this.x[k] = v))\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n this.x.on && this.x.on[type] && this.x.on[type](ev, ...args)\r\n let wr = this.closetWrapper(wg => {\r\n wg.events && wg.events.fireEvent(type)\r\n return wg.getOn(type)\r\n })\r\n if (wr.$.emitsOptions && (type in wr.$.emitsOptions))\r\n wr.$emit(...(typeof ev === 'string' ? [type] : [type, ev]), ...args)\r\n this.events && this.events.fireEvent(type)\r\n },\r\n wrapper() {\r\n return this.templateWrapper || this.preloadWrapper || this\r\n },\r\n closetWrapper(fn) {\r\n if (this.x.template == null && this.x.preload == null) return this\r\n let u = this.uid\r\n let p = this\r\n let r\r\n while (p = p.$parent) {\r\n if (u === (p.$attrs && p.$attrs.uid) || u === (p.uid)) {\r\n if (p.isWidget && (!fn || fn(p))) {\r\n r = p\r\n }\r\n }\r\n }\r\n return r || this\r\n },\r\n addEvent(type, fn, ctx, once) {\r\n if (!this.events) this.events = new $.EventListener()\r\n this.events.addEvent(type, fn, ctx, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn, ctx) {\r\n this.events && this.events.removeEvent(type, fn, ctx)\r\n },\r\n // 获取widget的默认配置项 /@a -> cls, t -> type\r\n getDefaultOption(a, b) {\r\n b = b || this.$options.name\r\n let y = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (a ? ' ' + a : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (y = $.extendDeep(z, y))\r\n }\r\n return y || false\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n cmdTip(o) {\r\n let t = this.x.title\r\n this.exec($.extendDeep({}, o, typeof t === 'object' ? t : null, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }));\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n getOn(type) {\r\n return (this.$.vnode.props && this.$.vnode.props['on' + type.charAt(0).toUpperCase() + type.slice(1)]) || (this\r\n .x.on && this.x.on[type])\r\n },\r\n getKey() {\r\n return (this.templateWrapper || this).$.vnode.key\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n hasChild() {\r\n return $.hasChild(this.$slots)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n html_template() {\r\n let f = this.x.template\r\n if (typeof f === 'object') {\r\n return h(toRaw(f), $.extend({\r\n template: false,\r\n templateWrapper: this,\r\n }, this.$props))\r\n }\r\n let path = f\r\n const except = (ex) => {\r\n console.error(ex)\r\n this.x.template = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n }\r\n if (f.startsWith('url(')) {\r\n path = $.strTo($.strFrom(f, '('), ')', true)\r\n $.ajax.get(path).then(res => {\r\n this.x.template = res\r\n }).catch(except)\r\n } else {\r\n const sfx = '.vue'\r\n path = f.startsWith('@/') ? f.slice(2) : $.x.templateDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.template = mod.default\r\n })\r\n .catch(except)\r\n }\r\n },\r\n html_preload() {\r\n let f = this.x.preload\r\n if (typeof f === 'object') return h(toRaw(f), $.extend({\r\n preload: false,\r\n preloadWrapper: this,\r\n }, this.$props), this.$slots)\r\n const sfx = '.vue'\r\n let path = f.startsWith('@/') ? f.slice(2) : $.x.preloadDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.preload = mod.default\r\n })\r\n .catch(ex => {\r\n console.error(ex)\r\n this.x.preload = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n })\r\n },\r\n slot(name = 'default') {\r\n let wr = this.templateWrapper || this.preloadWrapper || this\r\n return wr.$slots[name] ? wr.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n isEntity() {\r\n return !this.template && !this.preload\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class, this.x.class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n minWidth: this.x.minWidth && $.unitSize(this.x.minWidth),\r\n minHeight: this.x.minHeight && $.unitSize(this.x.minHeight),\r\n maxWidth: this.x.maxWidth && $.unitSize(this.x.maxWidth),\r\n maxHeight: this.x.maxHeight && $.unitSize(this.x.maxHeight),\r\n }, this.html_style, this.x.style],\r\n ...this.x.on && $.lodash.mapKeys($.lodash.omitBy(this.x.on, (v, k) => k.includes(':')), (v, k) => 'on' + k),\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n title: this.x.tip,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.x.template ? this.html_template() :\r\n this.x.preload ? this.html_preload() : this.html()\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'filter', 'success', 'error', 'complete'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc(a) {\r\n let x = this.x || this.$props\r\n return a ? $.urlFormat(x.src, x.data, x) : x.src\r\n },\r\n request(fn) {\r\n let src = this.getSrc(true)\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n $.ajax({\r\n src,\r\n context: this,\r\n filter: this.x.filter,\r\n error: this.x.error,\r\n complete: this.x.complete,\r\n success: (...args) => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n this.x.success && this.x.success(...args)\r\n fn && fn()\r\n }\r\n })\r\n }\r\n },\r\n showLoading(a) {\r\n this.loading = a\r\n }\r\n }\r\n }\r\n</script>\r\n","<template>\r\n <teleport to=\"#w-dfish-pops\" v-if=\"p.hidden\"></teleport>\r\n <w-dialog v-else-if=\"p.cmd.type === 'Dialog'\" v-bind=\"p.cmd\"></w-dialog>\r\n <w-alert v-else-if=\"p.cmd.type === 'Alert'\" v-bind=\"p.cmd\"></w-alert>\r\n <w-confirm v-else-if=\"p.cmd.type === 'Confirm'\" v-bind=\"p.cmd\"></w-confirm>\r\n <w-tip v-else-if=\"p.cmd.type === 'Tip'\" v-bind=\"p.cmd\"></w-tip>\r\n <w-menu v-else-if=\"p.cmd.type === 'Menu'\" v-bind=\"p.cmd\"></w-menu>\r\n <w-loading v-else-if=\"p.cmd.type === 'Loading'\" v-bind=\"p.cmd\"></w-loading>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n\r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","<template>\r\n <teleport to=\"#w-dfish-pops\" v-if=\"p.hidden\"></teleport>\r\n <w-dialog v-else-if=\"p.cmd.type === 'Dialog'\" v-bind=\"p.cmd\"></w-dialog>\r\n <w-alert v-else-if=\"p.cmd.type === 'Alert'\" v-bind=\"p.cmd\"></w-alert>\r\n <w-confirm v-else-if=\"p.cmd.type === 'Confirm'\" v-bind=\"p.cmd\"></w-confirm>\r\n <w-tip v-else-if=\"p.cmd.type === 'Tip'\" v-bind=\"p.cmd\"></w-tip>\r\n <w-menu v-else-if=\"p.cmd.type === 'Menu'\" v-bind=\"p.cmd\"></w-menu>\r\n <w-loading v-else-if=\"p.cmd.type === 'Loading'\" v-bind=\"p.cmd\"></w-loading>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n\r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","<script>\r\n import WidgetAbs from './WidgetAbs.vue'\r\n \r\n export default {\r\n mixins: [WidgetAbs],\r\n inject: ['provideView']\r\n }\n</script>\n\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n const onScroll = function(e) {\r\n if (this.wScrollPercentX) {\r\n let left = e.target.scrollLeft\r\n this.scrollXPosition = left == 0 ? 'left' : left >= this.wScrollSizeX ? 'right' : 'center'\r\n this.$refs.wScrollBarThumbX.style.transform = `translateX(${left/this.wScrollPercentX}px)`\r\n }\r\n if (this.wScrollPercentY) {\r\n let top = e.target.scrollTop\r\n this.scrollYPosition = top == 0 ? 'top' : top >= this.wScrollSizeY ? 'bottom' : 'middle'\r\n this.$refs.wScrollBarThumbY.style.transform = `translateY(${top/this.wScrollPercentY}px)`\r\n }\r\n this.onScroll(e)\r\n }\r\n\r\n const onMousedown = function(dnEv) {\r\n let dir, dnX, dnY, scrLeft, scrTop\r\n $.moveup((mvEv) => {\r\n if (!dir) {\r\n dir = this.$refs.wScrollBarThumbX === dnEv.target ? 'X' : 'Y'\r\n dnX = dnEv.clientX\r\n dnY = dnEv.clientY\r\n scrLeft = this.$refs.wScrollOverflow.scrollLeft\r\n scrTop = this.$refs.wScrollOverflow.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n this.$refs.wScrollOverflow.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * this.wScrollPercentX)\r\n } else {\r\n this.$refs.wScrollOverflow.scrollTop = scrTop + ((mvEv.clientY - dnY) * this.wScrollPercentY)\r\n }\r\n }, (upEv) => {\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n this.onScrollbarMousedown(dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView'],\r\n data() {\r\n return {\r\n wScrollPercentX: null,\r\n wScrollPercentY: null,\r\n wScrollSizeX: null,\r\n wScrollSizeY: null,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n }\r\n },\r\n emits: ['bindscroll'],\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollbarMousedown(e) {\r\n //implement\r\n },\r\n // 让元素滚动到可见区域。支持下面两种调用方式 /e -> el|wg, y -> (top,bottom,middle,auto,top+n,bottom+n,n), x -> (left,right,center,auto), p -> ease?, q -> divide(整除数字,让滚动的距离是这个数字的整数倍), r -> callback\r\n scrollTo(e, y, x, p, q, r) {\r\n var a = this.ovf();\r\n if (!a) return;\r\n var b = this.$refs.wScrollCont || a,\r\n c = $.bcr(a),\r\n d = $.bcr(b),\r\n f = e ? $.bcr(e) : d,\r\n t, l;\r\n if (y != null || e) {\r\n if (y == null || !isNaN(y)) {\r\n t = $.number(y)\r\n if (e) t = f.top - d.top - t\r\n } else if (~y.indexOf('top')) {\r\n t = f.top - d.top - (+y.slice(3))\r\n } else if (~y.indexOf('bottom')) {\r\n t = f.bottom - d.top - c.height + (+y.slice(6))\r\n } else if (y === 'middle') {\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n } else {\r\n if (f.top < c.top)\r\n t = a.scrollTop - c.top + f.top\r\n else if (f.bottom > c.bottom)\r\n t = a.scrollTop + f.bottom - c.bottom\r\n }\r\n }\r\n if (x != null || e) {\r\n if (x == null || !isNaN(x)) {\r\n l = $.number(x)\r\n if (e) l = f.left - d.left - l\r\n } else if (~y.indexOf('left')) {\r\n l = f.left - d.left - (+y.slice(4))\r\n } else if (~y.indexOf('right')) {\r\n l = f.right - d.left - c.width + (+y.slice(5))\r\n } else if (x === 'center') {\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n } else {\r\n if (f.right < c.left || f.left > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n else if (f.left < c.left)\r\n l = a.scrollLeft - f.left + c.left\r\n }\r\n }\r\n if (q != null) {\r\n t != null && (t = t - (t % q))\r\n l != null && (l = l - (l % q))\r\n }\r\n if (p) {\r\n let g = a.scrollTop\r\n let h = a.scrollLeft\r\n $.ease((i) => {\r\n if (t != null) a.scrollTop = g + (t - g) * i\r\n if (l != null) a.scrollLeft = h + (l - h) * i\r\n i === 1 && r && r.call(this)\r\n }, p)\r\n } else {\r\n if (t != null) a.scrollTop = t\r\n if (l != null) a.scrollLeft = l\r\n r && r.call(this)\r\n }\r\n },\r\n //@public /@ e -> el, y -> (top,bottom,middle), p -> ease?, q -> divide, r -> callback\r\n scrollToY(e, y, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollTop\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = y, y = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, y, null, p, q, r)\r\n },\r\n //@public /@ e -> el, x -> (left,right,center), p -> ease?, q -> divide, r -> callback\r\n scrollToX(e, x, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollLeft\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = x, x = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, null, x, p, q, r)\r\n },\r\n ovf() {\r\n return $.br.mobile ? this.el() : this.$refs.wScrollOverflow || this.$refs.wScrollCont\r\n },\r\n html_scroll_slots(s) {\r\n return this.x.scrollX || this.x.scrollY ? [h('div', {\r\n ref: \"wScrollOverflow\",\r\n class: \"w-scroll-overflow\",\r\n // style: {\r\n // minWidth: $.unitSize(this.x.minWidth),\r\n // minHeight: $.unitSize(this.x.minHeight),\r\n // maxWidth: $.unitSize(this.x.maxWidth),\r\n // maxHeight: $.unitSize(this.x.maxHeight),\r\n // },\r\n onscroll: onScroll.bind(this),\r\n onmouseenter: this.scroll_observe\r\n }, h('div', {\r\n class: 'w-scroll-cont',\r\n style: this.html_scroll_cont_style,\r\n ref: \"wScrollCont\"\r\n }, s || (this.$slots.default && this.$slots.default()))),\r\n !$.br.mobile && this.x.scrollX && [h('div', {\r\n class: \"w-scrollbar-x\",\r\n ref: \"wScrollBarX\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbX\"\r\n }))],\r\n !$.br.mobile && this.x.scrollY && [h('div', {\r\n class: \"w-scrollbar-y\",\r\n ref: \"wScrollBarY\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbY\"\r\n }))]] : (s || (this.$slots.default && this.$slots.default()))\r\n \r\n },\r\n scroll_observe() {\r\n if ($.br.mobile || !this.$refs.wScrollOverflow || !this.el()) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let xSize = cont.width > flow.width && cont.width - flow.width\r\n let ySize = cont.height > flow.height && cont.height - flow.height\r\n let xPercent = flow.width / cont.width\r\n let yPercent = flow.height / cont.height\r\n if (xSize && xSize <= 1) xSize = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (this.x.scrollX) {\r\n this.$refs.wScrollBarThumbX.style.width = (xPercent * 100) + '%'\r\n this.wScrollSizeX = xSize\r\n this.wScrollPercentX = xSize && xSize / ((1 - xPercent) * wrap.width)\r\n } \r\n if (this.x.scrollY) {\r\n this.$refs.wScrollBarThumbY.style.height = (yPercent * 100) + '%'\r\n this.wScrollSizeY = ySize\r\n this.wScrollPercentY = ySize && ySize / ((1 - yPercent) * wrap.height)\r\n }\r\n }\r\n },\r\n computed: {\r\n html_scroll_cont_style() {\r\n // implement\r\n },\r\n html_scroll_class() {\r\n let sx = this.x.scrollX\r\n let sy = this.x.scrollY\r\n return {\r\n 'w-scroll': sx || sy,\r\n 'w-scroll-x': sx,\r\n 'w-scroll-y': sy,\r\n //'w-scroll-overflow': $.br.mobile,\r\n 'z-scroll-x-show': this.wScrollPercentX,\r\n 'z-scroll-y-show': this.wScrollPercentY,\r\n 'z-scroll-x-left': sx && this.scrollXPosition == 'left',\r\n 'z-scroll-x-center': sx && this.scrollXPosition == 'center',\r\n 'z-scroll-x-right': sx && this.scrollXPosition == 'right',\r\n 'z-scroll-y-top': sy && this.scrollYPosition == 'top',\r\n 'z-scroll-y-middle': sy && this.scrollYPosition == 'middle',\r\n 'z-scroll-y-bottom': sy && this.scrollYPosition == 'bottom',\r\n }\r\n },\r\n\r\n },\r\n mounted() {\r\n if (!this.isEntity) return\r\n if (this.x.scrollView && this.el()) {\r\n setTimeout(() => {\r\n let el = this.el().querySelector(this.x.scrollView)\r\n el && this.scrollToY(el, 'middle')\r\n })\r\n }\r\n //在PC端生成滚动条。移动端不生成\r\n if ($.br.mobile || !(this.x.scrollX || this.x.scrollY)) return\r\n this.$refs.wScrollOverflow && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollOverflow)\r\n this.$refs.wScrollCont && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollCont)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-scroll {\r\n position: relative;\r\n display: flex;\r\n }\r\n\r\n .w-scroll-overflow {\r\n flex: 1;\r\n box-sizing: border-box;\r\n scrollbar-width: none;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow {\r\n overflow-x: auto;\r\n }\r\n\r\n .w-scroll-y>.w-scroll-overflow {\r\n overflow-y: auto;\r\n }\r\n\r\n .w-scroll-cont {\r\n min-width: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow>.w-scroll-cont {\r\n width: fit-content;\r\n }\r\n\r\n .w-scroll-overflow::-webkit-scrollbar {\r\n width: 0;\r\n height: 0;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n background-color: rgba(200, 200, 200, .9);\r\n }\r\n\r\n .w-scrollbar-thumb:hover {\r\n background-color: rgba(180, 180, 180, 1);\r\n }\r\n\r\n .w-scroll-x:hover>.w-scrollbar-x,\r\n .w-scroll-x.z-hv>.w-scrollbar-x,\r\n .w-scroll-y:hover>.w-scrollbar-y,\r\n .w-scroll-y.z-hv>.w-scrollbar-y,\r\n .w-scrollbar-x.z-drag,\r\n .w-scrollbar-y.z-drag {\r\n visibility: visible;\r\n }\r\n \r\n .w-scroll.z-scroll-x-show > .w-scrollbar-x,\r\n .w-scroll.z-scroll-y-show > .w-scrollbar-y {\r\n display: block;\r\n }\r\n\r\n .w-scrollbar-x {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 12px;\r\n z-index: 10;\r\n }\r\n\r\n .w-scrollbar-y {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n width: 12px;\r\n z-index: 10;\r\n }\r\n \r\n .w-scrollbar-thumb {\r\n position: absolute;\r\n transition-property: top,left;\r\n transition-duration: .1s;\r\n }\r\n\r\n .w-scrollbar-x > .w-scrollbar-thumb {\r\n top: 4px;\r\n bottom: 0;\r\n }\r\n\r\n\r\n .w-scrollbar-y > .w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n }\r\n \r\n .w-scrollbar-x:hover > .w-scrollbar-thumb {\r\n top: 0;\r\n }\r\n\r\n .w-scrollbar-y:hover > .w-scrollbar-thumb {\r\n left: 0;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['align', 'valign', 'gap'],\r\n data() {\r\n return {\r\n isVertical: false\r\n }\r\n },\r\n computed: {\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Scroll from './Scroll.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-horizontal',\r\n mixins: [Scroll, AlignParent],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n provideLayout: this.$options.name\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br}],\r\n style: !this.x.scrollX && !this.x.scrollY && this.html_scroll_cont_style,\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n return {\r\n gap: this.x.gap ? $.unitSize(this.x.gap) : ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-vertical',\r\n mixins: [Horizontal],\r\n data() {\r\n return {\r\n isVertical: true\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical'],\r\n data() {\r\n return {\r\n hover: false\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n vertical: true,\r\n }\r\n },\r\n onerror(e) {\r\n if (this.dataUrl) e.target.src = this.dataUrl\r\n },\r\n html_slots() {\r\n let src = this.x.src\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n let svg = src && src.startsWith('#')\r\n let cont = this.$slots.default || (this.x.text ? {\r\n default: () => this.x.text\r\n } : null)\r\n src ||= this.dataUrl\r\n return [\r\n src && h('div', {\r\n class: 'w-img-gut',\r\n }, [font ? h('i', {\r\n class: 'w-img-icon ' + src.replace(/\\./g, '')\r\n }) :\r\n svg ? h('svg', {\r\n class: 'f-svg ' + src.slice(1)\r\n }, h('use', {\r\n 'xlink:href': src,\r\n })) :\r\n h('img', {\r\n ref: 'img',\r\n src: src,\r\n class: 'w-img-icon',\r\n style: {\r\n width: $.unitSize(this.x.imgWidth),\r\n height: $.unitSize(this.x.imgHeight),\r\n },\r\n onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n },\r\n onmouseenter: e => this.hover = true,\r\n onmouseleave: e => this.hover = false\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-img {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n gap: 10px;\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n gap: 7px;\r\n }\r\n\r\n .w-img-gut {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-img-gut img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","<template>\r\n <w-alert>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-warning'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n export default {\r\n props: ['text', 'title', 'icon'],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-alert>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-warning'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n export default {\r\n props: ['text', 'title', 'icon'],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-confirm>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"cancel\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\" valign=\"middle\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-question'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"></w-button>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n export default {\r\n mixins: [TemplateAlert],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-confirm>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"cancel\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\" valign=\"middle\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-question'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"></w-button>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n export default {\r\n mixins: [TemplateAlert],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-tip>\r\n <div class=\"w-tip-body f-flex-center\">\r\n <div class=\"w-tip-text\"><slot>{{text}}</slot></div>\r\n </div>\r\n </w-tip>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n \r\n export default {\r\n props: ['text'],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<template>\r\n <w-tip>\r\n <div class=\"w-tip-body f-flex-center\">\r\n <div class=\"w-tip-text\"><slot>{{text}}</slot></div>\r\n </div>\r\n </w-tip>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n \r\n export default {\r\n props: ['text'],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import Pop from './Pop.vue'\r\n import Img from './Img.vue'\r\n\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n\r\n import PreloadDialog from '../preload/PreloadDialog.vue'\r\n import TemplateAlert from '../template/TemplateAlert.vue'\r\n import TemplateConfirm from '../template/TemplateConfirm.vue'\r\n import TemplateTip from '../template/TemplateTip.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n }\r\n\r\n const _formatCache = {}\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [SrcParent],\r\n provide() {\r\n return {\r\n provideView: this\r\n }\r\n },\r\n props: ['commands'],\r\n emits: ['load'],\r\n data() {\r\n return {\r\n isView: true,\r\n pops: [],\r\n }\r\n },\r\n beforeCreate() {\r\n this.popCommanders = {}\r\n },\r\n created() {\r\n if (this.isEntity && this != $.docView) {\r\n this.path = (this.ownerView.path ? this.ownerView.path + '/' : '') + (this.getKey() || this.uid)\r\n $.viewCache[this.path] = this\r\n }\r\n },\r\n methods: {\r\n reload() {\r\n this.request()\r\n },\r\n find(a) {\r\n const b = this.el().querySelectorAll(`[w-key=\"${a}\"]`)\r\n for (let c of b) {\r\n if ((c = $(c)) && c.ownerView === this) return c\r\n }\r\n },\r\n fv(a, b) {\r\n let d = this.f(a)\r\n if (arguments.length === 2) {\r\n d && d.val(b)\r\n } else if (typeof a === 'object') {\r\n for (let i in a) this.fv(i, a[i])\r\n } else {\r\n return d && (d.groupFormVal ? d.groupFormVal() : d.formVal())\r\n }\r\n },\r\n f(a, b) {\r\n return this.fAll(a, b)[0]\r\n },\r\n // 获取范围内的所有表单 /@a -> name, b -> range?(elem|widget)\r\n fAll(a, b) {\r\n if (a === '*' || a == null) {\r\n for (var i = 0, q = this.getFormList(b, true), l = q.length, d, e, f = []; i < l; i++)\r\n (d = $(q[i])) && d != e && f.push(e = d);\r\n return f;\r\n }\r\n let dom = b ? (b.isWidget ? b.el() : b) : this.el()\r\n let r = $.q(':input[name=\"' + a + '\"]', dom)\r\n if (!r.length) r = $.q(':input[w-name=\"' + a + '\"]', dom)\r\n return $.lodash.map(r.not('.f-form-hide :input'), d => $(d))\r\n },\r\n // 获取所有表单,返回一个dom集合 /@ a -> range(widgetID, 可选,如果 range 以 !开头,表示排除), b -> 是否包含disabled的表单\r\n getFormList(a, b) {\r\n if (Array.isArray(a)) return a\r\n let r, f = ':input:not(button)' + (b ? '' : ':not(:disabled)')\r\n if (a && typeof a === 'string') {\r\n let d = a.charAt(0) === '!'\r\n let e = a.replace(/\\!/g, '').split(',').map(v => `[w-key=\"${v}\"] ${f}`)\r\n if (e = e.join())\r\n r = $.q(d ? `${f}:not(${e})` : e, this.el())\r\n } else {\r\n r = $.q(f, a ? (a.isWidget ? a.el() : a) : this.el())\r\n }\r\n return r ? $.lodash.map(r.not('.f-form-hide :input')) : []\r\n },\r\n // 获取提交数据 {name: value, ...} /@ a -> range [widgetID, 可选,如果 range 以 !开头,表示排除]\r\n getPostData(range) {\r\n let r = {}\r\n this.getFormList(range).forEach(a => {\r\n let d = a.name\r\n let v = a.value\r\n if (!d) return\r\n switch (a.type) {\r\n case 'text':\r\n let t = a.getAttribute('w-valuetype')\r\n if (t === 'number')\r\n v = v.replace(/[^\\d\\.-]/g, '')\r\n break\r\n case 'checkbox':\r\n if (!a.value || (!a.checked && !(a.indeterminate && a.getAttribute('w-partialsubmit'))))\r\n return null\r\n break\r\n case 'radio':\r\n if (!a.value || !a.checked)\r\n return null\r\n d = a.getAttribute('w-name') || d\r\n break;\r\n case 'select-one':\r\n if (a.selectedIndex < 0)\r\n return null;\r\n break;\r\n }\r\n v && (v = $.strTrim(v))\r\n if (d in r) {\r\n if (!Array.isArray(r[d]))\r\n r[d] = [r[d]]\r\n r[d].push(v)\r\n } else\r\n r[d] = v\r\n })\r\n return r\r\n },\r\n // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name\r\n getValidError(range) {\r\n let e, q = this.getFormList(range)\r\n for (let i = 0, l = q.length, c, v; i < l; i++) {\r\n if ((c = $(q[i])) && c.isFormWidget && (v = c.getValidError())) {\r\n if (!e) e = []\r\n if (!e.find(n => n.wid == v.wid)) e.push(v)\r\n }\r\n }\r\n return e\r\n },\r\n // 表单验证。验证通过返回true /@ range -> validaterange\r\n valid(range) {\r\n if (this._err_ns) {\r\n this._err_ns.forEach(v => {\r\n let n = $.vueCache[v.wid]\r\n n && n.warn(false)\r\n })\r\n }\r\n let e = this.getValidError(range)\r\n if (e) {\r\n e.forEach(v => $.vueCache[v.wid].warn())\r\n $.vueCache[e[0].wid].showErrorTip(e[0].text)\r\n }\r\n return !(this._err_ns = e)\r\n },\r\n // @range -> 范围, original -> (设置为true,检测表单是否有修改,对照的值为初始值)\r\n isModified(range, original) {\r\n return this.getFormList(range).find(o => (o = $(o)).isModified && o.isModified(original))\r\n },\r\n // @range -> 范围, original -> (设置为true,设置为true,修改初始值)\r\n saveModified(range, original) {\r\n this.getFormList(range).forEach(o => (o = $(o)).saveModified && o.saveModified(original))\r\n },\r\n resetForm(range, empty) {\r\n this.getFormList(range).forEach(f => {\r\n let c = $(f)\r\n c.reset && c.reset(empty)\r\n })\r\n },\r\n showLoading(a) {\r\n this.cmd({\r\n type: 'Loading',\r\n cover: true,\r\n local: true,\r\n hide: a === false ? true : false\r\n })\r\n },\r\n cmdDialog(cmd, args, commander) {\r\n if (cmd.hide) {\r\n let o = this.pops.find(v => cmd.hide === true ? v.cmd.type == cmd.type : v.cmd.orientUid == cmd.hide)\r\n return o && this.removeDialog(o.cmd.orientUid)\r\n }\r\n if (!cmd.template && templateHooks[cmd.type]) cmd.template = templateHooks[cmd.type]\r\n let uid = $.uid()\r\n if (!cmd.orientUid) cmd.orientUid = uid\r\n this.pops.push({\r\n cmd,\r\n args,\r\n commander,\r\n hidden: false,\r\n })\r\n return uid\r\n },\r\n removeDialog(u) {\r\n this.$nextTick(() => {\r\n let o = this.pops.find(v => v.cmd.orientUid == u)\r\n if (o) {\r\n if (this.pops.findIndex(v => v.cmd.orientUid != u && !v.hidden) > -1) {\r\n o.hidden = true\r\n } else {\r\n this.pops = []\r\n }\r\n }\r\n })\r\n },\r\n getDialogOptions(u) {\r\n return this.pops.find(v => v.cmd.orientUid == u)\r\n },\r\n html_pops() {\r\n return [this.pops.map(p => h(Pop, {p}))]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.request()\r\n this.trigger('load')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n .w-view-loading {\r\n padding: 10px;\r\n gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n }\r\n\r\n .w-view-loading .f-svg {\r\n width: 32px;\r\n height: 32px;\r\n fill: #fff;\r\n }\r\n</style>\n","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: this.data.options?.current || 0,\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: this.data.options?.current || 0,\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-dialog class=\"f-datesheet\">\r\n <w-buttonbar class=\"f-datesheet-bbr\" align=\"between\" height=\"52\" style=\"padding:0 10px\">\r\n <w-button text=\"取消\" @click=\"clickCancel\"></w-button>\r\n <w-submitbutton text=\"确定\" @click=\"clickOK\"></w-submitbutton>\r\n </w-buttonbar>\r\n <w-horizontal height=\"*\">\r\n <w-vertical width=\"*\" v-if=\"hasYear\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">年</w-html>\r\n <w-picker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\" :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-picker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-picker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-picker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n return {\r\n focusYear: d.getFullYear(),\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this\r\n .focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this.minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this.maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\r\n","<template>\r\n <w-dialog class=\"f-datesheet\">\r\n <w-buttonbar class=\"f-datesheet-bbr\" align=\"between\" height=\"52\" style=\"padding:0 10px\">\r\n <w-button text=\"取消\" @click=\"clickCancel\"></w-button>\r\n <w-submitbutton text=\"确定\" @click=\"clickOK\"></w-submitbutton>\r\n </w-buttonbar>\r\n <w-horizontal height=\"*\">\r\n <w-vertical width=\"*\" v-if=\"hasYear\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">年</w-html>\r\n <w-picker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\" :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-picker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-picker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-picker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n return {\r\n focusYear: d.getFullYear(),\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this\r\n .focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this.minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this.maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetAbs from './WidgetAbs.vue' \r\n import ViewAbs from './ViewAbs.vue' \r\n import SVGIcon from '../assets/SVGIcon.vue'\r\n import TemplatePreviewMedia from '../template/TemplatePreviewMedia.vue'\r\n import TemplateDateSheet from '../template/TemplateDateSheet.vue'\r\n \r\n\r\n export default {\r\n name: 'w-docview',\r\n mixins: [WidgetAbs, ViewAbs],\r\n provide() {\r\n return {\r\n providePubParent: null,\r\n provideBoxParent: null,\r\n provideRangeParent: null,\r\n }\r\n },\r\n beforeCreate() {\r\n $.docView = this\r\n $.q('#app').append('<div id=w-dfish-pops></div>')\r\n },\r\n methods: {\r\n el() {\r\n return document.getElementById('app')\r\n },\r\n getKey() {\r\n return null\r\n },\r\n previewVideo(src) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'video', src}})\r\n },\r\n previewImage(imgs, options) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'image', imgs, options}})\r\n },\r\n //dateOptions: {value, format, minValue, maxValue, success}\r\n dateSheet(dateOptions, dialogOptions) {\r\n this.exec({\r\n type: 'Dialog',\r\n template: TemplateDateSheet,\r\n width: '100%',\r\n height: '55%',\r\n position: 'bottom',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n $.q('body').click(e => {\r\n if (e.altKey) {\r\n let vm = $.vm(e.target)\r\n let t = vm && vm.wrapper().template\r\n \r\n if (t) {\r\n let b = $.bcr(vm.el())\r\n $.q('body').append(\r\n '<div id=dfish-debug style=\"position:absolute;border:2px dashed red;box-sizing:border-box;width:' +\r\n b.width + 'px;height:' + b.height + 'px;top:' + b.top + 'px;left:' + b.left + 'px\"></div>')\r\n this.cmd({\r\n type: 'Alert',\r\n text: t,\r\n yes: () => $.q('#dfish-debug').remove()\r\n })\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n</script>\n","<!-- <template>\r\n <widget-async v-if=\"x.template\" :p=\"x\" v-bind=\"$attrs\"></widget-async>\r\n <div class=\"w-view\" v-bind=\"$attrs\" v-else>\r\n <slot></slot>\r\n </div>\r\n <w-pop v-for=\"item in pops\" :p=\"item\"></w-pop>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import ViewAbs from './ViewAbs.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [Vertical, ViewAbs],\r\n inject: ['provideView'],\r\n methods: {\r\n html() {\r\n return [this.html_self(true), this.html_pops()]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-vertical f-rel', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n Teleport,\r\n mergeProps\r\n } from 'vue'\r\n import View from './View.vue'\r\n import Pop from './Pop.vue'\r\n\r\n const O = {},\r\n T = true,\r\n F = false,\r\n N = null\r\n\r\n const _dialogSnapHooks = {\r\n t: 'tb',\r\n r: 'rl',\r\n b: 'bt',\r\n l: 'lr',\r\n c: 'cc',\r\n tl: '14',\r\n tr: '23',\r\n rt: '21',\r\n rb: '34',\r\n bl: '41',\r\n br: '32',\r\n lt: '12',\r\n lb: '43',\r\n '-t': 'tt',\r\n '-r': 'rr',\r\n '-b': 'bb',\r\n '-l': 'll',\r\n '-c': 'cc',\r\n '-tl': '11',\r\n '-tr': '22',\r\n '-rt': '22',\r\n '-rb': '33',\r\n '-bl': '44',\r\n '-br': '33',\r\n '-lt': '11',\r\n '-lb': '44',\r\n }\r\n\r\n const _dialogSnap = function(a) {\r\n let b = a && (a.position || a)\r\n return typeof b === 'string' && b.split(',').map(v => _dialogSnapHooks[v] || v).join()\r\n }\r\n\r\n export default {\r\n name: 'w-dialog',\r\n mixins: [View],\r\n props: ['title', 'snap', 'autoHide', 'context', 'prong', 'independent', 'timeout',\r\n 'cover', 'position', 'local', 'fullScreen', 'dropClass', 'dropPosition', 'dropHover',\r\n ],\r\n emits: ['close', 'click:cover'],\r\n watch: {\r\n position(v) {\r\n this.axis()\r\n },\r\n },\r\n data() {\r\n return {\r\n isDialog: true,\r\n animateClass: '',\r\n snapClass: '',\r\n keepHover: false,\r\n hoverTimer: null,\r\n hoverMove: null,\r\n closed: false,\r\n animating: false,\r\n isDeactivated: false,\r\n _pos: null,\r\n snapStyle: null,\r\n }\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n methods: {\r\n getKey() {\r\n return null\r\n },\r\n getSrc() {\r\n let src = this.x.src\r\n if (!src) return ''\r\n const feat = this.getOptions()\r\n if (feat.args)\r\n src = $.urlFormat(src, feat.args)\r\n if (src.includes('$'))\r\n src = $.urlFormat(src, this.x.data, this.x)\r\n return src\r\n },\r\n _dft_pos() {\r\n let w = this.el().offsetWidth\r\n let h = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - w) / 2),\r\n top: Math.max(0, Math.ceil((document.documentElement.clientHeight - h) / 2))\r\n };\r\n },\r\n getLocalElem() {\r\n let c = this.getCommander()\r\n return c && c.el()\r\n },\r\n snapTargetElem() {\r\n let d = this.x.snap && this.x.snap.target\r\n if (typeof d === 'string') {\r\n let e = this.ownerView.find(d)\r\n return e && e.snapElem()\r\n } else if (typeof d === 'function') {\r\n return d()\r\n } else if (d) {\r\n return d.isWidget ? d.snapElem() : d\r\n } else {\r\n return this.x.local && this.getCommander().el()\r\n }\r\n },\r\n snapCls(a) {\r\n let d = this.snapTargetElem()\r\n let r = this._pos\r\n if (d) {\r\n $.classAdd(d, 'z-drop', a)\r\n if (r && r.type) {\r\n var m = 'z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')\r\n $.classAdd(this.el(), m + ' z-snap z-snap-' + r.type, a)\r\n $.classAdd(d, m, a)\r\n }\r\n }\r\n },\r\n axis() {\r\n let el = this.el()\r\n if (!el || this.x.fullScreen) return;\r\n let c = this.x.local\r\n let d = this.x.snap || O\r\n let f = this.x.position\r\n let g = this.snapTargetElem()\r\n // 如果有指定 snap,采用 snap 模式\r\n let w = el.offsetWidth\r\n let h = el.offsetHeight\r\n let r;\r\n if (f == 'c') f = N;\r\n if (f) { // 八方位浮动的起始位置\r\n let e = f.charAt(0)\r\n if (e == '-') {\r\n e = f.charAt(1)\r\n }\r\n r = $.snap(w, h, c && g, _dialogSnap(f), this._fitpos, d.indent, c && g)\r\n if (e == 1 || e == 2 || e === 't') {\r\n r.top = -h;\r\n } else if (e == 3 || e == 4 || e === 'r') {\r\n r.right = -w;\r\n } else if (e == 5 || e == 6 || e === 'b') {\r\n r.bottom = -h;\r\n } else if (e == 7 || e == 8 || e === 'l') {\r\n r.left = -w;\r\n }\r\n } else if (g) {\r\n r = $.snap(w, h, g, _dialogSnap(d) || this.defaultSnapPosition || f, this._fitpos, d.indent != N ? d\r\n .indent : (this.x.prong && -10), c && g)\r\n }\r\n if (!r)\r\n r = this._dft_pos()\r\n this._pos && this.snapCls(F)\r\n this._pos = r\r\n //$.snapTo(el, r)\r\n let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right + 'px';\r\n } else {\r\n s.left = r.left + 'px';\r\n }\r\n if (r.pix_b) {\r\n s.bottom = r.bottom + 'px';\r\n } else {\r\n s.top = r.top + 'px';\r\n }\r\n } else {\r\n Object.keys(r).forEach(k => s[k] = $.unitSize(r[k]))\r\n }\r\n this.snapStyle = s\r\n\r\n // 八方位浮动效果\r\n if (f) {\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n }\r\n this.snapCls()\r\n },\r\n close() {\r\n if (this.closed) return\r\n this.closeRelease()\r\n this.trigger('close')\r\n this.ownerView.removeDialog(this.uid)\r\n },\r\n closeRelease() {\r\n this.x.autoHide && this.listenHide(F)\r\n this.snapCls(F)\r\n this.closed = true\r\n },\r\n // 绑定鼠标监听 /@a -> 为 false 时解除监听\r\n listenHide(a) {\r\n if (a === F) {\r\n this.setListenHide(a)\r\n } else {\r\n setTimeout(() => {\r\n if (!this.closed) {\r\n this.setListenHide(a)\r\n }\r\n }, 100) // 延时处理,避免出现后立即消失的情况\r\n }\r\n },\r\n hoverOver() {\r\n clearTimeout(this.hoverTimer)\r\n this.hoverTimer = null\r\n },\r\n setListenHide(a) {\r\n let d = this.x.dropHover\r\n let n = a ? 'addEventListener' : 'removeEventListener'\r\n let evs = $.br.mobile ? ['touchend'] : ['mousedown', $.br.firefox ? 'DOMMouseScroll' : 'mousewheel']\r\n evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {\r\n if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!\r\n this.x\r\n .independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander\r\n .contains(e.target)))))) {\r\n if (e.target.id == this.id + 'cvr') e.stopPropagation()\r\n this.close()\r\n }\r\n }), T))\r\n window.plus && plus.key[n]('backbutton', this.bind('close'), F)\r\n if (d) {\r\n let o = d === T ? (this.x.snap && this.x.snap.target ? this.snapTargetElem() : $.el(this.commander)) : $.el(d)\r\n let hvOver = this.bind('listenHideHoverOver', e => {\r\n clearTimeout(this.hoverTimer), this.hoverTimer = null\r\n });\r\n let hvMove = this.bind('listenHideHoverMove', e => {\r\n if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {\r\n if (!this.hoverTimer)\r\n this.hoverTimer = setTimeout(this.close, 300)\r\n } else\r\n hvOver()\r\n });\r\n [o, this.el()].forEach(v => v[n]('mouseenter', hvOver))\r\n document[n]('mousemove', hvMove)\r\n }\r\n },\r\n setMaxHeight(h) {\r\n this.x.maxHeight = h\r\n },\r\n getOptions() {\r\n return this.ownerView.getDialogOptions(this.uid)\r\n },\r\n getCommander() {\r\n let o = this.getOptions()\r\n return (o && o.commander) || this.context || this.ownerView\r\n },\r\n html_slots() {\r\n let prong\r\n let r = this._pos\r\n if (this.x.prong && r) {\r\n let m = r.inner ? (r.mag_b ? 'b' : r.mag_t ? 't' : r.mag_l ? 'l' : 'r') : (r.mag_b ? 't' : r.mag_t ? 'b' : r\r\n .mag_l ? 'r' : 'l')\r\n let x = Math.floor((r.target.left + r.target.right) / 2)\r\n let y = Math.floor((r.target.top + r.target.bottom) / 2)\r\n let l = $.numRange(x - r.left, 7, r.left + r.width - 7)\r\n let t = $.numRange(y - r.top, 7, r.top + r.height - 7)\r\n let s = ''\r\n if (r.mag_b || r.mag_t) s += 'left:' + l + 'px;'\r\n if (r.mag_l || r.mag_r) s += 'top:' + t + 'px;'\r\n prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\r\n style: s\r\n }, [\r\n h('i', {\r\n class: 'w-dialog-prong-out f-arw f-arw-' + m + '5'\r\n }),\r\n h('i', {\r\n class: 'w-dialog-prong-in f-arw f-arw-' + m + '4'\r\n }),\r\n ])\r\n }\r\n return [prong || [], this.html_scroll_slots()]\r\n },\r\n html() {\r\n let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops'\r\n let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {\r\n class: 'w-dialog-cover f-abs-full',\r\n onclick: e => this.trigger('click:cover', e)\r\n }) : null\r\n return [\r\n cover ? (to ? h(Teleport, {\r\n to\r\n }, cover) : cover) : [],\r\n to ? h(Teleport, {\r\n to\r\n }, this.html_self(true)) : this.html_self(true),\r\n this.html_pops()\r\n ]\r\n }\r\n },\r\n computed: {\r\n commander() {\r\n return this.getCommander()\r\n },\r\n args() {\r\n let o = this.getOptions()\r\n return o && o.args\r\n },\r\n html_class() {\r\n return ['w-vertical', this.animateClass, this.snapClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n }]\r\n },\r\n html_style() {\r\n return this.x.fullScreen ? {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n } : this.snapStyle\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.x.local) {\r\n $.q(this.getLocalElem()).addClass('f-dialog-local-wrap')\r\n }\r\n this.$nextTick(() => {\r\n this.x.autoHide && this.listenHide(T)\r\n setTimeout(this.axis)\r\n const observe = (o) => {\r\n if (this.closed || this.animateClass || !this.el()) return\r\n this.axis()\r\n if (this.x.position) {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.bottom < 0) {\r\n this.setMaxHeight(c.height + c.bottom)\r\n } else if (c.top < 0) {\r\n this.setMaxHeight(c.height + c.top)\r\n }\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.el())\r\n if (this.x.timeout) {\r\n setTimeout(this.close, this.x.timeout)\r\n }\r\n })\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity && !this.closed) {\r\n this.closeRelease()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog {\r\n display: inline-flex;\r\n position: absolute;\r\n box-shadow: 0px 0px 8px #bbb;\r\n z-index: 100;\r\n box-sizing: border-box;\r\n --w-dialog-ani-duration: 200ms;\r\n }\r\n\r\n .w-dialog.z-hide {\r\n display: none;\r\n }\r\n\r\n .w-dialog.z-full {\r\n transform: none;\r\n transition: none;\r\n }\r\n\r\n .w-dialog-cover {\r\n background: rgba(0, 0, 0, .3);\r\n z-index: 99;\r\n }\r\n\r\n .w-dialog-prong {\r\n position: absolute;\r\n }\r\n\r\n .w-dialog-prong .f-arw {\r\n position: absolute;\r\n margin: 0\r\n }\r\n\r\n .w-dialog-prong.z-b {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n bottom: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-in {\r\n top: 0;\r\n left: 1px;\r\n border-top-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-out {\r\n top: 0;\r\n left: 0;\r\n border-top-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-t {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n top: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-in {\r\n bottom: 0;\r\n left: 1px;\r\n border-bottom-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-out {\r\n bottom: 0;\r\n left: 0;\r\n border-bottom-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-l {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n left: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-in {\r\n right: 0;\r\n top: 1px;\r\n border-right-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-out {\r\n right: 0;\r\n top: 0;\r\n border-right-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-r {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n right: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-in {\r\n left: 0;\r\n top: 1px;\r\n border-left-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-out {\r\n left: 0;\r\n top: 0;\r\n border-left-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-ani-position-br,\r\n .w-dialog-ani-position-bl,\r\n .w-dialog-ani-position-b {\r\n transform: translateY(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--br,\r\n .w-dialog-ani-position--bl,\r\n .w-dialog-ani-position--b {\r\n transform: translateY(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-tr,\r\n .w-dialog-ani-position-tl,\r\n .w-dialog-ani-position-t {\r\n transform: translateY(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-lt,\r\n .w-dialog-ani-position-lb,\r\n .w-dialog-ani-position-l {\r\n transform: translateX(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-rt,\r\n .w-dialog-ani-position-rb,\r\n .w-dialog-ani-position-r {\r\n transform: translateX(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--rt,\r\n .w-dialog-ani-position--rb,\r\n .w-dialog-ani-position--r {\r\n transform: translateX(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n</style>\n","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let b = o._pos.pix_b ? -1 : 1\r\n let r = o._pos.pix_r ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(d.style[v])\r\n let l = $.number(d.style[h])\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n let z = d.offsetWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n d.style[v] = $.numRange(t + b * (e.clientY - y), 0, n - 30) + 'px'\r\n d.style[h] = $.numRange(l + r * (e.clientX - x), 100 - z, w - 30) + 'px'\r\n }, function(e) {\r\n m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n mousedown() {\r\n return this.onmousedown.bind(this)\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.mousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.mousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let b = o._pos.pix_b ? -1 : 1\r\n let r = o._pos.pix_r ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(d.style[v])\r\n let l = $.number(d.style[h])\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n let z = d.offsetWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n d.style[v] = $.numRange(t + b * (e.clientY - y), 0, n - 30) + 'px'\r\n d.style[h] = $.numRange(l + r * (e.clientX - x), 100 - z, w - 30) + 'px'\r\n }, function(e) {\r\n m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n mousedown() {\r\n return this.onmousedown.bind(this)\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.mousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.mousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-alert',\r\n mixins: [Dialog],\r\n props: ['text', 'yes', 'no'],\r\n methods: {\r\n cueYes() {\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n cue(a) {\r\n if ($.isCmd(a)) {\r\n this.commander.exec(a, this.args)\r\n } else if (typeof a === 'function') {\r\n a(this.args)\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import Alert from './Alert.vue' \r\n\r\n export default {\r\n name: 'w-confirm',\r\n mixins: [Alert],\r\n methods: {\r\n cueYes() {\r\n this.cue(this.x.yes)\r\n this.x.no = null\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n },\r\n computed: {\r\n html_prop_class() {\r\n return 'w-alert w-dialog w-vertical'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n let inst = null\r\n\r\n export default {\r\n name: 'w-tip',\r\n mixins: [Dialog],\r\n props: ['text', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n prong: true,\r\n autoHide: true,\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)\r\n },\r\n defaultSnapTargetElem() {\r\n return this.commander.snapElem()\r\n },\r\n defaultSnapPosition() {\r\n return 'tb,rl,lr,bt,rr,ll,bb,tt,cc'\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n inst && $.close(inst)\r\n inst = this.uid\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity) {\r\n inst = null\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tip.w-dialog {\r\n border: 1px solid #2498ff;\r\n background: #f5faff;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip .w-tip-x {\r\n position: absolute;\r\n right: 3px;\r\n top: 3px;\r\n padding: 0 3px;\r\n cursor: pointer\r\n }\r\n\r\n .w-tip .f-i-close {\r\n font-size: 12px;\r\n color: #999\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #2498ff\r\n }\r\n\r\n .w-tip.w-dialog.z-face-warn {\r\n border: 1px solid #f3e041;\r\n background: #faf0cd;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #f3e041\r\n }\r\n\r\n .w-tip-body {\r\n min-height: 32px;\r\n }\r\n\r\n .w-tip-text {\r\n padding: 0 10px;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Img from './Img.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-button',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [WidgetBase],\r\n props: ['text', 'icon', 'focusIcon', 'target', 'closable', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n locked: false,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-dn'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-dn'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.locked = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.trigger(e)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.x.disabled) return\r\n e.stopPropagation()\r\n if (!this.locked) this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n if (this.locked) {\r\n r.push(h('div', {\r\n class: 'w-button-locked f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.x.disabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.x.disabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled || this.locked,\r\n class: {\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-locked': this.locked,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n import Img from './Img.vue'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n\r\n export default {\r\n name: 'w-menubutton',\r\n mixins: [Button],\r\n methods: {\r\n exec(...args) {\r\n return this.parentMenu.getRoot().getCommander().exec(...args)\r\n },\r\n linkTarget(a) {\r\n if (this.x.target) {\r\n const tar = this.ownerView.find(this.x.target)\r\n tar && tar.parentNode.setFocus(this.x.target)\r\n }\r\n },\r\n drop() {\r\n if (this.showDrop) return\r\n this.closeSub()\r\n this.showDrop = true\r\n this.parentMenu.subMenu = this\r\n },\r\n onclick(e) {\r\n if (this.isMore) return\r\n this.trigger(e)\r\n setTimeout(() => this.parentMenu.root.close(), 10)\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && e.currentTarget.classList.add('z-hv')\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.closeSub()\r\n }\r\n },\r\n closeSub() {\r\n if (this.parentMenu.subMenu) {\r\n this.parentMenu.subMenu.showDrop = false\r\n this.parentMenu.subMenu = null\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n let src = this.x.icon\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n r.push(!src || font ? h('i', {\r\n class: 'w-menubutton-icon f-flex-center f-height ' + (src ? src.replace(/\\./g, '') : '')\r\n }) : h('img', {\r\n src: src,\r\n class: 'w-menubutton-icon f-flex-center f-height'\r\n }))\r\n\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-text f-line-1'\r\n }, t))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-close'\r\n }, h('i', {\r\n class: 'w-menubutton-close-icon f-i f-i-close',\r\n onclick: this.clickClose\r\n })))\r\n }\r\n r.push(h(Img, {\r\n class: 'w-menubutton-drop f-flex-center f-height',\r\n src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Menu, {\r\n autoHide: true,\r\n context: this,\r\n ownproperty: true,\r\n dropClass: this.x.dropClass || this.parentMenu.x.dropClass,\r\n snap: {\r\n target: () => this.el(),\r\n position: '21,12',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = null\r\n }\r\n }, this.$slots))\r\n }\r\n\r\n return r\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isMore() {\r\n return !!this.$slots.default\r\n },\r\n parentMenu() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n ownerView() { // 因为业务会调用 $.vm(event), 所以返回commander的view\r\n return this.parentMenu.rootCommander.ownerView\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled,\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: !this.x.disabled && (e => e.currentTarget.classList.remove('z-hv')),\r\n onclick: this.onclick\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isCurrent) {\r\n this.linkTarget()\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menubutton {\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n margin: 0;\r\n height: 32px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-menubutton .f-i {\r\n color: #999;\r\n }\r\n\r\n .w-menubutton-icon {\r\n width: 30px;\r\n }\r\n\r\n .w-menubutton-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n }\r\n\r\n .w-menubutton-drop {\r\n width: 30px;\r\n margin-left: 5px;\r\n }\r\n\r\n .w-menubutton>.w-menubutton-close {\r\n margin-right: -5px;\r\n flex-shrink: 0;\r\n color: #aaa;\r\n }\r\n\r\n .w-menubutton-close-icon:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-menubutton.z-hv,\r\n .w-menubutton.z-drop {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-menubutton.z-ds {\r\n background-color: #eee;\r\n color: #777;\r\n cursor: default;\r\n }\r\n\r\n .w-menubutton.z-ds .w-menubutton-icon {\r\n color: #bbb;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from \"vue\"\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n \r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n if ($(a)?.parentMenu?.rootCommander == this.rootCommander) return true\r\n },\r\n setMaxHeight(h) {\r\n h -= 38\r\n this.x.maxHeight = h - (h % 32) + 38\r\n },\r\n arrow(a) {\r\n let b = this.$refs.bbr.el()\r\n let c = $.bcr(b)\r\n b.scrollTop += c.height * a\r\n },\r\n mousewheel(e) {\r\n this.arrow(e.wheelDelta < 0 ? 1 : -1)\r\n },\r\n getRoot() {\r\n let c = this\r\n while (c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu\r\n return c\r\n },\r\n html_buttons() {\r\n return this.slots_children().map(s => {\r\n let n = s.type.name\r\n return n === 'w-button' || n === 'w-submitbutton' ? h(MenuButton, s.props, s.children) : s\r\n })\r\n },\r\n html_slots() {\r\n return [\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(-1)}, h('i', {class: 'f-i f-i-caret-up'})),\r\n h(Vertical, {class: 'w-menu-bbr', height: '*', ref: 'bbr', onwheel: this.mousewheel}, {default: () => this.html_buttons()}),\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(1)}, h('i', {class: 'f-i f-i-caret-down'})),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass, this.x.dropClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n 'z-max-height': this.x.maxHeight,\r\n }]\r\n },\r\n root() {\r\n return this.getRoot()\r\n },\r\n rootCommander() {\r\n return this.root.commander\r\n },\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.context && this.context.$options.name !== 'w-menubutton') {\r\n if (inst) {\r\n $.close(inst)\r\n }\r\n inst = this\r\n }\r\n\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menu {\r\n box-shadow: none;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\r\n .w-menu-arr {\r\n height: 18px;\r\n line-height: 1;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Dialog from './Dialog.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-loading',\r\n mixins: [Dialog],\r\n props: ['text', 'icon'],\r\n methods: {\r\n x_default() {\r\n return {\r\n //local: true,\r\n }\r\n },\r\n html_slots() {\r\n return h(Img, {\r\n src: this.x.icon !== undefined ? this.x.icon : '#f-svg-loading',\r\n text: this.x.text !== undefined ? this.x.text : $.loc.loading\r\n })\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-loading {\r\n padding: 10px;\r\n gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n box-shadow: none;\r\n }\r\n\r\n .w-loading .f-svg {\r\n width: 30px;\r\n height: 30px;\r\n fill: #fff;\r\n }\r\n .w-loading .f-svg>use {\r\n stroke: #fff;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n table: this\r\n }\r\n },\r\n methods: {\r\n scrollTop(y) {\r\n let bd = this.slotHooks.tbody\r\n if (bd) {\r\n $(bd.el).scrollToY(y)\r\n }\r\n }\r\n },\r\n computed: {\r\n slotHooks() {\r\n const a = {}\r\n this.slots_children().forEach(o => {\r\n let n = o.type.name && o.type.name.slice(2)\r\n if (n) {\r\n if (n === 'hidden') {\r\n (a.hiddens || (a.hiddens = [])).push(o)\r\n } else\r\n a[n] = o\r\n }\r\n })\r\n return a\r\n },\r\n colgroup() {\r\n return $.slotsChildren(this.slotHooks.columns.children).map(v => v.props)\r\n },\r\n html_class() {\r\n return ['f-flex-column', this.x.face && 'z-face-' + this.x.face]\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import TableAbs from './TableAbs.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableAbs],\r\n inject: ['table'],\r\n data() {\r\n return {\r\n fixed: 'left',\r\n fixedWidth: null,\r\n fixedHeight: null,\r\n }\r\n },\r\n created() {\r\n this.init()\r\n },\r\n methods: {\r\n init() {\r\n this.table.leftTable = this\r\n },\r\n observeWidth() {\r\n if (!this.$el) return\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n let width = 0\r\n $.lodash.each(fixedCells, v => width += v.offsetWidth)\r\n this.fixedWidth = width\r\n },\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-table-fixed-' + this.fixed + ' f-flex-column'\r\n },\r\n html_style() {\r\n return {\r\n width: this.fixedWidth + 'px',\r\n height: this.fixedHeight + 'px',\r\n }\r\n }\r\n },\r\n mounted() {\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n $.lodash.each(fixedCells, v => new ResizeObserver(this.observeWidth).observe(v))\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableFixedLeft],\r\n data() {\r\n return {\r\n fixed: 'right',\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.table.rightTable = this\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import TableAbs from './TableAbs.vue'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import TableFixedRight from './TableFixedRight.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [TableAbs],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n data() {\r\n return {\r\n leftTable: null,\r\n rightTable: null,\r\n scrollTable: null,\r\n scrollHover: false,\r\n fixedWidth: '',\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [], this.fixedLeft || [], this.fixedRight || []]\r\n },\r\n },\r\n computed: {\r\n fixedLeft() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'left') > -1) {\r\n return h(TableFixedLeft, null, this.$slots)\r\n }\r\n },\r\n fixedRight() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'right') > -1) {\r\n return h(TableFixedRight, null, this.$slots)\r\n }\r\n },\r\n html_style() {\r\n return this.fixedWidth && {\r\n '--w-table-fixed-width': this.fixedWidth\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-table {\r\n position: relative;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n }\r\n\r\n .w-table-tbl {\r\n table-layout: fixed;\r\n width: 100%;\r\n border-collapse: collapse;\r\n }\r\n\r\n .w-thead {\r\n background: var(--w-thead-background-color);\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-tr {\r\n height: 40px;\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n overflow: hidden;\r\n }\r\n\r\n .w-tbody .w-tr.z-on {\r\n background-color: #DFE3FF;\r\n\r\n }\r\n\r\n .w-tbody.z-br .w-td {\r\n white-space: normal;\r\n word-break: break-all;\r\n word-wrap: normal;\r\n overflow: visible;\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th-title {\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort {\r\n height: 28px;\r\n line-height: 1;\r\n color: #aaa;\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort-up:before {\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .w-th-sort-down:before {\r\n position: relative;\r\n top: -4px;\r\n }\r\n\r\n .w-th.z-asc .w-th-sort-up {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-th.z-desc .w-th-sort-down {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-td {\r\n padding: 5px;\r\n white-space: nowrap;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .w-td.z-align-left {\r\n text-align: left;\r\n }\r\n\r\n .w-td.z-align-center {\r\n text-align: center;\r\n }\r\n\r\n .w-td.z-align-right {\r\n text-align: right;\r\n }\r\n\r\n .w-td.z-valign-top {\r\n vertical-align: top;\r\n }\r\n\r\n .w-td.z-valign-middle {\r\n vertical-align: middle;\r\n }\r\n\r\n .w-td.z-valign-bottom {\r\n vertical-align: bottom;\r\n }\r\n\r\n .w-td>.w-triplebox>.w-input,\r\n .w-td>.w-radio>.w-input {\r\n min-height: auto;\r\n }\r\n\r\n .w-table-fixed-left {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-table-fixed-right {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n height: 100%;\r\n align-items: flex-end;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-right {\r\n box-shadow: 0 0 10px rgb(0 0 0 / 12%);\r\n }\r\n\r\n .w-tbody.z-scroll-x-show.z-scroll-x-left~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show.z-scroll-x-right~.w-table-fixed-right {\r\n box-shadow: none;\r\n }\r\n\r\n .w-table-fixed-left>.w-tbody>.w-scrollbar-y,\r\n .w-table-fixed-right>.w-tbody>.w-scrollbar-y {\r\n display: none;\r\n }\r\n\r\n .w-table-fixed-left .w-table-tbl,\r\n .w-table-fixed-right .w-table-tbl {\r\n width: var(--w-table-fixed-width);\r\n }\r\n\r\n .w-table.z-face-cell {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td:first-child {\r\n border-left: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-td:last-child {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tr:first-child .w-td {\r\n border-top: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n</style>\r\n","<script>\r\n export default {\r\n name: 'w-columns'\r\n }\r\n</script>\r\n\r\n","<script>\r\n export default {\r\n name: 'w-column',\r\n props: ['width', 'minWidth'],\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['pub', 'current'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n inCurrent(target) {\r\n let c = this.x.current\r\n if (c == null) return\r\n if (Array.isArray(c)) {\r\n return -1 < c.findIndex(v => this.isCurrentChild(v, target))\r\n } else {\r\n return this.isCurrentChild(c, target)\r\n }\r\n },\r\n isCurrentChild(current, target) {\r\n if (typeof current === 'object') {\r\n let d = target.isWidget ? (target.x || target).data : (target.props && target.props.data)\r\n if (d) {\r\n for (let i in current)\r\n if ($.lodash.get(d, i) == current[i]) return true\r\n }\r\n } else if (current == (target.isWidget ? target.getKey() : target.key)) {\r\n return true\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-thead',\r\n mixins: [WidgetBase, PubParent],\r\n inject: ['table'],\r\n props: ['br', 'sort'],\r\n provide() {\r\n return {\r\n provideLeafLevel: -1,\r\n provideParentLeaf: null,\r\n provideInBody: false,\r\n thead: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n rowspan: null\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n observeTableWidth() {\r\n if (!this.$refs.table) return\r\n this.table.fixedWidth = this.$refs.table.offsetWidth + 'px'\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c['min-width'] || ($.isNumber(c.width) ? c.width : 0))\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rowspan = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n },\r\n mounted() {\r\n if (this.table.leftTable || this.table.rightTable) {\r\n this.$refs.table && new ResizeObserver(this.observeTableWidth).observe(this.$refs.table)\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import THead from './TableTHead.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-tbody',\r\n mixins: [THead, Scroll],\r\n inject: ['table'],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n thead: null,\r\n provideInBody: true,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.table.x, (x) => {\r\n this.x.scrollX = x.scrollX\r\n this.x.scrollY = this.table.fixed ? true : x.scrollY\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n onScroll(e) {\r\n let t = this.table\r\n let hd = t.slotHooks.thead\r\n if (hd) {\r\n hd.el.scrollLeft = e.target.scrollLeft\r\n }\r\n let st = (t.table || t).scrollTable\r\n if (t.fixed) {\r\n if (t.table != st) t.table.scrollTop(e.target.scrollTop)\r\n } else {\r\n if (t.leftTable) {\r\n if (t.leftTable != st) t.leftTable.scrollTop(e.target.scrollTop)\r\n }\r\n if (t.rightTable) {\r\n if (t.rightTable != st) t.rightTable.scrollTop(e.target.scrollTop)\r\n }\r\n }\r\n },\r\n onScrollbarMousedown(e) {\r\n this.setScrollTable()\r\n },\r\n setScrollTable(a) {\r\n let t = this.table;\r\n (t.table || t).scrollTable = t\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots(this.html_tbody())\r\n }\r\n },\r\n computed: {\r\n inBody() {\r\n return true\r\n },\r\n html_class() {\r\n return ['w-vertical f-flex-1 f-oh', this.html_scroll_class, {\r\n 'z-br': this.x.br,\r\n 'z-hv': !this.table.fixed && this.table.scrollHover\r\n }]\r\n },\r\n html_props() {\r\n let t = this.table\r\n if (t.leftTable || t.rightTable || t.fixed) {\r\n return $.br.mobile ? {\r\n ontouchstart: this.setScrollTable\r\n } : {\r\n onwheel: e => {\r\n this.setScrollTable()\r\n t.fixed && (t.table.scrollHover = true)\r\n },\r\n onmouseenter: t.fixed && (e => {\r\n t.table.scrollHover = true\r\n }),\r\n onmouseleave: t.fixed && (e => {\r\n t.table.scrollHover = false\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n\r\n export default {\r\n name: 'w-tr',\r\n pubParentName: 'w-tbody,w-thead',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['rowIndex', 'cells', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return (this.template || this.preload) ? {} : {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideParentExpanded: false,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n getInitLoaded() {\r\n return this.loaded = this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true :\r\n false\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)\r\n },\r\n isDisplay() {\r\n if (!this.provideParentLeaf) return true\r\n let p = this\r\n while (p = p.provideParentLeaf) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {\r\n fn && fn(this.isExpanded())\r\n })\r\n } else {\r\n fn && this.$nextTick(() => {\r\n fn(this.isExpanded())\r\n })\r\n }\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_slots() {\r\n let ri = this.rowIndex\r\n let rs = this.pubParent.rowspan\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n // return [\r\n // h('tr', mergeProps(this.html_attrs, this.$attrs, this.html_props), this.html_cells()),\r\n // this.$slots.rows ? this.$slots.rows() : []\r\n // ]\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign'],\r\n inject: ['table', 'provideInBody'],\r\n render() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n return h('td', {\r\n class: ['w-td', this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.$slots)\r\n }\r\n\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import TD from './TableTD.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-th',\r\n mixins: [TD],\r\n props: ['sortable'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n methods: {\r\n clickSort(e, order) {\r\n let key = this.$.vnode.key\r\n let sort = this.thead.sort || false\r\n if (key == null || key == '') return\r\n if (order === 'toggle') {\r\n if (sort.key == key) {\r\n order = sort.order == 'asc' ? 'desc' : sort.order == 'desc' ? '' : 'asc'\r\n } else {\r\n order = 'asc'\r\n }\r\n } else {\r\n if (sort.order == order) order = ''\r\n }\r\n this.$emit('click:sort', e, {key, order})\r\n },\r\n html_slots() {\r\n return h(Horizontal, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [\r\n h('div', {class: 'w-th-title', onClick: this.sortable && (e => this.clickSort(e, 'toggle'))}, this.$slots),\r\n this.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [\r\n h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),\r\n h('i', {class: 'f-i f-i-caret-down f-oh w-th-sort-down', onClick: e => this.clickSort(e, 'desc')}),\r\n ]) : []\r\n ]})\r\n }\r\n },\r\n computed: {\r\n col() {\r\n return this.table.colgroup[this.$.vnode.dfishColIndex] || false\r\n }\r\n },\r\n render() {\r\n let col = this.col\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n let sort = this.thead.sort || false\r\n return h('th', {\r\n class: ['w-td w-th', {[`z-${sort.order}`]: this.sortable && sort.key && sort.key == this.$.vnode.key}, this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.html_slots())\r\n }\r\n\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-grid',\r\n mixins: [Scroll],\r\n props: ['columns', 'rows', 'gap', 'defaultColspan', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n columns: 12,\r\n gap: 0,\r\n }\r\n },\r\n html_slots() {\r\n return this.x.scrollX || this.x.scrollY ? this.html_scroll_slots() : h('div', {\r\n class: 'w-grid-cont',\r\n style: this.html_scroll_cont_style,\r\n }, this.$slots)\r\n },\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.x.rows ? 'z-full' : 'z-auto', this.x.face && 'z-face-' + this.x.face, this.html_scroll_class],\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n let cols = this.x.columns\r\n if ($.isNumber(cols)) cols = `repeat(${cols}, 1fr)`\r\n let rows = this.x.rows\r\n if ($.isNumber(rows)) rows = `repeat(${rows}, 1fr)`\r\n let dc = this.x.defaultColspan\r\n return {\r\n 'grid-template-columns': cols,\r\n 'grid-template-rows': rows,\r\n 'gap': this.x.gap ? $.unitSize(this.x.gap) : '',\r\n '--w-grid-default-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-default-colspan, 1 / -1);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-swiper-item',\r\n pubParentName: 'w-swiper',\r\n inject: ['providePubParent'],\r\n mixins: [WidgetBase],\r\n props: ['lazy'],\r\n data() {\r\n return {\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n lazy: true\r\n }\r\n },\r\n html_slots() {\r\n if (this.loaded || !this.lazy) {\r\n return this.$slots\r\n }\r\n if (this.isCurrent) {\r\n this.loaded = true\r\n return this.$slots\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-on': this.isCurrent}\r\n },\r\n isCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-swiper',\r\n mixins: [WidgetBase, PubParent],\r\n props: ['arrow', 'indicatorDots', 'duration'],\r\n data() {\r\n return {\r\n focusIndex: null,\r\n }\r\n },\r\n watch: {\r\n current(v) {\r\n this.setFocus(v)\r\n },\r\n },\r\n methods: {\r\n //@a -> key, index\r\n setFocus(a) {\r\n let s = this.slots_children()\r\n let c = s.findIndex(v => this.isCurrentChild(a, v))\r\n this.focusIndex = c\r\n },\r\n clickArrow(a) {\r\n this.focusIndex += a\r\n },\r\n clickIndicator(a) {\r\n this.focusIndex = a\r\n },\r\n html_slots() {\r\n if (this.focusIndex == null) {\r\n this.setFocus(this.x.current)\r\n }\r\n let v = this.x.vertical\r\n let a = v ? 'up' : 'left'\r\n let b = v ? 'down' : 'right'\r\n return [\r\n h('div', {\r\n class: 'w-swiper-cont',\r\n ref: 'cont',\r\n }, this.$slots),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + a,\r\n onclick: e => this.clickArrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + a\r\n })),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + b,\r\n onclick: e => this.clickArrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + b\r\n })),\r\n this.x.indicatorDots && h('div', {\r\n class: 'w-swiper-indicator f-flex-center',\r\n }, this.slots_children().map((v, i) => h('div', {\r\n class: 'w-swiper-indicator-dot' + (i == this.focusIndex ? ' z-on' : ''),\r\n onclick: e => this.clickIndicator(i)\r\n })))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n let i = this.focusIndex\r\n return {\r\n 'z-at-first': i == 0,\r\n 'z-at-last': i > -1 && i == this.slots_children().length - 1\r\n }\r\n },\r\n html_style() {\r\n let i = this.focusIndex\r\n return {\r\n '--w-swiper-translate-x': (-i * 100) + '%',\r\n '--w-swiper-transition': this.x.duration ? `transform ${this.x.duration}ms` : 0,\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.cont) {\r\n new MutationObserver(() => {\r\n this.setFocus(this.x.current)\r\n }).observe(this.$refs.cont, {\r\n childList: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-swiper {\r\n position: relative;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper-cont {\r\n display: flex;\r\n box-sizing: border-box;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .w-swiper-item {\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n transform: translateX(var(--w-swiper-translate-x));\r\n transition: var(--w-swiper-transition);\r\n }\r\n\r\n .w-swiper-item>* {\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-left,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-right,\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-up,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-down {\r\n display: none\r\n }\r\n\r\n .w-swiper-arrow {\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-arrow.z-left {\r\n width: 40px;\r\n right: auto\r\n }\r\n\r\n .w-swiper-arrow.z-right {\r\n width: 40px;\r\n left: auto\r\n }\r\n\r\n .w-swiper-arrow.z-up {\r\n height: 40px;\r\n bottom: auto\r\n }\r\n\r\n .w-swiper-arrow.z-down {\r\n height: 40px;\r\n top: auto\r\n }\r\n\r\n .w-swiper-arrow .f-i {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n font-size: 36px;\r\n color: #ccc\r\n }\r\n\r\n .w-swiper-arrow:hover {\r\n background: rgba(0, 0, 0, .1)\r\n }\r\n\r\n .w-swiper-arrow:hover .f-i {\r\n color: #fff\r\n }\r\n\r\n .w-swiper-indicator {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: 10px;\r\n text-align: center\r\n }\r\n\r\n .w-swiper-indicator-dot {\r\n width: 9px;\r\n height: 9px;\r\n margin: 0 4px;\r\n background-color: #bbb;\r\n border-radius: 10px;\r\n vertical-align: middle;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-indicator-dot.z-on {\r\n background-color: #333\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n export default {\r\n name: 'w-buttonbar',\r\n mixins: [Horizontal, PubParent],\r\n props: ['vertical'],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n valign: this.vertical ? null : 'middle'\r\n }\r\n },\r\n html_slots() { \r\n let s\r\n if (this.$slots.split) {\r\n let a = this.slots_children()\r\n let b = this.$slots.split()\r\n s = []\r\n for (let i = 0, l = a.length; i < l; i++) {\r\n s.push(a[i])\r\n if (i < l - 1) s.push(b)\r\n }\r\n }\r\n return this.html_scroll_slots(s)\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return this.x.vertical ? 'w-vertical' : 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import Button from './Button.vue'\r\n export default {\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-tab'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tab {\r\n background: #f8f8f8;\r\n }\r\n .w-tab.z-on {\r\n background: #fff;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import TabButton from './TabButton.vue'\r\n import Swiper from './Swiper.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-tabs',\r\n mixins: [WidgetBase],\r\n props: ['current', 'position', 'gap'],\r\n methods: {\r\n x_default() {\r\n return {\r\n position: 'top',\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props) {\r\n $.lodash.set(v, 'props.key', i)\r\n }\r\n buttons.push(h(TabButton, v.props))\r\n pages.push(h(SwiperItem, {lazy: v.props.lazy == null ? true : v.props.lazy, key: v.props.key}, v.children))\r\n })\r\n return [\r\n h(ButtonBar, {\r\n class: 'w-tabs-buttonbar',\r\n current: this.x.current,\r\n gap: this.x.gap,\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n }, {default: () => buttons}),\r\n h(Swiper, {class: 'w-tabs-swiper f-flex-1 f-oh', current: this.x.current}, {default: () => pages}),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'f-oh f-flex' + (this.x.position === 'top' || this.x.position === 'bottom' ? '-column' : '')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n export default {\r\n name: 'w-tab',\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-album',\r\n mixins: [Horizontal, PubParent],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n br: true,\r\n valign: 'top',\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Button from './Button.vue'\r\n\r\n export default {\r\n name: 'w-submitbutton',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-button'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n \r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h, mergeProps} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent, Scroll],\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [(this.x.align || this.x.valign) && 'w-horizontal', this.html_align_class, this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-html {\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n mergeProps\r\n } from 'vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent],\r\n provide() {\r\n return {\r\n provideLeafLevel: -1,\r\n provideParentLeaf: null,\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tree {\r\n text-align: left;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-leaf.z-hv {\r\n background: #f5faff\r\n }\r\n\r\n .w-leaf.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-label',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['text', 'vertical'],\r\n methods: {\r\n html_slots() {\r\n return h('label', {class: 'w-label-text'}, \r\n h('span', this.$slots.default ? this.$slots.default() : this.x.text))\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n this.x.vertical && (this.$parent.labelVertical = true)\r\n return ['f-oh f-br' + (this.x.vertical ? ' z-vertical' : ''), this.html_align_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Label from './Label.vue'\r\n\r\n const _valid_err = function(v) {\r\n if (typeof v !== 'string')\r\n v = Array.isArray(v) ? v.join(',') : v == null ? '' : ('' + v);\r\n v = v.trim()\r\n let k = this.validHooks;\r\n let c, d, e;\r\n if (k.valid && (e = k.valid(v)))\r\n return e;\r\n if ((c = this.vv('required')) && (k.required ? k.required(v) : (!v)))\r\n return this.formErr('required');\r\n if ((c = this.vv('minLength')) && c > 0 && v && (k.minLength ? k.minLength(v) : ($.strLen(v) < c)))\r\n return this.formErr('minLength', [c]);\r\n if ((c = this.vv('maxLength')) && c > 0 && v && (k.maxLength ? k.maxLength(v) : ((d = $.strLen(v)) > c)))\r\n return this.formErr('maxLength', [d - c]);\r\n if ((c = this.vv('minValue')) && v && (k.minValue ? k.minValue(v) : ($.isNumber(c) ? ($.number(v) < $.number(\r\n c)) : (v < c))))\r\n return this.formErr('minValue', [c]);\r\n if ((c = this.vv('maxValue')) && v && (k.maxValue ? k.maxValue(v) : ($.isNumber(c) ? ($.number(v) > $.number(\r\n c)) : (v > c))))\r\n return this.formErr('maxValue', [c]);\r\n if ((c = this.vv('minSize')) && c > 0 && v && (k.minSize ? k.minSize(v) : (v.split(',').length < $.number(\r\n c))))\r\n return this.formErr('minSize', [c]);\r\n if ((c = this.vv('maxSize')) && c > 0 && v && (k.maxSize ? k.maxSize(v) : (v.split(',').length > $.number(c))))\r\n return this.formErr('maxSize', [c]);\r\n if ((c = this.vv('pattern')) && v && (k.pattern ? k.pattern(c) : (typeof c === 'string' ? !$.eval(`${c}.test(v)`, {v}) : !c.test(v))))\r\n return this.formErr('pattern');\r\n if (this.vv('compare') && this.x.compare.target && v && (c = this.ownerView.f(this.x.compare.target)) && (d =\r\n c.formVal()) &&\r\n (k.compare ? k.compare(v, c, d) : !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})))\r\n return this.formErr('compare', [this.x.compare.mode, c.getLabelText() || 'end']);\r\n if ((c = this.vv('validateHandler')) && (d = c(v)))\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: 'validateHandler',\r\n text: d\r\n }\r\n }\r\n\r\n const _validate_dft_value = {\r\n required: true,\r\n beforeNow: true,\r\n afterNow: true\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'disabled', 'required', 'validateHandler', 'inputWidth', 'inputHeight'\r\n ],\r\n emits: ['update:modelValue', 'change'],\r\n data() {\r\n let mv = this.wrapper().modelValue\r\n return {\r\n isFormWidget: true,\r\n isFocus: false,\r\n hasBorder: false,\r\n isPlural: false,\r\n warnClass: '',\r\n labelVertical: false,\r\n modifiedValue: mv,\r\n defaultValue: mv,\r\n placeholder_type: '',\r\n }\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0)\r\n return this.x.modelValue\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\r\n },\r\n vv(name) {\r\n return typeof this.rules[name] !== 'object' ? this.rules[name] : this.rules[name].value !== undefined ? this.rules[name].value : _validate_dft_value[name]\r\n },\r\n valid() {\r\n let e = this.getValidError()\r\n if (e) {\r\n this.warn()\r\n this.showErrorTip(e.text)\r\n }\r\n return !e\r\n },\r\n getValidError() {\r\n if (this.isNormal || this.readonly == 'validate') {\r\n return _valid_err.call(this, this.isPlural ? this.groupFormVal() : this.formVal())\r\n }\r\n },\r\n formErr(b, c) {\r\n let t = this.getLabelText()\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: b,\r\n label: t,\r\n text: (this.rules[b] && this.rules[b].text) || $.loc.ps.apply(null, [$.loc.form[b === 'required' && !t ?\r\n 'complete_required' : b], t || ''].concat(c || [])) || ''\r\n }\r\n },\r\n warn(a) {\r\n this.warnClass = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n },\r\n showErrorTip(text) {\r\n $.scrollIntoView(this)\r\n this.exec({\r\n type: 'Tip',\r\n text,\r\n face: 'warn',\r\n independent: true,\r\n snap: {\r\n target: this.errorTipTarget\r\n }\r\n })\r\n },\r\n showTip(o, opt) {\r\n return this.exec($.extendDeep({}, o, this.x.tip, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }))\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n onblur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n //this.valid('blur')\r\n },\r\n snapElem() {\r\n return this.el('main')\r\n },\r\n hasBubble(a) {\r\n return this.snapElem().contains(a.isWidget ? a.el() : a)\r\n },\r\n isFocusTarget(el) {\r\n // implement\r\n },\r\n // @original: 检测表单是否有修改,对照参考的值为初始值\r\n isModified(original) {\r\n let dv = original ? this.defaultValue : this.modifiedValue\r\n let mv = this.x.modelValue\r\n if (dv == null) dv = ''\r\n if (mv == null) mv = ''\r\n if (dv == mv)\r\n return false\r\n return JSON.stringify(dv) != JSON.stringify(mv)\r\n },\r\n // @original: 设置为true,修改初始值\r\n saveModified(original) {\r\n this.modifiedValue = $.lodash.clone(this.x.modelValue)\r\n if (original) {\r\n this.defaultValue = this.modifiedValue\r\n }\r\n },\r\n html_label() {\r\n return this.$slots.label ? this.$slots.label() : (this.x.label && typeof this.x.label === 'object' && h(Label, this.x.label))\r\n },\r\n html_input() {\r\n return h(this.input_tag, {\r\n class: 'w-input-value',\r\n ref: 'v',\r\n id: this.uid + 'v',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n readonly: this.isReadonly,\r\n disabled: this.isDisabled,\r\n placeholder: this.input_placeholder,\r\n oninput: this.oninput,\r\n onfocus: (e) => {\r\n this.isFocus = true, this.warn(false)\r\n },\r\n onblur: this.onblur,\r\n ...this.input_prop,\r\n })\r\n },\r\n html_input_hidden() {\r\n return this.x.name ? h('input', {\r\n type: 'hidden',\r\n ref: 'v',\r\n name: this.input_name,\r\n value: this.input_value,\r\n disabled: this.x.disabled,\r\n }) : []\r\n },\r\n html_button() {\r\n return []\r\n },\r\n html_form() {\r\n return [\r\n this.slot('prepend'),\r\n this.html_input(),\r\n this.html_button(),\r\n this.slot('append'),\r\n ]\r\n },\r\n html_main() {\r\n let fh = this.x.inputHeight && $.unitSize(this.x.inputHeight)\r\n return h('div', mergeProps({\r\n ref: 'main',\r\n id: this.uid + 'main',\r\n class: ['w-input', {\r\n 'w-input-border': this.hasBorder\r\n }],\r\n style: {\r\n 'height': fh\r\n },\r\n title: this.input_title\r\n }, this.main_prop), this.html_form())\r\n },\r\n html_slots() {\r\n return [this.html_label(), this.html_main(), this.slot('after'), this.slot('dialog')]\r\n }\r\n },\r\n computed: {\r\n rules() {\r\n return this.x\r\n },\r\n validHooks() {\r\n return {}\r\n },\r\n input_value() {\r\n return this.x.modelValue\r\n },\r\n input_name() {\r\n return this.x.name\r\n },\r\n input_tag() {\r\n return 'input'\r\n },\r\n input_type() {\r\n return 'text'\r\n },\r\n input_title() {\r\n // implement\r\n },\r\n input_prop() {\r\n // implement\r\n },\r\n input_placeholder() {\r\n let s = this.x.placeholder\r\n if (s == null && $.x.autoPlaceholder && this.x.label) {\r\n s = $.loc.ps($.loc[this.placeholder_type || 'placeholder_input'], (this.x.label.text || this.x.label))\r\n }\r\n return s\r\n },\r\n main_prop() {\r\n // implement\r\n },\r\n isNormal() {\r\n return !this.isReadonly && !this.isDisabled\r\n },\r\n isDisabled() {\r\n return this.x.disabled\r\n },\r\n isReadonly() {\r\n return this.x.readonly\r\n },\r\n errorTipTarget() {\r\n return this\r\n },\r\n html_on() {\r\n // implement\r\n },\r\n html_props() {\r\n let fw = this.x.inputWidth && $.unitSize(this.x.inputWidth)\r\n return {\r\n class: ['w-formbase', this.warnClass, this.html_align_class, {\r\n 'z-on': this.isFocus,\r\n 'z-ds': !this.isNormal,\r\n 'z-req': this.rules.required,\r\n 'z-label-vertical': this.labelVertical,\r\n 'z-fixed': !!fw,\r\n }],\r\n style: {\r\n '--w-input-width': fw == null ? '' : fw\r\n },\r\n ...this.html_on\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-label {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n flex-shrink: 0;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-label.z-vertical {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-label-text {\r\n text-align: right;\r\n }\r\n \r\n .w-formbase {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-input {\r\n display: flex;\r\n box-sizing: border-box;\r\n min-height: 32px;\r\n align-items: center;\r\n overflow: hidden;\r\n flex: 1;\r\n flex-shrink: 1;\r\n flex-basis: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-label-vertical {\r\n display: block;\r\n }\r\n\r\n .w-formbase.z-label-vertical>.w-input {\r\n max-width: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-fixed>.w-input {\r\n flex-grow: 0;\r\n }\r\n\r\n .w-input-border {\r\n border: 1px solid #ddd;\r\n box-sizing: border-box;\r\n background: #fff;\r\n }\r\n\r\n .w-input-bbr {\r\n display: flex;\r\n flex-shrink: 0;\r\n width: 26px;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n \r\n .w-input-bbr.f-i-caret-down {\r\n font-size: 18px;\r\n }\r\n\r\n .w-input-bbr button {\r\n width: 100%;\r\n }\r\n\r\n .w-input-main button:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-bbr,\r\n .w-input-bbr button,\r\n .w-input-main button:disabled {\r\n color: #a3a3a3;\r\n }\r\n\r\n .w-formbase.z-on > .w-input-border,\r\n .w-input-border.z-drop {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-input-border>.w-input-value {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n padding: 0 10px;\r\n background: transparent;\r\n }\r\n \r\n input::placeholder,\r\n textarea::placeholder,\r\n .w-input-placeholder {\r\n color: #a6a6a6;\r\n }\r\n\r\n .w-dropbox-text {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding-left: 10px;\r\n }\r\n\r\n .w-textarea .w-input-border>.w-input-value {\r\n height: 100%;\r\n padding: 5px 10px;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n }\r\n\r\n .w-textarea .w-input-border {\r\n height: 100%;\r\n }\r\n\r\n .w-checkbox,\r\n .w-triplebox,\r\n .w-radio {\r\n margin: 0\r\n }\r\n\r\n .w-triplebox {\r\n display: inline-flex;\r\n justify-content: center;\r\n }\r\n\r\n .w-checkboxgroup>.w-input,\r\n .w-radiogroup>.w-input {\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n padding-top: 3px;\r\n padding-bottom: 3px;\r\n }\r\n\r\n .w-boxgroup-grid {\r\n flex: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n align-items: center;\r\n gap: 10px;\r\n }\r\n\r\n .w-checkbox-target>*,\r\n .w-radio-target>* {\r\n width: 100%;\r\n }\r\n\r\n .w-checkboxgroup>.w-input>.w-checkbox>.w-input,\r\n .w-radiogroup>.w-input>.w-radio>.w-input {\r\n min-height: auto;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-checkbox-text,\r\n .w-radio-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text {\r\n position: relative;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text>span:before {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-label.z-h-align-left {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-label.z-h-align-left>.w-label-text {\r\n text-align: left;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:before {\r\n content: '';\r\n display: none;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:after {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-left: 3px;\r\n }\r\n \r\n .w-form > .w-input {\r\n word-break: break-word;\r\n gap: var(--w-form-gap);\r\n }\r\n .w-form.z-vertical > .w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n }\r\n .w-form.z-v-align-left > .w-input,\r\n .w-form.z-h-valign-top > .w-input {\r\n align-items: flex-start;\r\n }\r\n .w-form.z-v-align-center > .w-input,\r\n .w-form.z-h-valign-middle > .w-input {\r\n align-items: center;\r\n }\r\n .w-form.z-v-align-right > .w-input,\r\n .w-form.z-h-valign-bottom > .w-input {\r\n align-items: flex-end;\r\n }\r\n .w-form.z-h-align-left > .w-input,\r\n .w-form.z-v-valign-top > .w-input {\r\n justify-content: flex-start;\r\n }\r\n .w-form.z-h-align-center > .w-input,\r\n .w-form.z-v-valign-middle > .w-input {\r\n justify-content: center;\r\n }\r\n .w-form.z-h-align-right > .w-input,\r\n .w-form.z-v-valign-bottom > .w-input {\r\n justify-content: flex-end;\r\n }\r\n \r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-checkbox',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['text', 'checked', 'partialSubmit', 'minSize', 'maxSize'],\r\n inject: ['providePubParent', 'provideBoxParent'],\r\n emits: ['change', 'update:checked', 'click'],\r\n data() {\r\n return {\r\n isPlural: true,\r\n indeterminate: false,\r\n modifiedChecked: false,\r\n defaultChecked: false,\r\n }\r\n },\r\n created() {\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.boxProxy = this\r\n }\r\n if (this.pubParent) {\r\n if (this.$slots.default)\r\n this.pubParent.isGrid = true\r\n }\r\n this.defaultChecked = this.isChecked\r\n this.modifiedChecked = this.isChecked\r\n },\r\n methods: {\r\n val(a) {\r\n if (arguments.length == 0)\r\n \treturn this.isChecked ? this.value : ''\r\n //this.x.checked = !!a\r\n let v = this.groupFormVal()\r\n let p = this.pubParent\r\n if (p) {\r\n p.$emit('update:modelValue', v)\r\n p.$emit('change', v)\r\n if (v != p.x.modelValue) {\r\n p.x.modelValue = v\r\n }\r\n } else {\r\n this.$emit('change', v)\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.$refs.v.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null)\r\n return $.lodash.filter(this.elements(true, true), v => v.value).map(v => v.value).join(',')\r\n $.lodash.each(this.elements(), e => $(e).check($.idsAny(a, $(e).formVal())))\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n elements(a, b) {\r\n return $.q(':input[name=\"' + this.input_name + '\"]' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el())\r\n },\r\n relate() {\r\n // implement\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n if (this.pubParent) {\r\n this.pubParent.reset(empty)\r\n } else {\r\n this.val(empty || !this.defaultChecked ? false : true)\r\n }\r\n },\r\n onchange(e) {\r\n if (this.warnClass && this.x.name) {\r\n this.ownerView.fAll(this.x.name).forEach(v => v.warn && v.warn(false))\r\n }\r\n this.val(e.target.checked)\r\n this.trigger('click', e)\r\n },\r\n isModified(original) {\r\n if (this.pubParent) {\r\n return this.pubParent.isModified(original)\r\n } else {\r\n let c = original ? this.defaultChecked : this.modifiedChecked\r\n return c == this.isChecked\r\n }\r\n },\r\n saveModified(original) {\r\n if (this.pubParent) {\r\n this.pubParent.saveModified(original)\r\n } else {\r\n this.modifiedChecked = this.isChecked\r\n if (original) {\r\n this.defaultChecked = this.modifiedChecked\r\n }\r\n }\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n html_input() {\r\n return [h(this.input_tag, {\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n checked: this.isChecked,\r\n disabled: this.isDisabled,\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n onclick: e => {\r\n if (this.isNormal) {\r\n if (!this.pubParent) {\r\n this.x.checked = e.target.checked\r\n }\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n class: 'w-input-value',\r\n ref: 'v',\r\n 'w-name': this.input_name !== this.x.name ? this.x.name : null\r\n }), h('em', {\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text)\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: e => {\r\n e.stopPropagation()\r\n this.provideBoxParent && this.provideBoxParent.clickBoxProxy(e)\r\n this.relate()\r\n }\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {class: this.$options.name + '-target', ref: 'target'}, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.isGrid ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n input_type() {\r\n return 'checkbox'\r\n },\r\n input_value() {\r\n // 如果没有定义value,必须返回空字符串。因为当<input type=\"checkbox\">没有value属性时,它的表单值会变成\"on\"\r\n return this.x.value == null ? '' : this.x.value\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n rules() {\r\n return {\r\n required: this.x.required != null ? this.x.required : (this.pubParent && this.pubParent.x.required),\r\n minSize: this.x.minSize != null ? this.x.minSize : (this.pubParent && this.pubParent.x.minSize),\r\n maxSize: this.x.maxSize != null ? this.x.maxSize : (this.pubParent && this.pubParent.x.maxSize),\r\n }\r\n },\r\n isChecked() {\r\n return typeof this.x.checked === 'boolean' ? this.x.checked : (this.pubParent && $.idsAny(this.pubParent.x.modelValue, this.x.value))\r\n },\r\n isDisabled() {\r\n return this.x.disabled != null ? this.x.disabled : (this.pubParent && this.pubParent.disabled)\r\n },\r\n isReadonly() {\r\n return this.x.readonly != null ? this.x.readonly : (this.pubParent && this.pubParent.readonly)\r\n },\r\n html_class() {\r\n return {\r\n 'z-half': this.indeterminate\r\n }\r\n }\r\n },\r\n mounted() {\r\n let t = this.$refs.target\r\n if (t) {\r\n this.$nextTick(() => {\r\n this.$watch(() => this.isChecked && !this.isDisabled, (v) => {\r\n t.$el && this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !v)\r\n }, {immediate: true})\r\n })\r\n }\r\n },\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-triplebox',\r\n mixins: [CheckBox],\r\n props: ['all'],\r\n watch: {\r\n checked(e) {\r\n if (this.provideBoxParent) {\r\n !this.provideBoxParent.isFolder() && this.provideBoxParent.clickBoxProxy()\r\n }\r\n }\r\n },\r\n methods: {\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.x.checked = a == 1\r\n this.indeterminate = a == 2\r\n },\r\n isPartial() {\r\n return this.checkstate() == 2\r\n },\r\n getRelates() {\r\n return this.ownerView.fAll(this.x.name)\r\n },\r\n relate() {\r\n if (this.x.name) {\r\n for (var i = 0, b = this.getRelates(), c = this.isPartial(), l = b.length, n = l, c0 = 0, c1 = 0, c2 = 0,\r\n d; i < l; i++) {\r\n if (!b[i].isNormal) {\r\n n--\r\n continue\r\n }\r\n if (this.x.all) {\r\n if (this != b[i]) {\r\n if (c) {\r\n this.checkstate(b[i].checkstate())\r\n break;\r\n } else {\r\n b[i].checkstate(this.isChecked ? 1 : 0)\r\n }\r\n } else if (l == 1)\r\n d = this\r\n } else if (b[i].x.all) {\r\n d = b[i]\r\n } else {\r\n b[i].isChecked ? (c1++) : b[i].isPartial() ? (c2++) : (c0++)\r\n }\r\n }\r\n if (d && ((c0 + c1 + c2) || l == 1)) {\r\n d.checkstate(c0 == n - 1 ? 0 : c1 == n - 1 ? 1 : 2)\r\n }\r\n }\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.checkstate(a)\r\n this.relate()\r\n },\r\n },\r\n mounted() {\r\n !this.x.all && this.relate()\r\n }\r\n\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import TripleBox from './TripleBox.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-leaf',\r\n pubParentName: 'w-tree',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['text', 'expandedIcon', 'collapsedIcon', 'expanded', 'box', 'br', 'format', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['providePubParent', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideBoxParent: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n hover: false,\r\n loading: false,\r\n loaded: this.inTree() ? this.getInitLoaded() : this.provideParentLeaf.getInitLoaded(),\r\n boxProxy: null,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return this.inTree() ? $.hasChild(this.$slots) : this.provideParentLeaf.hasChild()\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true : false\r\n },\r\n inTree() {\r\n return !this.provideParentLeaf || this.provideParentLeaf.$options.name === 'w-leaf'\r\n },\r\n isExpanded() {\r\n return this.inTree() ? this.x.expanded : this.provideParentLeaf.isExpanded()\r\n },\r\n isFolder() {\r\n return this.inTree() ? (this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)) : this.provideParentLeaf.isFolder()\r\n },\r\n toggle(exp, fn) {\r\n if (this.inTree()) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {fn && fn(this.isExpanded())})\r\n } else {\r\n fn && this.$nextTick(() => {fn(this.isExpanded())})\r\n }\r\n } else {\r\n this.provideParentLeaf.toggle(exp, fn)\r\n }\r\n },\r\n clickBoxProxy(e) {\r\n this._triple()\r\n },\r\n children() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n // triplebox 级联勾选\r\n _triple() {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && p.$options.name === 'w-leaf') {\r\n if (p.boxProxy) {\r\n let c = p.children()\r\n let m = [0, 0, 0]\r\n let l = c.length\r\n c.forEach(v => {\r\n let b = v.boxProxy\r\n if (b) m[b.checkstate()]++\r\n })\r\n p.boxProxy.check(m[0] === l ? 0 : m[1] === l ? 1 : 2)\r\n }\r\n }\r\n let c = this.boxProxy.checkstate()\r\n c != 2 && this._tripleAll(c)\r\n },\r\n _tripleAll(a) {\r\n this.children().forEach(v => {\r\n if (v.boxProxy) {\r\n v.boxProxy.check(a)\r\n v._tripleAll(a)\r\n }\r\n })\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_self() {\r\n let exp = this.isExpanded()\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return h('div', mergeProps(this.html_attrs, this.$attrs, this.html_props), [h('div', {\r\n class: ['w-leaf-toggle f-i', exp ? 'f-i-caret-down' : 'f-i-caret-right'],\r\n onclick: (e) => {\r\n e.stopPropagation(), this.toggle()\r\n }\r\n }),\r\n this.$slots.box && this.$slots.box(),\r\n ico && h(Img, {\r\n src: ico,\r\n class: ['w-leaf-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text' + ($.isNumber(this.x.br) ? ' f-line-' + this.x.br : this.x.br ? '' : ' f-line-1'),\r\n title: this.x.text,\r\n }, this.$slots.text ? this.$slots.text() : this.x.text)\r\n\r\n ])\r\n\r\n },\r\n html_cont() {\r\n return h('div', {\r\n id: this.uid + 'cont',\r\n ref: 'cont',\r\n class: 'w-leaf-cont',\r\n style: {\r\n display: this.x.expanded ? '' : 'none'\r\n },\r\n }, this.$slots)\r\n },\r\n html() {\r\n return [this.html_self(), this.html_cont()]\r\n }\r\n },\r\n computed: {\r\n tree() {\r\n return this.pubParent\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let prop = {\r\n class: {\r\n 'z-folder': this.isFolder(),\r\n 'z-on': this.isCurrent,\r\n },\r\n style: 'padding-left:' + $.unitSize((this.provideLeafLevel) * 16),\r\n }\r\n if (this.inTree()) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n }\r\n return prop\r\n }\r\n },\r\n mounted() {\r\n if (this.x.expanded) this.toggle(true)\r\n if (this.isCurrent) {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && (p.$options.name === this.$options.name)) {\r\n p.toggle(true)\r\n }\r\n }\r\n if (this.boxProxy) {\r\n this.$nextTick(() => {\r\n if (!this.isFolder() && !this.$refs.cont.nextElementSibling) {\r\n this._triple()\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-leaf {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 30px;\r\n }\r\n\r\n .w-leaf-text {\r\n flex: 1;\r\n }\r\n\r\n .w-leaf-toggle {\r\n visibility: hidden;\r\n padding: 0 1px;\r\n margin-left: 1px;\r\n color: #777;\r\n }\r\n \r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox {\r\n margin-right: 6px;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-pagebar',\r\n mixins: [ButtonBar],\r\n emits: ['click:item'],\r\n props: ['limit', 'size', 'offset', 'buttonCount', 'noFirstLast', 'face', 'jump'],\r\n data() {\r\n return {\r\n isJumpFocus: false,\r\n showDrop: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n limit: 1,\r\n size: 0,\r\n offset: 0,\r\n buttonCount: 5,\r\n face: 'normal',\r\n gap: 0,\r\n valign: 'middle',\r\n }\r\n },\r\n inCurrent(a) {\r\n return this.currentPage == a.text\r\n },\r\n clickItem(e, i) {\r\n let b = (i - 1) * this.x.limit\r\n if (b != this.x.offset) {\r\n e.runType = 'click:item'\r\n this.trigger(e, b)\r\n }\r\n },\r\n clickDrop(e) {\r\n this.showDrop = true\r\n },\r\n onJumpClick(e) {\r\n let v = Math.max(0, $.number(this.$refs.jumpInput.value))\r\n this.clickItem(e, v)\r\n },\r\n html_button(i, t, ic, ds) {\r\n return h('button', {\r\n class: ['w-pagebar-button w-pagebar-num', {'z-on': !t && !ic && i == this.currentPage, 'z-ds': ds, [ic]: ic}],\r\n disabled: ds,\r\n onclick: e => this.clickItem(e, i)\r\n }, t || (ic ? '' : i))\r\n },\r\n html_slots() {\r\n return this.x.face === 'button' ? this.html_face_button() :\r\n this.x.face === 'simple' ? this.html_face_simple() : \r\n this.html_face_normal()\r\n },\r\n html_buttons() {\r\n return [h(Button, {\r\n class: 'w-pagebar-button w-pagebar-prev',\r\n icon: '.f-i .f-i-angle-left',\r\n disabled: this.currentPage == 1,\r\n title: $.loc.page_text.prev,\r\n onclick: e => this.clickItem(e, this.currentPage - 1)\r\n }), h(Button, {\r\n class: 'w-pagebar-button w-pagebar-next',\r\n icon: '.f-i .f-i-angle-right',\r\n disabled: this.currentPage == this.sumPage,\r\n title: $.loc.page_text.next,\r\n onclick: e => this.clickItem(e, this.currentPage + 1)\r\n })]\r\n },\r\n html_drop() {\r\n let s = []\r\n if (this.x.buttonCount) {\r\n s.push(h(Button, {\r\n class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',\r\n ref: 'drop',\r\n text: this.currentPage + '/' + this.sumPage,\r\n onclick: e => this.clickDrop(e)\r\n }))\r\n }\r\n if (this.showDrop) {\r\n let b = []\r\n for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(Button, {text: i, on: {click: e => this.clickItem(e, i)}}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, on:{close: () => this.showDrop = false}}, {default: () => b}))\r\n }\r\n return s\r\n },\r\n html_face_simple() {\r\n return this.html_drop().concat(this.html_buttons())\r\n },\r\n html_face_button() {\r\n let b = this.html_buttons()\r\n b.splice(1, 0, ...this.html_drop())\r\n return b\r\n },\r\n html_face_normal() {\r\n const s = []\r\n let sp = this.sumPage\r\n let cp = this.currentPage\r\n let n = $.number(this.x.buttonCount)\r\n let f = Math.max(1, cp - Math.ceil(n / 2) + 1)\r\n let l = Math.min(sp + 1, f + n)\r\n let d = l - f < n ? Math.max(1, l - n) : f\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(1, this.labelFirst, this.iconFirst, cp == 1))\r\n }\r\n s.push(this.html_button(cp - 1, this.labelPrev, this.iconPrev, cp == 1))\r\n for (let i = d; i < l; i++) {\r\n s.push(this.html_button(i))\r\n }\r\n s.push(this.html_button(cp + 1, this.labelNext, this.iconNext, cp >= this.sumPage))\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(sp, this.labelLast, this.iconLast, cp >= this.sumPage))\r\n }\r\n if (this.x.jump) {\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-to'\r\n }, $.loc.to))\r\n s.push(h('input', {\r\n class: 'w-pagebar-jump-input',\r\n ref: 'jumpInput',\r\n onfocus: e => this.isJumpFocus = true,\r\n onblur: e => this.isJumpFocus = false,\r\n onkeydown: e => e.keyCode == 13 && this.onJumpClick(e)\r\n }))\r\n s.push(h('button', {\r\n class: 'w-pagebar-button w-pagebar-jump-button',\r\n onclick: this.onJumpClick\r\n }, 'GO'))\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-page'\r\n }, $.loc.page))\r\n }\r\n return s\r\n },\r\n html_face_mini() {\r\n return this.html_face_normal()\r\n },\r\n },\r\n computed: {\r\n currentPage() {\r\n return (Math.ceil(this.x.offset / this.x.limit) || 0) + 1\r\n },\r\n sumPage() {\r\n return Math.ceil(this.x.size / this.x.limit) || 1\r\n },\r\n labelFirst() {\r\n return this.x.face === 'normal' ? $.loc.page_text.first : ''\r\n },\r\n labelLast() {\r\n return this.x.face === 'normal' ? $.loc.page_text.last : ''\r\n },\r\n labelNext() {\r\n return this.x.face === 'normal' ? $.loc.page_text.next : ''\r\n },\r\n labelPrev() {\r\n return this.x.face === 'normal' ? $.loc.page_text.prev : ''\r\n },\r\n iconFirst() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-first' : ''\r\n },\r\n iconLast() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-last' : ''\r\n },\r\n iconNext() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-right' : ''\r\n },\r\n iconPrev() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-left' : ''\r\n },\r\n html_class() {\r\n return [\r\n 'w-buttonbar w-horizontal',\r\n 'z-face-' + this.x.face,\r\n this.html_align_class,\r\n this.isJumpFocus && 'z-jump-on',\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-pagebar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-num {\r\n display: flex;\r\n position: relative;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n border: 1px solid #ddd;\r\n background: #fff;\r\n cursor: pointer;\r\n }\r\n\r\n .w-pagebar-num .w-button-text {\r\n padding: 0\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num {\r\n min-width: 30px;\r\n padding: 0 10px;\r\n height: 32px;\r\n flex-shrink: 0;\r\n margin-right: -1px;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num:last-child,\r\n .w-pagebar.z-face-mini .w-pagebar-num:last-child{\r\n margin-right: 0;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on {\r\n font-weight: 700;\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n z-index: 1;\r\n cursor: default;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-hv {\r\n color: #3e89fa;\r\n border-color: var(--w--focus-color);\r\n z-index: 1;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on.z-hv {\r\n color: #fff;\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num {\r\n min-width: 23px;\r\n padding: 0 3px;\r\n height: 23px;\r\n flex-shrink: 0;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-pagebar.z-face-mini .f-i {\r\n color: #999;\r\n font-size: 14px;\r\n }\r\n\r\n .w-pagebar.z-face-mini .f-i.z-ds,\r\n .w-pagebar.z-face-mini .f-i.z-ds:hover {\r\n color: #ccc;\r\n background: #f9f9f9;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-pagebar.z-face-mini .w-pagebar-num:hover {\r\n border-color: var(--w--focus-color);\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num.z-on {\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n cursor: default;\r\n }\r\n \r\n \r\n .w-pagebar.z-face-button .w-button {\r\n margin-right: -1px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button:last-child {\r\n margin-right: 0;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button-main {\r\n padding: 0 6px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-pagebar-button-count {\r\n padding: 0 8px;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button.z-ds {\r\n background: transparent;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button-main {\r\n border: 0;\r\n padding: 3px;\r\n }\r\n\r\n .w-pagebar.z-face-simple .w-button .w-button-icon {\r\n color: #555;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button.z-ds .w-button-icon {\r\n color: #bbb;\r\n }\r\n \r\n \r\n .w-pagebar-num.z-ds {\r\n color: #999;\r\n cursor: default;\r\n background-color: #fff;\r\n }\r\n\r\n .w-pagebar-jump-to {\r\n padding: 0 5px 0 10px;\r\n }\r\n\r\n .w-pagebar-jump-input {\r\n width: 30px;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background-color: #fff;\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-pagebar-jump-button {\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n border: 1px solid #ddd;\r\n background-color: #fafafa;\r\n margin-left: -1px;\r\n color: #888;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-jump-page {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-input {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-button {\r\n border-color: var(--w--focus-color);;\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-split',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'movable', 'range', 'toNext', 'expanded'],\r\n inject: ['provideLayout'],\r\n created() {\r\n this.$watch('expanded', (v) => {\r\n if (typeof v === 'boolean') this.x.expanded = v\r\n else if (this.x.expanded == null) this.x.expanded = true\r\n }, {immediate: true})\r\n },\r\n methods: {\r\n toggle(exp) {\r\n this.x.expanded = exp == null ? !this.x.expanded : exp\r\n let minorElem = this.x.toNext ? this.el().nextElementSibling : this.el().previousElementSibling\r\n if (minorElem) {\r\n $.q(minorElem).toggleClass('f-split-collapsed', !this.x.expanded)\r\n //$.q(minorElem).css(this.expanded ? {visibility: '', position: '', zIndex: ''} : {visibility: 'hidden', position: 'absolute', zIndex: -1})\r\n }\r\n },\r\n dragstart(e) {\r\n let prevElem = this.el().previousElementSibling\r\n let nextElem = this.el().nextElementSibling\r\n if (prevElem && nextElem) {\r\n let vert = this.isVertical\r\n let minorElem = this.x.toNext ? nextElem : prevElem\r\n let downX = $.eventX(e)\r\n let downY = $.eventY(e)\r\n let posName = vert ? 'top' : 'left'\r\n let sizeName = vert ? 'height' : 'width'\r\n let clientName = vert ? 'clientY' : 'clientX'\r\n let downPos = vert ? downY : downX\r\n let minPos = $.bcr(prevElem)[posName]\r\n let maxPos = $.bcr(nextElem)[vert ? 'bottom' : 'right'] - 5\r\n let movRect = $.lodash.pick($.bcr(this.$refs.movable), ['width', 'height', 'top', 'left'])\r\n let pos\r\n let help\r\n $.moveup((e) => {\r\n if (!help) {\r\n help = $.q(`<div style=\"position:absolute;background:rgba(0,0,0,.3);z-index:101;\"></div>`).css(\r\n movRect).appendTo(document.body)\r\n }\r\n pos = $.numRange(movRect[posName] + e[clientName] - downPos, minPos, maxPos)\r\n help.css({\r\n [posName]: pos\r\n })\r\n }, (e) => {\r\n if (help) {\r\n help.remove()\r\n let size = (this.x.expanded ? $.bcr(minorElem)[sizeName] : 0) + (this.x.toNext ? 1 : -1) * (downPos -\r\n pos)\r\n if (size <= 0) {\r\n this.toggle(false)\r\n } else {\r\n if (!this.x.expanded) this.toggle(true)\r\n $.q(minorElem).css({\r\n [sizeName]: size\r\n })\r\n }\r\n }\r\n }, e)\r\n }\r\n },\r\n html_slots() {\r\n let r = []\r\n let expandedIcon = this.x.expandedIcon || this.x.collapsedIcon\r\n let collapsedIcon = this.x.collapsedIcon || expandedIcon\r\n if (expandedIcon) {\r\n r.push(this.html_icon(this.x.expanded ? expandedIcon : collapsedIcon, 'w-split-icon', () => this.toggle()))\r\n }\r\n if (this.x.movable) {\r\n r.push(h('div', {\r\n ref: 'movable',\r\n class: 'w-split-movable',\r\n onmousedown: this.dragstart\r\n }))\r\n }\r\n return r\r\n }\r\n },\r\n computed: {\r\n isVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.isVertical ? 'vertical' : 'horizontal'), {\r\n 'z-tonext': this.x.toNext\r\n }]\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-split-collapsed {\r\n position: absolute !important;\r\n visibility: hidden !important;\r\n z-index: -1;\r\n opacity: 0;\r\n }\r\n\r\n .w-split-icon {\r\n position: absolute;\r\n cursor: pointer;\r\n line-height: 1;\r\n z-index: 1;\r\n }\r\n\r\n .w-split.z-vertical .w-split-icon {\r\n left: 50%;\r\n top: 0;\r\n transform: translateX(-50%);\r\n }\r\n\r\n .w-split.z-vertical.z-tonext .w-split-icon {\r\n top: auto;\r\n bottom: 0;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-icon {\r\n top: 50%;\r\n left: 0;\r\n transform: translateY(-50%);\r\n }\r\n\r\n .w-split.z-horizontal.z-tonext .w-split-icon {\r\n left: auto;\r\n right: 0;\r\n }\r\n\r\n .w-split-movable {\r\n position: absolute;\r\n }\r\n\r\n .w-split.z-vertical .w-split-movable {\r\n height: 100%;\r\n min-height: 5px;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n cursor: row-resize;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-movable {\r\n width: 100%;\r\n min-width: 5px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n cursor: col-resize;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'target', 'expanded', 'align', 'valign'],\r\n methods: {\r\n x_default() {\r\n return {\r\n expanded: true,\r\n valign: 'middle',\r\n }\r\n },\r\n toggle(e = true) {\r\n let exp = typeof e === 'boolean' ? e : !this.x.expanded\r\n this.x.expanded = exp\r\n $.q(this.el()).nextUntil('.w-toggle').toggle(exp)\r\n },\r\n html_slots() {\r\n let exp = this.x.expanded\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return [ico && h(Img, {\r\n src: ico,\r\n class: ['w-toggle-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }), h(Horizontal, {class: 'w-toggle-main f-flex-1', align: this.x.align, valign: this.x.valign}, this.$slots.default)]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: 'f-flex-align f-pointer',\r\n onclick: this.toggle\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-toggle-icon {\r\n margin-right: 5px;\r\n flex-shrink: 0;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-video',\r\n mixins: [WidgetBase],\r\n props: ['src', 'poster'],\r\n data() {\r\n return {\r\n playing: false,\r\n }\r\n },\r\n methods: {\r\n getMimeType() {\r\n let filePath = $.strTo(this.x.src, '?') || this.x.src\r\n let fileName = $.strFrom(filePath, '/', true) || filePath\r\n let suffix = $.strFrom(fileName, '.', true)\r\n return suffix ? mimeType(fileName) : 'video/mp4'\r\n },\r\n html_slots() {\r\n return [h('video', {\r\n class: 'w-video-vd f-width f-height',\r\n ref: 'vd',\r\n src: this.x.src,\r\n poster: this.x.poster,\r\n onplay: e => this.playing = true,\r\n onpause: e => this.playing = false,\r\n controls: true,\r\n 'webkit-playsinline': true,\r\n 'playsinline': true,\r\n 'x-webkit-airplay': true,\r\n 'x5-playsinline': true,\r\n 'x5-video-player-type': 'h5',\r\n 'x5-video-orientation': 'h5',\r\n 'x5-video-player-fullscreen': true,\r\n }), h('div', {\r\n class: 'w-video-play f-abs-center f-flex-center',\r\n innerHTML: '<i class=\"f-i f-i-play\"></i>',\r\n onclick: e => {\r\n let o = this.$refs.vd\r\n o.paused ? o.play() : o.pause()\r\n }\r\n })]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['f-rel f-flex-center', {'z-play': this.playing}]\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-video {\r\n box-sizing: border-box;\r\n background: #000;\r\n }\r\n\r\n .w-video.z-play .w-video-play {\r\n display: none\r\n }\r\n\r\n .w-video-play {\r\n display: flex;\r\n width: 62px;\r\n height: 62px;\r\n background: rgba(0, 0, 0, .5);\r\n border-radius: 50%;\r\n z-index: 1;\r\n }\r\n\r\n .w-video-play .f-i {\r\n color: #fff;\r\n font-size: 36px;\r\n transform: translate(4px, 0px);\r\n cursor: default\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-progress',\r\n mixins: [WidgetBase],\r\n props: ['percent', 'range', 'text'],\r\n methods: {\r\n html_slots() {\r\n let w = $.number(this.x.percent)\r\n return [\r\n this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text),\r\n h('div', {\r\n class: 'w-progress-gut',\r\n style: {\r\n width: `${w}%`\r\n }\r\n }, h('div', {\r\n class: 'w-progress-bar f-flex f-flex-center',\r\n style: {\r\n width: `${w==0?w:(100*100/w)}%`\r\n }\r\n }, this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text)))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n if (this.x.range) {\r\n let a = this.x.range.split(',')\r\n for (let i = a.length - 1; i >= 0; i--) {\r\n if ($.number(this.x.percent) >= $.number(a[i])) return 'z-' + a[i]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-progress {\r\n display: flex;\r\n position: relative;\r\n height: 18px;\r\n border-radius: 20px;\r\n background: #e6e6e6;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n font-size: 12px;\r\n line-height: 1;\r\n }\r\n\r\n .w-progress-gut {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n overflow: hidden;\r\n transition: width, background .1s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-progress-bar {\r\n color: #fff;\r\n height: 100%;\r\n }\r\n</style>\r\n","<template>\r\n <w-vertical :class=\"['w-calendar f-rel', 'w-calendar-' + this.x.face, {'z-showtime': this.showTime}]\">\r\n <w-horizontal class=\"w-calendar-head\" valign=\"middle\">\r\n <i class=\"w-calendar-head-prev f-i f-i-caret-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal class=\"w-calendar-head-pop\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\" :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"this.x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-caret-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n <div class=\"w-calendar-head-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"this.x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n <w-horizontal v-if=\"showTime\" class=\"w-calendar-time f-abs-full\">\r\n <w-vertical v-if=\"focusHour!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in Array(24).keys()\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isTimeDisabled(h,'setHours')\" @click=\"clickHour(h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in Array(60).keys()\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isTimeDisabled(m,'setMinutes')\" @click=\"clickMinute(m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in Array(60).keys()\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isTimeDisabled(s,'setSeconds')\" @click=\"clickSecond(s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" class=\"w-calendar-foot\" align=\"between\" valign=\"middle\">\r\n <div @click=\"clickShowTime\" class=\"f-link\" :style=\"{visibility:hasTime&&!onlyTime?'visible':'hidden'}\">\r\n {{this.showTime ? loc.calendar.backdate : loc.calendar.picktime}}\r\n </div>\r\n <div class=\"f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success'],\r\n data() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (dt == null || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (dt == null || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n return {\r\n dt,\r\n onlyTime,\r\n showTime: onlyTime,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n focusHour: f.includes('H') ? dt.getHours() : null,\r\n focusMinute: f.includes('m') ? dt.getMinutes() : null,\r\n focusSecond: f.includes('s') ? dt.getSeconds() : null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = v ? $.dateParse(v, this.formatter) : new Date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', this, nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickNow() {\r\n this.dt = new Date()\r\n this.clickConfirm()\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = new Date(item.date.getTime())\r\n }\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n if (this.hasTime) this.clickShowTime()\r\n else if (this.x.success) {\r\n this.x.success(item.value)\r\n }\r\n },\r\n clickConfirm() {\r\n this.x.success && this.x.success(this.fm(this.dt))\r\n },\r\n clickShowTime() {\r\n this.showTime = !this.showTime\r\n this.focusHour = this.formatter.includes('H') ? this.dt.getHours() : null\r\n this.focusMinute = this.formatter.includes('m') ? this.dt.getMinutes() : null\r\n this.focusSecond = this.formatter.includes('s') ? this.dt.getSeconds() : null\r\n },\r\n clickHour(focusHour) {\r\n this.focusHour = focusHour\r\n this.dt.setHours(this.focusHour)\r\n },\r\n clickMinute(focusMinute) {\r\n this.focusMinute = focusMinute\r\n this.dt.setMinutes(this.focusMinute)\r\n },\r\n clickSecond(focusSecond) {\r\n this.focusSecond = focusSecond\r\n this.dt.setSeconds(this.focusSecond)\r\n },\r\n fm(a) {\r\n if (this.x.face === 'week') {\r\n typeof a === 'string' && (a = $.dateParse(a))\r\n let b = $.dateWeek(a, this.x.cg, this.x.start)\r\n return b[0] + '-' + $.strPad(b[1])\r\n }\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isTimeDisabled(v, method) {\r\n let n = this.beginDate\r\n let m = this.endDate\r\n if (n || m) {\r\n let d = new Date(this.dt.getTime())\r\n d[method](v)\r\n d = this.fm(d)\r\n if ((n && d < n) || (m && d > m)) return true\r\n }\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return this.formatter.includes('H')\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n return c && typeof c === 'object' ? (this.x.format && this.fm(c)) : c\r\n },\r\n beginDate() {\r\n return this.x.minValue && this.fm(this.x.minValue)\r\n },\r\n endDate() {\r\n return this.x.maxValue && this.fm(this.x.maxValue)\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth : this\r\n .bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f === v,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog .w-calendar {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 10px;\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-pop {\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-blank {\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-month .w-calendar-body,\r\n .w-calendar-year .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-daytitle {\r\n background: #F8F8F8;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds, .z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time {\r\n bottom: 35px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col {\r\n border-right: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col:last-child {\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n text-align: center;\r\n padding: 5px;\r\n }\r\n\r\n .w-calendar-time-th {\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar.z-showtime .w-calendar-head,\r\n .w-calendar.z-showtime .w-calendar-body {\r\n visibility: hidden;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n</style>\r\n","<template>\r\n <w-vertical :class=\"['w-calendar f-rel', 'w-calendar-' + this.x.face, {'z-showtime': this.showTime}]\">\r\n <w-horizontal class=\"w-calendar-head\" valign=\"middle\">\r\n <i class=\"w-calendar-head-prev f-i f-i-caret-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal class=\"w-calendar-head-pop\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\" :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"this.x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-caret-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n <div class=\"w-calendar-head-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"this.x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n <w-horizontal v-if=\"showTime\" class=\"w-calendar-time f-abs-full\">\r\n <w-vertical v-if=\"focusHour!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in Array(24).keys()\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isTimeDisabled(h,'setHours')\" @click=\"clickHour(h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in Array(60).keys()\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isTimeDisabled(m,'setMinutes')\" @click=\"clickMinute(m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in Array(60).keys()\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isTimeDisabled(s,'setSeconds')\" @click=\"clickSecond(s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" class=\"w-calendar-foot\" align=\"between\" valign=\"middle\">\r\n <div @click=\"clickShowTime\" class=\"f-link\" :style=\"{visibility:hasTime&&!onlyTime?'visible':'hidden'}\">\r\n {{this.showTime ? loc.calendar.backdate : loc.calendar.picktime}}\r\n </div>\r\n <div class=\"f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success'],\r\n data() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (dt == null || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (dt == null || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n return {\r\n dt,\r\n onlyTime,\r\n showTime: onlyTime,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n focusHour: f.includes('H') ? dt.getHours() : null,\r\n focusMinute: f.includes('m') ? dt.getMinutes() : null,\r\n focusSecond: f.includes('s') ? dt.getSeconds() : null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = v ? $.dateParse(v, this.formatter) : new Date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', this, nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickNow() {\r\n this.dt = new Date()\r\n this.clickConfirm()\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = new Date(item.date.getTime())\r\n }\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n if (this.hasTime) this.clickShowTime()\r\n else if (this.x.success) {\r\n this.x.success(item.value)\r\n }\r\n },\r\n clickConfirm() {\r\n this.x.success && this.x.success(this.fm(this.dt))\r\n },\r\n clickShowTime() {\r\n this.showTime = !this.showTime\r\n this.focusHour = this.formatter.includes('H') ? this.dt.getHours() : null\r\n this.focusMinute = this.formatter.includes('m') ? this.dt.getMinutes() : null\r\n this.focusSecond = this.formatter.includes('s') ? this.dt.getSeconds() : null\r\n },\r\n clickHour(focusHour) {\r\n this.focusHour = focusHour\r\n this.dt.setHours(this.focusHour)\r\n },\r\n clickMinute(focusMinute) {\r\n this.focusMinute = focusMinute\r\n this.dt.setMinutes(this.focusMinute)\r\n },\r\n clickSecond(focusSecond) {\r\n this.focusSecond = focusSecond\r\n this.dt.setSeconds(this.focusSecond)\r\n },\r\n fm(a) {\r\n if (this.x.face === 'week') {\r\n typeof a === 'string' && (a = $.dateParse(a))\r\n let b = $.dateWeek(a, this.x.cg, this.x.start)\r\n return b[0] + '-' + $.strPad(b[1])\r\n }\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isTimeDisabled(v, method) {\r\n let n = this.beginDate\r\n let m = this.endDate\r\n if (n || m) {\r\n let d = new Date(this.dt.getTime())\r\n d[method](v)\r\n d = this.fm(d)\r\n if ((n && d < n) || (m && d > m)) return true\r\n }\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return this.formatter.includes('H')\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n return c && typeof c === 'object' ? (this.x.format && this.fm(c)) : c\r\n },\r\n beginDate() {\r\n return this.x.minValue && this.fm(this.x.minValue)\r\n },\r\n endDate() {\r\n return this.x.maxValue && this.fm(this.x.maxValue)\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth : this\r\n .bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f === v,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog .w-calendar {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 10px;\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-pop {\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-blank {\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-month .w-calendar-body,\r\n .w-calendar-year .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-daytitle {\r\n background: #F8F8F8;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds, .z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time {\r\n bottom: 35px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col {\r\n border-right: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col:last-child {\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n text-align: center;\r\n padding: 5px;\r\n }\r\n\r\n .w-calendar-time-th {\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar.z-showtime .w-calendar-head,\r\n .w-calendar.z-showtime .w-calendar-body {\r\n visibility: hidden;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-timeline',\r\n mixins: [Scroll, PubParent],\r\n props: ['face', 'vertical'],\r\n methods: {\r\n indent() {\r\n let len = this.$refs.wrap.querySelectorAll('.w-timeline-item').length\r\n if (len <= 1) return\r\n let vt = this.x.vertical\r\n let size = vt ? 'width' : 'height'\r\n let prevWidth = 0\r\n let nextWidth = 0\r\n for (let i = 0; i < len; i++) {\r\n let prev = this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i}\"]`)\r\n let next = i < len - 1 && this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i+1}\"]`)\r\n let prevBcr = $.bcr(prev.querySelector('.w-timeline-item-icon-img'))\r\n if (prev.parentNode == this.$refs.prev) {\r\n prevWidth = Math.max(prevWidth, prevBcr[size])\r\n } else {\r\n nextWidth = Math.max(nextWidth, prevBcr[size])\r\n }\r\n if (next && prev.parentNode != next.parentNode) {\r\n let nextBcr = $.bcr(next.querySelector('.w-timeline-item-icon-img'))\r\n if (vt && prevBcr.bottom + 25 > nextBcr.top) {\r\n $.q(next).css({\r\n marginTop: prevBcr.bottom + 25 - nextBcr.top\r\n })\r\n } else if (!vt && prevBcr.right + 50 > nextBcr.left) {\r\n $.q(next).css({\r\n marginLeft: prevBcr.right + 50 - nextBcr.left\r\n })\r\n }\r\n }\r\n }\r\n let prevItems = $.q('.w-timeline-item', this.$refs.prev)\r\n prevItems.each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginRight' : 'marginBottom']: (prevWidth - bcr[size]) / 2\r\n })\r\n })\r\n $.q('.w-timeline-item', this.$refs.next).each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginLeft' : 'marginTop']: (nextWidth - bcr[size]) / 2\r\n })\r\n })\r\n prevItems.length && $.q(this.$refs.next).css({\r\n [vt ? 'marginLeft' : 'marginTop']: `-${nextWidth/2 + prevWidth/2}px`\r\n })\r\n\r\n let firstBcr = $.bcr($.q(`.w-timeline-item[w-index=\"0\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let lastBcr = $.bcr($.q(`.w-timeline-item[w-index=\"${len-1}\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let wrapBcr = $.bcr(this.$refs.wrap)\r\n if (this.x.vertical) {\r\n $.q(this.$refs.line).css({\r\n width: 2,\r\n height: lastBcr.top - firstBcr.bottom,\r\n top: firstBcr.bottom - wrapBcr.top,\r\n left: (firstBcr.left + firstBcr.right) / 2 - wrapBcr.left - 1,\r\n })\r\n } else {\r\n $.q(this.$refs.line).css({\r\n width: lastBcr.left - firstBcr.right,\r\n height: 2,\r\n top: (firstBcr.top + firstBcr.bottom) / 2 - wrapBcr.top - 1,\r\n left: firstBcr.right - wrapBcr.left\r\n })\r\n }\r\n\r\n },\r\n html_slots() {\r\n let prevSlots = []\r\n let nextSlots = []\r\n let vt = this.x.vertical\r\n this.slots_children().forEach((c, i) => {\r\n $.lodash.set(c, 'props.index', i)\r\n if (vt) {\r\n (c.props.position == 'right' ? prevSlots : nextSlots).push(c)\r\n } else {\r\n (c.props.position == 'bottom' ? nextSlots : prevSlots).push(c)\r\n }\r\n })\r\n return this.html_scroll_slots(\r\n h('div', {\r\n ref: 'wrap',\r\n class: 'w-timeline-wrap'\r\n }, [\r\n h('div', {\r\n ref: 'line',\r\n class: 'w-timeline-line'\r\n }),\r\n h('div', {\r\n ref: 'prev',\r\n class: 'w-timeline-prev'\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: 'w-timeline-next'\r\n }, nextSlots),\r\n ])\r\n )\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [this.html_scroll_class,\r\n {\r\n ['z-face-' + this.x.face]: this.x.face,\r\n 'z-horizontal': !this.x.vertical,\r\n 'z-vertical': this.x.vertical\r\n }\r\n ]\r\n }\r\n },\r\n mounted() {\r\n this.indent()\r\n const observe = () => {\r\n if (this.$refs.wrap && this.$refs.next) {\r\n $.q('.w-timeline-item', this.$refs.wrap).css({margin: 0})\r\n $.q(this.$refs.next).css({margin: 0})\r\n this.indent()\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.$refs.wrap)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-timeline-wrap {\r\n flex-shrink: 0;\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n min-width: 100%;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-wrap {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-prev .w-timeline-item {\r\n flex-direction: column-reverse;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-wrap,\r\n .w-timeline.z-vertical .w-timeline-item {\r\n flex-direction: row;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev,\r\n .w-timeline.z-vertical .w-timeline-next {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev .w-timeline-item {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n .w-timeline-prev,\r\n .w-timeline-next {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n flex-shrink: 0;\r\n gap: 25px;\r\n }\r\n \r\n .w-timeline-prev:empty,\r\n .w-timeline-next:empty {\r\n display: none;\r\n }\r\n\r\n .w-timeline-item {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-icon {\r\n align-items: center;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-main {\r\n padding: 10px 0;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item-main {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item.z-right {\r\n text-align: right;\r\n }\r\n\r\n .w-timeline-item-icon {\r\n display: flex;\r\n flex-shrink: 0;\r\n position: relative;\r\n line-height: 1;\r\n }\r\n\r\n .w-timeline-item-icon-img.z-default {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n border: 2px solid #1890ff;\r\n border-radius: 100px;\r\n background: #fff;\r\n color: #1890ff;\r\n }\r\n\r\n .w-timeline-line {\r\n position: absolute;\r\n background: #ddd;\r\n }\r\n \r\n</style>\n","<!-- <template>\r\n <div v-bind=\"html_binds\">\r\n <div class=\"_t\">\r\n <div class=\"_s\"></div>\r\n <i v-if=\"pubParent.x.face === 'bubble'\"\r\n :class=\"'_caret f-i f-i-caret-' + (leftIndex != null ? 'right' : rightIndex != null ? 'left' : topIndex != null ? 'down' : 'up')\"></i>\r\n </div>\r\n \r\n </div>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-timeline-item',\r\n pubParentName: 'w-timeline',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['position', 'index'],\r\n methods: {\r\n html_slots() {\r\n let text = h('div', {\r\n class: 'w-timeline-item-main f-br'\r\n }, h('div', {\r\n class: 'w-timeline-item-main-text'\r\n }, this.$slots))\r\n let icon = h('div', {\r\n ref: 'icon',\r\n class: 'w-timeline-item-icon'\r\n }, this.$slots.icon ? h('div', {\r\n class: 'w-timeline-item-icon-img'\r\n }, this.$slots.icon()) : h('i', {\r\n class: 'w-timeline-item-icon-img z-default'\r\n }))\r\n return [icon, text]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'z-' + (this.x.position || (this.pubParent.x.vertical ? 'left' : 'bottom'))\r\n },\r\n html_props() {\r\n return {\r\n 'w-index': this.x.index\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-picker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-picker-bg-top\"></div>\r\n <div class=\"w-picker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-picker',\r\n mixins: [WidgetBase],\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex'],\r\n emits: ['update:modelValue', 'change', 'scroll:top', 'scroll:bottom'],\r\n setup() {\r\n const self = getCurrentInstance().ctx\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n \r\n const mousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n self.$refs.options.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n self.$refs.options.style.transform = `translateY(${moveY}px)`\r\n }, e => {\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n self.$refs.options.style.transition = `transform ${s}s ease-out`\r\n }\r\n })\r\n }\r\n const focus = function() {\r\n if (!self.$refs.root || !self.$refs.options) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.modelValue\r\n let nv = self.minValue\r\n let xv = self.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(self.$refs.root)\r\n let bcrOpt = $.bcr(self.$refs.options)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n self.$refs.options.style.transition = ''\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n }\r\n \r\n const update = function(v) {\r\n roll = true\r\n self.$emit('update:modelValue', v)\r\n self.$emit('change', v)\r\n }\r\n \r\n const transEnd = function() {\r\n let index = (startY - optY) / optH\r\n let ret = self.slots_children()[index]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n watch(() => self.modelValue, (v) => {\r\n if (!roll) focus()\r\n roll = false\r\n })\r\n watch(() => self.minValue, focus)\r\n watch(() => self.maxValue, focus)\r\n \r\n onMounted(() => {\r\n new ResizeObserver(() => {\r\n self.$refs.options && focus()\r\n }).observe(self.$refs.options)\r\n self.$refs.options.addEventListener('transitionend', transEnd)\r\n })\r\n \r\n return {\r\n mousedown\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n optionHeight: 32\r\n }\r\n }\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.el().addEventListener($.br.mobile ? 'touchstart' : 'mousedown', this.mousedown, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-picker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-picker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker .w-option {\r\n text-align: center;\r\n }\r\n\r\n .w-picker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-picker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-picker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-picker-bg-top\"></div>\r\n <div class=\"w-picker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-picker',\r\n mixins: [WidgetBase],\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex'],\r\n emits: ['update:modelValue', 'change', 'scroll:top', 'scroll:bottom'],\r\n setup() {\r\n const self = getCurrentInstance().ctx\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n \r\n const mousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n self.$refs.options.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n self.$refs.options.style.transform = `translateY(${moveY}px)`\r\n }, e => {\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n self.$refs.options.style.transition = `transform ${s}s ease-out`\r\n }\r\n })\r\n }\r\n const focus = function() {\r\n if (!self.$refs.root || !self.$refs.options) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.modelValue\r\n let nv = self.minValue\r\n let xv = self.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(self.$refs.root)\r\n let bcrOpt = $.bcr(self.$refs.options)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n self.$refs.options.style.transition = ''\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n }\r\n \r\n const update = function(v) {\r\n roll = true\r\n self.$emit('update:modelValue', v)\r\n self.$emit('change', v)\r\n }\r\n \r\n const transEnd = function() {\r\n let index = (startY - optY) / optH\r\n let ret = self.slots_children()[index]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n watch(() => self.modelValue, (v) => {\r\n if (!roll) focus()\r\n roll = false\r\n })\r\n watch(() => self.minValue, focus)\r\n watch(() => self.maxValue, focus)\r\n \r\n onMounted(() => {\r\n new ResizeObserver(() => {\r\n self.$refs.options && focus()\r\n }).observe(self.$refs.options)\r\n self.$refs.options.addEventListener('transitionend', transEnd)\r\n })\r\n \r\n return {\r\n mousedown\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n optionHeight: 32\r\n }\r\n }\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.el().addEventListener($.br.mobile ? 'touchstart' : 'mousedown', this.mousedown, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-picker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-picker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker .w-option {\r\n text-align: center;\r\n }\r\n\r\n .w-picker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-picker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-hidden',\r\n mixins: [FormBase],\r\n methods: {\r\n isModified() {\r\n return false\r\n },\r\n html() {\r\n return h('input', {\r\n type: 'hidden',\r\n id: this.uid,\r\n class: 'w-hidden',\r\n name: this.x.name,\r\n value: this.x.modelValue,\r\n ref: 'v'\r\n })\r\n }\r\n },\r\n \r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-text',\r\n mixins: [FormBase],\r\n props: ['minLength', 'maxLength', 'pattern'],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Text from './Text.vue'\r\n \r\n export default {\r\n name: 'w-textarea',\r\n mixins: [Text],\r\n computed: {\r\n input_tag() {\r\n return 'textarea'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['pub', 'required', 'vertical', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n data() {\r\n return {\r\n isGrid: false\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.isGrid ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-grid': this.isGrid}\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import CheckBoxGroup from './CheckBoxGroup.vue'\r\n\r\n export default {\r\n name: 'w-radiogroup',\r\n mixins: [CheckBoxGroup]\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-radio',\r\n pubParentName: 'w-radiogroup',\r\n mixins: [CheckBox],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'radio'\r\n },\r\n input_icon() {\r\n return 'f-i'\r\n },\r\n input_name() {\r\n return this.x.name + '@' + this.ownerView.uid\r\n }\r\n \r\n }\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-switch',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['checkedText', 'uncheckedText', 'checkedValue', 'uncheckedValue', 'checked'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\r\n // this.x.modelValue = v\r\n // this.$emit('update:modelValue', v)\r\n this.val(v)\r\n },\r\n formText() {\r\n return this.isChecked ? this.x.checkedText : this.x.uncheckedText\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-switch-box',\r\n onclick: this.isNormal && this.onclick\r\n }, [\r\n h('i', {\r\n class: 'w-switch-icon'\r\n }),\r\n h('span', {\r\n class: 'w-switch-text'\r\n }, this.isChecked ? this.x.checkedText : this.x.uncheckedText),\r\n ])\r\n ]\r\n },\r\n },\r\n computed: {\r\n input_value() {\r\n return this.isChecked ? this.x.checkedValue : this.x.uncheckedValue\r\n },\r\n html_class() {\r\n return this.isChecked ? 'z-checked' : 'z-unchecked'\r\n },\r\n isChecked() {\r\n return this.x.modelValue == this.x.checkedValue\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-switch>.w-input {\r\n flex: none;\r\n display: inline-flex;\r\n }\r\n\r\n .w-switch-box {\r\n flex: 1;\r\n position: relative;\r\n height: 22px;\r\n background: #c0c0c0;\r\n background: rgba(0, 0, 0, 0.25);\r\n border: 1px solid #c1caca;\r\n border-radius: 20px;\r\n color: #fff;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n .w-switch-icon {\r\n position: absolute;\r\n top: 1px;\r\n left: 1px;\r\n background: #fff;\r\n padding: 10px;\r\n border-radius: 20px;\r\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\r\n transition: all .12s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n margin-left: -21px;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import {strFrom} from './str.js'\r\n\r\nconst mimes = {\r\n \".323\": \"text/h323\",\r\n \".3gp\": \"video/3gpp\",\r\n \".aab\": \"application/x-authoware-bin\",\r\n \".aam\": \"application/x-authoware-map\",\r\n \".aas\": \"application/x-authoware-seg\",\r\n \".acx\": \"application/internet-property-stream\",\r\n \".ai\": \"application/postscript\",\r\n \".aif\": \"audio/x-aiff\",\r\n \".aifc\": \"audio/x-aiff\",\r\n \".aiff\": \"audio/x-aiff\",\r\n \".als\": \"audio/X-Alpha5\",\r\n \".amc\": \"application/x-mpeg\",\r\n \".apk\": \"application/vnd.android.package-archive\",\r\n \".asc\": \"text/plain\",\r\n \".asd\": \"application/astound\",\r\n \".asf\": \"video/x-ms-asf\",\r\n \".asn\": \"application/astound\",\r\n \".asp\": \"application/x-asap\",\r\n \".asr\": \"video/x-ms-asf\",\r\n \".asx\": \"video/x-ms-asf\",\r\n \".au\": \"audio/basic\",\r\n \".avi\": \"video/x-msvideo\",\r\n \".awb\": \"audio/amr-wb\",\r\n \".axs\": \"application/olescript\",\r\n \".bas\": \"text/plain\",\r\n \".bcpio\": \"application/x-bcpio\",\r\n \".bld\": \"application/bld\",\r\n \".bld2\": \"application/bld2\",\r\n \".bmp\": \"image/bmp\",\r\n \".bz2\": \"application/x-bzip2\",\r\n \".c\": \"text/plain\",\r\n \".cal\": \"image/x-cals\",\r\n \".cat\": \"application/vnd.ms-pkiseccat\",\r\n \".ccn\": \"application/x-cnc\",\r\n \".cco\": \"application/x-cocoa\",\r\n \".cdf\": \"application/x-cdf\",\r\n \".cer\": \"application/x-x509-ca-cert\",\r\n \".cgi\": \"magnus-internal/cgi\",\r\n \".chat\": \"application/x-chat\",\r\n \".clp\": \"application/x-msclip\",\r\n \".cmx\": \"image/x-cmx\",\r\n \".co\": \"application/x-cult3d-object\",\r\n \".cod\": \"image/cis-cod\",\r\n \".conf\": \"text/plain\",\r\n \".cpio\": \"application/x-cpio\",\r\n \".cpp\": \"text/plain\",\r\n \".cpt\": \"application/mac-compactpro\",\r\n \".crd\": \"application/x-mscardfile\",\r\n \".crl\": \"application/pkix-crl\",\r\n \".crt\": \"application/x-x509-ca-cert\",\r\n \".csh\": \"application/x-csh\",\r\n \".csm\": \"chemical/x-csml\",\r\n \".csml\": \"chemical/x-csml\",\r\n \".css\": \"text/css\",\r\n \".dcm\": \"x-lml/x-evm\",\r\n \".dcr\": \"application/x-director\",\r\n \".dcx\": \"image/x-dcx\",\r\n \".der\": \"application/x-x509-ca-cert\",\r\n \".dhtml\": \"text/html\",\r\n \".dir\": \"application/x-director\",\r\n \".dll\": \"application/x-msdownload\",\r\n \".doc\": \"application/msword\",\r\n \".docx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \".dot\": \"application/msword\",\r\n \".dvi\": \"application/x-dvi\",\r\n \".dwf\": \"drawing/x-dwf\",\r\n \".dwg\": \"application/x-autocad\",\r\n \".dxf\": \"application/x-autocad\",\r\n \".dxr\": \"application/x-director\",\r\n \".ebk\": \"application/x-expandedbook\",\r\n \".emb\": \"chemical/x-embl-dl-nucleotide\",\r\n \".embl\": \"chemical/x-embl-dl-nucleotide\",\r\n \".eps\": \"application/postscript\",\r\n \".epub\": \"application/epub+zip\",\r\n \".eri\": \"image/x-eri\",\r\n \".es\": \"audio/echospeech\",\r\n \".esl\": \"audio/echospeech\",\r\n \".etc\": \"application/x-earthtime\",\r\n \".etx\": \"text/x-setext\",\r\n \".evm\": \"x-lml/x-evm\",\r\n \".evy\": \"application/envoy\",\r\n \".fh4\": \"image/x-freehand\",\r\n \".fh5\": \"image/x-freehand\",\r\n \".fhc\": \"image/x-freehand\",\r\n \".fif\": \"application/fractals\",\r\n \".flr\": \"x-world/x-vrml\",\r\n \".flv\": \"flv-application/octet-stream\",\r\n \".fm\": \"application/x-maker\",\r\n \".fpx\": \"image/x-fpx\",\r\n \".fvi\": \"video/isivideo\",\r\n \".gau\": \"chemical/x-gaussian-input\",\r\n \".gca\": \"application/x-gca-compressed\",\r\n \".gdb\": \"x-lml/x-gdb\",\r\n \".gif\": \"image/gif\",\r\n \".gps\": \"application/x-gps\",\r\n \".gtar\": \"application/x-gtar\",\r\n \".gz\": \"application/x-gzip\",\r\n \".h\": \"text/plain\",\r\n \".hdf\": \"application/x-hdf\",\r\n \".hdm\": \"text/x-hdml\",\r\n \".hdml\": \"text/x-hdml\",\r\n \".hlp\": \"application/winhlp\",\r\n \".hqx\": \"application/mac-binhex40\",\r\n \".hta\": \"application/hta\",\r\n \".htc\": \"text/x-component\",\r\n \".htm\": \"text/html\",\r\n \".html\": \"text/html\",\r\n \".hts\": \"text/html\",\r\n \".htt\": \"text/webviewhtml\",\r\n \".ice\": \"x-conference/x-cooltalk\",\r\n \".ico\": \"image/x-icon\",\r\n \".ief\": \"image/ief\",\r\n \".ifm\": \"image/gif\",\r\n \".ifs\": \"image/ifs\",\r\n \".iii\": \"application/x-iphone\",\r\n \".imy\": \"audio/melody\",\r\n \".ins\": \"application/x-internet-signup\",\r\n \".ips\": \"application/x-ipscript\",\r\n \".ipx\": \"application/x-ipix\",\r\n \".isp\": \"application/x-internet-signup\",\r\n \".it\": \"audio/x-mod\",\r\n \".itz\": \"audio/x-mod\",\r\n \".ivr\": \"i-world/i-vrml\",\r\n \".j2k\": \"image/j2k\",\r\n \".jad\": \"text/vnd.sun.j2me.app-descriptor\",\r\n \".jam\": \"application/x-jam\",\r\n \".jar\": \"application/java-archive\",\r\n \".java\": \"text/plain\",\r\n \".jfif\": \"image/pipeg\",\r\n \".jnlp\": \"application/x-java-jnlp-file\",\r\n \".jpe\": \"image/jpeg\",\r\n \".jpeg\": \"image/jpeg\",\r\n \".jpg\": \"image/jpeg\",\r\n \".jpz\": \"image/jpeg\",\r\n \".js\": \"application/x-javascript\",\r\n \".jwc\": \"application/jwc\",\r\n \".kjx\": \"application/x-kjx\",\r\n \".lak\": \"x-lml/x-lak\",\r\n \".latex\": \"application/x-latex\",\r\n \".lcc\": \"application/fastman\",\r\n \".lcl\": \"application/x-digitalloca\",\r\n \".lcr\": \"application/x-digitalloca\",\r\n \".lgh\": \"application/lgh\",\r\n \".lml\": \"x-lml/x-lml\",\r\n \".lmlpack\": \"x-lml/x-lmlpack\",\r\n \".log\": \"text/plain\",\r\n \".lsf\": \"video/x-la-asf\",\r\n \".lsx\": \"video/x-la-asf\",\r\n \".m13\": \"application/x-msmediaview\",\r\n \".m14\": \"application/x-msmediaview\",\r\n \".m15\": \"audio/x-mod\",\r\n \".m3u\": \"audio/x-mpegurl\",\r\n \".m3url\": \"audio/x-mpegurl\",\r\n \".m4a\": \"audio/mp4a-latm\",\r\n \".m4b\": \"audio/mp4a-latm\",\r\n \".m4p\": \"audio/mp4a-latm\",\r\n \".m4u\": \"video/vnd.mpegurl\",\r\n \".m4v\": \"video/x-m4v\",\r\n \".ma1\": \"audio/ma1\",\r\n \".ma2\": \"audio/ma2\",\r\n \".ma3\": \"audio/ma3\",\r\n \".ma5\": \"audio/ma5\",\r\n \".man\": \"application/x-troff-man\",\r\n \".map\": \"magnus-internal/imagemap\",\r\n \".mbd\": \"application/mbedlet\",\r\n \".mct\": \"application/x-mascot\",\r\n \".mdb\": \"application/x-msaccess\",\r\n \".mdz\": \"audio/x-mod\",\r\n \".me\": \"application/x-troff-me\",\r\n \".mel\": \"text/x-vmel\",\r\n \".mht\": \"message/rfc822\",\r\n \".mhtml\": \"message/rfc822\",\r\n \".mi\": \"application/x-mif\",\r\n \".mid\": \"audio/mid\",\r\n \".midi\": \"audio/midi\",\r\n \".mif\": \"application/x-mif\",\r\n \".mil\": \"image/x-cals\",\r\n \".mio\": \"audio/x-mio\",\r\n \".mmf\": \"application/x-skt-lbs\",\r\n \".mng\": \"video/x-mng\",\r\n \".mny\": \"application/x-msmoney\",\r\n \".moc\": \"application/x-mocha\",\r\n \".mocha\": \"application/x-mocha\",\r\n \".mod\": \"audio/x-mod\",\r\n \".mof\": \"application/x-yumekara\",\r\n \".mol\": \"chemical/x-mdl-molfile\",\r\n \".mop\": \"chemical/x-mopac-input\",\r\n \".mov\": \"video/quicktime\",\r\n \".movie\": \"video/x-sgi-movie\",\r\n \".mp2\": \"video/mpeg\",\r\n \".mp3\": \"audio/mpeg\",\r\n \".mp4\": \"video/mp4\",\r\n \".mpa\": \"video/mpeg\",\r\n \".mpc\": \"application/vnd.mpohun.certificate\",\r\n \".mpe\": \"video/mpeg\",\r\n \".mpeg\": \"video/mpeg\",\r\n \".mpg\": \"video/mpeg\",\r\n \".mpg4\": \"video/mp4\",\r\n \".mpga\": \"audio/mpeg\",\r\n \".mpn\": \"application/vnd.mophun.application\",\r\n \".mpp\": \"application/vnd.ms-project\",\r\n \".mps\": \"application/x-mapserver\",\r\n \".mpv2\": \"video/mpeg\",\r\n \".mrl\": \"text/x-mrml\",\r\n \".mrm\": \"application/x-mrm\",\r\n \".ms\": \"application/x-troff-ms\",\r\n \".msg\": \"application/vnd.ms-outlook\",\r\n \".mts\": \"application/metastream\",\r\n \".mtx\": \"application/metastream\",\r\n \".mtz\": \"application/metastream\",\r\n \".mvb\": \"application/x-msmediaview\",\r\n \".mzv\": \"application/metastream\",\r\n \".nar\": \"application/zip\",\r\n \".nbmp\": \"image/nbmp\",\r\n \".nc\": \"application/x-netcdf\",\r\n \".ndb\": \"x-lml/x-ndb\",\r\n \".ndwn\": \"application/ndwn\",\r\n \".nif\": \"application/x-nif\",\r\n \".nmz\": \"application/x-scream\",\r\n \".nokia-op-logo\": \"image/vnd.nok-oplogo-color\",\r\n \".npx\": \"application/x-netfpx\",\r\n \".nsnd\": \"audio/nsnd\",\r\n \".nva\": \"application/x-neva1\",\r\n \".nws\": \"message/rfc822\",\r\n \".oda\": \"application/oda\",\r\n \".ogg\": \"audio/ogg\",\r\n \".oom\": \"application/x-AtlasMate-Plugin\",\r\n \".p10\": \"application/pkcs10\",\r\n \".p12\": \"application/x-pkcs12\",\r\n \".p7b\": \"application/x-pkcs7-certificates\",\r\n \".p7c\": \"application/x-pkcs7-mime\",\r\n \".p7m\": \"application/x-pkcs7-mime\",\r\n \".p7r\": \"application/x-pkcs7-certreqresp\",\r\n \".p7s\": \"application/x-pkcs7-signature\",\r\n \".pac\": \"audio/x-pac\",\r\n \".pae\": \"audio/x-epac\",\r\n \".pan\": \"application/x-pan\",\r\n \".pbm\": \"image/x-portable-bitmap\",\r\n \".pcx\": \"image/x-pcx\",\r\n \".pda\": \"image/x-pda\",\r\n \".pdb\": \"chemical/x-pdb\",\r\n \".pdf\": \"application/pdf\",\r\n \".pfr\": \"application/font-tdpfr\",\r\n \".pfx\": \"application/x-pkcs12\",\r\n \".pgm\": \"image/x-portable-graymap\",\r\n \".pict\": \"image/x-pict\",\r\n \".pko\": \"application/ynd.ms-pkipko\",\r\n \".pm\": \"application/x-perl\",\r\n \".pma\": \"application/x-perfmon\",\r\n \".pmc\": \"application/x-perfmon\",\r\n \".pmd\": \"application/x-pmd\",\r\n \".pml\": \"application/x-perfmon\",\r\n \".pmr\": \"application/x-perfmon\",\r\n \".pmw\": \"application/x-perfmon\",\r\n \".png\": \"image/png\",\r\n \".pnm\": \"image/x-portable-anymap\",\r\n \".pnz\": \"image/png\",\r\n \".pot\": \"application/vnd.ms-powerpoint\",\r\n \".ppm\": \"image/x-portable-pixmap\",\r\n \".pps\": \"application/vnd.ms-powerpoint\",\r\n \".ppt\": \"application/vnd.ms-powerpoint\",\r\n \".pptx\": \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n \".pqf\": \"application/x-cprplayer\",\r\n \".pqi\": \"application/cprplayer\",\r\n \".prc\": \"application/x-prc\",\r\n \".prf\": \"application/pics-rules\",\r\n \".prop\": \"text/plain\",\r\n \".proxy\": \"application/x-ns-proxy-autoconfig\",\r\n \".ps\": \"application/postscript\",\r\n \".ptlk\": \"application/listenup\",\r\n \".pub\": \"application/x-mspublisher\",\r\n \".pvx\": \"video/x-pv-pvx\",\r\n \".qcp\": \"audio/vnd.qcelp\",\r\n \".qt\": \"video/quicktime\",\r\n \".qti\": \"image/x-quicktime\",\r\n \".qtif\": \"image/x-quicktime\",\r\n \".r3t\": \"text/vnd.rn-realtext3d\",\r\n \".ra\": \"audio/x-pn-realaudio\",\r\n \".ram\": \"audio/x-pn-realaudio\",\r\n \".ras\": \"image/x-cmu-raster\",\r\n \".rc\": \"text/plain\",\r\n \".rdf\": \"application/rdf+xml\",\r\n \".rf\": \"image/vnd.rn-realflash\",\r\n \".rgb\": \"image/x-rgb\",\r\n \".rlf\": \"application/x-richlink\",\r\n \".rm\": \"audio/x-pn-realaudio\",\r\n \".rmf\": \"audio/x-rmf\",\r\n \".rmi\": \"audio/mid\",\r\n \".rmm\": \"audio/x-pn-realaudio\",\r\n \".rmvb\": \"audio/x-pn-realaudio\",\r\n \".rnx\": \"application/vnd.rn-realplayer\",\r\n \".roff\": \"application/x-troff\",\r\n \".rp\": \"image/vnd.rn-realpix\",\r\n \".rpm\": \"audio/x-pn-realaudio-plugin\",\r\n \".rt\": \"text/vnd.rn-realtext\",\r\n \".rte\": \"x-lml/x-gps\",\r\n \".rtf\": \"application/rtf\",\r\n \".rtg\": \"application/metastream\",\r\n \".rtx\": \"text/richtext\",\r\n \".rv\": \"video/vnd.rn-realvideo\",\r\n \".rwc\": \"application/x-rogerwilco\",\r\n \".s3m\": \"audio/x-mod\",\r\n \".s3z\": \"audio/x-mod\",\r\n \".sca\": \"application/x-supercard\",\r\n \".scd\": \"application/x-msschedule\",\r\n \".sct\": \"text/scriptlet\",\r\n \".sdf\": \"application/e-score\",\r\n \".sea\": \"application/x-stuffit\",\r\n \".setpay\": \"application/set-payment-initiation\",\r\n \".setreg\": \"application/set-registration-initiation\",\r\n \".sgm\": \"text/x-sgml\",\r\n \".sgml\": \"text/x-sgml\",\r\n \".sh\": \"application/x-sh\",\r\n \".shar\": \"application/x-shar\",\r\n \".shtml\": \"magnus-internal/parsed-html\",\r\n \".shw\": \"application/presentations\",\r\n \".si6\": \"image/si6\",\r\n \".si7\": \"image/vnd.stiwap.sis\",\r\n \".si9\": \"image/vnd.lgtwap.sis\",\r\n \".sis\": \"application/vnd.symbian.install\",\r\n \".sit\": \"application/x-stuffit\",\r\n \".skd\": \"application/x-Koan\",\r\n \".skm\": \"application/x-Koan\",\r\n \".skp\": \"application/x-Koan\",\r\n \".skt\": \"application/x-Koan\",\r\n \".slc\": \"application/x-salsa\",\r\n \".smd\": \"audio/x-smd\",\r\n \".smi\": \"application/smil\",\r\n \".smil\": \"application/smil\",\r\n \".smp\": \"application/studiom\",\r\n \".smz\": \"audio/x-smd\",\r\n \".snd\": \"audio/basic\",\r\n \".spc\": \"application/x-pkcs7-certificates\",\r\n \".spl\": \"application/futuresplash\",\r\n \".spr\": \"application/x-sprite\",\r\n \".sprite\": \"application/x-sprite\",\r\n \".sdp\": \"application/sdp\",\r\n \".spt\": \"application/x-spt\",\r\n \".src\": \"application/x-wais-source\",\r\n \".sst\": \"application/vnd.ms-pkicertstore\",\r\n \".stk\": \"application/hyperstudio\",\r\n \".stl\": \"application/vnd.ms-pkistl\",\r\n \".stm\": \"text/html\",\r\n \".svg\": \"image/svg+xml\",\r\n \".sv4cpio\": \"application/x-sv4cpio\",\r\n \".sv4crc\": \"application/x-sv4crc\",\r\n \".svf\": \"image/vnd\",\r\n \".svh\": \"image/svh\",\r\n \".svr\": \"x-world/x-svr\",\r\n \".swf\": \"application/x-shockwave-flash\",\r\n \".swfl\": \"application/x-shockwave-flash\",\r\n \".t\": \"application/x-troff\",\r\n \".talk\": \"text/x-speech\",\r\n \".tar\": \"application/x-tar\",\r\n \".taz\": \"application/x-tar\",\r\n \".tbp\": \"application/x-timbuktu\",\r\n \".tbt\": \"application/x-timbuktu\",\r\n \".tcl\": \"application/x-tcl\",\r\n \".tex\": \"application/x-tex\",\r\n \".texi\": \"application/x-texinfo\",\r\n \".texinfo\": \"application/x-texinfo\",\r\n \".tgz\": \"application/x-compressed\",\r\n \".thm\": \"application/vnd.eri.thm\",\r\n \".tif\": \"image/tiff\",\r\n \".tiff\": \"image/tiff\",\r\n \".tki\": \"application/x-tkined\",\r\n \".tkined\": \"application/x-tkined\",\r\n \".toc\": \"application/toc\",\r\n \".toy\": \"image/toy\",\r\n \".tr\": \"application/x-troff\",\r\n \".trk\": \"x-lml/x-gps\",\r\n \".trm\": \"application/x-msterminal\",\r\n \".tsi\": \"audio/tsplayer\",\r\n \".tsp\": \"application/dsptype\",\r\n \".tsv\": \"text/tab-separated-values\",\r\n \".ttz\": \"application/t-time\",\r\n \".txt\": \"text/plain\",\r\n \".uls\": \"text/iuls\",\r\n \".ult\": \"audio/x-mod\",\r\n \".ustar\": \"application/x-ustar\",\r\n \".uu\": \"application/x-uuencode\",\r\n \".uue\": \"application/x-uuencode\",\r\n \".vcd\": \"application/x-cdlink\",\r\n \".vcf\": \"text/x-vcard\",\r\n \".vdo\": \"video/vdo\",\r\n \".vib\": \"audio/vib\",\r\n \".viv\": \"video/vivo\",\r\n \".vivo\": \"video/vivo\",\r\n \".vmd\": \"application/vocaltec-media-desc\",\r\n \".vmf\": \"application/vocaltec-media-file\",\r\n \".vmi\": \"application/x-dreamcast-vms-info\",\r\n \".vms\": \"application/x-dreamcast-vms\",\r\n \".vox\": \"audio/voxware\",\r\n \".vqe\": \"audio/x-twinvq-plugin\",\r\n \".vqf\": \"audio/x-twinvq\",\r\n \".vql\": \"audio/x-twinvq\",\r\n \".vre\": \"x-world/x-vream\",\r\n \".vrml\": \"x-world/x-vrml\",\r\n \".vrt\": \"x-world/x-vrt\",\r\n \".vrw\": \"x-world/x-vream\",\r\n \".vts\": \"workbook/formulaone\",\r\n \".wav\": \"audio/x-wav\",\r\n \".wax\": \"audio/x-ms-wax\",\r\n \".wbmp\": \"image/vnd.wap.wbmp\",\r\n \".wcm\": \"application/vnd.ms-works\",\r\n \".wdb\": \"application/vnd.ms-works\",\r\n \".web\": \"application/vnd.xara\",\r\n \".webm\": \"video/webm\",\r\n \".wi\": \"image/wavelet\",\r\n \".wis\": \"application/x-InstallShield\",\r\n \".wks\": \"application/vnd.ms-works\",\r\n \".wm\": \"video/x-ms-wm\",\r\n \".wma\": \"audio/x-ms-wma\",\r\n \".wmd\": \"application/x-ms-wmd\",\r\n \".wmf\": \"application/x-msmetafile\",\r\n \".wml\": \"text/vnd.wap.wml\",\r\n \".wmlc\": \"application/vnd.wap.wmlc\",\r\n \".wmls\": \"text/vnd.wap.wmlscript\",\r\n \".wmlsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wmlscript\": \"text/vnd.wap.wmlscript\",\r\n \".wmv\": \"audio/x-ms-wmv\",\r\n \".wmx\": \"video/x-ms-wmx\",\r\n \".wmz\": \"application/x-ms-wmz\",\r\n \".wpng\": \"image/x-up-wpng\",\r\n \".wpt\": \"x-lml/x-gps\",\r\n \".wri\": \"application/x-mswrite\",\r\n \".wrl\": \"x-world/x-vrml\",\r\n \".wrz\": \"x-world/x-vrml\",\r\n \".ws\": \"text/vnd.wap.wmlscript\",\r\n \".wsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wv\": \"video/wavelet\",\r\n \".wvx\": \"video/x-ms-wvx\",\r\n \".wxl\": \"application/x-wxl\",\r\n \".x-gzip\": \"application/x-gzip\",\r\n \".xaf\": \"x-world/x-vrml\",\r\n \".xar\": \"application/vnd.xara\",\r\n \".xbm\": \"image/x-xbitmap\",\r\n \".xdm\": \"application/x-xdma\",\r\n \".xdma\": \"application/x-xdma\",\r\n \".xdw\": \"application/vnd.fujixerox.docuworks\",\r\n \".xht\": \"application/xhtml+xml\",\r\n \".xhtm\": \"application/xhtml+xml\",\r\n \".xhtml\": \"application/xhtml+xml\",\r\n \".xla\": \"application/vnd.ms-excel\",\r\n \".xlc\": \"application/vnd.ms-excel\",\r\n \".xll\": \"application/x-excel\",\r\n \".xlm\": \"application/vnd.ms-excel\",\r\n \".xls\": \"application/vnd.ms-excel\",\r\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n \".xlt\": \"application/vnd.ms-excel\",\r\n \".xlw\": \"application/vnd.ms-excel\",\r\n \".xm\": \"audio/x-mod\",\r\n \".xml\": \"application/xml\",\r\n \".xmz\": \"audio/x-mod\",\r\n \".xof\": \"x-world/x-vrml\",\r\n \".xpi\": \"application/x-xpinstall\",\r\n \".xpm\": \"image/x-xpixmap\",\r\n \".xsit\": \"text/xml\",\r\n \".xsl\": \"text/xml\",\r\n \".xul\": \"text/xul\",\r\n \".xwd\": \"image/x-xwindowdump\",\r\n \".xyz\": \"chemical/x-pdb\",\r\n \".yz1\": \"application/x-yz1\",\r\n \".z\": \"application/x-compress\",\r\n \".zac\": \"application/x-zaurus-zac\",\r\n \".json\": \"application/json\",\r\n \".vsd\": \"application/vnd.visio\",\r\n \".et\": \"application/kset\",\r\n \".wps\": \"application/kswps\",\r\n \".dps\": \"application/ksdps\"\r\n}\r\n\r\nexport default function(a) {\r\n let b = strFrom(a, '.', true) || a\r\n return mimes['.' + b]\r\n}\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import mimeType from '../util/mime.js'\r\n\r\n const suffixHooks = {\r\n '0': 'js.css.pdf.psd.ai.txt.eps.txt',\r\n xls: 'xls.xlsx',\r\n doc: 'doc.docx.rtf',\r\n ppt: 'ppt.pptx',\r\n htm: 'htm.html',\r\n zip: 'rar.zip.tar.jar.z.7z.ace.lzh.arj.gzip.bz2.cab.uue',\r\n fla: 'fla.swf',\r\n fon: 'eot.otf.fon.font.ttf.ttc.woff.woff2',\r\n iso: 'iso.nrg.mds.mdf.bin.cue.img.fcd.lcd.dmg',\r\n vid: 'avi.asf.wmv.avs.flv.mkv.mov.3gp.mp4.webm.mpa.mpe.mpg.mpeg.dat.dsm.ogm.vob.rm.rmvb.ts.tp.ifo.nsv.m4u.m4v.asx.asr.movie.fvi.pvx.rv.vdo.viv.vivo.wm.wmx.wv.wvx.mpv2.mpg4',\r\n aud: 'aif.aifc.aiff.als.awb.mp3.aac.au.wav.wma.cda.flac.m4a.mid.mka.mp2.mpc.ape.ofr.ogg.ra.wv.tta.ac3.dts.wv.shn.vqf.spc.nsf.adx.psf.minipsf.psf2.minipsf2.rsn.zst',\r\n img: 'jpg.jpeg.gif.png.bmp.tif.tiff.ico'\r\n }\r\n\r\n const suffix = (function() {\r\n let r = {}\r\n for (let k in suffixHooks) {\r\n suffixHooks[k].split('.').forEach(v => r[v] = k == '0' ? v : k)\r\n }\r\n return r\r\n })()\r\n\r\n const getSuffix = function(url) {\r\n let a = $.strFrom(url || '', '.', true).toLowerCase()\r\n return suffix[a] || 'file'\r\n }\r\n\r\n // 把 \"1MB\" 转为字节\r\n const fileByte = function(val) {\r\n let unit\r\n if (val != null && !isNaN(val))\r\n val += 'K'\r\n val = $.number(val.replace(/[a-z]+$/i, function($0) {\r\n unit = $0.charAt(0).toUpperCase();\r\n return ''\r\n }))\r\n return val * (unit === 'K' ? 1024 : unit === 'M' ? 1024 * 1024 : unit === 'G' ? 1024 * 1024 * 1024 : unit ===\r\n 'T' ? 1024 * 1024 * 1024 * 1024 : 1)\r\n }\r\n\r\n const fileTypeHooks = {\r\n video: suffixHooks.vid,\r\n audio: suffixHooks.aud,\r\n image: suffixHooks.img\r\n }\r\n\r\n export default {\r\n name: 'w-fileupload',\r\n mixins: [FormBase],\r\n props: ['uploadSrc', 'thumbnailSrc', 'downloadSrc', 'uploadLimit', 'sizeLimit', 'maxFileSize', 'minFileSize',\r\n 'fileTypes', 'filter', 'success', 'error', 'itemWidth', 'click:item'\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.x.modelValue, v => {\r\n if (this.emiting) return this.emiting = false\r\n this.list = Array.isArray(v) ? v.map(value => {\r\n return {\r\n value\r\n }\r\n }) : v ? [{\r\n value: v\r\n }] : []\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0) {\r\n let r = []\r\n this.list.forEach(item => item.value && r.push(item.value))\r\n return r\r\n }\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.x.fileTypes\r\n if (!t || t == '*.*') return\r\n let n = []\r\n t.toLowerCase().split(';').forEach(b => {\r\n if (!b) return\r\n n.push(fileTypeHooks[b] || b)\r\n })\r\n n.join('.').replace(/[*;]/g, '').split('.').forEach(b => {\r\n b && r.push(mimeType(b) || b)\r\n })\r\n return r.join(',')\r\n },\r\n isImage(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'img'\r\n },\r\n isVideo(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'vid'\r\n },\r\n isAudio(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'aud'\r\n },\r\n fileSelected(e) {\r\n if (this.x.uploadLimit > 1 && e.target.files.length + this.list.length > this.x.uploadLimit) {\r\n return $.alert($.loc.ps($.loc.form.upload_limit, this.x.uploadLimit))\r\n }\r\n let xfs = this.x.maxFileSize && fileByte(this.x.maxFileSize)\r\n let nfs = this.x.minFileSize && fileByte(this.x.minFileSize)\r\n let xfs_names\r\n let nfs_names\r\n $.lodash.each(e.target.files, file => {\r\n if (xfs && file.size > xfs) {\r\n (xfs_names || (xfs_names = [])).push(file.name)\r\n } else if (nfs && file.size < nfs) {\r\n (nfs_names || (nfs_names = [])).push(file.name)\r\n } else\r\n this.list.push({file})\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.$emit('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: 'w-fileupload-list'\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\r\n","<template>\r\n <w-img :class=\"['w-mediaupload-value', {'z-loading': item.loading, 'z-canplay': canPlay, 'z-err': item.error}]\" ref=\"thumbnail\" :src=\"src\" :data-url=\"dataURL\"\r\n :width=\"upload.x.thumbnailWidth\" :img-width=\"upload.x.thumbnailWidth-2\" :img-height=\"upload.x.thumbnailHeight-2\" :tip=\"tip\" @click=\"click\">\r\n <template v-if=\"upload.x.showFileName\" #default>\r\n <div class=\"f-line-1\">{{name}}</div>\r\n </template>\r\n <template #cover>\r\n <canvas v-if=\"item.loading\" ref=\"loading\" width=\"34\" height=\"34\" class=\"w-mediaupload-progress-loading f-abs-center\"></canvas>\r\n <i v-else-if=\"canPlay\" class=\"w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play\"></i>\r\n <i v-if=\"upload.isNormal\" class=\"w-mediaupload-value-close f-flex-center f-i f-i-trash\" :title=\"title\" @click=\"remove\"></i>\r\n </template>\r\n </w-img>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['item'],\r\n inject: ['provideUpload'],\r\n data() {\r\n return {\r\n dataURL: null,\r\n }\r\n },\r\n methods: {\r\n click(e) {\r\n this.provideUpload.clickItem(e, this.item)\r\n },\r\n createImageThumbnail() {\r\n let r = new FileReader()\r\n r.onload = (e) => {\r\n if (this.item.loaded) return\r\n this.dataURL = e.target.result\r\n }\r\n r.readAsDataURL(this.item.file)\r\n },\r\n createVideoThumbnail() {\r\n let video = document.createElement('video')\r\n video.addEventListener('loadeddata', () => {\r\n setTimeout(() => {\r\n if (this.item.loaded) return\r\n let cvs = document.createElement('canvas')\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = video.videoWidth\r\n cvs.height = video.videoHeight\r\n ctx.drawImage(video, 0, 0)\r\n this.dataURL = cvs.toDataURL('image/png') \r\n video.pause()\r\n $.q(video).remove()\r\n }, 150)\r\n });\r\n video.src = URL.createObjectURL(this.item.file)\r\n video.muted = true\r\n video.play()\r\n },\r\n setProgress(a) {\r\n let cvs = this.$refs.loading\r\n if (!this.item.loading || !cvs) return\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = cvs.width\r\n ctx.beginPath()\r\n ctx.translate(17, 17)\r\n ctx.moveTo(0, 0)\r\n ctx.arc(0, 0, 15, -Math.PI * .5, Math.PI * ((2 * a / 100) - .5))\r\n ctx.closePath()\r\n ctx.fillStyle = 'rgba(255,255,255,.7)'\r\n ctx.fill()\r\n ctx.beginPath()\r\n ctx.arc(0, 0, 16, 0, Math.PI * 2)\r\n ctx.strokeStyle = '#fff'\r\n ctx.stroke()\r\n },\r\n remove(e) {\r\n this.upload.remove(this.item)\r\n e.stopPropagation()\r\n }, \r\n },\r\n computed: {\r\n upload() {\r\n return this.provideUpload\r\n },\r\n img() {\r\n return this.$refs.thumbnail.$refs.img\r\n },\r\n src() {\r\n return this.item.value ? $.urlServer(this.item.value.thumbnail || this.upload.x.thumbnailSrc, this.item.value,\r\n this.upload.x.data) : ''\r\n },\r\n name() {\r\n return this.item.value ? this.item.value.name : this.item.file.name\r\n },\r\n tip() {\r\n return this.item.error ? this.item.error.message : this.name\r\n },\r\n title() {\r\n return $.loc.remove\r\n },\r\n canPlay() {\r\n return this.item.value && (this.upload.isVideo(this.item) || this.upload.isAudio(this.item))\r\n }\r\n },\r\n mounted() {\r\n if (!this.item.loaded && this.item.file) {\r\n this.upload.isVideo(this.item) ? this.createVideoThumbnail() : this.upload.isImage(this.item) ? this.createImageThumbnail() : null\r\n this.$watch(() => this.item.progress, v => this.setProgress(v), {\r\n immediate: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload-value.z-loading .w-img-cover {\r\n background: rgba(0, 0, 0, .25);\r\n }\r\n\r\n .w-mediaupload-progress {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload-progress-img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: right top;\r\n }\r\n</style>\r\n","<template>\r\n <w-img :class=\"['w-mediaupload-value', {'z-loading': item.loading, 'z-canplay': canPlay, 'z-err': item.error}]\" ref=\"thumbnail\" :src=\"src\" :data-url=\"dataURL\"\r\n :width=\"upload.x.thumbnailWidth\" :img-width=\"upload.x.thumbnailWidth-2\" :img-height=\"upload.x.thumbnailHeight-2\" :tip=\"tip\" @click=\"click\">\r\n <template v-if=\"upload.x.showFileName\" #default>\r\n <div class=\"f-line-1\">{{name}}</div>\r\n </template>\r\n <template #cover>\r\n <canvas v-if=\"item.loading\" ref=\"loading\" width=\"34\" height=\"34\" class=\"w-mediaupload-progress-loading f-abs-center\"></canvas>\r\n <i v-else-if=\"canPlay\" class=\"w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play\"></i>\r\n <i v-if=\"upload.isNormal\" class=\"w-mediaupload-value-close f-flex-center f-i f-i-trash\" :title=\"title\" @click=\"remove\"></i>\r\n </template>\r\n </w-img>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['item'],\r\n inject: ['provideUpload'],\r\n data() {\r\n return {\r\n dataURL: null,\r\n }\r\n },\r\n methods: {\r\n click(e) {\r\n this.provideUpload.clickItem(e, this.item)\r\n },\r\n createImageThumbnail() {\r\n let r = new FileReader()\r\n r.onload = (e) => {\r\n if (this.item.loaded) return\r\n this.dataURL = e.target.result\r\n }\r\n r.readAsDataURL(this.item.file)\r\n },\r\n createVideoThumbnail() {\r\n let video = document.createElement('video')\r\n video.addEventListener('loadeddata', () => {\r\n setTimeout(() => {\r\n if (this.item.loaded) return\r\n let cvs = document.createElement('canvas')\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = video.videoWidth\r\n cvs.height = video.videoHeight\r\n ctx.drawImage(video, 0, 0)\r\n this.dataURL = cvs.toDataURL('image/png') \r\n video.pause()\r\n $.q(video).remove()\r\n }, 150)\r\n });\r\n video.src = URL.createObjectURL(this.item.file)\r\n video.muted = true\r\n video.play()\r\n },\r\n setProgress(a) {\r\n let cvs = this.$refs.loading\r\n if (!this.item.loading || !cvs) return\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = cvs.width\r\n ctx.beginPath()\r\n ctx.translate(17, 17)\r\n ctx.moveTo(0, 0)\r\n ctx.arc(0, 0, 15, -Math.PI * .5, Math.PI * ((2 * a / 100) - .5))\r\n ctx.closePath()\r\n ctx.fillStyle = 'rgba(255,255,255,.7)'\r\n ctx.fill()\r\n ctx.beginPath()\r\n ctx.arc(0, 0, 16, 0, Math.PI * 2)\r\n ctx.strokeStyle = '#fff'\r\n ctx.stroke()\r\n },\r\n remove(e) {\r\n this.upload.remove(this.item)\r\n e.stopPropagation()\r\n }, \r\n },\r\n computed: {\r\n upload() {\r\n return this.provideUpload\r\n },\r\n img() {\r\n return this.$refs.thumbnail.$refs.img\r\n },\r\n src() {\r\n return this.item.value ? $.urlServer(this.item.value.thumbnail || this.upload.x.thumbnailSrc, this.item.value,\r\n this.upload.x.data) : ''\r\n },\r\n name() {\r\n return this.item.value ? this.item.value.name : this.item.file.name\r\n },\r\n tip() {\r\n return this.item.error ? this.item.error.message : this.name\r\n },\r\n title() {\r\n return $.loc.remove\r\n },\r\n canPlay() {\r\n return this.item.value && (this.upload.isVideo(this.item) || this.upload.isAudio(this.item))\r\n }\r\n },\r\n mounted() {\r\n if (!this.item.loaded && this.item.file) {\r\n this.upload.isVideo(this.item) ? this.createVideoThumbnail() : this.upload.isImage(this.item) ? this.createImageThumbnail() : null\r\n this.$watch(() => this.item.progress, v => this.setProgress(v), {\r\n immediate: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload-value.z-loading .w-img-cover {\r\n background: rgba(0, 0, 0, .25);\r\n }\r\n\r\n .w-mediaupload-progress {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload-progress-img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: right top;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FileUpload from './FileUpload.vue'\r\n import MediaUploadItem from './MediaUploadItem.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-mediaupload',\r\n mixins: [FileUpload],\r\n props: ['thumbnailWidth', 'thumbnailHeight', 'showFileName'],\r\n provide() {\r\n return {\r\n provideUpload: this\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'video',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n return h(MediaUploadItem, {\r\n item\r\n })\r\n })\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n ref: 'uploadbutton',\r\n title: $.loc.form.choose_image,\r\n icon: '.f-i .f-i-plus',\r\n class: 'w-mediaupload-button',\r\n style: {\r\n width: $.unitSize(this.x.thumbnailWidth),\r\n height: $.unitSize(this.x.thumbnailHeight)\r\n },\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(h('div', {\r\n class: 'w-mediaupload-list f-flex'\r\n }, [this.html_list(), this.canUpload && this.html_input_button()]))\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-label-min-height': $.unitSize(this.x.thumbnailHeight),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload.z-h-valign-top,\r\n .w-mediaupload.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-mediaupload.z-h-valign-bottom,\r\n .w-mediaupload.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-mediaupload.z-h-align-center>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-mediaupload.z-h-align-right>.w-input {\r\n justify-content: flex-end;\r\n }\r\n\r\n .w-mediaupload>.w-input {\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-mediaupload-list {\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n }\r\n\r\n .w-mediaupload-value,\r\n .w-mediaupload-button {\r\n position: relative;\r\n }\r\n\r\n .w-mediaupload-button {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-mediaupload-value.z-loading .w-mediaupload-progress:before,\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before,\r\n /* .w-mediaupload-value .w-img:hover:not(.z-canplay) .w-img-gut:after */\r\n {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(0, 0, 0, .2);\r\n }\r\n\r\n .w-mediaupload-button .w-button-icon {\r\n font-size: 36px;\r\n color: #bbb;\r\n }\r\n\r\n .w-mediaupload-value:hover .w-mediaupload-value-close {\r\n visibility: visible;\r\n }\r\n\r\n .w-mediaupload-value-close {\r\n position: absolute;\r\n visibility: hidden;\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n width: 24px;\r\n height: 24px;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .6);\r\n }\r\n\r\n .w-mediaupload-value-close:hover {\r\n color: #f33;\r\n }\r\n\r\n .w-mediaupload-value .w-img-gut {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value.z-err {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress-loading {\r\n display: none;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '上传失败';\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .5);\r\n }\r\n\r\n .w-mediaupload-cover-play {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 30px;\r\n background: rgba(0, 0, 0, .5);\r\n color: #fff;\r\n }\r\n\r\n .w-mediaupload-cover-play:before {\r\n transform: translateX(2px);\r\n }\r\n\r\n .w-mediaupload.z-err .w-mediaupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import MediaUpload from './MediaUpload.vue'\r\n\r\n export default {\r\n name: 'w-imageupload',\r\n mixins: [MediaUpload],\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'image',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-mediaupload'\r\n },\r\n },\r\n }\r\n</script>\n","<template>\r\n <button :class=\"['f-flex-align', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul, 'w-dropbox-option': !!context}]\" @click=\"click\"\r\n v-bind=\"html_attrs\" :disabled=\"disabled\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text || value}}</slot>\r\n </div>\r\n <div :class=\"['w-option-checked', this.isFocus && this.isMul && 'f-i f-i-check']\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n methods: {\r\n click(e) {\r\n if (this.isMul) {\r\n let cv = $.array(this.$parent.context.val(), true)\r\n if (this.isFocus) $.lodash.pull(cv, this.value)\r\n else cv.push(this.value)\r\n this.$parent.context.val(cv)\r\n } else {\r\n let cv = this.isCnc && this.isFocus ? '' : this.value\r\n this.$parent.context.val(cv)\r\n this.$parent.close()\r\n }\r\n }\r\n },\r\n computed: {\r\n context() {\r\n return this.$parent.context\r\n },\r\n isFocus() {\r\n let c = this.context\r\n if (c) {\r\n let m = c.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n }\r\n },\r\n isMul() {\r\n return this.context?.x.multiple\r\n },\r\n isCnc() {\r\n return this.context?.x.cancelable\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px; \r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n \r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n \r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n text-align: right;\r\n visibility: hidden;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n visibility: visible;\r\n }\r\n</style>\r\n","<template>\r\n <button :class=\"['f-flex-align', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul, 'w-dropbox-option': !!context}]\" @click=\"click\"\r\n v-bind=\"html_attrs\" :disabled=\"disabled\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text || value}}</slot>\r\n </div>\r\n <div :class=\"['w-option-checked', this.isFocus && this.isMul && 'f-i f-i-check']\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n methods: {\r\n click(e) {\r\n if (this.isMul) {\r\n let cv = $.array(this.$parent.context.val(), true)\r\n if (this.isFocus) $.lodash.pull(cv, this.value)\r\n else cv.push(this.value)\r\n this.$parent.context.val(cv)\r\n } else {\r\n let cv = this.isCnc && this.isFocus ? '' : this.value\r\n this.$parent.context.val(cv)\r\n this.$parent.close()\r\n }\r\n }\r\n },\r\n computed: {\r\n context() {\r\n return this.$parent.context\r\n },\r\n isFocus() {\r\n let c = this.context\r\n if (c) {\r\n let m = c.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n }\r\n },\r\n isMul() {\r\n return this.context?.x.multiple\r\n },\r\n isCnc() {\r\n return this.context?.x.cancelable\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px; \r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n \r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n \r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n text-align: right;\r\n visibility: hidden;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n visibility: visible;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n\r\n export default {\r\n name: 'w-spinner',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['decimal', 'format', 'noButton', 'step', 'compare', 'minValue', 'maxValue'],\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n inputWidth: 140\r\n }\r\n },\r\n doFormat() {\r\n if (!this.x.format)\r\n return;\r\n let v = this.$refs.v.value\r\n let s = this.x.format.separator || ','\r\n let r = RegExp(s.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'), 'g')\r\n let t = $.numFormat(v, this.x.format.length, s, this.x.format.rightward)\r\n if (v !== t) {\r\n let n = this.$refs.v.selectionStart\r\n let b = v.slice(0, n).replace(r, '')\r\n this.val(t)\r\n if (document.activeElement === this.$refs.v) {\r\n let a = t.slice(0, n).replace(r, '')\r\n $.rngCursor(this.$refs.v, n + (b.length - a.length))\r\n }\r\n }\r\n },\r\n isBegin() {\r\n\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.vv('maxValue')\r\n let n = this.vv('minValue')\r\n let u = this.val()\r\n let v = $.numAdd($.number(u), a * this.x.step)\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n let r = v\r\n m != null && (r = Math.min(m, r))\r\n n != null && (r = Math.max(n, r))\r\n if (p) {\r\n if (p[0] == this) {\r\n let endValue = p[1].val()\r\n if (endValue != null) r = Math.min(endValue, r)\r\n } else if (p[1] == this) {\r\n let beginValue = p[0].val()\r\n if (beginValue != null) r = Math.max(beginValue, r)\r\n }\r\n }\r\n this.warn(false)\r\n this.focus()\r\n this.val(r)\r\n if (r == v) {\r\n if (this.tip_uid) {\r\n $.close(this.tip_uid)\r\n this.tip_uid = null\r\n }\r\n } else if (u) {\r\n this.showTip({\r\n text: $.loc.form[r < v ? 'step_max_value' : 'step_min_value'],\r\n independent: true,\r\n })\r\n }\r\n\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n html_button() {\r\n return h('div', {\r\n class: 'w-spinner-step w-input-bbr f-flex-column f-oh',\r\n ref: 'btns'\r\n }, [\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-up\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(-1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-down\"></i>'\r\n }),\r\n ])\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n minValue: (v) => {\r\n return $.number(v) < $.number(this.vv('minValue'))\r\n },\r\n maxValue: (v) => {\r\n return $.number(v) > $.number(this.vv('maxValue'))\r\n },\r\n compare: (v, c, d) => {\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})\r\n },\r\n valid: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v) {\r\n if (isNaN(v) || /\\s/.test(v))\r\n return this.formErr('number_invalid')\r\n let d = this.x.decimal\r\n if (!d && ~v.indexOf('.'))\r\n return this.formErr('number_integer')\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr('number_decimal_digit', [d])\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number'\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n import Dialog from './Dialog.vue'\r\n import Calendar from './Calendar.vue'\r\n\r\n export default {\r\n name: 'w-datepicker',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['noButton', 'multiple', 'format', 'compare', 'minValue', 'maxValue'],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n format: 'yyyy-MM-dd',\r\n inputWidth: 180\r\n }\r\n },\r\n drop() {\r\n if ($.br.mobile) {\r\n $.dateSheet({\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n })\r\n } else {\r\n this.showDrop = true\r\n }\r\n },\r\n calendarCallback(val) {\r\n this.val(val)\r\n this.showDrop = false\r\n this.currentDate = null\r\n if (!$.br.mobile)\r\n this.focus()\r\n },\r\n getPeriod() {\r\n let minValue = this.x.minValue\r\n let maxValue = this.x.maxValue\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n if (p) {\r\n if (p[0] == this) {\r\n let end = p[1].formVal()\r\n if (end != null && (maxValue == null || maxValue > end)) maxValue = end\r\n } else if (p[1] == this) {\r\n let begin = p[0].formVal()\r\n if (begin != null && (minValue == null || minValue < begin)) minValue = begin\r\n }\r\n }\r\n return {\r\n minValue,\r\n maxValue\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n if (!this.x.noButton) r.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-date',\r\n disabled: this.x.disabled,\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Dialog, {\r\n ownproperty: true,\r\n class: 'f-dfish-dialog w-calendar-dialog',\r\n width: 260,\r\n context: this,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.snapElem(),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => {\r\n this.showDrop = false, this.currentDate = null\r\n }\r\n }\r\n }, {\r\n default: () => h(Calendar, {\r\n pad: true,\r\n current: this.currentDate || this.x.modelValue || '',\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n on: {\r\n 'click:item': (e, item) => this.currentDate = item.value,\r\n }\r\n })\r\n }))\r\n }\r\n return r\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n minValue: (v) => {\r\n return $.dateParse(v, this.x.format) < $.dateParse(this.vv('minValue'), this.x.format)\r\n },\r\n maxValue: (v) => {\r\n return $.dateParse(v, this.x.format) > $.dateParse(this.vv('maxValue'), this.x.format)\r\n },\r\n compare: (v, c, d) => {\r\n if (this.x.format && c.x.format) {\r\n let f = (this.x.format.length > c.x.format.length ? this : c).x.format\r\n v = $.dateFormat($.dateParse(v, this.x.format), f)\r\n d = $.dateFormat($.dateParse(d, c.x.format), f)\r\n }\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})\r\n },\r\n valid: (v) => {\r\n if (this.x.multiple)\r\n return;\r\n if (v) {\r\n let c = v\r\n let d = $.dateParse(c, this.x.format)\r\n let y = d.getFullYear()\r\n let m = 9999\r\n let n = 1000\r\n if (y > m || y < n)\r\n return this.formErr('time_exceed', [n, m]);\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr('time_format', [$.dateFormat(d, this.x.format)]);\r\n }\r\n }\r\n if (this.vv('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('beforeNow', [this.x.beforeNow]);\r\n if (this.vv('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('afterNow', [this.x.afterNow]);\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile && {\r\n readonly: true\r\n }\r\n },\r\n // input_value() {\r\n // let v = this.x.modelValue\r\n // if (v && v.length !== this.x.format.length) {\r\n // v = $.dateFormat($.dateParse(v, this.x.format), this.x.format)\r\n // }\r\n // return v\r\n // },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.drop\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import PreloadNone from '../preload/PreloadNone.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-dropbox',\r\n mixins: [FormBase],\r\n props: ['multiple', 'cancelable', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n dropper: null,\r\n showDrop: false,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n click() {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n }\r\n },\r\n formText() {\r\n return this.input_text\r\n },\r\n html_input() {\r\n let t = this.input_text\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-dropbox-text f-line-1',\r\n title: t || p,\r\n }, t || (p && h('div', {class: 'w-input-placeholder'}, p))),\r\n this.showDrop && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n scrollView: '.z-on',\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n })\r\n }\r\n },\r\n computed: {\r\n input_text() {\r\n let r = []\r\n let s = this.slots_children()\r\n let m = this.x.modelValue ? $.array(this.x.modelValue, true) : [this.x.modelValue]\r\n $.lodash.each(m, v => {\r\n let i = s.findIndex(n => n.props.value == v)\r\n if (i > -1) r.push(i)\r\n if (!this.x.multiple) return false\r\n })\r\n return r.sort().map(v => s[v].props.text).join(', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.click\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import DropBox from './DropBox.vue'\r\n\r\n export default {\r\n name: 'w-pickbox',\r\n mixins: [DropBox],\r\n props: ['picker'],\r\n methods: {\r\n click(e) {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n } else if (this.x.picker) {\r\n this.clickPicker(e)\r\n }\r\n },\r\n clickClear(e) {\r\n e.stopPropagation()\r\n this.val(null)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.x.modelValue)\r\n },\r\n html_button() {\r\n return [\r\n this.isNormal && h('button', {\r\n class: 'w-input-bbr w-pickbox-clear f-i f-i-close',\r\n onclick: this.clickClear\r\n }),\r\n this.$slots.default && h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n }),\r\n this.x.picker && h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n })\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n let m = this.x.modelValue\r\n let f = v => v && typeof v === 'object' ? JSON.stringify(v) : v\r\n if (Array.isArray(m)) {\r\n return m.map(v => f(v && v.value)).join(',')\r\n } else {\r\n return f(m && m.value)\r\n }\r\n },\r\n input_text() {\r\n let m = this.x.modelValue\r\n if (Array.isArray(m)) {\r\n return m.map(v => v.text).join(', ')\r\n } else\r\n return m && m.text\r\n }\r\n }\r\n }\r\n</script>\n\r\n<style>\r\n .w-pickbox-clear {\r\n display: none;\r\n font-size: 16px;\r\n }\r\n .w-pickbox-clear:hover {\r\n color: #f00;\r\n }\r\n .w-input:hover > .w-pickbox-clear {\r\n display: flex;\r\n }\r\n</style>","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-password',\r\n mixins: [FormBase],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n },\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'password'\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-range',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideRangeParent: this\r\n }\r\n },\r\n props: ['compare'],\r\n methods: {\r\n forms() {\r\n return this.ownerView.fAll(null, this.el('main'))\r\n },\r\n snapElem() {\r\n return this.forms()[0] || this.el('main')\r\n },\r\n html_form() {\r\n let c = this.slots_children()\r\n c.splice(1, 0, h('div', {class: 'w-range-to'}, $.loc.to))\r\n //c.push(h('input', {type: 'hidden', ref:'v', id: this.uid + 'hdn'}))\r\n return c\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: () => {\r\n let f = this.forms()\r\n if (f.length > 1) {\r\n let v1 = f[0] && f[0].formVal()\r\n let v2 = f[1] && f[1].formVal()\r\n let c = this.x.compare || '<='\r\n if (v1 && v2) {\r\n if (!$.eval(`v1 ${c} v2`, {v1, v2})) {\r\n return this.formErr('compare', [f[0].getLabelText(), c, f[1].getLabelText()])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: e => this.warnClass = ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-range > .w-input > .w-formbase {\r\n flex-basis: var(--w-input-width);\r\n }\r\n .w-range-to {\r\n width: 28px;\r\n min-width: 20px;\r\n text-align: center;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item'],\r\n props: ['multiple', 'dropper', 'picker', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n showSuggest: false,\r\n sug_timer: null,\r\n sensor_text: '',\r\n sensor_width: null,\r\n }\r\n },\r\n methods: {\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n $.lodash.remove(mv, m => !m || !m.text)\r\n this.val(mv)\r\n },\r\n complete(v) {\r\n this.addVal(v)\r\n this.clear()\r\n this.$nextTick(this.focus)\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(e, v)\r\n }, 500)\r\n }\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 8) { // 8:backspace\r\n if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {\r\n let mv = $.array(this.x.modelValue, true)\r\n mv.length && mv.splice(mv.length - 1, 1)\r\n }\r\n }\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {'z-forbid': v.forbid}],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n onfocus: e => {\r\n this.isFocus = true, e.target.value && e.target.dispatchEvent(new Event('input'))\r\n },\r\n onblur: e => this.isFocus = false,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-combobox-list f-flex-1 f-flex f-oh f-height',\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity && this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if(this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n gap: 3px;\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n \r\n .w-combobox-list > .w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n gap: 5px;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n \r\n .w-combobox-option.z-forbid .w-combobox-option-text{\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n\r\n export default {\r\n name: 'w-linkbox',\r\n mixins: [FormBase],\r\n emits: ['input', 'dblclick:item'],\r\n props: ['multiple', 'picker', 'dropWidth', 'separator', 'strict'],\r\n created() {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n if (this.isEntity && !this.isFocus) {\r\n this.initOptions(v)\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n sugger: null,\r\n showSuggest: false,\r\n sug_timer: null,\r\n _KC: null,\r\n imeMode: false,\r\n paste_rng: null,\r\n currOpt: null,\r\n store: [],\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n strict: true\r\n }\r\n },\r\n initOptions(v) {\r\n if (v == null) v = this.x.modelValue\r\n if (v && typeof v !== 'string') {\r\n v = $.array(v)\r\n this.addStore(v)\r\n this.inp().innerHTML = this.html_options(v)\r\n }\r\n },\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n this.val(mv)\r\n },\r\n complete(a) {\r\n this.addStore(a)\r\n this.focus()\r\n let u = this.currOpt || $.rngElement()\r\n let p = this.x.separator || ','\r\n if (u) {\r\n if (u.tagName === 'U') {\r\n this.rng_text(u, 0, a.text)\r\n } else {\r\n if (u.tagName === 'I') {\r\n if (u.nextSibling && u.nextSibling.tagName === 'U') {\r\n u = u.nextSibling\r\n } else {\r\n u = $.after(u, '<u></u>')\r\n this.x.multiple && $.after(u, '<i>' + p + '</i>')\r\n }\r\n } else\r\n u = (!this.x.multiple && this.inp().querySelector('u')) || $.append(this.inp(), '<u></u>')\r\n this.rng_text(u, 0, a.text)\r\n }\r\n $.classAdd(u, '_o')\r\n u.setAttribute('data-value', a.value)\r\n a.forbid && u.setAttribute('data-forbid', '')\r\n let n = u.nextSibling\r\n $.rngCursor(n && !n.nextSibling ? n : u)\r\n this.x.multiple && !n && $.rngCursor($.after(u, '<i>' + p + '</i>')) // 光标在末尾则自动添加逗号分隔符\r\n let m = $.q(`u[data-value=\"${a.value}\"]`, this.inp())\r\n if (m.length > 1) m.eq(0).next('i').addBack().remove()\r\n this.save()\r\n }\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(new Event('input'), v)\r\n }, 500)\r\n }\r\n },\r\n closePop() {\r\n clearTimeout(this.sug_timer)\r\n this.suggest(false)\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closePop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closePop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closePop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n if (k === 13)\r\n this.fixStyle()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closePop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr('invalid_option')\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text || v.value).join(\r\n ', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.focus\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-dc': this.getOn('dblclick:item')\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.initOptions()\r\n this.inp().addEventListener('compositionstart', () => {\r\n this.imeMode = true\r\n })\r\n this.inp().addEventListener('compositionend', () => {\r\n this.imeMode = false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-linkbox-list {\r\n gap: 3px;\r\n padding-left: 3px;\r\n }\r\n\r\n .w-linkbox-input {\r\n height: 100%;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input {\r\n padding-left: 10px;\r\n min-height: 30px;\r\n line-height: 30px;\r\n word-break: break-all;\r\n word-wrap: break-word;\r\n font-family: verdana;\r\n font-style: normal;\r\n outline: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u {\r\n padding-right: 1px;\r\n color: #999;\r\n text-decoration: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o {\r\n color: #333\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o[data-forbid] {\r\n text-decoration: line-through !important;\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u {\r\n color: #333\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u._o {\r\n color: #275696;\r\n text-decoration: underline\r\n }\r\n\r\n .w-linkbox .w-linkbox-input i {\r\n font-style: normal;\r\n padding: 0 3px 0 1px;\r\n color: #999;\r\n }\r\n\r\n .w-linkbox ._v {\r\n display: inline-block;\r\n height: 22px;\r\n line-height: 22px;\r\n vertical-align: middle\r\n }\r\n\r\n .w-linkbox.z-loading {\r\n color: gray\r\n }\r\n\r\n .w-linkbox.z-loading .w-input-placeholder {\r\n display: none\r\n }\r\n\r\n .w-linkbox.z-nobr .w-linkbox-input {\r\n overflow: hidden;\r\n word-break: keep-all;\r\n word-wrap: normal\r\n }\r\n\r\n .w-linkbox .w-input {\r\n position: relative;\r\n }\r\n\r\n .w-linkbox-input:not(:empty)~.w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox .w-input-placeholder {\r\n position: absolute;\r\n left: 0;\r\n padding-left: 10px;\r\n pointer-events: none;\r\n }\r\n</style>\n","<template>\r\n <w-dialog class=\"w-jigsaw-dialog\">\r\n <img class=\"w-jigsaw-big\" :src=\"bigSrc\">\r\n <img class=\"w-jigsaw-small\" :src=\"smallSrc\" :width=\"smallWidth\" :style=\"{left: smallLeft + 'px'}\" @dragstart.prevent=\"dragstart\" @mousedown=\"mousedown\">\r\n <span @click=\"refresh\" class=\"w-jigsaw-refresh\">刷新</span>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n data() {\r\n return {\r\n smallLeft: 0\r\n }\r\n },\r\n watch: {\r\n 'context.x.modelValue': {\r\n handler(v) {\r\n let m = this.context.max()\r\n let n = this.context.min()\r\n this.smallLeft = (this.dialog.x.width - this.smallWidth) * (v / (m - n))\r\n }\r\n }\r\n },\r\n methods: {\r\n refresh(e) {\r\n this.context.refresh(e)\r\n },\r\n dragstart(e) {\r\n //\r\n },\r\n mousedown(e) {\r\n this.context.dragstart(e)\r\n }\r\n },\r\n computed: {\r\n dialog() {\r\n return $.dialog(this)\r\n },\r\n context() {\r\n return this.dialog.context\r\n },\r\n bigSrc() {\r\n return this.context.x.big.src\r\n },\r\n smallSrc() {\r\n return this.context.x.small.src\r\n },\r\n smallWidth() {\r\n return this.dialog.x.height * (this.context.x.small.width / this.context.x.small.height)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw-big {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-jigsaw-small {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-jigsaw-refresh {\r\n position: absolute;\r\n top: 5px;\r\n right: 5px;\r\n color: #fff;\r\n cursor: pointer;\r\n text-shadow: 0 0 3px #000;\r\n }\r\n</style>\n","<template>\r\n <w-dialog class=\"w-jigsaw-dialog\">\r\n <img class=\"w-jigsaw-big\" :src=\"bigSrc\">\r\n <img class=\"w-jigsaw-small\" :src=\"smallSrc\" :width=\"smallWidth\" :style=\"{left: smallLeft + 'px'}\" @dragstart.prevent=\"dragstart\" @mousedown=\"mousedown\">\r\n <span @click=\"refresh\" class=\"w-jigsaw-refresh\">刷新</span>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n data() {\r\n return {\r\n smallLeft: 0\r\n }\r\n },\r\n watch: {\r\n 'context.x.modelValue': {\r\n handler(v) {\r\n let m = this.context.max()\r\n let n = this.context.min()\r\n this.smallLeft = (this.dialog.x.width - this.smallWidth) * (v / (m - n))\r\n }\r\n }\r\n },\r\n methods: {\r\n refresh(e) {\r\n this.context.refresh(e)\r\n },\r\n dragstart(e) {\r\n //\r\n },\r\n mousedown(e) {\r\n this.context.dragstart(e)\r\n }\r\n },\r\n computed: {\r\n dialog() {\r\n return $.dialog(this)\r\n },\r\n context() {\r\n return this.dialog.context\r\n },\r\n bigSrc() {\r\n return this.context.x.big.src\r\n },\r\n smallSrc() {\r\n return this.context.x.small.src\r\n },\r\n smallWidth() {\r\n return this.dialog.x.height * (this.context.x.small.width / this.context.x.small.height)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw-big {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-jigsaw-small {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-jigsaw-refresh {\r\n position: absolute;\r\n top: 5px;\r\n right: 5px;\r\n color: #fff;\r\n cursor: pointer;\r\n text-shadow: 0 0 3px #000;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import TemplateJigsaw from '../template/TemplateJigsaw.vue'\r\n\r\n\r\n const init_text = $.loc.form.jigsaw_drag_right\r\n\r\n export default {\r\n name: 'w-jigsaw',\r\n mixins: [FormBase],\r\n emits: ['drop', 'click:refresh'],\r\n props: ['big', 'small', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: init_text,\r\n locked: false,\r\n isSuccess: false,\r\n isError: false,\r\n dropper: null,\r\n }\r\n },\r\n methods: {\r\n success(text) {\r\n this.text = text\r\n this.locked = true\r\n this.isSuccess = true\r\n this.setThumbLeft()\r\n },\r\n error(text, timeout, fn) {\r\n if (!text) text = ''\r\n this.isError = true\r\n this.warn(true)\r\n this.setThumbLeft(0)\r\n if (timeout) {\r\n this.locked = true\r\n this.text = text + `(${timeout/1000})`\r\n let timer = setInterval(() => {\r\n timeout -= 1000\r\n this.text = text + `(${timeout/1000})`\r\n if (timeout <= 0) {\r\n clearInterval(timer)\r\n this.reset()\r\n fn && fn()\r\n }\r\n }, 1000)\r\n } else {\r\n fn && fn()\r\n }\r\n },\r\n reset() {\r\n this.locked = false\r\n this.isError = false\r\n this.isSuccess = false\r\n this.text = init_text\r\n this.setThumbLeft(0)\r\n },\r\n refresh(e) {\r\n e.runType = 'click:refresh'\r\n this.trigger(e)\r\n },\r\n setThumbLeft(left) {\r\n if (left == null) {\r\n left = $.number(this.$refs.thumb.style.left)\r\n } else {\r\n this.$refs.thumb.style.left = left + 'px'\r\n }\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n let hf = (left + (g / 2)) > (w / 2)\r\n this.$refs.text.style.left = hf ? 0 : (left + g) + 'px'\r\n this.$refs.text.style.right = hf ? (w - left) + 'px' : 0\r\n this.el().classList.remove('z-drag')\r\n $.close(this.dropper)\r\n },\r\n dragstart(e) {\r\n if (!this.isNormal || this.locked) return\r\n this.warn(false)\r\n let a = this.$refs.thumb\r\n let x = $.eventX(e)\r\n let m = this.max()\r\n let n = this.min()\r\n let f = $.number(a.style.left)\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n $.moveup((e) => {\r\n let c = $.eventX(e)\r\n let l = $.numRange(f + c - x, 0, w - g)\r\n a.style.left = l + 'px'\r\n this.$refs.track.style.width = (l + g) + 'px'\r\n this.x.modelValue = Math.floor(Math.floor((m - n) * l / (w - g)))\r\n this.el().classList.add('z-drag')\r\n }, (e) => {\r\n a.dispatchEvent(new Event('drop'))\r\n }, e)\r\n },\r\n mouseenter(e) {\r\n if (this.dropper || !this.x.big || this.isSuccess || this.locked) return\r\n this.warn(false)\r\n $.closePopup()\r\n let width = Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width)\r\n let height = Math.ceil(width * (this.x.big.height / this.x.big.width))\r\n this.dropper = this.cmd({\r\n type: 'Dialog',\r\n ownproperty: true,\r\n template: TemplateJigsaw,\r\n width,\r\n height,\r\n autoHide: true,\r\n hoverDrop: true,\r\n context: this,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v'\r\n },\r\n on: {\r\n close: () => this.dropper = null\r\n }\r\n })\r\n },\r\n drop(e) {\r\n this.trigger(e, this.x.modelValue)\r\n },\r\n max() {\r\n let v = this.x.maxValue\r\n return v == null ? 100 : v\r\n },\r\n min() {\r\n let v = this.x.minValue\r\n return v == null ? 0 : v\r\n },\r\n thumbWidth() {\r\n return $.bcr(this.$refs.thumb).width\r\n },\r\n mainWidth() {\r\n return $.bcr(this.$refs.main).width\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(), ,\r\n [\r\n h('div', {\r\n ref: 'track',\r\n class: 'w-jigsaw-track',\r\n }),\r\n h('div', {\r\n ref: 'text',\r\n class: 'w-jigsaw-text f-flex-center f-line-1',\r\n }, this.text),\r\n ]\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n ref: 'thumb',\r\n class: ['w-jigsaw-thumb w-input-bbr f-i', this.isSuccess ? 'f-i-check' :\r\n 'f-i-long-arrow-right'\r\n ],\r\n disabled: this.x.disabled,\r\n onmousedown: this.dragstart,\r\n ondrop: this.drop,\r\n })\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr('jigsaw_required')\r\n }\r\n }\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-success': this.isSuccess,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onmouseenter: this.mouseenter\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw>.w-input {\r\n position: relative;\r\n background: #f8f8f8;\r\n overflow: visible;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-jigsaw-thumb {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n background: #fff;\r\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .w-jigsaw-thumb:hover,\r\n .w-jigsaw.z-drag .w-jigsaw-thumb {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw-text {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 30px;\r\n right: 0;\r\n color: #a9a9a9;\r\n }\r\n\r\n .w-jigsaw-track {\r\n display: none;\r\n position: absolute;\r\n left: -1px;\r\n top: -1px;\r\n bottom: -1px;\r\n background: #e5f3ff;\r\n border: 1px solid transparent;\r\n }\r\n\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-text {\r\n display: none;\r\n }\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-track {\r\n display: block;\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-track {\r\n display: block;\r\n background: #eaffe5;\r\n border-color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-thumb {\r\n background: #24c301;\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-text {\r\n color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-err .w-jigsaw-text {\r\n color: #f00;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-form',\r\n mixins: [FormBase],\r\n props: ['vertical'],\r\n methods: {\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n this.$slots.default && this.$slots.default()\r\n ]\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n required(v) {\r\n return !v || v === '[]' || v === '{}'\r\n }\r\n }\r\n },\r\n input_value() {\r\n let mv = this.x.modelValue\r\n return mv == null ? '' : typeof mv === 'object' ? JSON.stringify(mv) : mv\r\n },\r\n html_class() {\r\n return [{\r\n 'z-vertical': this.x.vertical,\r\n }]\r\n },\r\n html_style() {\r\n return {\r\n '--w-form-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport DocView from './DocView.vue'\r\nimport View from './View.vue'\r\nimport Pop from './Pop.vue'\r\nimport Dialog from './Dialog.vue'\r\nimport DialogMove from './DialogMove.vue'\r\nimport Alert from './Alert.vue'\r\nimport Confirm from './Confirm.vue'\r\nimport Tip from './Tip.vue'\r\nimport Menu from './Menu.vue'\r\nimport Loading from './Loading.vue'\r\n\r\nimport Vertical from './Vertical.vue'\r\nimport Horizontal from './Horizontal.vue'\r\nimport Table from './Table.vue'\r\nimport TableColumns from './TableColumns.vue'\r\nimport TableColumn from './TableColumn.vue'\r\nimport TableTBody from './TableTBody.vue'\r\nimport TableTHead from './TableTHead.vue'\r\nimport TableTR from './TableTR.vue'\r\nimport TableTD from './TableTD.vue'\r\nimport TableTH from './TableTH.vue'\r\nimport Grid from './Grid.vue'\r\nimport Swiper from './Swiper.vue'\r\nimport SwiperItem from './SwiperItem.vue'\r\nimport Tabs from './Tabs.vue'\r\nimport Tab from './Tab.vue'\r\n\r\nimport Album from './Album.vue'\r\nimport Img from './Img.vue'\r\nimport ButtonBar from './ButtonBar.vue'\r\nimport Button from './Button.vue'\r\nimport SubmitButton from './SubmitButton.vue'\r\nimport MenuButton from './MenuButton.vue'\r\nimport Html from './Html.vue'\r\nimport Tree from './Tree.vue'\r\nimport Leaf from './Leaf.vue'\r\nimport PageBar from './PageBar.vue'\r\nimport Split from './Split.vue'\r\nimport Toggle from './Toggle.vue'\r\nimport Video from './Video.vue'\r\nimport Progress from './Progress.vue'\r\nimport Calendar from './Calendar.vue'\r\nimport Timeline from './Timeline.vue'\r\nimport TimelineItem from './TimelineItem.vue'\r\nimport Picker from './Picker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\n\r\n\r\nconst components = [\r\n DocView, View, Pop, Dialog, DialogMove, Alert, Confirm, Tip, Menu, Loading,\r\n Grid, Vertical, Horizontal, Table, TableColumns, TableColumn, TableTBody, TableTHead, TableTR, TableTD, TableTH, Swiper, SwiperItem, Tabs, Tab,\r\n Album, Img, ButtonBar, Button, SubmitButton, MenuButton, Html, Tree, Leaf, PageBar, Split, Toggle, Video, Progress, Calendar, Timeline, TimelineItem, Picker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form,\r\n\r\n]\r\n\r\nconst directives = ['colspan', 'rowspan']\r\n\r\n$.install = (Vue) => {\r\n //注册组件\r\n components.forEach(c => Vue.component(c.name, c))\r\n //注册指令\r\n Vue.directive('dfish', {\r\n created(el, binding) {\r\n let a = binding.arg\r\n $.directiveHooks[a] && $.directiveHooks[a](el, binding.value)\r\n }\r\n })\r\n directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding) {\r\n $.directiveHooks[v] && $.directiveHooks[v](el, binding.value)\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default $\r\n"],"names":["u","navigator","userAgent","toLowerCase","chrome","match","r","agent","parseFloat","firefox","indexOf","safari","mobile","app","location","protocol","wechat","version","replace","android","isBadAndroid","test","window","appVersion","iphone","ios","ipad","_uidCnt","_uidKey","_guid","toString","o","yes","no","none","to","jump","confirm","search","query","choose","save","remove","cancel","create","add","edit","finish","refresh","operfail","opertip","nodata","more","field","close","restore","rotate_left","rotate_right","dialog_max","dialog_min","detect_zoom","no_tip_anymore","loading","wait","submiting","uploading","click_preview","toomuch_wait","toomuch_wait_countdown","preview_orginal_image","auth_success","auth_fail","choose_image","tree_movefail1","tree_movefail2","internet_error","server_error","preload_error","page","page_text","first","last","next","prev","print_preview","placeholder_input","placeholder_select","pulldown_refresh","release_refresh","pullup_refresh","pullup_nomore","download_start","download_complete","download_cannotopen","download_fail","tab_close","tab_close_others","tab_close_all","sort_asc","sort_desc","sort_cancel","column_choose","connection_not_wifi","debug","sorry","view_more","no_command","no_combo","error_template_type","error_type","tmpl_method_undefined","form","required","onlyone","maxLength","reach_maxLength","over_maxLength","minLength","maxValue","minValue","maxSize","minSize","pattern","password_weak","password_middle","password_strong","number_invalid","number_integer","number_decimal_digit","step_max_value","step_min_value","time_exceed","time_format","period_invalid","beforeNow","afterNow","compare","invalid_option","need_valid_option","choose_atleastone","complete_required","jigsaw_drag_right","jigsaw_required","jigsaw_errorimg","upload_loading","upload_invalid_file","no_files","upload_error","upload_limit","upload_invalid_file_type","upload_invalid_data","upload_no_data","upload_maxfilesize","upload_minfilesize","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","y","monthname","backdate","picktime","H","m","s","error","ps","a","args","$0","$1","$2","d","end","strTrim","String","strFrom","b","c","lastIndexOf","substr","length","strTo","strLen","$","x","cnBytes","i","l","charCodeAt","strPad","strFormat","Array","isArray","encodeURIComponent","e","lodash","get","strEscape","strHighlight","RegExp","strSplitword","join","$3","undefined","_s_regexp","j","f","push","number","isNaN","isNumber","numRange","numAdd","forEach","Math","max","pow","round","numFormat","split","t","n","charAt","numDecimal","slice","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","h","getHours","getMinutes","getSeconds","w","getDay","Date","M","dateAdd","getTime","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","dateValid","dateDiff","_dateDiff","z","floor","dateSheet","docView","Range","prototype","movePoint","__defineGetter__","__defineSetter__","deleteContents","insertNode","document","createTextNode","startContainer","firstChild","selectNodeContents","nextSibling","setStart","setEnd","select","getSelection","removeAllRanges","addRange","rngSelection","rangeCount","getRangeAt","rngElement","parentNode","rngCursor","selectionStart","selectionEnd","value","nodeType","createRange","collapseToEnd","rngCursorOffset","startOffset","body","createTextRange","setEndPoint","rngText","text","_adjacent_where","_adjacent_query","_div","createElement","innerHTML","frag","createDocumentFragment","appendChild","el","isWidget","html","ex","removeChild","jquery","insertAdjacentHTML","p","insertBefore","append","lastElementChild","lastChild","prepend","firstElementChild","before","previousElementSibling","previousSibling","after","nextElementSibling","replaceWith","_css_camelize","toUpperCase","_set_style","v","style","getComputedStyle","offsetWidth","offsetHeight","_number","css","arguments","k","T","N","doc","cvs","documentElement","_arr_comma","_snaptype","top","bottom","left","right","tl","tr","rt","rb","br","bl","lb","lt","_snapMag","pix","mag","inner","canvasOffset","bcr","clientWidth","clientHeight","offset","width","height","offsetTop","offsetLeft","offsetParent","clientLeft","scrollLeft","clientTop","scrollTop","getBoundingClientRect","snap","originalEvent","clientX","clientY","g","ew","eh","ot","or","ob","ol","type","pix_r","pix_b","mag_r","mag_b","mag_l","mag_t","target","snapTo","jsonArray","_EventUser","_event_remove","fn","pull","id","pvdr","_event_name","_event_space","sort","_event_handlers","uid","ns","filter","apply","EventListener","one","ori","addEvent","concat","removeEvent","eventX","targetTouches","eventY","moveup","moveCB","upCB","downEv","moveHdl","upHdl","dir","evX","evY","prevent","preventDefault","userSelect","addEventListener","abs","removeEventListener","passive","$attrs","templateWrapper","vueCache","Event","currentTarget","$el","isElement","$parent","Object","assign","defaultOptions","viewCache","dfclsCache","q","http","loc","extend","extendDeep","constructor","merge","mergeDeep","_mergeDeep","cloneDeep","eval","str","opt","keys","Function","map","array","unitSize","size","idsAdd","idsRemove","idsAny","idsAll","classAdd","className","classRemove","classAny","$strTrim","urlEncode","JSON","stringify","urlDecode","decodeURIComponent","urlFormat","urlParam","A","substring","urlServer","src","startsWith","endsWith","urlComplete","download","wifiConfirm","dtask","plus","downloader","createDownload","nativeUI","showWaiting","task","status","state","toast","runtime","openFile","filename","alert","closeWaiting","start","link","href","downloadTarget","click","networkinfo","getCurrentType","index","call","buttons","vm","isView","isEntity","ownerView","dialog","isDialog","closePopup","dispatchEvent","scrollIntoView","closest","scrollTo","previewVideo","previewImage","imgs","options","slotsChildren","slots","name","getChildren","children","hasChild","print","ownerDocument","each","outerHTML","getAttribute","input2text","isFormWidget","formText","defaultValue","isChecked","checked","$options","open","write","head","queryEncode","data","config","FormData","contentType","Qs","arrayFormat","ajax","cmd","Promise","reject","ctx","context","lock","ajaxLock","pick","responseType","exec","post","then","res","success","complete","hide","disposition","headers","fileName","decodeURI","blob","Blob","URL","createObjectURL","console","resolve","catch","response","cmdHooks","Submit","submit","rsv","$nextTick","validate","getFormList","range","valid","group","getPostData","Ajax","Dialog","title","cmdDialog","Alert","Confirm","Tip","Menu","Loading","isCmd","position","timeout","cover","directiveHooks","colspan","gridColumn","rowspan","gridRow","defaults","interceptors","use","callback","url","_dfopt","includes","event","catchReject","reason","bindCache","props","beforeCreate","preloadWrapper","orientUid","created","propsEntity","template","preload","dftopt","ownproperty","getDefaultOption","class","dftoptEntity","dftX","x_default","pubParentName","omit","providePubParent","pub","watchs","Proxy","runtimeX","obj","prop","$props","set","newval","$watch","events","methods","x_watch","feat","commands","ncm","trigger","ev","runType","on","wr","closetWrapper","wg","fireEvent","getOn","emitsOptions","$emit","wrapper","once","contains","getElementById","snapElem","cmdTip","hoverDrop","hasBubble","commander","bind","vnode","getKey","key","slots_children","$slots","html_icon","cls","onclick","font","html_template","toRaw","path","except","sfx","templateDir","mod","default","html_preload","preloadDir","slot","html_slots","html_self","tagName","mergeProps","html_attrs","html_props","computed","dfish","provideView","pubParent","parentElement","html_class","minWidth","minHeight","maxWidth","maxHeight","html_style","mapKeys","omitBy","tip","html_binds","render","loaded","getSrc","request","showLoading","hidden","_createBlock","mixins","WidgetAbs","inject","onScroll","wScrollPercentX","scrollXPosition","wScrollSizeX","$refs","wScrollBarThumbX","transform","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","onMousedown","dnEv","dnX","dnY","scrLeft","scrTop","mvEv","wScrollOverflow","classList","upEv","onScrollbarMousedown","WidgetBase","emits","ovf","wScrollCont","ease","scrollToY","scrollToX","html_scroll_slots","scrollX","scrollY","ref","onscroll","onmouseenter","scroll_observe","html_scroll_cont_style","onmousedown","wrap","flow","cont","xSize","ySize","xPercent","yPercent","html_scroll_class","sx","sy","mounted","scrollView","setTimeout","querySelector","ResizeObserver","observe","isVertical","html_align_class","align","vertical","valign","Scroll","AlignParent","provide","provideLayout","gap","Horizontal","hover","onerror","dataUrl","svg","imgWidth","imgHeight","Vertical","isCurrent","inCurrent","square","canPlay","onmouseleave","cueYes","_createVNode","_hoisted_1","_hoisted_2","onClick","_renderSlot","TemplateAlert","cueNo","_ctx","templateHooks","TemplateConfirm","TemplateTip","SrcParent","pops","popCommanders","reload","find","querySelectorAll","fv","val","groupFormVal","formVal","fAll","dom","not","indeterminate","selectedIndex","getValidError","wid","_err_ns","warn","showErrorTip","isModified","original","saveModified","resetForm","empty","reset","local","removeDialog","findIndex","getDialogOptions","html_pops","Pop","focusable","viewBox","cx","cy","opacity","attributeName","values","begin","dur","repeatCount","_hoisted_3","_hoisted_4","_hoisted_5","rotate","current","rot","swiper","autoHide","$data","arrow","duration","item","format","nd","xd","focusYear","focusMonth","focusDate","focusHour","focusMinute","focusSecond","startYear","endYear","monthDays","minTime","maxTime","watch","yearList","minYear","maxYear","clickCancel","clickOK","from","monthList","dateList","hourList","minuteList","secondList","hasYear","hasMonth","hasDate","hasHour","hasMinute","hasSecond","minMonth","maxMonth","minDate","maxDate","minHour","maxHour","minMinute","maxMinute","minSecond","maxSecond","ViewAbs","provideBoxParent","provideRangeParent","TemplatePreviewMedia","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","altKey","O","F","_dialogSnapHooks","_dialogSnap","View","axis","animateClass","snapClass","keepHover","hoverTimer","hoverMove","closed","animating","isDeactivated","_pos","snapStyle","activated","deactivated","getOptions","_dft_pos","ceil","getLocalElem","getCommander","snapTargetElem","snapCls","fullScreen","_fitpos","indent","defaultSnapPosition","prong","closeRelease","listenHide","setListenHide","hoverOver","clearTimeout","dropHover","evs","independent","stopPropagation","hvOver","hvMove","setMaxHeight","Teleport","addClass","unmounted","movable","appendTo","mousedown","cue","html_prop_class","inst","face","defaultSnapTargetElem","dropper","locked","showDrop","mouses","drop","onmouseup","disabled","removeClass","isMore","clickClose","clickDrop","html_drop","icon","focusIcon","Img","dropIcon","closable","isCombo","dropClass","dropPosition","Button","parentMenu","getRoot","linkTarget","tar","setFocus","closeSub","subMenu","root","rootCommander","bbr","mousewheel","wheelDelta","html_buttons","MenuButton","onwheel","table","bd","slotHooks","tbody","hiddens","colgroup","columns","TableAbs","fixed","fixedWidth","fixedHeight","init","leftTable","observeWidth","fixedCells","thead","TableFixedLeft","rightTable","scrollTable","scrollHover","fixedLeft","fixedRight","TableFixedRight","isCurrentChild","PubParent","provideLeafLevel","provideParentLeaf","provideInBody","isExpanded","observeTableWidth","html_tbody","cg","rows","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","THead","immediate","hd","st","setScrollTable","inBody","ontouchstart","provideParentExpanded","getInitLoaded","folder","expanded","isFolder","isDisplay","toggle","exp","ri","rowIndex","rs","ci","td","dfishColIndex","col","TD","clickSort","order","sortable","cols","dc","defaultColspan","lazy","focusIndex","clickArrow","clickIndicator","indicatorDots","MutationObserver","childList","pages","TabButton","SwiperItem","ButtonBar","Swiper","labelVertical","_valid_err","trim","validHooks","vv","formErr","mode","getLabelText","code","_validate_dft_value","mv","modelValue","isFocus","hasBorder","isPlural","warnClass","modifiedValue","placeholder_type","input_value","rules","isNormal","readonly","label","errorTipTarget","showTip","focus","oninput","onblur","isFocusTarget","relatedTarget","dv","clone","html_label","Label","html_input","input_tag","input_type","input_name","isReadonly","isDisabled","placeholder","input_placeholder","onfocus","input_prop","html_input_hidden","html_button","html_form","html_main","fh","inputHeight","input_title","main_prop","autoPlaceholder","html_on","fw","inputWidth","FormBase","modifiedChecked","defaultChecked","boxProxy","isGrid","elements","check","relate","onchange","partialSubmit","input_icon","clickBoxProxy","html_target","CheckBox","checkstate","isPartial","getRelates","c0","c1","c2","all","inTree","_triple","_tripleAll","ico","expandedIcon","collapsedIcon","box","html_cont","display","tree","isJumpFocus","limit","buttonCount","currentPage","clickItem","onJumpClick","jumpInput","ic","ds","html_face_button","html_face_simple","html_face_normal","sumPage","sp","splice","cp","min","noFirstLast","labelFirst","iconFirst","labelPrev","iconPrev","labelNext","iconNext","labelLast","iconLast","onkeydown","keyCode","html_face_mini","minorElem","toNext","toggleClass","dragstart","prevElem","nextElem","vert","downX","downY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pos","help","nextUntil","playing","getMimeType","filePath","suffix","mimeType","poster","onplay","onpause","controls","vd","paused","play","pause","percent","dt","ed","onlyTime","showTime","headPopYear","headPopMonth","formatter","nv","ov","ny","oy","nc","weekday","clickStep","clickPopYear","clickPopYearItem","clickPopYearStep","mousewheelPopYear","clickPopMonth","clickPopMonthItem","clickNow","clickConfirm","date","hasTime","clickShowTime","fm","clickHour","clickMinute","clickSecond","dateWeek","isTimeDisabled","method","beginDate","endDate","headYear","headMonth","bodyList","bodyListYear","bodyListMonth","bodyListDate","pad","cell","popYear","onClose","popMonth","$event","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","len","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","margin","setup","self","getCurrentInstance","startY","endY","minY","maxY","optY","optH","roll","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","sc","xv","update","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","transEnd","ret","onMounted","_mergeProps","Text","CheckBoxGroup","checkedValue","uncheckedValue","checkedText","uncheckedText","mimes","suffixHooks","xls","ppt","htm","zip","fla","fon","iso","vid","aud","img","getSuffix","fileByte","unit","fileTypeHooks","video","audio","image","list","emiting","getAccept","fileTypes","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","xfs","maxFileSize","nfs","minFileSize","xfs_names","nfs_names","nextUpload","upload","uploadSrc","fd","source","CancelToken","onUploadProgress","progress","total","cancelToken","token","message","downloadSrc","chooseFile","html_list","itemWidth","html_input_form","multiple","accept","html_input_button","button","html_input_list","canUpload","uploadbbr","dataURL","provideUpload","createImageThumbnail","FileReader","onload","result","readAsDataURL","createVideoThumbnail","getContext","videoWidth","videoHeight","drawImage","toDataURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","thumbnailWidth","thumbnailHeight","showFileName","FileUpload","MediaUploadItem","MediaUpload","isMul","cv","isCnc","cancelable","step","doFormat","separator","rightward","activeElement","isBegin","stepBy","forms","endValue","beginValue","tip_uid","btns","decimal","currentDate","getPeriod","calendarCallback","noButton","Calendar","input_text","dropWidth","DropBox","picker","clickPicker","clickClear","v1","v2","showSuggest","sug_timer","sensor_text","sensor_width","addVal","unionBy","clear","suggest","input","clickDropper","html_options","forbid","html_var","sensor","initOptions","sugger","_KC","imeMode","paste_rng","currOpt","store","strict","addStore","inp","rng_text","setAttribute","eq","addBack","innerText","closePop","fixStyle","extractContents","nodeValue","param","removeAttribute","onkeyup","ondblclick","contentEditable","smallLeft","handler","smallWidth","bigSrc","big","smallSrc","small","onDragstart","init_text","isSuccess","isError","setThumbLeft","timer","setInterval","clearInterval","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","main","ondrop","components","DocView","DialogMove","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","Picker","Hidden","Textarea","RadioGroup","Radio","TripleBox","Switch","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","directives","install","Vue","component","directive","binding","arg"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/util/browser.js","../../../src/util/uid.js","../../../src/util/loc/zh-CN.js","../../../src/util/str.js","../../../src/util/number.js","../../../src/util/date.js","../../../src/util/range.js","../../../src/util/elem.js","../../../src/util/css.js","../../../src/util/snap.js","../../../src/util/json.js","../../../src/util/event.js","../../../src/dfish.js","../../../src/widgets/WidgetAbs.vue","../../../src/widgets/SrcParent.vue","../../../src/widgets/Pop.vue","../../../src/widgets/Pop.vue?vue&type=template&id=784f3f08&lang.js","../../../src/widgets/WidgetBase.vue","../../../src/widgets/Scroll.vue","../../../src/widgets/AlignParent.vue","../../../src/widgets/Horizontal.vue","../../../src/widgets/Vertical.vue","../../../src/widgets/Img.vue","../../../src/template/TemplateAlert.vue","../../../src/template/TemplateAlert.vue?vue&type=template&id=a3a2deb4&lang.js","../../../src/template/TemplateConfirm.vue","../../../src/template/TemplateConfirm.vue?vue&type=template&id=68d2b78a&lang.js","../../../src/template/TemplateTip.vue","../../../src/template/TemplateTip.vue?vue&type=template&id=f92fd636&lang.js","../../../src/widgets/ViewAbs.vue","../../../src/assets/SVGIcon.vue","../../../src/assets/SVGIcon.vue?vue&type=template&id=295361ea&lang.js","../../../src/template/TemplatePreviewMedia.vue","../../../src/template/TemplatePreviewMedia.vue?vue&type=template&id=ee9dc2bc&lang.js","../../../src/template/TemplateDateSheet.vue","../../../src/template/TemplateDateSheet.vue?vue&type=template&id=74a0f61b&lang.js","../../../src/widgets/DocView.vue","../../../src/widgets/View.vue","../../../src/widgets/Dialog.vue","../../../src/widgets/DialogMove.vue","../../../src/widgets/DialogMove.vue?vue&type=template&id=9f3d285c&lang.js","../../../src/widgets/Alert.vue","../../../src/widgets/Confirm.vue","../../../src/widgets/Tip.vue","../../../src/widgets/Button.vue","../../../src/widgets/MenuButton.vue","../../../src/widgets/Menu.vue","../../../src/widgets/Loading.vue","../../../src/widgets/TableAbs.vue","../../../src/widgets/TableFixedLeft.vue","../../../src/widgets/TableFixedRight.vue","../../../src/widgets/Table.vue","../../../src/widgets/TableColumns.vue","../../../src/widgets/TableColumn.vue","../../../src/widgets/PubParent.vue","../../../src/widgets/TableTHead.vue","../../../src/widgets/TableTBody.vue","../../../src/widgets/TableTR.vue","../../../src/widgets/TableTD.vue","../../../src/widgets/TableTH.vue","../../../src/widgets/Grid.vue","../../../src/widgets/SwiperItem.vue","../../../src/widgets/Swiper.vue","../../../src/widgets/ButtonBar.vue","../../../src/widgets/TabButton.vue","../../../src/widgets/Tabs.vue","../../../src/widgets/Tab.vue","../../../src/widgets/Album.vue","../../../src/widgets/SubmitButton.vue","../../../src/widgets/Html.vue","../../../src/widgets/Tree.vue","../../../src/widgets/Label.vue","../../../src/widgets/FormBase.vue","../../../src/widgets/CheckBox.vue","../../../src/widgets/TripleBox.vue","../../../src/widgets/Leaf.vue","../../../src/widgets/PageBar.vue","../../../src/widgets/Split.vue","../../../src/widgets/Toggle.vue","../../../src/widgets/Video.vue","../../../src/widgets/Progress.vue","../../../src/widgets/Calendar.vue","../../../src/widgets/Calendar.vue?vue&type=template&id=a37780d2&lang.js","../../../src/widgets/Timeline.vue","../../../src/widgets/TimelineItem.vue","../../../src/widgets/Picker.vue","../../../src/widgets/Picker.vue?vue&type=template&id=4b866127&lang.js","../../../src/widgets/Hidden.vue","../../../src/widgets/Text.vue","../../../src/widgets/Textarea.vue","../../../src/widgets/CheckBoxGroup.vue","../../../src/widgets/RadioGroup.vue","../../../src/widgets/Radio.vue","../../../src/widgets/Switch.vue","../../../src/util/mime.js","../../../src/widgets/FileUpload.vue","../../../src/widgets/MediaUploadItem.vue","../../../src/widgets/MediaUploadItem.vue?vue&type=template&id=fbfb4322&lang.js","../../../src/widgets/MediaUpload.vue","../../../src/widgets/ImageUpload.vue","../../../src/widgets/Option.vue","../../../src/widgets/Option.vue?vue&type=template&id=1bc8d4e4&lang.js","../../../src/widgets/Spinner.vue","../../../src/widgets/DatePicker.vue","../../../src/widgets/DropBox.vue","../../../src/widgets/PickBox.vue","../../../src/widgets/Password.vue","../../../src/widgets/Range.vue","../../../src/widgets/ComboBox.vue","../../../src/widgets/LinkBox.vue","../../../src/template/TemplateJigsaw.vue","../../../src/template/TemplateJigsaw.vue?vue&type=template&id=4ce89cf2&lang.js","../../../src/widgets/Jigsaw.vue","../../../src/widgets/Form.vue","../../../src/widgets/index.js"],"sourcesContent":["let u = navigator.userAgent.toLowerCase()\r\nlet chrome = u.match(/\\bchrome\\/(\\d+)/)\r\n\r\nconst r = {\r\n agent: u,\r\n chrome: chrome && parseFloat(chrome[1]),\r\n firefox: u.indexOf('firefox') > 0,\r\n safari: !chrome && u.indexOf('safari') > 0\r\n}\r\n\r\nif (u.match(/\\bmobile\\b/)) {\r\n r.mobile = true\r\n r.app = location.protocol === 'file:';\r\n let wechat = u.match(/(MicroMessenger)\\/([\\d\\.]+)/i);\r\n if (wechat) r.wechat = {\r\n version: wechat[2].replace(/_/g, '.')\r\n };\r\n let android = u.match(/(Android);?[\\s\\/]+([\\d.]+)?/i);\r\n if (android) {\r\n r.android = true;\r\n r.version = android[2];\r\n r.isBadAndroid = !(/Chrome\\/\\d/.test(window.navigator.appVersion))\r\n }\r\n let iphone = u.match(/(iPhone\\sOS)\\s([\\d_]+)/i)\r\n if (iphone) {\r\n r.ios = r.iphone = true;\r\n r.version = iphone[2].replace(/_/g, '.')\r\n } else {\r\n let ipad = u.match(/(iPad).*OS\\s([\\d_]+)/i)\r\n if (ipad) {\r\n r.ios = r.ipad = true;\r\n r.version = ipad[2].replace(/_/g, '.')\r\n }\r\n }\r\n}\r\n\r\nexport default r\n","let _uidCnt = 0\r\nconst _uidKey = 'uid'\r\nconst _guid = () => (_uidCnt++).toString(36) + ':'\r\n\r\nexport default function(o) {\r\n if (o) {\r\n return o[_uidKey] || (o[_uidKey] = _guid())\r\n }\r\n return _guid()\r\n}","export default {\r\n yes: '是',\r\n no: '否',\r\n none: '无',\r\n to: '至',\r\n jump: '转到',\r\n confirm: '确定',\r\n search: '搜索',\r\n query: '查询',\r\n choose: '选择',\r\n save: '保存',\r\n remove: '删除',\r\n cancel: '取消',\r\n create: '新建',\r\n add: '添加',\r\n edit: '编辑',\r\n finish: '完成',\r\n refresh: '刷新',\r\n operfail: '操作失败',\r\n opertip: '操作提示',\r\n nodata: '暂无数据',\r\n more: '更多',\r\n field: '字段',\r\n close: '关闭',\r\n restore: '还原',\r\n rotate_left: '向左旋转',\r\n rotate_right: '向右旋转',\r\n dialog_max: '最大化',\r\n dialog_min: '最小化',\r\n\r\n detect_zoom: '温馨提示: 你的浏览器可能处于缩放({0}%)状态,这可能影响页面浏览效果,请尝试Ctrl+0重置,并刷新',\r\n no_tip_anymore: '不再提示',\r\n loading: '正在加载',\r\n wait: '请稍候..',\r\n submiting: '数据提交中,请稍候..',\r\n uploading: '正在上传,请稍侯..',\r\n click_preview: '点击预览',\r\n toomuch_wait: '次数过多,请稍候再试',\r\n toomuch_wait_countdown: '次数过多,请稍候再试(<em>{0}</em>)',\r\n preview_orginal_image: '查看原图',\r\n auth_success: '验证成功',\r\n auth_fail: '验证失败',\r\n choose_image: '选择图片',\r\n \r\n\r\n tree_movefail1: '无法移动:目标文件夹和源文件夹相同',\r\n tree_movefail2: '无法移动:目标文件夹是源文件夹的子文件夹',\r\n\r\n internet_error: '[{0} error] {1}<br>网络连接失败,请稍候再试',\r\n server_error: '[{0} error] {1}<br>系统异常,请联系管理员',\r\n preload_error: '获取预装载模板 \"{0}\" 失败',\r\n\r\n page: '页',\r\n page_text: {\r\n first: '首页',\r\n last: '尾页',\r\n next: '下页',\r\n prev: '上页'\r\n },\r\n\r\n print_preview: '打印预览',\r\n\r\n placeholder_input: '请输入{0}',\r\n placeholder_select: '请选择{0}',\r\n\r\n pulldown_refresh: '下拉刷新',\r\n release_refresh: '释放刷新',\r\n pullup_refresh: '上拉显示更多',\r\n pullup_nomore: '没有更多了',\r\n\r\n download_start: '开始下载..',\r\n download_complete: '下载完成',\r\n download_cannotopen: '无法打开此文件',\r\n download_fail: '下载失败',\r\n\r\n tab_close: '关闭标签',\r\n tab_close_others: '关闭其他标签',\r\n tab_close_all: '关闭全部标签',\r\n\r\n sort_asc: '升序',\r\n sort_desc: '降序',\r\n sort_cancel: '取消排序',\r\n column_choose: '选择列',\r\n\r\n connection_not_wifi: '您当前处于非wifi网络环境下,继续使用可能产生流量,确定继续吗?',\r\n\r\n debug: {\r\n sorry: '很抱歉,系统发生了错误',\r\n view_more: '点击“确定”,可在新窗口查看详细错误信息',\r\n no_command: '视图中没有定义此命令: {0}\\nview path: {1}',\r\n no_combo: '选项列表(或树)没有设置combo参数\\nname: {0}',\r\n error_template_type: '{0}\\n请把此模板类型改为 \"{1}\"',\r\n error_type: 'type错误或丢失\\n{0}',\r\n tmpl_method_undefined: '\"{0}\" 方法不存在'\r\n },\r\n\r\n form: {\r\n required: '{0}不能为空',\r\n onlyone: '{0的}只能选择一条记录',\r\n maxLength: '{0的}字符长度超出了{1}个字节',\r\n reach_maxLength: '已到达可输入的最大字符长度',\r\n over_maxLength: '字符长度超出了{0}个字节',\r\n minLength: '{0}不能少于{1}个字节',\r\n maxValue: '{0}最大值为{1}',\r\n minValue: '{0}最小值为{1}',\r\n maxSize: '{0}最多选择{1}项',\r\n minSize: '{0}最少选择{1}项',\r\n pattern: '{0}格式不符合规范,或包含非法字符',\r\n password_weak: '弱',\r\n password_middle: '中',\r\n password_strong: '强',\r\n number_invalid: '{0}不是一个有效数字',\r\n number_integer: '{0}请填入一个整数',\r\n number_decimal_digit: '{0的}小数位不能超过{1}位',\r\n step_max_value: '已到达最大值',\r\n step_min_value: '已到达最小值',\r\n time_exceed: '{0的}年份超出有效范围。有效年份:{1}年 至 {2}年',\r\n time_format: '{0的}时间格式错误。正确格式范例:{1}',\r\n period_invalid: '{0的}起始时间应早于结束时间',\r\n beforeNow: '{0}不能大于当前时间',\r\n afterNow: '{0}不能小于当前时间',\r\n compare: '{0}需要满足条件:{1} {2} {3}',\r\n invalid_option: '存在无效选项',\r\n need_valid_option: '请输入一个有效选项',\r\n choose_atleastone: '请至少选择一项',\r\n complete_required: '请完成必填项',\r\n jigsaw_drag_right: '向右拖动滑块填充拼图',\r\n jigsaw_required: '请完成滑块验证',\r\n jigsaw_errorimg: '图片数据异常',\r\n upload_loading: '正在上传,请稍候..',\r\n upload_invalid_file: '无效文件',\r\n no_files: '<没有文件>',\r\n upload_error: '(上传失败)',\r\n upload_limit: '上传数量超过上限(最多{0}个)',\r\n upload_invalid_file_type: '无效的文件类型:<br>{0}',\r\n upload_invalid_data: '错误的文件数据格式:<br>{0}',\r\n upload_no_data: '缺少文件数据',\r\n upload_maxfilesize: '上传失败: {0}<br><br>文件大小不能超过{1}',\r\n upload_minfilesize: '上传失败: {0}<br><br>文件大小不能小于{1}'\r\n },\r\n\r\n year: '年',\r\n month: '月',\r\n day: '日',\r\n sky: '天',\r\n hour: '时',\r\n minute: '分',\r\n second: '秒',\r\n\r\n calendar: {\r\n now: '现在',\r\n today: '今天',\r\n weeknow: '本周',\r\n monthnow: '本月',\r\n yearnow: '本年',\r\n day_title: ['日', '一', '二', '三', '四', '五', '六'],\r\n day_title_1: [ '一', '二', '三', '四', '五', '六','日'],\r\n y: '{0}<span>年</span>',\r\n monthname: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\r\n backdate: '返回日期',\r\n picktime: '选择时间',\r\n H: '时',\r\n m: '分',\r\n s: '秒'\r\n },\r\n\r\n error: '错误',\r\n\r\n ps(a, ...args) {\r\n if (a) {\r\n a = a.replace(/\\{(\\d+)([^\\d]+)?\\}/g, function($0, $1, $2) {\r\n let d = args[parseFloat($1)]\r\n return d == null || d === '' ? '' : $2 ? d + $2 : d\r\n })\r\n }\r\n return a\r\n },\r\n \r\n end: '结束'\r\n\r\n}\r\n","import lodash from 'lodash'\r\n\r\nconst strTrim = (a) => String(a).replace(/^\\s+|\\s+$/g, '')\r\n\r\n// @a -> str, b -> no html entities?\r\nconst strQuot = (a, b) => {\r\n\ta = String(a)\r\n\tb && (a = a.replace(/<[^>]+>/g, ''))\r\n\treturn a.replace(/\\\"/g, '&quot;')\r\n}\r\n\r\n// 在a中取以b开始的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strFrom = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(d + b.length)\r\n}\r\n\r\n// 在a中取以b结束的字符串(不包括b) /@ c -> last indexOf ?\r\nconst strTo = (a, b, c) => {\r\n let d = c ? a.lastIndexOf(b) : a.indexOf(b)\r\n return d < 0 ? '' : a.substr(0, d)\r\n}\r\n\r\n// 取字符串字节数(一个汉字算双字节) /@ s -> str, b -> 一个汉字算几个字节?默认2个\r\nconst strLen = (s, b) => {\r\n if (!s) return 0;\r\n if (!b) b = $.x.cnBytes || 2;\r\n let d = 0\r\n for (let i = 0, l = s.length; i < l; i++)\r\n d += s.charCodeAt(i) > 128 ? b : 1;\r\n return d;\r\n}\r\n\r\n// 数字前加0 /@ a -> num, b -> 补成多少长度的字符串?\r\nconst strPad = function(a, b, c) {\r\n\tc = c == null ? '0' : (c + '');\r\n\tif (!b)\r\n\t\treturn a < 10 ? c + a : a;\r\n\ta = a + '';\r\n\twhile (a.length < b)\r\n\t\ta = c + a;\r\n\treturn a\r\n}\r\n\r\nconst strFormat = (a, b, c, d) => {\r\n a != null && (a += '');\r\n if (!a || !b) return a;\r\n if (Array.isArray(b)) {\r\n return a.replace(/\\$\\{?(\\d+)\\}?/g, function($0, $1) {\r\n return b[$1] == null ? (d ? $0 : '') : c ? encodeURIComponent(b[$1]) : b[$1]\r\n });\r\n } else {\r\n return a.replace(/\\$\\{?([a-z_][\\w.]*)\\}?/gi, function($0, $1) {\r\n let e = lodash.get(b, $1)\r\n return e == null ? (d ? $0 : '') : c ? encodeURIComponent(e) : e\r\n });\r\n }\r\n}\r\n\r\nconst strEscape = function(s) {\r\n\treturn s != null ? (s + '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') : '';\r\n}\r\n\r\n// 在 a 中查找 b 并给 b 加上标签样式 c /@ a -> str, b -> key, c -> matchLength?, d -> key cls?\r\nconst strHighlight = function(a, b, c, d) {\r\n\treturn (a = a + '').replace(RegExp('(<[\\\\/!]?\\\\w+(?::\\\\w+)?\\\\s*(?:[-\\\\w]+(?:=(\\'|\")?.*?\\\\2)?\\\\s*)*>)|(' + strSplitword(b, c, true).join('|') + ')', 'ig'), function($0, $1, $2, $3) {\r\n\t \treturn $3 === undefined ? $1 : '<em class=\"' + (d || 'f-keyword') + '\">' + $3 + '</em>'\r\n\t})\r\n}\r\n\r\n// 字符转为regexp支持的模式\r\nconst _s_regexp = function(a) {\r\n\treturn a.replace(/([-.*+?^${}()|[\\]\\/\\\\])/g, '\\\\\\$1')\r\n}\r\n\r\n// @a -> key, b -> matchLength, c -> regexp?\r\nconst strSplitword = function(a, b, c) {\r\n\tlet e = [c ? _s_regexp(a) : a]\r\n let m = a.length\r\n\tif (b > 0 && m > b) {\r\n\t\tfor (let j = m - 1; j >= b; j --) {\r\n\t\t\tfor (let i = 0, l = m - j, f; i <= l; i ++) {\r\n\t\t\t\tf = a.substr(i, j)\r\n\t\t\t\te.push(c ? _s_regexp(f) : f)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn e\r\n}\r\n\r\n\r\nexport {strTrim, strEscape, strQuot, strFrom, strTo, strPad, strLen, strFormat, strHighlight}\r\n","import {strFrom, strTo} from './str.js'\r\n\r\nconst number = (a) => {\r\n var r = typeof a === 'string' ? parseFloat(a.replace(/[^\\d\\.-]|\\b-/g, '')) : +a\r\n return isNaN(r) ? 0 : r\r\n}\r\n// 判断是否数字\r\nconst isNumber = (a) => a != null && !isNaN(a)\r\n\r\n// 如果 a 的大小在 b 和 c 之间,则返回 a。否则返回 b 或 c\nconst numRange = function(a, b, c) {\n\treturn a == null ? ((b || b === 0) ? b : (c || c === 0) ? c : a) : ((b || b === 0) && a < b) ? b : ((c || c === 0) && a > c) ? c : a\n}\n// js小数相加运算出现多位小数的解决办法\nconst numAdd = function(...args) {\r\n let m = 0\r\n let r = 0\r\n args.forEach(a => {\r\n m = Math.max(m, strFrom(a + '', '.').length)\r\n r += a\r\n })\r\n m = Math.pow(10, m)\n\treturn Math.round(r * m) / m\n}\n// 给数字加上分隔符 /@a -> str, b -> length?, c -> separator?, d -> rightward?\nconst numFormat = function(a, b, c, d) {\n\ta = String(a);\n\tb == null && (b = 3);\n\tc == null && (c = ',');\n\tlet e = a.replace(/[^.\\d]/g, '').split('.'), s = e[0], l = s.length, i = d ? 0 : l, t = '', n = a.charAt(0) === '-' ? '-' : '';\n\tif (d) {\n\t\tdo {\n\t\t\ti += b;\n\t\t\tt += (i < l ? s.substr(i - b, b) + c : s.substr(i - b));\n\t\t} while (i < l);\n\t} else {\n\t\tdo {\n\t\t\ti -= b;\n\t\t\tt = (i > 0 ? c + s.substr(i, b) : s.substr(0, b + i)) + t;\n\t\t} while (i > 0);\n\t}\n\treturn n + t + (e.length > 1 ? '.' + strFrom(a, '.').replace(RegExp('[.' + c + ']', 'g'), '') : '');\n}\n// 调整小数位数\nconst numDecimal = function(a, b) {\n\tif (!b) {\n\t\treturn a;\n\t} else if (b < 0) {\n\t\treturn a;\n\t} else {\n\t\tvar f = strFrom('' + a, '.');\n\t\treturn f ? strTo('' + a, '.') + '.' + f.slice(0, b) : a\n\t}\n}\r\n\r\nexport {number, isNumber, numRange, numAdd, numFormat, numDecimal}","import {\r\n number\r\n} from './number.js'\r\nimport {\r\n strPad\r\n} from './str.js'\r\n\r\n// 一天的毫秒数\r\nconst _date_D = 86400000\r\n\r\n// 标准格式化字符串\r\nconst _date_sf = 'yyyy-MM-dd HH:mm:ss'\r\n\r\n// 格式化日期\r\nconst dateFormat = function(a, b) {\r\n if (typeof a === 'string')\r\n a = dateParse(a, b);\r\n let o = {\r\n y: a.getFullYear(),\r\n m: a.getMonth(),\r\n d: a.getDate(),\r\n h: a.getHours(),\r\n i: a.getMinutes(),\r\n s: a.getSeconds(),\r\n w: (a.getDay() || 7)\r\n }\r\n return (b || _date_sf).replace('yyyy', o.y).replace('MM', strPad(o.m + 1)).replace('dd', strPad(o.d)).replace('HH',\r\n strPad(o.h))\r\n .replace('mm', strPad(o.i)).replace('ss', strPad(o.s))\r\n .replace('M', o.m + 1).replace('d', o.d).replace('H', o.h).replace('m', o.i).replace('s', o.s)\r\n}\r\n\r\n// 字串型转为日期型 /@a -> str, b -> format?\r\nconst dateParse = function(a, b) {\r\n // if (/^\\d{4}-\\d{2}-\\d{2}(?: \\d{2}:\\d{2}(?::\\d{2})?)?$/.test(a))\r\n // return new Date(a.replace(/-/g, '/'));\r\n a = ('' + a).replace(/\\b(\\d)\\b/g, '0\\$1');\r\n b = (b || _date_sf).replace(/\\b([MdHms])\\b/g, '\\$1\\$1');\r\n var c, y = (c = b.indexOf('yyyy')) > -1 ? (number(a.substr(c, 4)) || (new Date().getFullYear())) : (new Date().getFullYear()),\r\n M = (c = b.indexOf('MM')) > -1 ? Math.max(number(a.substr(c, 2)) - 1, 0) : 0,\r\n d = (c = b.indexOf('dd')) > -1 ? number(a.substr(c, 2)) || 1 : 1,\r\n H = (c = b.indexOf('HH')) > -1 ? number(a.substr(c, 2)) : 0,\r\n m = (c = b.indexOf('mm')) > -1 ? number(a.substr(c, 2)) : 0,\r\n s = (c = b.indexOf('ss')) > -1 ? number(a.substr(c, 2)) : 0;\r\n return new Date(y, M, d, H, m, s)\r\n}\r\n\r\n// 日期增减 /@ a -> date, b -> type enum (y/M/d/H/m/s), c -> value\r\nconst dateAdd = function(a, b, c) {\r\n c = number(c)\r\n let e = new Date(a.getTime())\r\n if (b === 'y')\r\n e.setFullYear(a.getFullYear() + c)\r\n else if (b === 'M')\r\n e.setMonth(e.getMonth() + c)\r\n else if (b === 'd')\r\n e.setDate(e.getDate() + c)\r\n else if (b === 'H')\r\n e.setHours(e.getHours() + c)\r\n else if (b === 'm')\r\n e.setMinutes(e.getMinutes() + c)\r\n else if (b === 's')\r\n e.setSeconds(e.getSeconds() + c)\r\n if ((b === 'y' || b === 'M') && e.getDate() != a.getDate())\r\n e = new Date(e.getTime() - e.getDate() * _date_D)\r\n return e\r\n}\r\n\r\n// 取得一个日期对象的week相关信息。返回一个包含四个元素的数组,【 年份,第几周,周一的日期,周日的日期 】\r\n// @a -> date, b -> 周的重心(星期几), c -> 周的第一天(星期几)\r\nconst dateWeek = function(a, b = 1, c = 1) {\r\n let w = a.getDay() || 7\r\n let d = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + b)\r\n let e = Math.ceil((d - new Date(d.getFullYear(), 0, 0)) / _date_D)\r\n let f = new Date(a.getFullYear(), a.getMonth(), a.getDate() - w + c)\r\n return [d.getFullYear(), Math.floor((e + 6) / 7), f, new Date(f.getTime() + (7 * _date_D) - 1)]\r\n}\r\n\r\n// 判断一个字符串格式的日期是否正确 /@ a -> date string, b -> date format string\r\nconst dateValid = function(a, b) {\r\n a = a.replace(/\\b(\\d)\\b/g, '0$1')\r\n let d = dateParse(a, b),\r\n y = d.getFullYear()\r\n return y >= 1000 && y <= 9999 && a == dateFormat(d, b)\r\n}\r\n\r\nconst dateDiff = function(a, b = new Date, c) {\r\n if (typeof a === 'string') a = dateParse(a)\r\n if (typeof b === 'string') b = dateParse(b)\r\n if (a >= b) return 0\r\n switch (c) {\r\n case 'y':\r\n var e = b.getFullYear() - a.getFullYear(),\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e\r\n case 'M':\r\n var y = _dateDiff(a, b, 'y'),\r\n z = dateAdd(a, 'y', y)\r\n e = z.getFullYear() < b.getFullYear() ? b.getMonth() + 11 - z.getMonth() : b.getMonth() - z.getMonth()\r\n f = dateAdd(a, c, e)\r\n if (f > b) e--\r\n return e + y * 12\r\n case 'H':\r\n return Math.floor((b - a) / (60 * 60 * 1000))\r\n case 'm':\r\n return Math.floor((b - a) / (60 * 1000))\r\n case 's':\r\n return Math.floor((b - a) / 1000)\r\n default: // 'd' 日期类型为默认\r\n return Math.floor((b - a) / _date_D)\r\n }\r\n}\r\n\r\nconst dateSheet = function(...args) {\r\n return $.docView.dateSheet(...args)\r\n}\r\n\r\nexport {\r\n dateFormat,\r\n dateParse,\r\n dateAdd,\r\n dateValid,\r\n dateDiff,\r\n dateSheet,\r\n}\n","if (window.Range && !Range.prototype.movePoint) {\r\n if (Range.prototype.__defineGetter__) {\r\n Range.prototype.__defineGetter__('text', function() {\r\n return this.toString()\r\n });\r\n Range.prototype.__defineSetter__('text', function(a) {\r\n this.deleteContents()\r\n this.insertNode(document.createTextNode(a))\r\n });\r\n }\r\n Range.prototype.movePoint = function(a, b) {\r\n var c = this.startContainer.firstChild || this.startContainer,\r\n d, i = a,\r\n l = 0,\r\n b = b == null ? a : b;\r\n do {\r\n this.selectNodeContents(c);\r\n l = this.toString().length;\r\n i -= l;\r\n } while (i > 0 && (c = c.nextSibling));\r\n c = d = this.startContainer;\r\n i += l;\r\n var j = b - a + i,\r\n l = 0;\r\n do {\r\n this.selectNodeContents(d);\r\n l = this.toString().length;\r\n j -= l;\r\n } while (j > 0 && (d = d.nextSibling));\r\n this.setStart(c.firstChild || c, i);\r\n if (d) {\r\n var e = d;\r\n while (e.firstChild) e = e.firstChild;\r\n this.setEnd(e, l + j);\r\n }\r\n };\r\n Range.prototype.select = function() {\r\n let s = window.getSelection()\r\n s.removeAllRanges()\r\n s.addRange(this)\r\n };\r\n}\r\n\r\nconst rngSelection = function() {\r\n let s = window.getSelection()\r\n return s.rangeCount && s.getRangeAt(0)\r\n}\r\nconst rngElement = function() {\r\n let s = rngSelection()\r\n return s && s.startContainer.parentNode\r\n}\r\nconst rngCursor = function(a, b) {\r\n let r = a\r\n if (window.getSelection) {\r\n if (typeof a.selectionStart === 'number' && typeof a.selectionEnd === 'number') {\r\n a.selectionStart = a.selectionEnd = b != null ? b : a.value.length\r\n } else {\r\n let s = window.getSelection()\r\n if (a.nodeType === 1)\r\n (r = document.createRange()).selectNodeContents(a)\r\n if (b != null)\r\n r.movePoint(b)\r\n s.removeAllRanges()\r\n s.addRange(r)\r\n s.collapseToEnd()\r\n }\r\n }\r\n return r\r\n}\r\nconst rngCursorOffset = function() {\r\n let n = rngSelection()\r\n let c = n.startOffset\r\n if (c != null)\r\n return c\r\n let r = document.body.createTextRange()\r\n r.selectNodeContents(n.startContainer.parentNode)\r\n r.setEndPoint('EndToStart', n)\r\n return rngText(r).length\r\n}\r\n// @a ->range, b -> text?\r\nconst rngText = function(a, b) {\r\n if (a == null)\r\n a = rngSelection()\r\n if (b != null) {\r\n if (a.deleteContents) {\r\n a.deleteContents()\r\n a.insertNode(document.createTextNode(b))\r\n } else {\r\n a.text = b\r\n }\r\n }\r\n return a.text === undefined ? a.toString() : a.text\r\n}\r\n\r\nexport {\r\n rngSelection,\r\n rngElement,\r\n rngCursor,\r\n rngCursorOffset,\r\n rngText\r\n}\n","import jquery from 'jquery'\r\n\r\nconst _adjacent_where = ['afterend', 'afterbegin', 'beforebegin', 'beforeend']\nconst _adjacent_query = ['after', 'prepend', 'before', 'append']\r\n// 创建一个div /@ s -> html\nconst _div = function(s) {\n\tlet o = document.createElement('div')\n\tif (s) o.innerHTML = s\n\ttry {return o} catch(e) {return false}\n\tfinally {o = null}\n}\r\nconst frag = function(s) {\n\tlet d = typeof s === 'string' ? _div(s) : s\r\n let f = document.createDocumentFragment()\n\twhile (d.firstChild)\n\t\tf.appendChild(d.firstChild);\n\ttry {return f} catch(e) {return false}\n\tfinally {d = f = null}\n}\r\n\r\nconst el = function(o) {\r\n if (o) {\r\n return o.isWidget ? o.el() : o\r\n }\r\n}\n// o -> el, s -> html string/object, r -> where[`after`, `prepend`, `before`, `append`]\nconst html = function(o, s, r) {\n\tif (r == null) {\n\t\tif (s == null) return o.innerHTML\n\t\ttry {o.innerHTML = s} catch(ex) {\n\t\t\twhile (o.firstChild)\n\t\t\t\to.removeChild(o.firstChild)\n\t\t\thtml(o, s, 3)\n\t\t}\n\t} else {\n\t\tlet b\n\t\tif (typeof s === 'string') {\n\t\t\ttry {\n\t\t\t\to.nodeType === 3 ? jquery(o)[_adjacent_query[r]](s) : o.insertAdjacentHTML(_adjacent_where[r], s)\n\t\t\t} catch (ex) {\n\t\t\t\thtml(o, frag(s), r)\n\t\t\t}\n\t\t} else {\n\t\t\tlet p = r % 2 ? o : o.parentNode\n\t\t\tp && p.insertBefore(s, r === 0 ? o.nextSibling : r === 1 ? o.firstChild : r === 2 ? o : null)\n\t}\n\t}\n}\nconst append = function(o, s) {html(o, s, 3); return o.lastElementChild || o.lastChild}\nconst prepend = function(o, s) {html(o, s, 1); return o.firstElementChild || o.firstChild}\nconst before = function(o, s) {html(o, s, 2); return o.previousElementSibling || o.previousSibling}\nconst after = function(o, s) {html(o, s, 0); return o.nextElementSibling || o.nextSibling}\nconst replaceWith = function(o, s) {\n\tlet a = o.nextSibling\n\tif (a) {\n\t\to.parentNode.removeChild(o)\n\t\treturn before(a, s)\n\t} else {\n\t\tlet p = o.parentNode\n\t\tp.removeChild(o)\n\t\treturn append(p, s)\n\t}\n}\r\n\r\nexport {el, html, append, prepend, before, after, replaceWith}","import {number} from './number.js'\r\nimport {strFrom, strTo} from './str.js'\r\n\r\nconst _css_camelize = (function() {\n\tlet b = {'float' : 'cssFloat'}\n\treturn function(s) {\n\t\treturn b[s] || s.replace(/-./g, function($0) {return $0.charAt(1).toUpperCase()});\n\t}\n})()\r\n\r\n// @o -> el, n -> name, v -> value\nconst _set_style = function(o, n, v) {\n\t// 如属性名前面带 += 号,则执行 += 操作\n\tif (typeof v === 'string' && v.charAt(1) === '=') {\n\t\tvar\tn = _css_camelize(n),\n\t\t\tc = o.style[n] || getComputedStyle(o, null)[n],\n\t\t\tv = number(v.replace('=', ''))\n\t\tif (n === 'width' || n === 'height') {\n\t\t\tc = number(c && c !== 'auto' ? c : n.charAt(0) === 'w' ? o.offsetWidth : o.offsetHeight);\n\t\t\tif (c < 0) c = 0;\n\t\t} else\n\t\t\tc = number(c);\n\t\to.style[n] = (c + v) + (n === 'zIndex' ? 0 : 'px');\n\t} else {\n\t\tn = _css_camelize(n);\n\t\tif (n === 'width' || n === 'height')\n\t\t\tv && v !== 'auto' && (v = Math.max(_number(v), 0));\n\t\tif (v && !isNaN(v) && n !== 'zIndex')\n\t\t\tv += 'px';\n\t\to.style[n] = v;\n\t}\n\treturn o;\n}\r\n\r\nconst css = function(o, s, n) {\n\tif (!o || !s)\n\t\treturn null;\n\tif (n != null) {\n\t\tfor (var i = 1, l = arguments.length; i < l; i += 2)\n\t\t\t_set_style(o, arguments[i], arguments[i + 1]);\n\t} else {\n\t\tif (typeof s === 'string') {\n\t\t\tif (s.indexOf(':') > 0) {\n\t\t\t\tfor (var i = 0, b = s.split(';'), l = b.length, k, v; i < l; i ++)\n\t\t\t\t\t(k = strTo(b[i], ':')) && (v = strFrom(b[i], ':')) && _set_style(o, k, v);\n\t\t\t} else\n\t\t\t\treturn o.style[s] || getComputedStyle(o, null)[s];\n\t\t}\n\t\tfor (var i in s) _set_style(o, i, s[i]);\n\t}\n}\r\n\r\nexport {css}","import {number, isNumber} from './number.js'\r\nimport {css} from './css.js'\r\n\r\nconst T = true\r\nconst F = false\r\nconst N = null\r\nconst doc = document\r\nconst cvs = document.documentElement\r\n\r\nconst _arr_comma = a => a.split(',')\r\n\r\nconst _snaptype = {\n\th : _arr_comma('21,12,34,43'),\n\tv : _arr_comma('41,14,32,23'),\n\ta : _arr_comma('41,32,14,23,21,34,12,43,11'),\n\tt: ['tt'], b: ['bb'], l: ['ll'], r: ['rr'], c: ['cc'], top: ['tt'], bottom: ['bb'], left: ['ll'], right: ['rr'],\n\ttl: ['11'], tr: ['22'], rt: ['22'], rb: ['33'], br: ['33'], bl: ['44'], lb: ['44'], lt: ['11'], \n\t'1': ['11'], '2': ['22'], '3': ['22'], '4': ['33'], '5': ['33'], '6': ['44'], '7': ['44'], '8': ['11']\n}\r\n\nconst _snapMag = (function() {\n\tvar r = [23,32,12,43,22,33,'rr','lr'], b = [14,23,34,43,33,44,'bb','tb'], i, o = {pix: {r:{}, b:{}}, mag: {l:{}, r:{}, t:{}, b:{}}, inner:{}};\n\ti = r.length; while (i --) o.pix.r[r[i]] = T;\n\ti = b.length; while (i --) o.pix.b[b[i]] = T;\n\tvar r = [21,34,22,33,'rr','rl'], b = [41,32,44,33,'bt','bb'], l = [12,43,11,44,'lr','ll'], t = [14,23,11,22,'tb','tt'];\n\ti = r.length; while (i --) o.mag.r[r[i]] = T;\n\ti = b.length; while (i --) o.mag.b[b[i]] = T;\n\ti = l.length; while (i --) o.mag.l[l[i]] = T;\n\ti = t.length; while (i --) o.mag.t[t[i]] = T;\n\tvar r = [11,22,33,44,'tt','bb','ll','rr'];\n\ti = r.length; while (i --) o.inner[r[i]] = T;\n\treturn o;\n})()\r\n\r\nconst canvasOffset = function(o) {\n\tvar a = bcr(o);\n\ta.right = cvs.clientWidth - a.right;\n\ta.bottom = cvs.clientHeight - a.bottom;\n\treturn a;\n}\r\n\r\nconst offset = function(a, b) {\n\tlet r = {top: 0, left: 0, width: a.offsetWidth, height: a.offsetHeight}\n\tdo {\n\t\tr.top += a.offsetTop\r\n r.left += a.offsetLeft\n\t} while((a = a.offsetParent) && b != a)\n\treturn r\n}\r\n\r\nconst bcr = function(a) {\n\tvar b = cvs.clientLeft, c = cvs.scrollLeft, d = cvs.clientTop, e = cvs.scrollTop, o = a && a != doc && (a.isWidget ? a.el() : a), r = o && o.getBoundingClientRect();\n\treturn r ? {left : r.left - b + c, top : r.top - d + e, right : r.right - b + c, bottom : r.bottom - d + e, width : r.width, height : r.height} :\n\t\ta == document ? {left: c, top: e, right: cvs.clientWidth + c, bottom: cvs.clientHeight + e, width: cvs.clientWidth, height: cvs.clientHeight} : N;\n}\r\n\n// 获取对齐吸附模式的位置参数。元素四个角,左上为1,右上为2,右下为3,左下为4。目标元素在前,浮动元素在后。如\"41\"代表目标元素的左下角和浮动元素的左上角粘合。\n// @ a -> width, b -> height, c -> toObj offset, d -> adsorb type, e - > fit?[是否自动选择位置,让可见区域最大化], f -> indent[缩进多少像素], u -> range?[浮动元素的限定范围元素]\nconst snap = function(a, b, c, d, e, f, u) {\n\tif (!c)\n\t\tc = bcr(doc);\n\telse if (c.nodeType)\n\t\tc = bcr(c);\n\telse if (c.isWidget)\n\t\tc = bcr(c.el());\n\telse if (c.originalEvent || c.clientX != N) {\n\t\tc = c.originalEvent || c;\n\t\tc = {left: c.clientX, right: c.clientX, top: c.clientY, bottom: c.clientY};\n\t}\n\tvar t = [], l = [], g, h, k = -1, f = number(f), ew = cvs.clientWidth, eh = cvs.clientHeight,\n\t\ts = d ? (_snaptype[d] || ('' + d).split(',')) : _snaptype.a;\r\n\tif (/[1-4]/.test(s[0])) {// 1-4是边角对齐 .\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = + s[i].charAt(0), h = + s[i].charAt(1);\n\t\t\tt.push((g === 1 || g === 2 ? c.top : c.bottom) - (h === 3 || h === 4 ? b : 0));\n\t\t\tl.push((g === 1 || g === 4 ? c.left : c.right) - (h === 2 || h === 3 ? a : 0));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\t// 计算可见面积,取最大的那个\n\t\t\t\tvar ot = t[i] < 0 ? -t[i] : 0,\n\t\t\t\t\tor = l[i] + a > ew ? l[i] + a - ew : 0,\n\t\t\t\t\tob = t[i] + b > eh ? t[i] + b - eh : 0,\n\t\t\t\t\tol = l[i] < 0 ? -l[i] : 0;\n\t\t\t\tm = s[i] === '14' || s[i] === '34' ? (a-or)*(b-ot) : s[i] === '23' || s[i] === '43' ? (a-ol)*(b-ot) :\n\t\t\t\t\ts[i] === '32' || s[i] === '12' ? (a-ol)*(b-ob) : (a-or)*(b-ob);\n\t\t\t\tif (!n || n < m) {\n\t\t\t\t\tn = m;\n\t\t\t\t\tk = i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {// t r b l 是边线中点对齐 .\r\n\t\tfor (var i = 0, o, p, m, n = 0; i < s.length; i ++) {\n\t\t\tg = s[i].charAt(0), h = s[i].charAt(1);\r\n\t\t\tt.push((g === 'r' || g === 'l' || g === 'c' ? (c.top + c.bottom) / 2 : (g === 't' ? c.top : c.bottom)) - (h === 'r' || h === 'l' || h === 'c' ? b / 2 : (h === 'b' ? b : 0)));\n\t\t\tl.push((g === 't' || g === 'b' || g === 'c' ? (c.left + c.right) / 2 : (g === 'r' ? c.right : c.left)) - (h === 't' || h === 'b' || h === 'c' ? a / 2 : (h === 'r' ? a : 0)));\n\t\t\to = t[i] >= 0 && t[i] + b <= eh;\n\t\t\tp = l[i] + a <= ew && l[i] >= 0;\n\t\t\tif (o && p) {\n\t\t\t\tk = i;\n\t\t\t\tbreak;\n\t\t\t} else if (o || p) {\n\t\t\t\tif (d) {\n\t\t\t\t\tm = d == _snaptype.v ? (g == 1 || g == 2 ? - t[i] : t[i] + b - eh) : (g == 1 || g == 4 ? - l[i] : l[i] + a - ew);\n\t\t\t\t\tif (!n || n > m) {\n\t\t\t\t\t\tn = m;\n\t\t\t\t\t\tk = i;\n\t\t\t\t\t}\n\t\t\t\t} else if (k < 0)\n\t\t\t\t\tk = i;\n\t\t\t}\n\t\t}\n\t} \r\n\tif (k < 0) k = 0;\n\tvar y = s[k], o = {left : l[k], top : t[k], bottom: eh - (t[k] + b), right: ew - (l[k] + a), type : y};\r\n\t_snapMag.pix.r[y] && (o.pix_r = T);\n\t_snapMag.pix.b[y] && (o.pix_b = T);\n\t_snapMag.mag.r[y] && (o.mag_r = T, o.mag = 'r');\n\t_snapMag.mag.b[y] && (o.mag_b = T, o.mag = 'b');\n\t_snapMag.mag.l[y] && (o.mag_l = T, o.mag = 'l');\n\t_snapMag.mag.t[y] && (o.mag_t = T, o.mag = 't');\n\t_snapMag.inner[y] && (o.inner = T);\r\n\tif (f && o.mag) {\n\t\tif (o.inner) {\n\t\t\to.mag_t ? (o.top -= f) : o.mag_b ? (o.bottom -= f) : o.mag_r ? (o.right -= f) : (o.left -= f);\n\t\t} else {\n\t\t\to.mag_t ? (o.bottom -= f) : o.mag_b ? (o.top -= f) : o.mag_r ? (o.left -= f) : (o.right -= f);\n\t\t}\n\t}\n\tif (e) {// 自适应位置 \n\t\tvar l = o.left, r = o.right, b = o.bottom, t = o.top;\r\n\t\tif (o.mag_t || o.mag_b) {\n\t\t\tif (o.pix_r)\n\t\t\t\tr = Math.max(0, l < 0 ? r + l : r), l += o.right - r;\n\t\t\telse\n\t\t\t\tl = Math.max(0, r < 0 ? r + l : l), r += o.left - l;\n\t\t}\n\t\tif (o.mag_l || o.mag_r) {\n\t\t\tif (o.pix_b)\n\t\t\t\tb = Math.max(0, t < 0 ? b + t : b), t += o.bottom - b;\n\t\t\telse\n\t\t\t\tt = Math.max(0, b < 0 ? b + t : t), b += o.top - t;\n\t\t}\n\t\to.left = l, o.right = r, o.top = t, o.bottom = b;\n\t} \n\tif (d === 'cc' && o.top < 0)\n\t\to.top = 0;\n\tif (u) {\r\n \t\tvar s = canvasOffset(u);\n\t\to.top -= (s.top);\n\t\to.left -= (s.left);\n\t\to.right -= (s.right);\n\t\to.bottom -= (s.bottom);\r\n\t}\n\to.width = a;\n\to.height = b;\n\to.target = c; \n\treturn o;\n}\r\n\r\n// @a -> el, b -> snap option\nconst snapTo = function(a, b) {\n\tvar e = b.type;\n\tif (e) {\n\t\tif (b.pix_r) {\n\t\t\ta.style.right = b.right + 'px';\n\t\t\ta.style.left = '';\n\t\t} else {\n\t\t\ta.style.left = b.left + 'px';\n\t\t\ta.style.right = '';\n\t\t}\n\t\tif (b.pix_b) {\n\t\t\ta.style.bottom = b.bottom + 'px';\n\t\t\ta.style.top = '';\n\t\t} else {\n\t\t\ta.style.top = b.top + 'px';\r\n\t\t\ta.style.bottom = '';\n\t\t}\n\t} else\n\t\tcss(a, b)\n}\r\n\r\nexport {bcr, offset, snap, snapTo}\n","// 最后一个属性是数组 / a -> obj, b -> target\n// example: _jsonArray(obj, target, 'a', 'b');\n// 等同于: target['a']['b'].push(obj);\nconst jsonArray = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1; i < l; i ++)\n\t\tb = b[arguments[i]] || (b[arguments[i]] = {});\n\t(b[arguments[l]] || (b[arguments[l]] = [])).push(a);\n\treturn b[arguments[l]];\n}\r\n\n// example: _jsonChain(obj, target, 'a', 'b');\n// 等同于: target['a']['b'] = obj;\nconst jsonChain = function(a, b) {\n\tfor (var i = 2, l = arguments.length - 1, c = b; i < l; i ++)\n\t\tc = c[arguments[i]] || (c[arguments[i]] = {});\n\tc[arguments[l]] = a;\n\treturn c;\n}\r\n\r\nexport {jsonArray, jsonChain}","import {strFrom, strTo } from './str.js'\r\nimport {jsonArray} from './json.js'\r\nimport br from './browser.js'\r\nimport uid from './uid.js'\r\nimport lodash from 'lodash'\r\n\r\nconst _EventUser = {}\r\nconst _event_remove = function(k) {\r\n if (k.fn) {\r\n lodash.pull(_EventUser[k.id][k.type], k)\r\n k.type = k.fn = k.pvdr = k.args = null\r\n }\r\n}\r\nconst _event_name = function(a) {\r\n return a.indexOf('.') > -1 ? strTo(a, '.') : a\r\n}\r\nconst _event_space = function(a) {\r\n return a.indexOf('.') > -1 ? '.' + strFrom(a, '.').split('.').sort().join('.') + '.' : ''\r\n}\r\nconst _event_handlers = function(a, b) {\r\n var c = _EventUser[uid(a)];\r\n if (!c) return;\r\n var type = _event_name(b),\r\n ns = _event_space(b);\r\n if (type) {\r\n return c[type] && (ns ? c[type].filter(v => v.ns.indexOf(ns) > -1) : c[type])\r\n }\r\n var r = [];\r\n for (type in c) {\r\n r.push.apply(r, c[type].filter(v => v.ns.indexOf(ns) > -1))\r\n }\r\n return r;\r\n}\r\n\r\nclass EventListener {\r\n hasEvent(type) {\r\n let a = _event_handlers(this, type)\r\n return a && a.length\r\n }\r\n // type -> event type, fn -> fn, pvdr -> context, one -> exec once [T/F]\r\n addEvent(type, fn, pvdr, one) {\r\n var k = {\r\n id: uid(this),\r\n type: _event_name(type),\r\n ns: _event_space(type),\r\n fn: fn,\r\n pvdr: pvdr,\r\n one: one\r\n };\r\n jsonArray(k, _EventUser, k.id, k.type).ori = true\r\n return this;\r\n }\r\n addEventOnce(type, fn, pvdr) {\r\n return this.addEvent(type, fn, pvdr, true)\r\n }\r\n // e -> event, r -> args[array]\r\n fireEvent(e, r) {\r\n var a = _event_handlers(this, e.type || e);\r\n if (a) {\r\n for (var i = 0, k, l = a.length, v; i < l; i++) {\r\n if ((k = a[i]) && k.fn) {\r\n v = k.fn.apply(k.pvdr || this, r ? [e].concat(r) : [e]);\r\n if (k.one) {\r\n _event_remove(k);\r\n a.ori && (i--, l--);\r\n }\r\n if (v !== undefined)\r\n return v;\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n // a -> event type, b -> fn, c -> pvdr\r\n removeEvent(a, b, c) {\r\n if (a) {\r\n var d = _event_handlers(this, a);\r\n if (d) {\r\n var i = d.length;\r\n while (i--)\r\n if (b ? (d[i].fn === b && (!c || c === d[i].pvdr)) : c ? c === d[i].pvdr : T) _event_remove(d[i]);\r\n }\r\n } else {\r\n var c = _EventUser[uid(this)],\r\n i;\r\n for (i in c) this.removeEvent(i);\r\n delete _EventUser[uid(this)];\r\n }\r\n return this;\r\n }\r\n}\n\r\nconst eventX = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientX : e.clientX\r\n}\r\n\r\nconst eventY = function(e) {\r\n return e.targetTouches ? e.targetTouches[0].clientY : e.clientY\r\n}\r\n\r\nconst moveup = function(moveCB, upCB, downEv) {\r\n let moveHdl, upHdl, dir = downEv == null,\r\n cvs = document.documentElement,\r\n evX = e => e.targetTouches ? e.targetTouches[0].clientX : e.clientX,\r\n evY = e => e.targetTouches ? e.targetTouches[0].clientY : e.clientY,\r\n prevent = e => e.preventDefault()\r\n cvs.style.userSelect = 'none'\r\n cvs.addEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl = function(e) {\r\n dir ? moveCB(e) :\r\n downEv && (Math.abs(evX(e) - evX(downEv)) > 1 || Math.abs(evY(e) - evY(downEv)) > 1) && (dir = true)\r\n }, true);\r\n cvs.addEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl = function(e) {\r\n cvs.removeEventListener(br.mobile ? 'touchmove' : 'mousemove', moveHdl, true)\r\n cvs.removeEventListener(br.mobile ? 'touchend' : 'mouseup', upHdl, true)\r\n cvs.style.userSelect = ''\r\n br.mobile && cvs.removeEventListener('touchmove', prevent, {\r\n passive: false\r\n });\r\n dir && upCB && upCB(e)\r\n }, true)\r\n // 业务拖动时禁用浏览器默认的拖动效果\r\n br.mobile && cvs.addEventListener('touchmove', prevent, {\r\n passive: false\r\n })\r\n}\r\n\r\nexport {EventListener, eventX, eventY, moveup}","import lodash from 'lodash'\r\nimport jquery from 'jquery'\r\nimport http from 'axios'\r\nimport Qs from 'qs'\r\n\r\nimport br from './util/browser.js'\r\nimport uid from './util/uid.js'\r\nimport loc from './util/loc/zh-CN.js'\r\nimport {number, isNumber, numRange, numAdd, numFormat, numDecimal} from './util/number.js'\r\nimport {strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight} from './util/str.js'\r\nimport {dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet} from './util/date.js'\r\nimport {rngSelection, rngElement, rngCursor, rngCursorOffset, rngText} from './util/range.js'\r\nimport {el, html, append, prepend, before, after, replaceWith} from './util/elem.js'\r\nimport {bcr, offset, snap, snapTo} from './util/snap.js'\r\nimport {EventListener, eventX, eventY, moveup} from './util/event.js'\r\n\r\n\r\nfunction $(o) {\r\n if (!o) return\r\n if (('isWidget' in o) && o.isWidget) return o\r\n if (o.$attrs && o.$attrs.templateWrapper) {\r\n return $.vueCache[o.$attrs.templateWrapper.uid]\r\n }\r\n if (o.uid) return $.vueCache[o.uid]\r\n if (o instanceof Event) {\r\n o = o.currentTarget || o.target\r\n }\r\n if (o.$el) {\r\n o = o.$el\r\n if (o.nodeType === 3)\r\n o = o.nextElementSibling\r\n }\r\n if (lodash.isElement(o)) {\r\n do {\r\n if (o.id) {\r\n if ($.vueCache[o.id]) return $.vueCache[o.id]\r\n let d = $.strTo(o.id, ':') + ':'\r\n if($.vueCache[d]) return $.vueCache[d]\r\n }\r\n } while (o = o.parentNode)\r\n }\r\n while (o && !o.isWidget) o = o.$parent\r\n return o || $.docView\r\n}\r\n\r\nObject.assign($, {\r\n x: {defaultOptions: {}},\r\n vueCache: {},\r\n viewCache: {},\r\n dfclsCache: {},\r\n q: jquery, lodash, http,\r\n br, loc, uid, EventListener, eventX, eventY,\r\n number, isNumber, numRange, numAdd, numFormat, numDecimal,\r\n strTrim, strEscape, strFrom, strTo, strPad, strLen, strFormat, strHighlight,\r\n dateFormat, dateParse, dateAdd, dateValid, dateDiff, dateSheet,\r\n rngSelection, rngElement, rngCursor, rngCursorOffset, rngText,\r\n el, html, append, prepend, before, after, replaceWith,\r\n moveup, bcr, offset, snap, snapTo,\r\n})\r\n\r\n// a继承b的属性。不覆盖a的既有同名属性\r\n$.extend = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c)\r\n if (!(k in a)) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n// 递归继承\r\n$.extendDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null && c.constructor === Object) {\r\n for (let i in c) {\r\n if (!(i in a)) {\r\n if (c[i] != null && c[i].constructor === Object) {\r\n $.extendDeep(a[i] = {}, c[i])\r\n } else\r\n a[i] = c[i]\r\n } else if (a[i] != null && a[i].constructor === Object)\r\n $.extendDeep(a[i], c[i])\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.merge = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c)\r\n for (let k in c) a[k] = c[k]\r\n })\r\n return a\r\n}\r\n\r\n$.mergeDeep = function(a, ...args) {\r\n args.forEach(c => {\r\n if (c != null) {\r\n for (let k in c) {\r\n if (typeof a[k] === 'object')\r\n _mergeDeep(a[k], c[k])\r\n else\r\n a[k] = c[k]\r\n }\r\n }\r\n })\r\n return a\r\n}\r\n\r\n$.cloneDeep = lodash.cloneDeep\r\n\r\n$.eval = function(str, opt) {\r\n if (opt) {\r\n let keys = Object.keys(opt)\r\n return Function(keys.map(k => k), `return (${str})`)(...keys.map(k => opt[k]))\r\n }\r\n return Function(`return (${str})`)()\r\n}\r\n\r\n// a -> object, b -> split by comma?\r\n$.array = function(a, b) {\r\n return Array.isArray(a) ? a : a == null || a === '' ? [] : b && typeof a === 'string' ? a.split(',') : [a]\r\n}\r\n\r\n// 数字转为像素单位。如果自带单位则保留单位\r\n$.unitSize = (size) => size == null || size === '' ? '' : size === '*' ? '' : size == -1 || size == 'auto' ?\r\n 'auto' : isNaN(size) ? size : `${size}px`\r\n\r\n// 添加一个ID\r\n$.idsAdd = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s || n;\r\n for (var i = 0, n = n.split(p), l = n.length; i < l; i++) {\r\n if ((p + s + p).indexOf(p + n[i] + p) < 0) s += (s ? p : '') + n[i];\r\n }\r\n return s\r\n}\r\n// 删除一个ID\r\n$.idsRemove = (s, n, p) => {\r\n s = s == null ? '' : '' + s;\r\n n = n == null ? '' : '' + n;\r\n p = p == null ? ',' : '' + p;\r\n if (!s || !n) return s;\r\n for (var i = 0, e, n = n.split(p), l = n.length; i < l; i++) {\r\n do {\r\n e = (p + s + p).indexOf(p + n[i] + p);\r\n if (e > -1) s = s.slice(0, e ? e - 1 : e) + s.slice(e + n[i].length + (e ? 0 : 1));\r\n } while (s && e > -1);\r\n }\r\n return s\r\n}\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAny = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s || !n) return false\r\n if (s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) > -1) return true\r\n return false\r\n}\r\n\r\n// s是否包含n。如果 n 也是逗号隔开,那么只需n中有匹配到s中的一项即返回true\r\n$.idsAll = (s, n, p) => {\r\n if (s === '' && n === s) return true\r\n s = s == null ? '' : '' + s\r\n n = n == null ? '' : '' + n\r\n p = p == null ? ',' : '' + p\r\n if (!s) return false\r\n if (!n || s == n) return true\r\n for (let v of n.split(p))\r\n if ((p + s + p).indexOf(p + v + p) < 0) return false\r\n return true\r\n}\r\n\r\n// 添加一个class /@ a -> el, b -> className, c -> add?(默认添加)\r\n$.classAdd = function(a, b, c) {\r\n if (!a) return\r\n let s = a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $.strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b[i], ' ')\r\n } else\r\n s = (c === false ? $.idsRemove : $.idsAdd)(s, b, ' ')\r\n a.className = s\r\n}\r\n\r\n// 删除一个class /@ a -> el, b -> className\r\n$.classRemove = function(a, b) {\r\n if (!a) return\r\n if (b.indexOf(' ') > -1) {\r\n $.classAdd(a, b, false)\r\n } else\r\n a.className = $.idsRemove(a.className, b, ' ')\r\n}\r\n\r\n// 是否包含任意一个class(多个是“或”的关系) /@ a -> el or className\r\n$.classAny = function(a, b) {\r\n if (!a) return\r\n let s = typeof a === 'string' ? a : a.className\r\n if (b.indexOf(' ') > -1) {\r\n b = $strTrim(b).split(/ +/)\r\n for (let i = 0, l = b.length; i < l; i++)\r\n if ($.idsAny(s, b[i], ' ')) return i + 1\r\n } else\r\n return $.idsAny(s, b, ' ')\r\n}\r\n\r\n// url 编码\r\n$.urlEncode = (a) => {\r\n return a == null ? '' : encodeURIComponent(typeof a === 'object' ? JSON.stringify(a) : a)\r\n}\r\n \r\n// url 解码\r\n$.urlDecode = (a) => {\r\n return a == null ? '' : decodeURIComponent(a.replace(/\\+/g, ' '))\r\n}\r\n// 替换带$变量的url,如 \"a.sp?id=$0\" /@a -> url, b -> array/object\r\n$.urlFormat = (a, ...args) => {\r\n args.forEach((v, i) => v != null && (a = $.strFormat(a, v, true, i < args.length - 1)))\r\n return a\r\n}\r\n$.urlParam = function(a, b) {\r\n var r = a.split('#'),\r\n u = r[0],\r\n h = r[1];\r\n if (typeof b === 'string') {\r\n return b === '#' ? (h || '') : $.urlDecode((u.match(new RegExp('[\\\\?&]' + b + '=([^&]*)'), 'g') || A)[1]);\r\n } else if (b && typeof b === 'object') {\r\n for (var k in b) {\r\n if (k === '#') {\r\n h = b[k];\r\n } else {\r\n var c = $.urlEncode(b[k]),\r\n d = new RegExp('\\\\b' + k + '=[^&]*');\r\n u = d.test(u) ? u.replace(d, k + '=' + c) : u + (u.indexOf('?') < 0 ? '?' : '&') + k + '=' + c;\r\n }\r\n }\r\n } else if (arguments.length === 1) {\r\n var r = {},\r\n c = u.split('?');\r\n c = c[c.length - 1];\r\n\r\n if (c) {\r\n c = c.split('&');\r\n for (var d = 0, e, f, g; d < c.length; d++) {\r\n e = c[d].indexOf('=');\r\n if (e == -1) continue;\r\n f = c[d].substring(0, e);\r\n g = c[d].substring(e + 1);\r\n r[f] = $.urlDecode(g.replace(/\\+/g, ' '));\r\n }\r\n }\r\n return r\r\n }\r\n return u + (h ? '#' + h : '')\r\n}\r\n// 把相对路径url和baseURL拼接为完整地址\r\n$.urlServer = function(src, ...args) {\r\n if (!src) return\r\n if (!(src.startsWith('http://') || src.startsWith('https://'))) {\r\n let b = lodash.get($.x, 'http.baseURL')\r\n if (b) {\r\n src = b + (b.endsWith('/') ? '' : '/') + src\r\n }\r\n }\r\n return $.strFormat(src, ...args)\r\n}\r\n\r\n$.urlComplete = function(a) {\n\tif (a.indexOf('data:') !== 0) {\n\t\ta = $.urlServer(a)\r\n let r = lodash.get($.x, 'http.params')\n\t\tr && (a = $.urlParam(a, r))\n\t}\n\treturn a\n},\r\n\t// @a -> src, b -> options\n$.download = function(a, b) {\r\n a = $.urlComplete(a)\n\tif (br.app) {\n\t\t$.wifiConfirm(function() {\n\t\t\tlet dtask = plus.downloader.createDownload(a, b)\n\t\t\tplus.nativeUI.showWaiting()\n\t\t\tdtask.addEventListener(\"statechanged\", function(task, status) {\n\t\t\t\tswitch (task.state) {\n\t\t\t\t\tcase 1: // 开始\n\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_start)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase 4: // 下载完成\n\t\t\t\t\t\tif (status == 200) {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_complete)\n\t\t\t\t\t\t\tplus.runtime.openFile(task.filename, {}, function(e) {\n\t\t\t\t\t\t\t\tplus.nativeUI.alert($.loc.download_cannotopen)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplus.nativeUI.toast($.loc.download_fail + status)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplus.nativeUI.closeWaiting()\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t})\n\t\t\tdtask.start()\n\t\t})\n\t} else {\r\n\t\tlet link = document.createElement('a')\r\n //link.download = true\r\n link.href = a\r\n if ($.x.downloadTarget) {\r\n link.target = $.x.downloadTarget\r\n }\r\n link.click()\r\n link.remove()\n\t}\n}\r\n\r\n\n$.wifiConfirm = function(a, b) {\n\t$.x.wifiConfirm && plus.networkinfo.getCurrentType() != 3 ? plus.nativeUI.confirm($.loc.connection_not_wifi, function(e){e.index === 0 && a.call(b)}, {buttons:[$.loc.confirm, $.loc.cancel]}) : a.call(b)\n}\r\n\r\n$.vm = (a) => {\r\n if (!a) return $.docView\r\n if (typeof a === 'string') {\r\n if ($.viewCache[a]) return $.viewCache[a]\r\n if ($.vueCache[a]) {\r\n a = $.vueCache[a]\r\n if (a.isView) return a\r\n }\r\n }\r\n a = $(a)\r\n if (a == null) return\r\n if (a.isEntity) {\r\n return a.isView ? a : a.ownerView\r\n }\r\n return a.isView ? a : a.ownerView\r\n}\r\n\r\n$.dialog = (a) => {\r\n if (!a) return\r\n a = $.vm(a)\r\n while (a && !a.isDialog) a = a.ownerView\r\n return a\r\n}\r\n\r\n$.close = (a) => {\r\n $.dialog(a)?.close()\r\n}\r\n\r\n$.closePopup = () => {\r\n document.dispatchEvent(new Event('mousedown'))\r\n}\r\n\r\n$.scrollIntoView = (a) => {\r\n let s = jquery(a.isWidget ? a.el() : a).closest('.w-scroll-y.z-scroll-y-show,.w-scroll-x.z-scroll-x-show')[0]\r\n let o = s && $(s)\r\n if (o && o.scrollTo) {\r\n let b = bcr(s)\r\n let c = bcr(a)\r\n let x = (c.left + c.right) / 2\r\n let y = (c.top + c.bottom) / 2\r\n if (x < b.left || x > b.right || y < b.top || y > b.bottom)\r\n o.scrollTo(a, 'middle', 'center')\r\n }\r\n}\r\n\r\n$.previewVideo = function(src) {\r\n $.vm().previewVideo($.urlServer(src))\n}\n\t// @img -> image array, options -> {current:i,loop:true,indicator: 'number'}\n$.previewImage = function(imgs, options) {\r\n imgs = $.array(imgs).map(v => $.urlServer(v))\n\tif (br.app) {\n\t\tplus.nativeUI.previewImage(imgs, options)\n\t} else {\r\n $.vm().previewImage(imgs, options)\n\t}\n}\r\n\r\n$.slotsChildren = function(slots, name = 'default') {\r\n let r = []\r\n const getChildren = (d) => {\r\n d && d.forEach(v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else\r\n r.push(v)\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n$.hasChild = function(slots, name = 'default') {\r\n let r = false\r\n const getChildren = (d) => {\r\n lodash.forEach(d, v => {\r\n if (typeof v.type === 'symbol') {\r\n Array.isArray(v.children) && getChildren(v.children)\r\n } else {\r\n return !(r = true)\r\n }\r\n })\r\n }\r\n getChildren(slots[name] && slots[name]())\r\n return r\r\n}\r\n\r\n// @a -> widget|HTMLElement, y -> {print: T/F(是否打印), head: \"head标签\", input2text: T/F(把表单值转为文本)\n$.print = function(a, y) {\n\t\tlet d = a.el ? a.el() : (a.$el || a), w = d.ownerDocument, b = $.q('link[media=print]', w), c = [];\r\n y = y || {};\n\t\t$.q('meta', w).each(function() {c.push(this.outerHTML)});\n\t\t(b.length > 0 ? b : $.q('link', w)).each(function() {c.push('<link rel=\"stylesheet\" type=\"text/css\" href=\"' + this.getAttribute('href') + '\"/>');});\n\t\t$.q('style', w).each(function() {c.push(this.outerHTML)});\n\t\tlet s = d.outerHTML;\r\n\t\ts = s.replace(/<div[^>]+w-scroll[^>]+>/gi, function($0) {return $0.replace(/height: \\w+/gi, '');});\n\t\t$.q(':text,:password,textarea,select', d).each(function() {\n\t\t\tlet h = this.outerHTML, v, r;\r\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this), w = 'auto';\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\th = g.el('main').outerHTML;\n\t\t\t\t\tv = g.formText();\n\t\t\t\t} else\n\t\t\t\t\tv = this.value;\n\t\t\t\tv = '<div class=\"f-oh w-input-s\">' + v + '</div>';\n\t\t\t} else {\n\t\t\t\tv = h.replace('value=\"' + this.defaultValue + '\"', () => 'value=\"' + this.value + '\"');\n\t\t\t}\r\n\t\t\ts = s.replace(h, () => v + (r || ''));\n\t\t});\n\t\t$.q(':radio,:checkbox', d).each(function() {\n\t\t\tif (y.input2text) {\n\t\t\t\tlet g = $(this);\n\t\t\t\tif (g && g.isFormWidget) {\n\t\t\t\t\ts = s.replace(g.el().outerHTML, () => g.isChecked ? '<div class=\"f-wdbr\">' + g.text + '</div>' : '');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlet h = this.outerHTML, n = h.replace(/ checked=\"\"/, '');\n\t\t\t\tif (this.checked)\n\t\t\t\t\tn = n.replace(/>$/, ' checked>');\n\t\t\t\ts = s.replace(h, n);\n\t\t\t}\n\t\t});\n\t\tif (y.input2text) {\n\t\t\t$.q('input[type=hidden]', d).each(function() {\n\t\t\t\tvar g = $(this);\n\t\t\t\tif (g && g.isFormWidget && g.$options.name != 'w-hidden') {\n\t\t\t\t\ts = s.replace(g.el('main').outerHTML, () => '<div class=\"f-wdbr f-print-input-text\">' + g.formText() + '</div>');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t$.q('.w-input-placeholder', d).each(function() {\n\t\t\ts = s.replace(this.outerHTML, '');\n\t\t});\n\t\tw = window.open();\n\t\td = w.document;\n\t\td.open('text/html', 'replace');\n\t\td.write('<!doctype html><html class=f-print><head><meta charset=utf-8><title>' + $.loc.print_preview +\n\t\t\t'</title><style>.f-print .w-f-remark{height:auto;line-height:inherit}.f-print-input-text{line-height: var(--w-label-min-height);}.w-input{display: flex!important;}.w-input-s{word-break:normal;white-space:normal}.w-input-s:empty:before{content:\"\\xa0\"}</style><script>var $={e:function(){}}</script>' + c.join('') +\n\t\t\t(y.head || '') + '</head><body><div class=x-print>' + s + '</div>' +\n\t\t\t(y.print !== false ? '<script>window.print();window.close()</script>' : '') +\n\t\t\t'</body></html>');\n\t\td.close();\n\t\treturn d;\n\t}\n\r\n\r\nconst queryEncode = function(data, config) {\r\n if (!data || data instanceof FormData) return data\r\n let contentType = $.lodash.get(config, 'headers[\"Content-Type\"]') || $.lodash.get($.x, 'http.headers.post[\"Content-Type\"]')\r\n return contentType == 'application/x-www-form-urlencoded' ? Qs.stringify(data, {arrayFormat: 'repeat'}) : data\r\n}\r\n\r\n$.ajax = function(cmd, args) {\r\n let src = args ? $.urlFormat(cmd.src, args) : cmd.src\r\n if (!src) {\r\n return Promise.reject('$.ajax(): The first parameter must be an object, and the property(src) of the object is required.')\r\n }\r\n let ctx = cmd.context || $.docView\r\n let lock = ctx.ajaxLock\r\n let config = $.lodash.pick(cmd, ['headers', 'responseType'])\r\n if (cmd.download) {\r\n $.extend(config, {responseType: 'blob'})\r\n }\r\n lock && lock()\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return (cmd.data ? $.http.post(src, queryEncode(cmd.data, config), config) : $.http.get(src, config))\r\n .then(res => {\r\n lock && lock(false)\r\n let data = res.data\r\n if (cmd.filter) data = cmd.filter(res, ctx)\r\n if (cmd.success) cmd.success(data, ctx)\r\n if (cmd.complete) cmd.complete(res, ctx)\r\n cmd.loading && ctx.cmd({type: 'Loading', hide: true})\r\n if (cmd.download) {\r\n let disposition = res.headers['content-disposition']\r\n if (disposition) {\r\n let fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))\r\n let blob = new Blob([res.data])\r\n let link = document.createElement('a')\r\n link.href = URL.createObjectURL(blob)\r\n link.download = fileName\r\n link.click()\r\n link.remove()\r\n } else {\r\n console.error('download: none content-disposition')\r\n }\r\n }\r\n return Promise.resolve(data)\r\n }).catch(ex => {\r\n lock && lock(false)\r\n if (cmd.error) cmd.error(ex, ctx)\r\n if (cmd.complete) cmd.complete(ex.response, ctx, ex)\r\n cmd.loading && ctx.exec({type: 'Loading'}, null, cmd.loading)\r\n return Promise.reject(ex)\r\n })\r\n}\r\n\r\n$.extend($.ajax, {\r\n get(src, config) {\r\n return $.http.get(src, config).then(res => new Promise(resolve => resolve(res.data)))\r\n },\r\n post(src, data, config) {\r\n return $.http.post(src, queryEncode(data, config), config).then(res => new Promise(resolve => resolve(res.data)))\r\n }\r\n}, http)\r\n\r\n$.cmdHooks = {\r\n Submit(cmd, args) {\r\n let src = $.urlFormat(cmd.src, args)\r\n const vm = $.vm(this)\r\n const submit = () => new Promise(rsv => this.$nextTick(() => {\r\n let d = cmd.validate || false\r\n let f = vm.getFormList(d.range || cmd.range)\r\n let g = d.range && d.range != cmd.range ? vm.getFormList(cmd.range) : f\r\n if (vm.valid(f, d.group)) {\r\n cmd.context ||= this\r\n let post = vm.getPostData(g)\r\n cmd.data = cmd.data ? $.extend(cmd.data, post) : post\r\n $.ajax(cmd, args).then(data => rsv(data))\r\n }\r\n }))\r\n if (vm.isEntity) {\r\n return submit()\r\n } else {\r\n return new Promise(rsv => {\r\n vm.addEvent('load', () => submit().then(data => rsv(data)))\r\n })\r\n }\r\n },\r\n Ajax(cmd, args) {\r\n cmd.context ||= this\r\n return $.ajax(cmd, args)\r\n },\r\n Dialog(cmd, args) {\r\n if (cmd.title) cmd.title = $.strFormat(cmd.title, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Alert(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Confirm(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Tip(cmd, args) {\r\n if (cmd.text) cmd.text = $.strFormat(cmd.text, args)\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Menu(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n Loading(cmd, args) {\r\n return $.vm(this).cmdDialog(cmd, args, this)\r\n },\r\n}\r\n\r\n$.isCmd = function(a) {\r\n return a && a.type && $.cmdHooks[a.type]\r\n}\r\n\r\n$.alert = function(text, position, timeout, yes) {\r\n $.docView.cmd({\r\n type: 'Alert', text, position, timeout, yes\r\n })\r\n}\r\n\r\n$.confirm = function(text, yes, no, cover) {\r\n $.docView.cmd({\r\n type: 'Confirm', text, yes, no, cover\r\n })\r\n}\r\n\r\n$.directiveHooks = {\r\n colspan(el, v) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v) {\r\n el.style.gridRow = !v || v == -1 ? '' : `span ${v}`\r\n }\r\n}\r\n\r\n$.config = function(opt) {\r\n $.merge($.x, opt)\r\n if (opt.http) {\r\n $.merge(http.defaults, opt.http)\r\n http.interceptors.response.use(\r\n opt.http.filter,\r\n opt.http.error || function(ex) {\r\n if (ex.response) {\r\n ex.callback = () => $.alert((ex.response.status) + ': ' + ex.config.url)\r\n }\r\n return Promise.reject(ex)\r\n }\r\n )\r\n }\r\n const _dfopt = $.x.defaultOptions\r\n const _dfcls = {}\r\n for (let k in _dfopt) {\r\n if (k.includes('.')) {\r\n let a = $.strFrom(k, '.').replace(/\\./g, ' ')\r\n let b = $.strTo(k, '.');\r\n ($.dfclsCache[b] || ($.dfclsCache[b] = {}))[a] = _dfopt[k]\r\n }\r\n }\r\n}\r\n\r\nwindow.addEventListener('unhandledrejection', (event) => {\r\n if ($.x.catchReject) {\r\n $.x.catchReject(event)\r\n } else {\r\n if (event.reason) {\r\n if (event.reason.callback)\r\n event.reason.callback()\r\n else if (typeof event.reason === 'string')\r\n console.error(event.reason)\r\n }\r\n event.preventDefault()\r\n }\r\n})\r\n\r\nexport default $\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps,\r\n toRaw,\r\n } from 'vue/dist/vue.esm-bundler.js'\r\n\r\n const bindCache = {}\r\n\r\n\r\n export default {\r\n props: ['id', 'data', 'template', 'preload', 'width', 'height', 'minWidth', 'minHeight', 'maxWidth',\r\n 'maxHeight', 'on', 'tip', 'ownproperty', 'orientUid', 'templateWrapper', 'preloadWrapper',\r\n ],\r\n beforeCreate() {\r\n this.isWidget = true\r\n if (this.templateWrapper || this.preloadWrapper) {\r\n this.uid = (this.templateWrapper || this.preloadWrapper).uid\r\n } else {\r\n this.uid = this.orientUid || $.uid()\r\n }\r\n $.vueCache[this.uid] = this\r\n },\r\n created() {\r\n //if (this.$options.name=='w-dialog') console.log(this.templateWrapper, this.preloadWrapper, this.$attrs.class, this.isEntity)\r\n let propsEntity = !(this.template || this.preload)\r\n let dftopt = !this.ownproperty && propsEntity && this.getDefaultOption(this.$attrs.class)\r\n let dftoptEntity = !(dftopt.template || dftopt.preload)\r\n let dftX = {\r\n ...(propsEntity && dftoptEntity && this.x_default()),\r\n ...dftopt,\r\n ...(this.$options.pubParentName && propsEntity && dftoptEntity &&\r\n $.lodash.omit(this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options\r\n .name) && this.providePubParent.pub, 'template', 'preload'))\r\n }\r\n let watchs = {}\r\n this.x = new Proxy(this.runtimeX, {\r\n get: (obj, prop) => {\r\n return prop in obj ? obj[prop] : this.$props[prop] !== undefined ? this.$props[prop] : dftX[prop]\r\n },\r\n set: (obj, prop, newval) => {\r\n if (!watchs[prop]) {\r\n watchs[prop] = this.$watch(prop, (v) => obj[prop] = v)\r\n }\r\n obj[prop] = newval\r\n return true\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n runtimeX: {},\r\n events: null,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n //implement\r\n },\r\n x_watch(props) {\r\n props.forEach(k => this.$watch(k, v => this.x[k] = v))\r\n },\r\n cmd(o, ...args) {\r\n return this.exec(o, args)\r\n },\r\n exec(cmd, args, feat) {\r\n if (typeof cmd === 'string') {\r\n cmd = $.vm(this).commands[cmd]\r\n }\r\n if (cmd) {\r\n if (typeof cmd === 'function') {\r\n return cmd(args, this)\r\n } else if (typeof cmd === 'object') {\r\n let ncm = $.extendDeep({}, cmd)\r\n feat && $.merge(ncm, feat)\r\n if ($.cmdHooks[ncm.type]) {\r\n return $.cmdHooks[ncm.type].call(this, ncm, args)\r\n }\r\n }\r\n }\r\n },\r\n trigger(ev, ...args) {\r\n let type = ev.runType || ev.type || ev\r\n this.x.on && this.x.on[type] && this.x.on[type](ev, ...args)\r\n let wr = this.closetWrapper(wg => {\r\n wg.events && wg.events.fireEvent(type)\r\n return wg.getOn(type)\r\n })\r\n if (wr.$.emitsOptions && (type in wr.$.emitsOptions))\r\n wr.$emit(...(typeof ev === 'string' ? [type] : [type, ev]), ...args)\r\n this.events && this.events.fireEvent(type)\r\n },\r\n wrapper() {\r\n return this.templateWrapper || this.preloadWrapper || this\r\n },\r\n closetWrapper(fn) {\r\n if (this.x.template == null && this.x.preload == null) return this\r\n let u = this.uid\r\n let p = this\r\n let r\r\n while (p = p.$parent) {\r\n if (u === (p.$attrs && p.$attrs.uid) || u === (p.uid)) {\r\n if (p.isWidget && (!fn || fn(p))) {\r\n r = p\r\n }\r\n }\r\n }\r\n return r || this\r\n },\r\n addEvent(type, fn, ctx, once) {\r\n if (!this.events) this.events = new $.EventListener()\r\n this.events.addEvent(type, fn, ctx, once)\r\n },\r\n fireEvent(type, args) {\r\n return this.events && this.events.fireEvent(type, args)\r\n },\r\n removeEvent(type, fn, ctx) {\r\n this.events && this.events.removeEvent(type, fn, ctx)\r\n },\r\n // 获取widget的默认配置项 /@a -> cls, t -> type\r\n getDefaultOption(a, b) {\r\n b = b || this.$options.name\r\n let y = $.x.defaultOptions[b]\r\n if ($.dfclsCache[b]) {\r\n let c = this.$options.name + (a ? ' ' + a : '')\r\n let d = $.dfclsCache[b]\r\n let z\r\n for (let k in d) {\r\n $.idsAll(c, k, ' ') && $.mergeDeep(z || (z = {}), d[k])\r\n }\r\n z && (y = $.extendDeep(z, y))\r\n }\r\n return y || false\r\n },\r\n closest(a) {\r\n let p = this\r\n let b = typeof a\r\n do {\r\n if (b === 'string') {\r\n if (p.$options.name === a)\r\n return p\r\n } else if (b === 'function') {\r\n if (a(p))\r\n return p\r\n }\r\n } while (p = p.$parent)\r\n },\r\n contains(a) {\r\n return a && this.el().contains(a.isWidget ? a.el() : a)\r\n },\r\n el(a) {\r\n return a && /\\W/.test(a) ? $.q(a, this.el())[0] : document.getElementById(this.uid + (a || ''))\r\n },\r\n next() {\r\n const e = this.el().nextElementSibling\r\n return e && $(e)\r\n },\r\n prev() {\r\n const e = this.el().previousElementSibling\r\n return e && $(e)\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n cmdTip(o) {\r\n let t = this.x.title\r\n this.exec($.extendDeep({}, o, typeof t === 'object' ? t : null, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }));\r\n },\r\n hasBubble(a) {\r\n if (!a) return false\r\n if (this.contains(a)) return true\r\n let d = $.dialog(a)\r\n if (d && d.commander) return this.hasBubble(d.commander)\r\n },\r\n bind(name, fn) {\r\n let c = bindCache[this.uid] || (bindCache[this.uid] = {})\r\n if (!c[name]) c[name] = fn || this[name]\r\n return c[name]\r\n },\r\n getOn(type) {\r\n return (this.$.vnode.props && this.$.vnode.props['on' + type.charAt(0).toUpperCase() + type.slice(1)]) || (this\r\n .x.on && this.x.on[type])\r\n },\r\n getKey() {\r\n return (this.templateWrapper || this).$.vnode.key\r\n },\r\n slots_children(name) {\r\n return $.slotsChildren(this.$slots, name)\r\n },\r\n hasChild() {\r\n return $.hasChild(this.$slots)\r\n },\r\n html_icon(src, cls, onclick) {\r\n let font = src.startsWith('.') && !src.includes('/')\r\n return font ? h('i', {\r\n class: [cls, src.replace(/\\./g, '')],\r\n onclick,\r\n }) : h('img', {\r\n src,\r\n onclick,\r\n class: cls\r\n })\r\n },\r\n html_template() {\r\n let f = this.x.template\r\n if (typeof f === 'object') {\r\n return h(toRaw(f), $.extend({\r\n template: false,\r\n templateWrapper: this,\r\n }, this.$props))\r\n }\r\n let path = f\r\n const except = (ex) => {\r\n console.error(ex)\r\n this.x.template = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n }\r\n if (f.startsWith('url(')) {\r\n path = $.strTo($.strFrom(f, '('), ')', true)\r\n $.ajax.get(path).then(res => {\r\n this.x.template = res\r\n }).catch(except)\r\n } else {\r\n const sfx = '.vue'\r\n path = f.startsWith('@/') ? f.slice(2) : $.x.templateDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.template = mod.default\r\n })\r\n .catch(except)\r\n }\r\n },\r\n html_preload() {\r\n let f = this.x.preload\r\n if (typeof f === 'object') return h(toRaw(f), $.extend({\r\n preload: false,\r\n preloadWrapper: this,\r\n }, this.$props), this.$slots)\r\n const sfx = '.vue'\r\n let path = f.startsWith('@/') ? f.slice(2) : $.x.preloadDir + f\r\n if (!path.endsWith(sfx)) path += sfx\r\n import(`@/${path}`)\r\n .then(mod => {\r\n this.x.preload = mod.default\r\n })\r\n .catch(ex => {\r\n console.error(ex)\r\n this.x.preload = {\r\n template: '<div><span style=\"color:red\">' + path + '</span> &nbsp; 模板不存在</div>'\r\n }\r\n })\r\n },\r\n slot(name = 'default') {\r\n let wr = this.templateWrapper || this.preloadWrapper || this\r\n return wr.$slots[name] ? wr.$slots[name]() : []\r\n },\r\n html_slots() {\r\n return this.$slots\r\n },\r\n html_self(a) {\r\n return h(this.tagName || 'div', a ? mergeProps(this.html_attrs, this.html_props, this.$attrs) : mergeProps(this\r\n .html_attrs, this.html_props), this.html_slots())\r\n },\r\n html() {\r\n return this.html_self()\r\n }\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n isEntity() {\r\n return !this.template && !this.preload\r\n },\r\n ownerView() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n pubParent() {\r\n return this.providePubParent && $.idsAny(this.$options.pubParentName, this.providePubParent.$options.name) &&\r\n this.providePubParent\r\n },\r\n parentNode() {\r\n return $(this.el().parentElement)\r\n },\r\n tagName() {\r\n return 'div'\r\n },\r\n html_attrs() {\r\n return {\r\n id: this.uid,\r\n class: [this.$options.name, this.html_class, this.x.class],\r\n style: [{\r\n width: this.x.width && $.unitSize(this.x.width),\r\n height: this.x.height && $.unitSize(this.x.height),\r\n minWidth: this.x.minWidth && $.unitSize(this.x.minWidth),\r\n minHeight: this.x.minHeight && $.unitSize(this.x.minHeight),\r\n maxWidth: this.x.maxWidth && $.unitSize(this.x.maxWidth),\r\n maxHeight: this.x.maxHeight && $.unitSize(this.x.maxHeight),\r\n }, this.html_style, this.x.style],\r\n ...this.x.on && $.lodash.mapKeys($.lodash.omitBy(this.x.on, (v, k) => k.includes(':')), (v, k) => 'on' + k),\r\n 'w-key': this.getKey(),\r\n 'w-width': this.x.width === '*' ? '*' : null,\r\n 'w-height': this.x.height === '*' ? '*' : null,\r\n title: this.x.tip,\r\n }\r\n },\r\n html_style() {\r\n // implements\r\n },\r\n html_class() {\r\n // implements\r\n },\r\n html_props() {\r\n // implements\r\n },\r\n html_binds() {\r\n return mergeProps(this.html_attrs, this.html_props, this.$attrs)\r\n }\r\n },\r\n render() {\r\n return this.x.template ? this.html_template() :\r\n this.x.preload ? this.html_preload() : this.html()\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['src', 'filter', 'success', 'error', 'complete'],\r\n data() {\r\n return {\r\n loading: false,\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n getSrc(a) {\r\n let x = this.x || this.$props\r\n return a ? $.urlFormat(x.src, x.data, x) : x.src\r\n },\r\n request(fn) {\r\n let src = this.getSrc(true)\r\n if (src && !this.loading) {\r\n this.showLoading(true)\r\n $.ajax({\r\n src,\r\n context: this,\r\n filter: this.x.filter,\r\n error: this.x.error,\r\n complete: this.x.complete,\r\n success: (...args) => {\r\n this.showLoading(false)\r\n this.loaded = true\r\n this.x.success && this.x.success(...args)\r\n fn && fn()\r\n }\r\n })\r\n }\r\n },\r\n showLoading(a) {\r\n this.loading = a\r\n }\r\n }\r\n }\r\n</script>\r\n","<template>\r\n <teleport to=\"#w-dfish-pops\" v-if=\"p.hidden\"></teleport>\r\n <w-dialog v-else-if=\"p.cmd.type === 'Dialog'\" v-bind=\"p.cmd\"></w-dialog>\r\n <w-alert v-else-if=\"p.cmd.type === 'Alert'\" v-bind=\"p.cmd\"></w-alert>\r\n <w-confirm v-else-if=\"p.cmd.type === 'Confirm'\" v-bind=\"p.cmd\"></w-confirm>\r\n <w-tip v-else-if=\"p.cmd.type === 'Tip'\" v-bind=\"p.cmd\"></w-tip>\r\n <w-menu v-else-if=\"p.cmd.type === 'Menu'\" v-bind=\"p.cmd\"></w-menu>\r\n <w-loading v-else-if=\"p.cmd.type === 'Loading'\" v-bind=\"p.cmd\"></w-loading>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n\r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","<template>\r\n <teleport to=\"#w-dfish-pops\" v-if=\"p.hidden\"></teleport>\r\n <w-dialog v-else-if=\"p.cmd.type === 'Dialog'\" v-bind=\"p.cmd\"></w-dialog>\r\n <w-alert v-else-if=\"p.cmd.type === 'Alert'\" v-bind=\"p.cmd\"></w-alert>\r\n <w-confirm v-else-if=\"p.cmd.type === 'Confirm'\" v-bind=\"p.cmd\"></w-confirm>\r\n <w-tip v-else-if=\"p.cmd.type === 'Tip'\" v-bind=\"p.cmd\"></w-tip>\r\n <w-menu v-else-if=\"p.cmd.type === 'Menu'\" v-bind=\"p.cmd\"></w-menu>\r\n <w-loading v-else-if=\"p.cmd.type === 'Loading'\" v-bind=\"p.cmd\"></w-loading>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n\r\n export default {\r\n name: 'w-pop',\r\n props: ['p'],\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n</style>\r\n","<script>\r\n import WidgetAbs from './WidgetAbs.vue'\r\n \r\n export default {\r\n mixins: [WidgetAbs],\r\n inject: ['provideView']\r\n }\n</script>\n\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n const onScroll = function(e) {\r\n if (this.wScrollPercentX) {\r\n let left = e.target.scrollLeft\r\n this.scrollXPosition = left == 0 ? 'left' : left >= this.wScrollSizeX ? 'right' : 'center'\r\n this.$refs.wScrollBarThumbX.style.transform = `translateX(${left/this.wScrollPercentX}px)`\r\n }\r\n if (this.wScrollPercentY) {\r\n let top = e.target.scrollTop\r\n this.scrollYPosition = top == 0 ? 'top' : top >= this.wScrollSizeY ? 'bottom' : 'middle'\r\n this.$refs.wScrollBarThumbY.style.transform = `translateY(${top/this.wScrollPercentY}px)`\r\n }\r\n this.onScroll(e)\r\n }\r\n\r\n const onMousedown = function(dnEv) {\r\n let dir, dnX, dnY, scrLeft, scrTop\r\n $.moveup((mvEv) => {\r\n if (!dir) {\r\n dir = this.$refs.wScrollBarThumbX === dnEv.target ? 'X' : 'Y'\r\n dnX = dnEv.clientX\r\n dnY = dnEv.clientY\r\n scrLeft = this.$refs.wScrollOverflow.scrollLeft\r\n scrTop = this.$refs.wScrollOverflow.scrollTop\r\n dnEv.target.parentNode.classList.add('z-drag')\r\n }\r\n if (dir === 'X') {\r\n this.$refs.wScrollOverflow.scrollLeft = scrLeft + ((mvEv.clientX - dnX) * this.wScrollPercentX)\r\n } else {\r\n this.$refs.wScrollOverflow.scrollTop = scrTop + ((mvEv.clientY - dnY) * this.wScrollPercentY)\r\n }\r\n }, (upEv) => {\r\n dnEv.target.parentNode.classList.remove('z-drag')\r\n }, dnEv)\r\n this.onScrollbarMousedown(dnEv)\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n props: ['scrollX', 'scrollY', 'scrollView'],\r\n data() {\r\n return {\r\n wScrollPercentX: null,\r\n wScrollPercentY: null,\r\n wScrollSizeX: null,\r\n wScrollSizeY: null,\r\n scrollXPosition: 'left',\r\n scrollYPosition: 'top',\r\n }\r\n },\r\n emits: ['bindscroll'],\r\n methods: {\r\n onScroll(e) {\r\n //implement\r\n },\r\n onScrollbarMousedown(e) {\r\n //implement\r\n },\r\n // 让元素滚动到可见区域。支持下面两种调用方式 /e -> el|wg, y -> (top,bottom,middle,auto,top+n,bottom+n,n), x -> (left,right,center,auto), p -> ease?, q -> divide(整除数字,让滚动的距离是这个数字的整数倍), r -> callback\r\n scrollTo(e, y, x, p, q, r) {\r\n var a = this.ovf();\r\n if (!a) return;\r\n var b = this.$refs.wScrollCont || a,\r\n c = $.bcr(a),\r\n d = $.bcr(b),\r\n f = e ? $.bcr(e) : d,\r\n t, l;\r\n if (y != null || e) {\r\n if (y == null || !isNaN(y)) {\r\n t = $.number(y)\r\n if (e) t = f.top - d.top - t\r\n } else if (~y.indexOf('top')) {\r\n t = f.top - d.top - (+y.slice(3))\r\n } else if (~y.indexOf('bottom')) {\r\n t = f.bottom - d.top - c.height + (+y.slice(6))\r\n } else if (y === 'middle') {\r\n t = f.top - d.top - ((c.height / 2) - (f.height / 2))\r\n } else {\r\n if (f.top < c.top)\r\n t = a.scrollTop - c.top + f.top\r\n else if (f.bottom > c.bottom)\r\n t = a.scrollTop + f.bottom - c.bottom\r\n }\r\n }\r\n if (x != null || e) {\r\n if (x == null || !isNaN(x)) {\r\n l = $.number(x)\r\n if (e) l = f.left - d.left - l\r\n } else if (~y.indexOf('left')) {\r\n l = f.left - d.left - (+y.slice(4))\r\n } else if (~y.indexOf('right')) {\r\n l = f.right - d.left - c.width + (+y.slice(5))\r\n } else if (x === 'center') {\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n } else {\r\n if (f.right < c.left || f.left > c.right)\r\n l = f.left - d.left - ((c.width / 2) - (f.width / 2))\r\n else if (f.left < c.left)\r\n l = a.scrollLeft - f.left + c.left\r\n }\r\n }\r\n if (q != null) {\r\n t != null && (t = t - (t % q))\r\n l != null && (l = l - (l % q))\r\n }\r\n if (p) {\r\n let g = a.scrollTop\r\n let h = a.scrollLeft\r\n $.ease((i) => {\r\n if (t != null) a.scrollTop = g + (t - g) * i\r\n if (l != null) a.scrollLeft = h + (l - h) * i\r\n i === 1 && r && r.call(this)\r\n }, p)\r\n } else {\r\n if (t != null) a.scrollTop = t\r\n if (l != null) a.scrollLeft = l\r\n r && r.call(this)\r\n }\r\n },\r\n //@public /@ e -> el, y -> (top,bottom,middle), p -> ease?, q -> divide, r -> callback\r\n scrollToY(e, y, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollTop\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = y, y = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, y, null, p, q, r)\r\n },\r\n //@public /@ e -> el, x -> (left,right,center), p -> ease?, q -> divide, r -> callback\r\n scrollToX(e, x, p, q, r) {\r\n if (arguments.length === 0)\r\n return this.ovf().scrollLeft\r\n if (typeof e !== 'object') {\r\n r = q, q = p, p = x, x = e, e = null\r\n }\r\n if (typeof q === 'function') {\r\n r = q, q = null\r\n }\r\n this.scrollTo(e, null, x, p, q, r)\r\n },\r\n ovf() {\r\n return $.br.mobile ? this.el() : this.$refs.wScrollOverflow || this.$refs.wScrollCont\r\n },\r\n html_scroll_slots(s) {\r\n return this.x.scrollX || this.x.scrollY ? [h('div', {\r\n ref: \"wScrollOverflow\",\r\n class: \"w-scroll-overflow\",\r\n // style: {\r\n // minWidth: $.unitSize(this.x.minWidth),\r\n // minHeight: $.unitSize(this.x.minHeight),\r\n // maxWidth: $.unitSize(this.x.maxWidth),\r\n // maxHeight: $.unitSize(this.x.maxHeight),\r\n // },\r\n onscroll: onScroll.bind(this),\r\n onmouseenter: this.scroll_observe\r\n }, h('div', {\r\n class: 'w-scroll-cont',\r\n style: this.html_scroll_cont_style,\r\n ref: \"wScrollCont\"\r\n }, s || (this.$slots.default && this.$slots.default()))),\r\n !$.br.mobile && this.x.scrollX && [h('div', {\r\n class: \"w-scrollbar-x\",\r\n ref: \"wScrollBarX\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbX\"\r\n }))],\r\n !$.br.mobile && this.x.scrollY && [h('div', {\r\n class: \"w-scrollbar-y\",\r\n ref: \"wScrollBarY\",\r\n onmousedown: onMousedown.bind(this)\r\n }, h('div', {\r\n class: \"w-scrollbar-thumb\",\r\n ref: \"wScrollBarThumbY\"\r\n }))]] : (s || (this.$slots.default && this.$slots.default()))\r\n \r\n },\r\n scroll_observe() {\r\n if ($.br.mobile || !this.$refs.wScrollOverflow || !this.el()) return\r\n const wrap = this.el().getBoundingClientRect()\r\n const flow = this.$refs.wScrollOverflow.getBoundingClientRect()\r\n const cont = this.$refs.wScrollCont.getBoundingClientRect()\r\n let xSize = cont.width > flow.width && cont.width - flow.width\r\n let ySize = cont.height > flow.height && cont.height - flow.height\r\n let xPercent = flow.width / cont.width\r\n let yPercent = flow.height / cont.height\r\n if (xSize && xSize <= 1) xSize = false //@fixme 横向滚动时,width:fit-content的设置会让有小数点的宽度变成整数。目前先加一个像素容错\r\n if (this.x.scrollX) {\r\n this.$refs.wScrollBarThumbX.style.width = (xPercent * 100) + '%'\r\n this.wScrollSizeX = xSize\r\n this.wScrollPercentX = xSize && xSize / ((1 - xPercent) * wrap.width)\r\n } \r\n if (this.x.scrollY) {\r\n this.$refs.wScrollBarThumbY.style.height = (yPercent * 100) + '%'\r\n this.wScrollSizeY = ySize\r\n this.wScrollPercentY = ySize && ySize / ((1 - yPercent) * wrap.height)\r\n }\r\n }\r\n },\r\n computed: {\r\n html_scroll_cont_style() {\r\n // implement\r\n },\r\n html_scroll_class() {\r\n let sx = this.x.scrollX\r\n let sy = this.x.scrollY\r\n return {\r\n 'w-scroll': sx || sy,\r\n 'w-scroll-x': sx,\r\n 'w-scroll-y': sy,\r\n //'w-scroll-overflow': $.br.mobile,\r\n 'z-scroll-x-show': this.wScrollPercentX,\r\n 'z-scroll-y-show': this.wScrollPercentY,\r\n 'z-scroll-x-left': sx && this.scrollXPosition == 'left',\r\n 'z-scroll-x-center': sx && this.scrollXPosition == 'center',\r\n 'z-scroll-x-right': sx && this.scrollXPosition == 'right',\r\n 'z-scroll-y-top': sy && this.scrollYPosition == 'top',\r\n 'z-scroll-y-middle': sy && this.scrollYPosition == 'middle',\r\n 'z-scroll-y-bottom': sy && this.scrollYPosition == 'bottom',\r\n }\r\n },\r\n\r\n },\r\n mounted() {\r\n if (!this.isEntity) return\r\n if (this.x.scrollView && this.el()) {\r\n setTimeout(() => {\r\n let el = this.el().querySelector(this.x.scrollView)\r\n el && this.scrollToY(el, 'middle')\r\n })\r\n }\r\n //在PC端生成滚动条。移动端不生成\r\n if ($.br.mobile || !(this.x.scrollX || this.x.scrollY)) return\r\n this.$refs.wScrollOverflow && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollOverflow)\r\n this.$refs.wScrollCont && new ResizeObserver(this.scroll_observe).observe(this.$refs.wScrollCont)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-scroll {\r\n position: relative;\r\n display: flex;\r\n }\r\n\r\n .w-scroll-overflow {\r\n flex: 1;\r\n box-sizing: border-box;\r\n scrollbar-width: none;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow {\r\n overflow-x: auto;\r\n }\r\n\r\n .w-scroll-y>.w-scroll-overflow {\r\n overflow-y: auto;\r\n }\r\n\r\n .w-scroll-cont {\r\n min-width: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-scroll-x>.w-scroll-overflow>.w-scroll-cont {\r\n width: fit-content;\r\n }\r\n\r\n .w-scroll-overflow::-webkit-scrollbar {\r\n width: 0;\r\n height: 0;\r\n }\r\n\r\n .w-scrollbar-thumb {\r\n background-color: rgba(200, 200, 200, .9);\r\n }\r\n\r\n .w-scrollbar-thumb:hover {\r\n background-color: rgba(180, 180, 180, 1);\r\n }\r\n\r\n .w-scroll-x:hover>.w-scrollbar-x,\r\n .w-scroll-x.z-hv>.w-scrollbar-x,\r\n .w-scroll-y:hover>.w-scrollbar-y,\r\n .w-scroll-y.z-hv>.w-scrollbar-y,\r\n .w-scrollbar-x.z-drag,\r\n .w-scrollbar-y.z-drag {\r\n visibility: visible;\r\n }\r\n \r\n .w-scroll.z-scroll-x-show > .w-scrollbar-x,\r\n .w-scroll.z-scroll-y-show > .w-scrollbar-y {\r\n display: block;\r\n }\r\n\r\n .w-scrollbar-x {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n height: 12px;\r\n z-index: 10;\r\n }\r\n\r\n .w-scrollbar-y {\r\n display: none;\r\n visibility: hidden;\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n width: 12px;\r\n z-index: 10;\r\n }\r\n \r\n .w-scrollbar-thumb {\r\n position: absolute;\r\n transition-property: top,left;\r\n transition-duration: .1s;\r\n }\r\n\r\n .w-scrollbar-x > .w-scrollbar-thumb {\r\n top: 4px;\r\n bottom: 0;\r\n }\r\n\r\n\r\n .w-scrollbar-y > .w-scrollbar-thumb {\r\n left: 4px;\r\n right: 0;\r\n }\r\n \r\n .w-scrollbar-x:hover > .w-scrollbar-thumb {\r\n top: 0;\r\n }\r\n\r\n .w-scrollbar-y:hover > .w-scrollbar-thumb {\r\n left: 0;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['align', 'valign', 'gap'],\r\n data() {\r\n return {\r\n isVertical: false\r\n }\r\n },\r\n computed: {\r\n html_align_class() {\r\n return [\r\n this.x.align && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-align-' + this.x.align,\r\n this.x.valign && 'z-' + (this.x.vertical || this.isVertical ? 'v' : 'h') + '-valign-' + this.x.valign\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Scroll from './Scroll.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-horizontal',\r\n mixins: [Scroll, AlignParent],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n provideLayout: this.$options.name\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.html_scroll_class, this.html_align_class, {'z-br': this.x.br}],\r\n style: !this.x.scrollX && !this.x.scrollY && this.html_scroll_cont_style,\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n return {\r\n gap: this.x.gap ? $.unitSize(this.x.gap) : ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-vertical',\r\n mixins: [Horizontal],\r\n data() {\r\n return {\r\n isVertical: true\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-img',\r\n pubParentName: 'w-album',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['src', 'text', 'square', 'imgWidth', 'imgHeight', 'dataUrl', 'vertical'],\r\n data() {\r\n return {\r\n hover: false\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n vertical: true,\r\n }\r\n },\r\n onerror(e) {\r\n if (this.dataUrl) e.target.src = this.dataUrl\r\n },\r\n html_slots() {\r\n let src = this.x.src\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n let svg = src && src.startsWith('#')\r\n let cont = this.$slots.default || (this.x.text ? {\r\n default: () => this.x.text\r\n } : null)\r\n src ||= this.dataUrl\r\n return [\r\n src && h('div', {\r\n class: 'w-img-gut',\r\n }, [font ? h('i', {\r\n class: 'w-img-icon ' + src.replace(/\\./g, '')\r\n }) :\r\n svg ? h('svg', {\r\n class: 'f-svg ' + src.slice(1)\r\n }, h('use', {\r\n 'xlink:href': src,\r\n })) :\r\n h('img', {\r\n ref: 'img',\r\n src: src,\r\n class: 'w-img-icon',\r\n style: {\r\n width: $.unitSize(this.x.imgWidth),\r\n height: $.unitSize(this.x.imgHeight),\r\n },\r\n onerror: this.onerror,\r\n }),\r\n this.$slots.cover && h('div', {\r\n class: 'w-img-cover f-abs-full'\r\n }, this.$slots.cover())\r\n ]),\r\n cont && h(Vertical, {\r\n class: 'w-img-description'\r\n }, cont)\r\n ]\r\n }\r\n },\r\n computed: {\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n return {\r\n class: {\r\n 'z-hv': this.hover,\r\n 'z-on': this.isCurrent,\r\n 'z-square': this.x.square,\r\n 'z-canplay': this.x.canPlay,\r\n 'z-vertical': this.x.vertical,\r\n },\r\n onmouseenter: e => this.hover = true,\r\n onmouseleave: e => this.hover = false\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-img {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n gap: 10px;\r\n }\r\n\r\n .w-img.z-vertical {\r\n flex-direction: column;\r\n gap: 7px;\r\n }\r\n\r\n .w-img-gut {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-img-gut img {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-gut {\r\n position: relative;\r\n overflow: hidden;\r\n width: 100%;\r\n height: 0;\r\n padding-bottom: 100%;\r\n }\r\n\r\n .w-img.z-square .w-img-icon {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-img-icon {\r\n display: block;\r\n object-fit: cover;\r\n line-height: 1;\r\n }\r\n\r\n .w-img-cover {}\r\n\r\n .w-img-description {}\r\n\r\n .w-img.z-vertical>.w-img-description {\r\n width: 100%;\r\n text-align: center;\r\n }\r\n</style>\n","<template>\r\n <w-alert>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-warning'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n export default {\r\n props: ['text', 'title', 'icon'],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-alert>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"close\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-warning'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-alert>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n export default {\r\n props: ['text', 'title', 'icon'],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n close(e) {\r\n $.close(e)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-confirm>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"cancel\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\" valign=\"middle\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-question'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"></w-button>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n export default {\r\n mixins: [TemplateAlert],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-confirm>\r\n <w-horizontal class=\"w-alert-head\">\r\n <w-dialog-move>\r\n <div class=\"w-alert-move\" w-width=\"*\"><div class=\"w-alert-title\" v-if=\"title\">{{title}}</div></div>\r\n </w-dialog-move>\r\n <i class=\"w-alert-close f-i f-i-close\" @click=\"cancel\"></i>\r\n </w-horizontal>\r\n <w-vertical class=\"w-alert-body\">\r\n <w-horizontal class=\"w-alert-main\" valign=\"middle\">\r\n <w-img class=\"w-alert-icon\" :src=\"icon || '.f-i .f-i-question'\"></w-img>\r\n <slot>\r\n <div w-width=\"*\" class=\"w-alert-text\" v-html=\"text\"></div>\r\n </slot>\r\n </w-horizontal>\r\n <w-buttonbar class=\"w-alert-buttonbar\">\r\n <w-submitbutton class=\"w-alert-button w-alert-submitbutton\" text=\"确定\" @click=\"save\"\r\n :ownproperty=\"true\"></w-submitbutton>\r\n <w-button class=\"w-alert-button\" text=\"取消\" @click=\"cancel\" :ownproperty=\"true\"></w-button>\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-confirm>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import TemplateAlert from './TemplateAlert.vue'\r\n export default {\r\n mixins: [TemplateAlert],\r\n methods: {\r\n save(e) {\r\n $.dialog(e).cueYes()\r\n },\r\n cancel(e) {\r\n $.dialog(e).cueNo()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-tip>\r\n <div class=\"w-tip-body f-flex-center\">\r\n <div class=\"w-tip-text\"><slot>{{text}}</slot></div>\r\n </div>\r\n </w-tip>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n \r\n export default {\r\n props: ['text'],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<template>\r\n <w-tip>\r\n <div class=\"w-tip-body f-flex-center\">\r\n <div class=\"w-tip-text\"><slot>{{text}}</slot></div>\r\n </div>\r\n </w-tip>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n \r\n export default {\r\n props: ['text'],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import Pop from './Pop.vue'\r\n import Img from './Img.vue'\r\n\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n\r\n import PreloadDialog from '../preload/PreloadDialog.vue'\r\n import TemplateAlert from '../template/TemplateAlert.vue'\r\n import TemplateConfirm from '../template/TemplateConfirm.vue'\r\n import TemplateTip from '../template/TemplateTip.vue'\r\n\r\n const templateHooks = {\r\n Alert: TemplateAlert,\r\n Confirm: TemplateConfirm,\r\n Tip: TemplateTip,\r\n }\r\n\r\n const _formatCache = {}\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [SrcParent],\r\n provide() {\r\n return {\r\n provideView: this\r\n }\r\n },\r\n props: ['commands'],\r\n emits: ['load'],\r\n data() {\r\n return {\r\n isView: true,\r\n pops: [],\r\n }\r\n },\r\n beforeCreate() {\r\n this.popCommanders = {}\r\n },\r\n created() {\r\n if (this.isEntity && this != $.docView) {\r\n this.path = (this.ownerView.path ? this.ownerView.path + '/' : '') + (this.getKey() || this.uid)\r\n $.viewCache[this.path] = this\r\n }\r\n },\r\n methods: {\r\n reload() {\r\n this.request()\r\n },\r\n find(a) {\r\n const b = this.el().querySelectorAll(`[w-key=\"${a}\"]`)\r\n for (let c of b) {\r\n if ((c = $(c)) && c.ownerView === this) return c\r\n }\r\n },\r\n fv(a, b) {\r\n let d = this.f(a)\r\n if (arguments.length === 2) {\r\n d && d.val(b)\r\n } else if (typeof a === 'object') {\r\n for (let i in a) this.fv(i, a[i])\r\n } else {\r\n return d && (d.groupFormVal ? d.groupFormVal() : d.formVal())\r\n }\r\n },\r\n f(a, b) {\r\n return this.fAll(a, b)[0]\r\n },\r\n // 获取范围内的所有表单 /@a -> name, b -> range?(elem|widget)\r\n fAll(a, b) {\r\n if (a === '*' || a == null) {\r\n for (var i = 0, q = this.getFormList(b, true), l = q.length, d, e, f = []; i < l; i++)\r\n (d = $(q[i])) && d != e && f.push(e = d);\r\n return f;\r\n }\r\n let dom = b ? (b.isWidget ? b.el() : b) : this.el()\r\n let r = $.q(':input[name=\"' + a + '\"]', dom)\r\n if (!r.length) r = $.q(':input[w-name=\"' + a + '\"]', dom)\r\n return $.lodash.map(r.not('.f-form-hide :input'), d => $(d))\r\n },\r\n // 获取所有表单,返回一个dom集合 /@ a -> range(widgetID, 可选,如果 range 以 !开头,表示排除), b -> 是否包含disabled的表单\r\n getFormList(a, b) {\r\n if (Array.isArray(a)) return a\r\n let r, f = ':input:not(button)' + (b ? '' : ':not(:disabled)')\r\n if (a && typeof a === 'string') {\r\n let d = a.charAt(0) === '!'\r\n let e = a.replace(/\\!/g, '').split(',').map(v => `[w-key=\"${v}\"] ${f}`)\r\n if (e = e.join())\r\n r = $.q(d ? `${f}:not(${e})` : e, this.el())\r\n } else {\r\n r = $.q(f, a ? (a.isWidget ? a.el() : a) : this.el())\r\n }\r\n return r ? $.lodash.map(r.not('.f-form-hide :input')) : []\r\n },\r\n // 获取提交数据 {name: value, ...} /@ a -> range [widgetID, 可选,如果 range 以 !开头,表示排除]\r\n getPostData(range) {\r\n let r = {}\r\n this.getFormList(range).forEach(a => {\r\n let d = a.name\r\n let v = a.value\r\n if (!d) return\r\n switch (a.type) {\r\n case 'text':\r\n let t = a.getAttribute('w-valuetype')\r\n if (t === 'number')\r\n v = v.replace(/[^\\d\\.-]/g, '')\r\n break\r\n case 'checkbox':\r\n if (!a.value || (!a.checked && !(a.indeterminate && a.getAttribute('w-partialsubmit'))))\r\n return null\r\n break\r\n case 'radio':\r\n if (!a.value || !a.checked)\r\n return null\r\n d = a.getAttribute('w-name') || d\r\n break;\r\n case 'select-one':\r\n if (a.selectedIndex < 0)\r\n return null;\r\n break;\r\n }\r\n v && (v = $.strTrim(v))\r\n if (d in r) {\r\n if (!Array.isArray(r[d]))\r\n r[d] = [r[d]]\r\n r[d].push(v)\r\n } else\r\n r[d] = v\r\n })\r\n return r\r\n },\r\n // 表单验证。如果检测到错误,将返回一个包含错误信息的数组 /@r -> range, n -> validate group name\r\n getValidError(range) {\r\n let e, q = this.getFormList(range)\r\n for (let i = 0, l = q.length, c, v; i < l; i++) {\r\n if ((c = $(q[i])) && c.isFormWidget && (v = c.getValidError())) {\r\n if (!e) e = []\r\n if (!e.find(n => n.wid == v.wid)) e.push(v)\r\n }\r\n }\r\n return e\r\n },\r\n // 表单验证。验证通过返回true /@ range -> validaterange\r\n valid(range) {\r\n if (this._err_ns) {\r\n this._err_ns.forEach(v => {\r\n let n = $.vueCache[v.wid]\r\n n && n.warn(false)\r\n })\r\n }\r\n let e = this.getValidError(range)\r\n if (e) {\r\n e.forEach(v => $.vueCache[v.wid].warn())\r\n $.vueCache[e[0].wid].showErrorTip(e[0].text)\r\n }\r\n return !(this._err_ns = e)\r\n },\r\n // @range -> 范围, original -> (设置为true,检测表单是否有修改,对照的值为初始值)\r\n isModified(range, original) {\r\n return this.getFormList(range).find(o => (o = $(o)).isModified && o.isModified(original))\r\n },\r\n // @range -> 范围, original -> (设置为true,设置为true,修改初始值)\r\n saveModified(range, original) {\r\n this.getFormList(range).forEach(o => (o = $(o)).saveModified && o.saveModified(original))\r\n },\r\n resetForm(range, empty) {\r\n this.getFormList(range).forEach(f => {\r\n let c = $(f)\r\n c.reset && c.reset(empty)\r\n })\r\n },\r\n showLoading(a) {\r\n this.cmd({\r\n type: 'Loading',\r\n cover: true,\r\n local: true,\r\n hide: a === false ? true : false\r\n })\r\n },\r\n cmdDialog(cmd, args, commander) {\r\n if (cmd.hide) {\r\n let o = this.pops.find(v => cmd.hide === true ? v.cmd.type == cmd.type : v.cmd.orientUid == cmd.hide)\r\n return o && this.removeDialog(o.cmd.orientUid)\r\n }\r\n if (!cmd.template && templateHooks[cmd.type]) cmd.template = templateHooks[cmd.type]\r\n let uid = $.uid()\r\n if (!cmd.orientUid) cmd.orientUid = uid\r\n this.pops.push({\r\n cmd,\r\n args,\r\n commander,\r\n hidden: false,\r\n })\r\n return uid\r\n },\r\n removeDialog(u) {\r\n this.$nextTick(() => {\r\n let o = this.pops.find(v => v.cmd.orientUid == u)\r\n if (o) {\r\n if (this.pops.findIndex(v => v.cmd.orientUid != u && !v.hidden) > -1) {\r\n o.hidden = true\r\n } else {\r\n this.pops = []\r\n }\r\n }\r\n })\r\n },\r\n getDialogOptions(u) {\r\n return this.pops.find(v => v.cmd.orientUid == u)\r\n },\r\n html_pops() {\r\n return [this.pops.map(p => h(Pop, {p}))]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.request()\r\n this.trigger('load')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-view {\r\n position: relative;\r\n }\r\n .w-view-loading {\r\n padding: 10px;\r\n gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n }\r\n\r\n .w-view-loading .f-svg {\r\n width: 32px;\r\n height: 32px;\r\n fill: #fff;\r\n }\r\n</style>\n","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","<template>\r\n <svg style=\"display:none;width:0;height:0\" width=\"0\" height=\"0\" focusable=\"false\" aria-hidden=\"true\">\r\n <symbol id=\"f-svg-loading\" viewBox=\"0 0 50 50\">\r\n <path\r\n d=\"M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z\"\r\n transform=\"rotate(86.9154 25 25)\">\r\n </path>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-1\" viewBox=\"10 10 80 80\">\r\n <circle cx=\"50\" cy=\"50\" r=\"30\" />\r\n </symbol>\r\n <symbol id=\"f-svg-loading-2\" viewBox=\"0 0 24 30\">\r\n <rect x=\"0\" y=\"8.66115\" width=\"4\" height=\"12.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"8\" y=\"6.16115\" width=\"4\" height=\"17.6777\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.15s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n <rect x=\"16\" y=\"6.33885\" width=\"4\" height=\"17.3223\" opacity=\"0.2\">\r\n <animate attributeName=\"opacity\" values=\"0.2; 1; .2\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"height\" values=\"10; 20; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n <animate attributeName=\"y\" values=\"10; 5; 10\" begin=\"0.3s\" dur=\"0.6s\"\r\n repeatCount=\"indefinite\"></animate>\r\n </rect>\r\n </symbol>\r\n <symbol id=\"f-svg-loading-3\" viewBox=\"0 0 1024 1024\">\r\n <path\r\n d=\"M514.048 337.715a32 32 0 0 1-32-32V135.168a32 32 0 1 1 64 0v170.534a32 32 0 0 1-32 32z m-1.28 581.799a32 32 0 0 1-32-32V714.406a32 32 0 1 1 64 0v173.095a32 32 0 0 1-32 32zM305.011 543.347H135.744a32 32 0 0 1 0-64h169.267a32 32 0 0 1 0 64z m583.079 0H713.83a32 32 0 0 1 0-64h174.26a32 32 0 1 1 0 64zM245.978 806.4a32 32 0 0 1-22.656-54.669L342.643 632.32a32 32 0 0 1 45.325 45.325L268.646 796.979a31.898 31.898 0 0 1-22.668 9.344z m408.435-408.5a32 32 0 0 1-22.656-54.68l123.558-123.56a32 32 0 1 1 45.325 45.3L677.12 388.544a31.898 31.898 0 0 1-22.669 9.357z m121.523 411.06a31.885 31.885 0 0 1-22.669-9.344l-122.15-122.15a32 32 0 1 1 45.325-45.325l122.15 122.15a32 32 0 0 1-22.656 54.669zM364.672 397.632a31.923 31.923 0 0 1-22.669-9.344L221.273 267.52a32 32 0 1 1 45.325-45.325l120.73 120.743a32 32 0 0 1-22.656 54.668z m0 0\"\r\n p-id=\"4486\"></path>\r\n </symbol>\r\n </svg>\r\n</template>\r\n\r\n<script>\r\n export default {\r\n name: 'w-svg-loading'\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-svg {\r\n width: 20px;\r\n height: 20px;\r\n fill: #777;\r\n }\r\n \r\n .f-svg-loading {\r\n animation: f-svg-key-rotate .6s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1 {\r\n animation: f-svg-key-rotate 1.5s linear infinite;\r\n }\r\n \r\n .f-svg-loading-3 {\r\n animation: f-svg-key-rotate 2s linear infinite;\r\n }\r\n\r\n .f-svg-loading-1>use {\r\n stroke: #777;\r\n stroke-width: 6;\r\n fill: none;\r\n animation: f-svg-key-dash 1.5s linear infinite;\r\n }\r\n\r\n @keyframes f-svg-key-rotate {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n @keyframes f-svg-key-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -50;\r\n }\r\n 100% {\r\n stroke-dasharray: 130, 200;\r\n stroke-dashoffset: -188;\r\n }\r\n }\r\n</style>\n","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: this.data.options?.current || 0,\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-dialog class=\"f-dialog-preview\" width=\"calc(100% - 100px)\" height=\"calc(100% - 100px)\" :ownproperty=\"true\" :cover=\"true\" :autoHide=\"true\">\r\n <template v-if=\"data.type=='image'\">\r\n <w-swiper ref=\"swiper\" class=\"f-height\" :current=\"current\" :arrow=\"data.imgs.length > 1\" :indicator-dots=\"data.imgs.length > 1\" duration=\"300\">\r\n <w-swiper-item v-for=\"(item,index) in data.imgs\" :key=\"index\">\r\n <div class=\"f-height f-rel f-oh\">\r\n <img class=\"_img\" :src=\"item\" />\r\n </div>\r\n </w-swiper-item>\r\n </w-swiper>\r\n <div class=_rotate>\r\n <a class=_l @click=\"rot(-1)\">{{loc.rotate_left}}</a>\r\n <span class=_s>|</span>\r\n <a class=_r @click=\"rot(1)\">{{loc.rotate_right}}</a>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <w-video class=\"f-height\" :src=\"data.src\"></w-video>\r\n </template>\r\n <div class=\"_dlg_x\" @click=\"close\"></div>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n return {\r\n rotate: 0,\r\n current: this.data.options?.current || 0,\r\n }\r\n },\r\n methods: {\r\n close() {\r\n $.close(this)\r\n },\r\n rot(a) {\r\n let r = this.rotate\r\n let b = $.bcr(this.$refs.swiper.el())\r\n let w = b.width - 40\r\n let h = b.height - 80\r\n if (a > 0) {\r\n r += 90\r\n } else if (a < 0) {\r\n r -= 90\r\n }\r\n let t = (r / 90) % 2\r\n $.q('.w-swiper-item.z-on ._img', this.$refs.swiper.el()).css({\r\n transform: 'rotate(' + r + 'deg)',\r\n maxWidth: t ? h : w,\r\n maxHeight: t ? w : h,\r\n });\r\n this.rotate = r\r\n }\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n },\r\n mounted() {\r\n \r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <w-dialog class=\"f-datesheet\">\r\n <w-buttonbar class=\"f-datesheet-bbr\" align=\"between\" height=\"52\" style=\"padding:0 10px\">\r\n <w-button text=\"取消\" @click=\"clickCancel\"></w-button>\r\n <w-submitbutton text=\"确定\" @click=\"clickOK\"></w-submitbutton>\r\n </w-buttonbar>\r\n <w-horizontal height=\"*\">\r\n <w-vertical width=\"*\" v-if=\"hasYear\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">年</w-html>\r\n <w-picker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\" :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-picker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-picker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-picker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n return {\r\n focusYear: d.getFullYear(),\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this\r\n .focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this.minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this.maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\r\n","<template>\r\n <w-dialog class=\"f-datesheet\">\r\n <w-buttonbar class=\"f-datesheet-bbr\" align=\"between\" height=\"52\" style=\"padding:0 10px\">\r\n <w-button text=\"取消\" @click=\"clickCancel\"></w-button>\r\n <w-submitbutton text=\"确定\" @click=\"clickOK\"></w-submitbutton>\r\n </w-buttonbar>\r\n <w-horizontal height=\"*\">\r\n <w-vertical width=\"*\" v-if=\"hasYear\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">年</w-html>\r\n <w-picker height=\"*\" v-model=\"focusYear\" :min-value=\"minYear\" :max-value=\"maxYear\" :keep-index=\"true\" :data=\"{mode: 'year'}\">\r\n <w-option v-for=\"y in yearList\" :key=\"y\" :value=\"y\" :text=\"y\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMonth\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">月</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMonth\" :min-value=\"minMonth\" :max-value=\"maxMonth\" :keep-index=\"true\" :data=\"{mode: 'month'}\">\r\n <w-option v-for=\"m in monthList\" :key=\"m\" :value=\"m\" :text=\"dfish.strPad(m+1)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasDate\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">日</w-html>\r\n <w-picker height=\"*\" v-model=\"focusDate\" :min-value=\"minDate\" :max-value=\"maxDate\" :keep-index=\"true\" :data=\"{mode: 'date'}\">\r\n <w-option v-for=\"d in dateList\" :key=\"d\" :value=\"d\" :text=\"dfish.strPad(d)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasHour\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">时</w-html>\r\n <w-picker height=\"*\" v-model=\"focusHour\" :min-value=\"minHour\" :max-value=\"maxHour\" :keep-index=\"true\">\r\n <w-option v-for=\"h in hourList\" :key=\"h\" :value=\"h\" :text=\"dfish.strPad(h)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasMinute\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">分</w-html>\r\n <w-picker height=\"*\" v-model=\"focusMinute\" :min-value=\"minMinute\" :max-value=\"maxMinute\" :keep-index=\"true\">\r\n <w-option v-for=\"i in minuteList\" :key=\"i\" :value=\"i\" :text=\"dfish.strPad(i)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n <w-vertical width=\"*\" v-if=\"hasSecond\">\r\n <w-html class=\"f-datesheet-head\" align=\"center\" valign=\"middle\">秒</w-html>\r\n <w-picker height=\"*\" v-model=\"focusSecond\" :min-value=\"minSecond\" :max-value=\"maxSecond\" :keep-index=\"true\">\r\n <w-option v-for=\"s in secondList\" :key=\"s\" :value=\"s\" :text=\"dfish.strPad(s)\"></w-option>\r\n </w-picker>\r\n </w-vertical>\r\n\r\n </w-horizontal>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['data'],\r\n data() {\r\n let f = this.data.format || 'yyyy-MM-dd'\r\n let d = this.data && this.data.value ? $.dateParse(this.data.value, f) : new Date\r\n let nd = this.data && this.data.minValue && $.dateParse(this.data.minValue, f)\r\n let xd = this.data && this.data.maxValue && $.dateParse(this.data.maxValue, f)\r\n d = $.numRange(d, nd, xd)\r\n return {\r\n focusYear: d.getFullYear(),\r\n focusMonth: d.getMonth(),\r\n focusDate: d.getDate(),\r\n focusHour: d.getHours(),\r\n focusMinute: d.getMinutes(),\r\n focusSecond: d.getSeconds(),\r\n startYear: $.numRange(d.getFullYear() - 30, nd && nd.getFullYear()),\r\n endYear: $.numRange(d.getFullYear() + 30, null, xd && xd.getFullYear()),\r\n monthDays: new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(),\r\n minTime: nd,\r\n maxTime: xd,\r\n format: f\r\n }\r\n },\r\n watch: {\r\n focusYear(y) {\r\n if (y == this.yearList[0] && y > 1030) {\r\n this.startYear = $.numRange(this.startYear - 30, this.minYear)\r\n } else if (y == this.yearList[this.yearList.length - 1]) {\r\n this.endYear = $.numRange(this.endYear + 30, null, this.maxYear)\r\n }\r\n this.monthDays = new Date(y, this.focusMonth + 1, 0).getDate()\r\n },\r\n focusMonth(m) {\r\n this.monthDays = new Date(this.focusYear, m + 1, 0).getDate()\r\n }\r\n },\r\n methods: {\r\n clickCancel() {\r\n $.close(this)\r\n },\r\n clickOK() {\r\n if (this.data.success) {\r\n let d = new Date(this.focusYear, this.focusMonth, this.focusDate, this.focusHour, this.focusMinute, this\r\n .focusSecond)\r\n this.data.success($.dateFormat(d, this.format))\r\n }\r\n $.close(this)\r\n },\r\n },\r\n computed: {\r\n dfish() {\r\n return $\r\n },\r\n yearList() {\r\n return Array.from(Array(this.endYear - this.startYear + 1)).map((v, i) => this.startYear + i)\r\n },\r\n monthList() {\r\n return Array.from(Array(12)).map((v, i) => i)\r\n },\r\n dateList() {\r\n return Array.from(Array(this.monthDays)).map((v, i) => i + 1)\r\n },\r\n hourList() {\r\n return Array.from(Array(24)).map((v, i) => i)\r\n },\r\n minuteList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n secondList() {\r\n return Array.from(Array(60)).map((v, i) => i)\r\n },\r\n hasYear() {\r\n return this.format.includes('y')\r\n },\r\n hasMonth() {\r\n return this.format.includes('M')\r\n },\r\n hasDate() {\r\n return this.format.includes('d')\r\n },\r\n hasHour() {\r\n return this.format.includes('H')\r\n },\r\n hasMinute() {\r\n return this.format.includes('m')\r\n },\r\n hasSecond() {\r\n return this.format.includes('s')\r\n },\r\n minYear() {\r\n return this.minTime && this.hasYear && this.minTime.getFullYear()\r\n },\r\n maxYear() {\r\n return this.maxTime && this.hasYear && this.maxTime.getFullYear()\r\n },\r\n minMonth() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && this.minTime.getMonth()\r\n },\r\n maxMonth() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && this.maxTime.getMonth()\r\n },\r\n minDate() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && this.minTime.getDate()\r\n },\r\n maxDate() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && this.maxTime.getDate()\r\n },\r\n minHour() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && this.minTime.getHours()\r\n },\r\n maxHour() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && this.maxTime.getHours()\r\n },\r\n minMinute() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && this.minTime.getMinutes()\r\n },\r\n maxMinute() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && this.maxTime.getMinutes()\r\n },\r\n minSecond() {\r\n return this.minTime && (!this.hasYear || this.minYear == this.focusYear) && (!this.hasMonth || this.minMonth == this.focusMonth) && \r\n (!this.hasDate || this.minDate == this.focusDate) && (!this.hasHour || this.minHour == this.focusHour) && (!this.hasMinute || this.minMinute == this.focusMinute) && this.minTime.getSeconds()\r\n },\r\n maxSecond() {\r\n return this.maxTime && (!this.hasYear || this.maxYear == this.focusYear) && (!this.hasMonth || this.maxMonth == this.focusMonth) && \r\n (!this.hasDate || this.maxDate == this.focusDate) && (!this.hasHour || this.maxHour == this.focusHour) && (!this.hasMinute || this.maxMinute == this.focusMinute) && this.maxTime.getSeconds()\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-datesheet {\r\n background: #f9f9f9;\r\n }\r\n\r\n .f-datesheet-ok {\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .f-datesheet-head {\r\n height: 36px;\r\n border-top: 1px solid #ddd;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetAbs from './WidgetAbs.vue' \r\n import ViewAbs from './ViewAbs.vue' \r\n import SVGIcon from '../assets/SVGIcon.vue'\r\n import TemplatePreviewMedia from '../template/TemplatePreviewMedia.vue'\r\n import TemplateDateSheet from '../template/TemplateDateSheet.vue'\r\n \r\n\r\n export default {\r\n name: 'w-docview',\r\n mixins: [WidgetAbs, ViewAbs],\r\n provide() {\r\n return {\r\n providePubParent: null,\r\n provideBoxParent: null,\r\n provideRangeParent: null,\r\n }\r\n },\r\n beforeCreate() {\r\n $.docView = this\r\n $.q('#app').append('<div id=w-dfish-pops></div>')\r\n },\r\n methods: {\r\n el() {\r\n return document.getElementById('app')\r\n },\r\n getKey() {\r\n return null\r\n },\r\n previewVideo(src) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'video', src}})\r\n },\r\n previewImage(imgs, options) {\r\n this.cmd({type: 'Dialog', template: TemplatePreviewMedia, data: {type: 'image', imgs, options}})\r\n },\r\n //dateOptions: {value, format, minValue, maxValue, success}\r\n dateSheet(dateOptions, dialogOptions) {\r\n this.exec({\r\n type: 'Dialog',\r\n template: TemplateDateSheet,\r\n width: '100%',\r\n height: '55%',\r\n position: 'bottom',\r\n cover: true,\r\n autoHide: true,\r\n data: dateOptions,\r\n }, null, dialogOptions)\r\n },\r\n html() {\r\n return [\r\n this.$slots.default && this.$slots.default(),\r\n this.html_pops(),\r\n h(SVGIcon),\r\n ]\r\n }\r\n },\r\n mounted() {\r\n if ($.x.debug) {\r\n $.q('body').click(e => {\r\n if (e.altKey) {\r\n let vm = $.vm(e.target)\r\n let t = vm && vm.wrapper().template\r\n \r\n if (t) {\r\n let b = $.bcr(vm.el())\r\n $.q('body').append(\r\n '<div id=dfish-debug style=\"position:absolute;border:2px dashed red;box-sizing:border-box;width:' +\r\n b.width + 'px;height:' + b.height + 'px;top:' + b.top + 'px;left:' + b.left + 'px\"></div>')\r\n this.cmd({\r\n type: 'Alert',\r\n text: t,\r\n yes: () => $.q('#dfish-debug').remove()\r\n })\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n</script>\n","<!-- <template>\r\n <widget-async v-if=\"x.template\" :p=\"x\" v-bind=\"$attrs\"></widget-async>\r\n <div class=\"w-view\" v-bind=\"$attrs\" v-else>\r\n <slot></slot>\r\n </div>\r\n <w-pop v-for=\"item in pops\" :p=\"item\"></w-pop>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import ViewAbs from './ViewAbs.vue'\r\n import Vertical from './Vertical.vue'\r\n\r\n export default {\r\n name: 'w-view',\r\n mixins: [Vertical, ViewAbs],\r\n inject: ['provideView'],\r\n methods: {\r\n html() {\r\n return [this.html_self(true), this.html_pops()]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-vertical f-rel', this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n Teleport,\r\n mergeProps\r\n } from 'vue'\r\n import View from './View.vue'\r\n import Pop from './Pop.vue'\r\n\r\n const O = {},\r\n T = true,\r\n F = false,\r\n N = null\r\n\r\n const _dialogSnapHooks = {\r\n t: 'tb',\r\n r: 'rl',\r\n b: 'bt',\r\n l: 'lr',\r\n c: 'cc',\r\n tl: '14',\r\n tr: '23',\r\n rt: '21',\r\n rb: '34',\r\n bl: '41',\r\n br: '32',\r\n lt: '12',\r\n lb: '43',\r\n '-t': 'tt',\r\n '-r': 'rr',\r\n '-b': 'bb',\r\n '-l': 'll',\r\n '-c': 'cc',\r\n '-tl': '11',\r\n '-tr': '22',\r\n '-rt': '22',\r\n '-rb': '33',\r\n '-bl': '44',\r\n '-br': '33',\r\n '-lt': '11',\r\n '-lb': '44',\r\n }\r\n\r\n const _dialogSnap = function(a) {\r\n let b = a && (a.position || a)\r\n return typeof b === 'string' && b.split(',').map(v => _dialogSnapHooks[v] || v).join()\r\n }\r\n\r\n export default {\r\n name: 'w-dialog',\r\n mixins: [View],\r\n props: ['title', 'snap', 'autoHide', 'context', 'prong', 'independent', 'timeout',\r\n 'cover', 'position', 'local', 'fullScreen', 'dropClass', 'dropPosition', 'dropHover',\r\n ],\r\n emits: ['close', 'click:cover'],\r\n watch: {\r\n position(v) {\r\n this.axis()\r\n },\r\n },\r\n data() {\r\n return {\r\n isDialog: true,\r\n animateClass: '',\r\n snapClass: '',\r\n keepHover: false,\r\n hoverTimer: null,\r\n hoverMove: null,\r\n closed: false,\r\n animating: false,\r\n isDeactivated: false,\r\n _pos: null,\r\n snapStyle: null,\r\n }\r\n },\r\n activated() {\r\n this.isDeactivated = false\r\n },\r\n deactivated() {\r\n this.isDeactivated = true\r\n },\r\n methods: {\r\n getKey() {\r\n return null\r\n },\r\n getSrc() {\r\n let src = this.x.src\r\n if (!src) return ''\r\n const feat = this.getOptions()\r\n if (feat.args)\r\n src = $.urlFormat(src, feat.args)\r\n if (src.includes('$'))\r\n src = $.urlFormat(src, this.x.data, this.x)\r\n return src\r\n },\r\n _dft_pos() {\r\n let w = this.el().offsetWidth\r\n let h = this.el().offsetHeight\r\n return {\r\n left: Math.ceil((document.documentElement.clientWidth - w) / 2),\r\n top: Math.max(0, Math.ceil((document.documentElement.clientHeight - h) / 2))\r\n };\r\n },\r\n getLocalElem() {\r\n let c = this.getCommander()\r\n return c && c.el()\r\n },\r\n snapTargetElem() {\r\n let d = this.x.snap && this.x.snap.target\r\n if (typeof d === 'string') {\r\n let e = this.ownerView.find(d)\r\n return e && e.snapElem()\r\n } else if (typeof d === 'function') {\r\n return d()\r\n } else if (d) {\r\n return d.isWidget ? d.snapElem() : d\r\n } else {\r\n return this.x.local ? this.getLocalElem() : this.defaultSnapTargetElem\r\n }\r\n },\r\n snapCls(a) {\r\n let d = this.snapTargetElem()\r\n let r = this._pos\r\n if (d) {\r\n $.classAdd(d, 'z-drop', a)\r\n if (r && r.type) {\r\n var m = 'z-mag-' + (r.mag_t ? 't' : r.mag_l ? 'l' : r.mag_b ? 'b' : 'r')\r\n $.classAdd(this.el(), m + ' z-snap z-snap-' + r.type, a)\r\n $.classAdd(d, m, a)\r\n }\r\n }\r\n },\r\n axis() {\r\n let el = this.el()\r\n if (!el || this.x.fullScreen) return;\r\n let c = this.x.local\r\n let d = this.x.snap || O\r\n let f = this.x.position\r\n let g = this.snapTargetElem()\r\n // 如果有指定 snap,采用 snap 模式\r\n let w = el.offsetWidth\r\n let h = el.offsetHeight\r\n let r;\r\n if (f == 'c') f = N;\r\n if (f) { // 八方位浮动的起始位置\r\n let e = f.charAt(0)\r\n if (e == '-') {\r\n e = f.charAt(1)\r\n }\r\n r = $.snap(w, h, c && g, _dialogSnap(f), this._fitpos, d.indent, c && g)\r\n if (e == 1 || e == 2 || e === 't') {\r\n r.top = -h;\r\n } else if (e == 3 || e == 4 || e === 'r') {\r\n r.right = -w;\r\n } else if (e == 5 || e == 6 || e === 'b') {\r\n r.bottom = -h;\r\n } else if (e == 7 || e == 8 || e === 'l') {\r\n r.left = -w;\r\n }\r\n } else if (g) {\r\n r = $.snap(w, h, g, _dialogSnap(d) || this.defaultSnapPosition || f, this._fitpos, d.indent != N ? d\r\n .indent : (this.x.prong && -10), c && g)\r\n }\r\n if (!r)\r\n r = this._dft_pos()\r\n this._pos && this.snapCls(F)\r\n this._pos = r\r\n \r\n //$.snapTo(el, r)\r\n let s = {}\r\n if (r.type) {\r\n if (r.pix_r) {\r\n s.right = r.right + 'px';\r\n } else {\r\n s.left = r.left + 'px';\r\n }\r\n if (r.pix_b) {\r\n s.bottom = r.bottom + 'px';\r\n } else {\r\n s.top = r.top + 'px';\r\n }\r\n } else {\r\n Object.keys(r).forEach(k => s[k] = $.unitSize(r[k]))\r\n }\r\n this.snapStyle = s\r\n\r\n // 八方位浮动效果\r\n if (f) {\r\n this.animateClass = 'w-dialog-ani-position-' + f\r\n }\r\n this.snapCls()\r\n },\r\n close() {\r\n if (this.closed) return\r\n this.closeRelease()\r\n this.trigger('close')\r\n this.ownerView.removeDialog(this.uid)\r\n },\r\n closeRelease() {\r\n this.x.autoHide && this.listenHide(F)\r\n this.snapCls(F)\r\n this.closed = true\r\n },\r\n // 绑定鼠标监听 /@a -> 为 false 时解除监听\r\n listenHide(a) {\r\n if (a === F) {\r\n this.setListenHide(a)\r\n } else {\r\n setTimeout(() => {\r\n if (!this.closed) {\r\n this.setListenHide(a)\r\n }\r\n }, 100) // 延时处理,避免出现后立即消失的情况\r\n }\r\n },\r\n hoverOver() {\r\n clearTimeout(this.hoverTimer)\r\n this.hoverTimer = null\r\n },\r\n setListenHide(a) {\r\n let d = this.x.dropHover\r\n let n = a ? 'addEventListener' : 'removeEventListener'\r\n let evs = $.br.mobile ? ['touchend'] : ['mousedown', $.br.firefox ? 'DOMMouseScroll' : 'mousewheel']\r\n evs.forEach(v => document[n](v, this.bind('listenHideClose', (e) => {\r\n if (!this.closed && (e.target.classList.contains('w-dialog-cover') || !(this.hasBubble(e.target) || (!\r\n this.x\r\n .independent && (this.commander.isWidget ? this.commander.hasBubble(e.target) : this.commander\r\n .contains(e.target)))))) {\r\n if (e.target.id == this.id + 'cvr') e.stopPropagation()\r\n this.close()\r\n }\r\n }), T))\r\n window.plus && plus.key[n]('backbutton', this.bind('close'), F)\r\n if (d) {\r\n let o = d === T ? (this.x.snap && this.x.snap.target ? this.snapTargetElem() : $.el(this.commander)) : $.el(d)\r\n let hvOver = this.bind('listenHideHoverOver', e => {\r\n clearTimeout(this.hoverTimer), this.hoverTimer = null\r\n });\r\n let hvMove = this.bind('listenHideHoverMove', e => {\r\n if (!o.contains(e.target) && !this.hasBubble(e.target) && !this.keepHover) {\r\n if (!this.hoverTimer)\r\n this.hoverTimer = setTimeout(this.close, 300)\r\n } else\r\n hvOver()\r\n });\r\n [o, this.el()].forEach(v => v[n]('mouseenter', hvOver))\r\n document[n]('mousemove', hvMove)\r\n }\r\n },\r\n setMaxHeight(h) {\r\n this.x.maxHeight = h\r\n },\r\n getOptions() {\r\n return this.ownerView.getDialogOptions(this.uid)\r\n },\r\n getCommander() {\r\n let o = this.getOptions()\r\n return (o && o.commander) || this.context || this.ownerView\r\n },\r\n html_slots() {\r\n let prong\r\n let r = this._pos\r\n if (this.x.prong && r) {\r\n let m = r.inner ? (r.mag_b ? 'b' : r.mag_t ? 't' : r.mag_l ? 'l' : 'r') : (r.mag_b ? 't' : r.mag_t ? 'b' : r\r\n .mag_l ? 'r' : 'l')\r\n let x = Math.floor((r.target.left + r.target.right) / 2)\r\n let y = Math.floor((r.target.top + r.target.bottom) / 2)\r\n let l = $.numRange(x - r.left, 7, r.left + r.width - 7)\r\n let t = $.numRange(y - r.top, 7, r.top + r.height - 7)\r\n let s = ''\r\n if (r.mag_b || r.mag_t) s += 'left:' + l + 'px;'\r\n if (r.mag_l || r.mag_r) s += 'top:' + t + 'px;'\r\n prong = h('div', {\r\n class: 'w-dialog-prong z-' + m,\r\n style: s\r\n }, [\r\n h('i', {\r\n class: 'w-dialog-prong-out f-arw f-arw-' + m + '5'\r\n }),\r\n h('i', {\r\n class: 'w-dialog-prong-in f-arw f-arw-' + m + '4'\r\n }),\r\n ])\r\n }\r\n return [prong || [], this.html_scroll_slots()]\r\n },\r\n html() {\r\n let to = this.x.local ? this.getLocalElem() : '#w-dfish-pops'\r\n let cover = this.x.cover && !this.closed && !this.isDeactivated ? h('div', {\r\n class: 'w-dialog-cover f-abs-full',\r\n onclick: e => this.trigger('click:cover', e)\r\n }) : null\r\n return [\r\n cover ? (to ? h(Teleport, {\r\n to\r\n }, cover) : cover) : [],\r\n to ? h(Teleport, {\r\n to\r\n }, this.html_self(true)) : this.html_self(true),\r\n this.html_pops()\r\n ]\r\n }\r\n },\r\n computed: {\r\n commander() {\r\n return this.getCommander()\r\n },\r\n args() {\r\n let o = this.getOptions()\r\n return o && o.args\r\n },\r\n defaultSnapTargetElem() {\r\n //implement\r\n },\r\n defaultSnapPosition() {\r\n return 'cc'\r\n },\r\n html_class() {\r\n return ['w-vertical', this.animateClass, this.snapClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n }]\r\n },\r\n html_style() {\r\n return this.x.fullScreen ? {\r\n width: '100%',\r\n height: '100%',\r\n top: 0,\r\n left: 0,\r\n } : this.snapStyle\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.x.local) {\r\n $.q(this.getLocalElem()).addClass('f-dialog-local-wrap')\r\n }\r\n this.$nextTick(() => {\r\n this.x.autoHide && this.listenHide(T)\r\n setTimeout(this.axis)\r\n const observe = (o) => {\r\n if (this.closed || this.animateClass || !this.el()) return\r\n this.axis()\r\n if (this.x.position) {\r\n this.setMaxHeight('100%')\r\n } else {\r\n let c = this._pos\r\n if (c.bottom < 0) {\r\n this.setMaxHeight(c.height + c.bottom)\r\n } else if (c.top < 0) {\r\n this.setMaxHeight(c.height + c.top)\r\n }\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.el())\r\n if (this.x.timeout) {\r\n setTimeout(this.close, this.x.timeout)\r\n }\r\n })\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity && !this.closed) {\r\n this.closeRelease()\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog {\r\n display: inline-flex;\r\n position: absolute;\r\n box-shadow: 0px 0px 8px #bbb;\r\n z-index: 100;\r\n box-sizing: border-box;\r\n --w-dialog-ani-duration: 200ms;\r\n }\r\n\r\n .w-dialog.z-hide {\r\n display: none;\r\n }\r\n\r\n .w-dialog.z-full {\r\n transform: none;\r\n transition: none;\r\n }\r\n\r\n .w-dialog-cover {\r\n background: rgba(0, 0, 0, .3);\r\n z-index: 99;\r\n }\r\n\r\n .w-dialog-prong {\r\n position: absolute;\r\n }\r\n\r\n .w-dialog-prong .f-arw {\r\n position: absolute;\r\n margin: 0\r\n }\r\n\r\n .w-dialog-prong.z-b {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n bottom: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-in {\r\n top: 0;\r\n left: 1px;\r\n border-top-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-b .w-dialog-prong-out {\r\n top: 0;\r\n left: 0;\r\n border-top-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-t {\r\n width: 9px;\r\n height: 8px;\r\n left: 50%;\r\n margin-left: -9px;\r\n top: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-in {\r\n bottom: 0;\r\n left: 1px;\r\n border-bottom-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-t .w-dialog-prong-out {\r\n bottom: 0;\r\n left: 0;\r\n border-bottom-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-l {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n left: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-in {\r\n right: 0;\r\n top: 1px;\r\n border-right-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-l .w-dialog-prong-out {\r\n right: 0;\r\n top: 0;\r\n border-right-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-prong.z-r {\r\n width: 8px;\r\n height: 9px;\r\n top: 50%;\r\n margin-top: -9px;\r\n right: -8px;\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-in {\r\n left: 0;\r\n top: 1px;\r\n border-left-color: #fff\r\n }\r\n\r\n .w-dialog-prong.z-r .w-dialog-prong-out {\r\n left: 0;\r\n top: 0;\r\n border-left-color: #d5d5d5\r\n }\r\n\r\n .w-dialog-ani-position-br,\r\n .w-dialog-ani-position-bl,\r\n .w-dialog-ani-position-b {\r\n transform: translateY(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--br,\r\n .w-dialog-ani-position--bl,\r\n .w-dialog-ani-position--b {\r\n transform: translateY(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-tr,\r\n .w-dialog-ani-position-tl,\r\n .w-dialog-ani-position-t {\r\n transform: translateY(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-lt,\r\n .w-dialog-ani-position-lb,\r\n .w-dialog-ani-position-l {\r\n transform: translateX(100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position-rt,\r\n .w-dialog-ani-position-rb,\r\n .w-dialog-ani-position-r {\r\n transform: translateX(-100%);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n\r\n .w-dialog-ani-position--rt,\r\n .w-dialog-ani-position--rb,\r\n .w-dialog-ani-position--r {\r\n transform: translateX(0);\r\n transition: transform var(--w-dialog-ani-duration);\r\n }\r\n</style>\n","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let b = o._pos.pix_b ? -1 : 1\r\n let r = o._pos.pix_r ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(d.style[v])\r\n let l = $.number(d.style[h])\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n let z = d.offsetWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n d.style[v] = $.numRange(t + b * (e.clientY - y), 0, n - 30) + 'px'\r\n d.style[h] = $.numRange(l + r * (e.clientX - x), 100 - z, w - 30) + 'px'\r\n }, function(e) {\r\n m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n mousedown() {\r\n return this.onmousedown.bind(this)\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.mousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.mousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","<template>\r\n <slot></slot>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-dialog-move',\r\n methods: {\r\n onmousedown(e) {\r\n let o = $.dialog(e.currentTarget)\r\n if (o) {\r\n if (o.x.movable !== false && !o.x.fullScreen) {\r\n let d = o.el()\r\n let b = o._pos.pix_b ? -1 : 1\r\n let r = o._pos.pix_r ? -1 : 1\r\n let v = b < 0 ? 'bottom' : 'top'\r\n let h = r < 0 ? 'right' : 'left'\r\n let x = e.clientX\r\n let y = e.clientY\r\n let t = $.number(d.style[v])\r\n let l = $.number(d.style[h])\r\n let m\r\n let n = document.documentElement.clientHeight\r\n let w = document.documentElement.clientWidth\r\n let z = d.offsetWidth\r\n $.moveup(function(e) {\r\n !m && (m = $.q('<div class=w-dialog-move></div>').appendTo(document.body));\r\n d.style[v] = $.numRange(t + b * (e.clientY - y), 0, n - 30) + 'px'\r\n d.style[h] = $.numRange(l + r * (e.clientX - x), 100 - z, w - 30) + 'px'\r\n }, function(e) {\r\n m && m.remove()\r\n }, e)\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n mousedown() {\r\n return this.onmousedown.bind(this)\r\n }\r\n },\r\n mounted() {\r\n this.$el.nextElementSibling.addEventListener('mousedown', this.mousedown)\r\n },\r\n unmounted() {\r\n this.$el.nextElementSibling.removeEventListener('mousedown', this.mousedown)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-dialog-move {\r\n position: fixed;\r\n background: #fff;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n opacity: 0;\r\n z-index: 101;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-alert',\r\n mixins: [Dialog],\r\n props: ['text', 'yes', 'no'],\r\n methods: {\r\n cueYes() {\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n cue(a) {\r\n if ($.isCmd(a)) {\r\n this.commander.exec(a, this.args)\r\n } else if (typeof a === 'function') {\r\n a(this.args)\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass]\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.addEvent('close', () => this.$options.name == 'w-alert' ? this.cue(this.x.yes) : this.cue(this.x.no))\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import Alert from './Alert.vue' \r\n\r\n export default {\r\n name: 'w-confirm',\r\n mixins: [Alert],\r\n methods: {\r\n cueYes() {\r\n this.cue(this.x.yes)\r\n this.x.no = null\r\n this.close()\r\n },\r\n cueNo() {\r\n this.close()\r\n },\r\n },\r\n computed: {\r\n html_prop_class() {\r\n return 'w-alert w-dialog w-vertical'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Dialog from './Dialog.vue'\r\n\r\n let inst = null\r\n\r\n export default {\r\n name: 'w-tip',\r\n mixins: [Dialog],\r\n props: ['text', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n prong: true,\r\n autoHide: true,\r\n }\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog w-vertical' + (this.x.face && ' z-face-' + this.x.face)\r\n },\r\n defaultSnapTargetElem() {\r\n return this.commander.snapElem()\r\n },\r\n defaultSnapPosition() {\r\n return 'tb,rl,lr,bt,rr,ll,bb,tt,cc'\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n inst && $.close(inst)\r\n inst = this.uid\r\n }\r\n },\r\n unmounted() {\r\n if (this.isEntity) {\r\n inst = null\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tip.w-dialog {\r\n border: 1px solid #2498ff;\r\n background: #f5faff;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip .w-tip-x {\r\n position: absolute;\r\n right: 3px;\r\n top: 3px;\r\n padding: 0 3px;\r\n cursor: pointer\r\n }\r\n\r\n .w-tip .f-i-close {\r\n font-size: 12px;\r\n color: #999\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #2498ff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #f5faff\r\n }\r\n\r\n .w-tip .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #2498ff\r\n }\r\n\r\n .w-tip.w-dialog.z-face-warn {\r\n border: 1px solid #f3e041;\r\n background: #faf0cd;\r\n box-shadow: 0 0 4px #d9d9d9\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-in {\r\n border-top-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-b .w-dialog-prong-out {\r\n border-top-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-in {\r\n border-bottom-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-t .w-dialog-prong-out {\r\n border-bottom-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-in {\r\n border-right-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-l .w-dialog-prong-out {\r\n border-right-color: #f3e041\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-in {\r\n border-left-color: #faf0cd\r\n }\r\n\r\n .w-tip.z-face-warn .w-dialog-prong.z-r .w-dialog-prong-out {\r\n border-left-color: #f3e041\r\n }\r\n\r\n .w-tip-body {\r\n min-height: 32px;\r\n }\r\n\r\n .w-tip-text {\r\n padding: 0 10px;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Img from './Img.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-button',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [WidgetBase],\r\n props: ['text', 'icon', 'focusIcon', 'target', 'closable', 'disabled', 'vertical', 'dropClass', 'dropPosition', 'dropHover', 'dropIcon'],\r\n inject: ['providePubParent'],\r\n emits: ['click:close'],\r\n data() {\r\n return {\r\n dropper: null,\r\n locked: false,\r\n showDrop: false,\r\n mouses: {\r\n onmouseenter: e => {e.currentTarget.classList.add('z-hv'); this.x.dropHover && this.drop()},\r\n onmouseleave: e => e.currentTarget.classList.remove('z-hv'),\r\n onmousedown: e => e.currentTarget.classList.add('z-dn'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-dn'),\r\n }\r\n }\r\n },\r\n watch: {\r\n disabled(a) {\r\n a && $.q('.z-hv', this.el()).removeClass('z-hv')\r\n }\r\n },\r\n methods: {\r\n ajaxLock(a) {\r\n a = a == null ? true : a\r\n this.locked = a\r\n },\r\n drop() {\r\n this.showDrop = true\r\n },\r\n onclick(e) {\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.trigger(e)\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n clickDrop(e) {\r\n if (this.x.disabled) return\r\n e.stopPropagation()\r\n if (!this.locked) this.drop()\r\n },\r\n html_drop() {\r\n return \r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n if (this.x.icon) {\r\n r.push(this.html_icon(this.x.focusIcon && this.isCurrent ? this.x.focusIcon : this.x.icon,\r\n 'w-button-icon f-flex-center f-height'))\r\n }\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-button-text'\r\n }, t))\r\n }\r\n if (this.isMore) {\r\n r.push(h(Img, {\r\n class: 'w-button-more f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down'\r\n }))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-button-close f-flex-center'\r\n }, h('i', {\r\n class: 'w-button-close-icon f-i f-i-close',\r\n onclick: this.clickClose,\r\n })))\r\n }\r\n if (this.locked) {\r\n r.push(h('div', {\r\n class: 'w-button-locked f-abs-full f-flex-center'\r\n }, h(Img, {\r\n src: '#f-svg-loading'\r\n })))\r\n }\r\n return [\r\n h('div', {\r\n class: 'w-button-main f-oh f-height',\r\n ...(this.isCombo && !this.x.disabled && this.mouses),\r\n }, r),\r\n this.isCombo && h(Img, {\r\n class: 'w-button-drop f-flex-center f-height',\r\n src: this.x.dropIcon || '.f-i .f-i-caret-down',\r\n ...(!this.x.disabled && this.mouses),\r\n onclick: this.clickDrop\r\n }),\r\n this.showDrop ? h(Menu, {\r\n context: this,\r\n ownproperty: true,\r\n minWidth: $.bcr(this.el()).width,\r\n autoHide: true,\r\n dropHover: this.x.dropHover,\r\n dropClass: this.x.dropClass,\r\n dropPosition: this.x.dropPosition,\r\n snap: {\r\n target: () => this.el(),\r\n position: this.x.dropPosition || 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots) : []\r\n ]\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n isMore() {\r\n return !!this.$slots.default && !this.getOn('click')\r\n },\r\n isCombo() {\r\n return !!(this.$slots.default && this.getOn('click'))\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled || this.locked,\r\n class: {\r\n 'z-combo': this.isCombo,\r\n 'z-more': this.isMore,\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled,\r\n 'z-locked': this.locked,\r\n 'z-vertical': this.x.vertical,\r\n 'z-closable': this.x.closable\r\n },\r\n onclick: this.onclick,\r\n ...(!this.isCombo && this.mouses),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n import Img from './Img.vue'\r\n import WidgetAbs from './WidgetAbs.vue'\r\n\r\n export default {\r\n name: 'w-menubutton',\r\n mixins: [Button],\r\n methods: {\r\n exec(...args) {\r\n return this.parentMenu.getRoot().getCommander().exec(...args)\r\n },\r\n linkTarget(a) {\r\n if (this.x.target) {\r\n const tar = this.ownerView.find(this.x.target)\r\n tar && tar.parentNode.setFocus(this.x.target)\r\n }\r\n },\r\n drop() {\r\n if (this.showDrop) return\r\n this.closeSub()\r\n this.showDrop = true\r\n this.parentMenu.subMenu = this\r\n },\r\n onclick(e) {\r\n if (this.isMore) return\r\n this.trigger(e)\r\n setTimeout(() => this.parentMenu.root.close(), 10)\r\n },\r\n onmouseenter(e) {\r\n !this.x.disabled && e.currentTarget.classList.add('z-hv')\r\n if (this.isMore) {\r\n this.drop()\r\n } else {\r\n this.closeSub()\r\n }\r\n },\r\n closeSub() {\r\n if (this.parentMenu.subMenu) {\r\n this.parentMenu.subMenu.showDrop = false\r\n this.parentMenu.subMenu = null\r\n }\r\n },\r\n clickClose(e) {\r\n e.stopPropagation()\r\n e.runType = 'click:close'\r\n this.trigger(e)\r\n },\r\n html_slots() {\r\n let t = this.x.text\r\n let r = []\r\n let src = this.x.icon\r\n let font = src && src.startsWith('.') && !src.includes('/')\r\n r.push(!src || font ? h('i', {\r\n class: 'w-menubutton-icon f-flex-center f-height ' + (src ? src.replace(/\\./g, '') : '')\r\n }) : h('img', {\r\n src: src,\r\n class: 'w-menubutton-icon f-flex-center f-height'\r\n }))\r\n\r\n if (t) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-text f-line-1'\r\n }, t))\r\n }\r\n if (this.x.closable) {\r\n r.push(h('div', {\r\n class: 'w-menubutton-close'\r\n }, h('i', {\r\n class: 'w-menubutton-close-icon f-i f-i-close',\r\n onclick: this.clickClose\r\n })))\r\n }\r\n r.push(h(Img, {\r\n class: 'w-menubutton-drop f-flex-center f-height',\r\n src: this.isMore ? (this.x.dropIcon || '.f-i .f-i-caret-right') : ''\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Menu, {\r\n autoHide: true,\r\n context: this,\r\n ownproperty: true,\r\n dropClass: this.x.dropClass || this.parentMenu.x.dropClass,\r\n snap: {\r\n target: () => this.el(),\r\n position: '21,12',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = null\r\n }\r\n }, this.$slots))\r\n }\r\n\r\n return r\r\n }\r\n },\r\n computed: {\r\n tagName() {\r\n return 'button'\r\n },\r\n isMore() {\r\n return !!this.$slots.default\r\n },\r\n parentMenu() {\r\n let p = this.provideView\r\n while (p && (!p.isEntity || !p.isView)) p = p.provideView\r\n return p\r\n },\r\n ownerView() { // 因为业务会调用 $.vm(event), 所以返回commander的view\r\n return this.parentMenu.rootCommander.ownerView\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.x.disabled,\r\n class: {\r\n 'z-on': this.isCurrent,\r\n 'z-ds': this.x.disabled\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: !this.x.disabled && (e => e.currentTarget.classList.remove('z-hv')),\r\n onclick: this.onclick\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isCurrent) {\r\n this.linkTarget()\r\n }\r\n },\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menubutton {\r\n display: inline-flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n margin: 0;\r\n height: 32px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-menubutton .f-i {\r\n color: #999;\r\n }\r\n\r\n .w-menubutton-icon {\r\n width: 30px;\r\n }\r\n\r\n .w-menubutton-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n }\r\n\r\n .w-menubutton-drop {\r\n width: 30px;\r\n margin-left: 5px;\r\n }\r\n\r\n .w-menubutton>.w-menubutton-close {\r\n margin-right: -5px;\r\n flex-shrink: 0;\r\n color: #aaa;\r\n }\r\n\r\n .w-menubutton-close-icon:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-menubutton.z-hv,\r\n .w-menubutton.z-drop {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-menubutton.z-ds {\r\n background-color: #eee;\r\n color: #777;\r\n cursor: default;\r\n }\r\n\r\n .w-menubutton.z-ds .w-menubutton-icon {\r\n color: #bbb;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from \"vue\"\r\n import Dialog from './Dialog.vue'\r\n import MenuButton from './MenuButton.vue'\r\n import Vertical from './Vertical.vue'\r\n \r\n let inst = null\r\n\r\n export default {\r\n name: 'w-menu',\r\n mixins: [Dialog],\r\n methods: {\r\n x_default() {\r\n return {\r\n autoHide: true,\r\n independent: true,\r\n }\r\n },\r\n hasBubble(a, b) {\r\n if (this.contains(a, b)) return true\r\n if ($(a)?.parentMenu?.rootCommander == this.rootCommander) return true\r\n },\r\n setMaxHeight(h) {\r\n h -= 38\r\n this.x.maxHeight = h - (h % 32) + 38\r\n },\r\n arrow(a) {\r\n let b = this.$refs.bbr.el()\r\n let c = $.bcr(b)\r\n b.scrollTop += c.height * a\r\n },\r\n mousewheel(e) {\r\n this.arrow(e.wheelDelta < 0 ? 1 : -1)\r\n },\r\n getRoot() {\r\n let c = this\r\n while (c.getCommander().$options.name === 'w-menubutton') c = c.getCommander().parentMenu\r\n return c\r\n },\r\n html_buttons() {\r\n return this.slots_children().map(s => {\r\n let n = s.type.name\r\n return n === 'w-button' || n === 'w-submitbutton' ? h(MenuButton, s.props, s.children) : s\r\n })\r\n },\r\n html_slots() {\r\n return [\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(-1)}, h('i', {class: 'f-i f-i-caret-up'})),\r\n h(Vertical, {class: 'w-menu-bbr', height: '*', ref: 'bbr', onwheel: this.mousewheel}, {default: () => this.html_buttons()}),\r\n this.x.maxHeight && h('div', {class: 'w-menu-arr f-oh', onclick: e => this.arrow(1)}, h('i', {class: 'f-i f-i-caret-down'})),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['w-dialog w-vertical', this.animateClass, this.snapClass, this.x.dropClass, {\r\n 'z-hide': this.isDeactivated,\r\n 'z-full': this.x.fullScreen,\r\n 'z-max-height': this.x.maxHeight,\r\n }]\r\n },\r\n root() {\r\n return this.getRoot()\r\n },\r\n rootCommander() {\r\n return this.root.commander\r\n },\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n if (this.context && this.context.$options.name !== 'w-menubutton') {\r\n if (inst) {\r\n $.close(inst)\r\n }\r\n inst = this\r\n }\r\n\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-menu {\r\n box-shadow: none;\r\n border: 1px solid #ccc;\r\n background: #fff;\r\n }\r\n .w-menu .w-split {\r\n height: 1px;\r\n background: #ddd;\r\n margin: 2px 0;\r\n }\r\n .w-menu-arr {\r\n height: 18px;\r\n line-height: 1;\r\n text-align: center;\r\n cursor: pointer;\r\n }\r\n .w-menu-arr:hover {\r\n background: #f5f5f5;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Dialog from './Dialog.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-loading',\r\n mixins: [Dialog],\r\n props: ['text', 'icon'],\r\n methods: {\r\n x_default() {\r\n return {\r\n //local: true,\r\n }\r\n },\r\n html_slots() {\r\n return h(Img, {\r\n src: this.x.icon !== undefined ? this.x.icon : '#f-svg-loading',\r\n text: this.x.text !== undefined ? this.x.text : $.loc.loading\r\n })\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-dialog'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-loading {\r\n padding: 10px;\r\n gap: 5px;\r\n border-radius: 10px;\r\n background: rgba(0, 0, 0, .6);\r\n color: #fff;\r\n box-shadow: none;\r\n }\r\n\r\n .w-loading .f-svg {\r\n width: 30px;\r\n height: 30px;\r\n fill: #fff;\r\n }\r\n .w-loading .f-svg>use {\r\n stroke: #fff;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [WidgetBase],\r\n provide() {\r\n return {\r\n table: this\r\n }\r\n },\r\n methods: {\r\n scrollTop(y) {\r\n let bd = this.slotHooks.tbody\r\n if (bd) {\r\n $(bd.el).scrollToY(y)\r\n }\r\n }\r\n },\r\n computed: {\r\n slotHooks() {\r\n const a = {}\r\n this.slots_children().forEach(o => {\r\n let n = o.type.name && o.type.name.slice(2)\r\n if (n) {\r\n if (n === 'hidden') {\r\n (a.hiddens || (a.hiddens = [])).push(o)\r\n } else\r\n a[n] = o\r\n }\r\n })\r\n return a\r\n },\r\n colgroup() {\r\n return $.slotsChildren(this.slotHooks.columns.children).map(v => v.props)\r\n },\r\n html_class() {\r\n return ['f-flex-column', this.x.face && 'z-face-' + this.x.face]\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import TableAbs from './TableAbs.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableAbs],\r\n inject: ['table'],\r\n data() {\r\n return {\r\n fixed: 'left',\r\n fixedWidth: null,\r\n fixedHeight: null,\r\n }\r\n },\r\n created() {\r\n this.init()\r\n },\r\n methods: {\r\n init() {\r\n this.table.leftTable = this\r\n },\r\n observeWidth() {\r\n if (!this.$el) return\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n let width = 0\r\n $.lodash.each(fixedCells, v => width += v.offsetWidth)\r\n this.fixedWidth = width\r\n },\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-table-fixed-' + this.fixed + ' f-flex-column'\r\n },\r\n html_style() {\r\n return {\r\n width: this.fixedWidth + 'px',\r\n height: this.fixedHeight + 'px',\r\n }\r\n }\r\n },\r\n mounted() {\r\n let fixedCells = this.$el.querySelectorAll(`:scope > .w-thead thead td[w-fixed=\"${this.fixed}\"]`)\r\n $.lodash.each(fixedCells, v => new ResizeObserver(this.observeWidth).observe(v))\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n mixins: [TableFixedLeft],\r\n data() {\r\n return {\r\n fixed: 'right',\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.table.rightTable = this\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import TableAbs from './TableAbs.vue'\r\n import TableFixedLeft from './TableFixedLeft.vue'\r\n import TableFixedRight from './TableFixedRight.vue'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-table',\r\n mixins: [TableAbs],\r\n props: ['face', 'scroll-x', 'scroll-y'],\r\n data() {\r\n return {\r\n leftTable: null,\r\n rightTable: null,\r\n scrollTable: null,\r\n scrollHover: false,\r\n fixedWidth: '',\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return [this.slotHooks.thead, this.slotHooks.tbody, this.slotHooks.hiddens || [], this.fixedLeft || [], this.fixedRight || []]\r\n },\r\n },\r\n computed: {\r\n fixedLeft() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'left') > -1) {\r\n return h(TableFixedLeft, null, this.$slots)\r\n }\r\n },\r\n fixedRight() {\r\n if (this.colgroup.findIndex(v => v.fixed == 'right') > -1) {\r\n return h(TableFixedRight, null, this.$slots)\r\n }\r\n },\r\n html_style() {\r\n return this.fixedWidth && {\r\n '--w-table-fixed-width': this.fixedWidth\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-table {\r\n position: relative;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n }\r\n\r\n .w-table-tbl {\r\n table-layout: fixed;\r\n width: 100%;\r\n border-collapse: collapse;\r\n }\r\n\r\n .w-thead {\r\n background: var(--w-thead-background-color);\r\n overflow: hidden;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-tr {\r\n height: 40px;\r\n }\r\n\r\n .w-tbody .w-td {\r\n border-bottom: 1px solid var(--w-td-border-color);\r\n overflow: hidden;\r\n }\r\n\r\n .w-tbody .w-tr.z-on {\r\n background-color: #DFE3FF;\r\n\r\n }\r\n\r\n .w-tbody.z-br .w-td {\r\n white-space: normal;\r\n word-break: break-all;\r\n word-wrap: normal;\r\n overflow: visible;\r\n }\r\n\r\n .w-th {\r\n font-weight: normal;\r\n }\r\n\r\n .w-th-title {\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort {\r\n height: 28px;\r\n line-height: 1;\r\n color: #aaa;\r\n cursor: pointer;\r\n }\r\n\r\n .w-th-sort-up:before {\r\n position: relative;\r\n top: 1px;\r\n }\r\n\r\n .w-th-sort-down:before {\r\n position: relative;\r\n top: -4px;\r\n }\r\n\r\n .w-th.z-asc .w-th-sort-up {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-th.z-desc .w-th-sort-down {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-td {\r\n padding: 5px;\r\n white-space: nowrap;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n .w-td.z-align-left {\r\n text-align: left;\r\n }\r\n\r\n .w-td.z-align-center {\r\n text-align: center;\r\n }\r\n\r\n .w-td.z-align-right {\r\n text-align: right;\r\n }\r\n\r\n .w-td.z-valign-top {\r\n vertical-align: top;\r\n }\r\n\r\n .w-td.z-valign-middle {\r\n vertical-align: middle;\r\n }\r\n\r\n .w-td.z-valign-bottom {\r\n vertical-align: bottom;\r\n }\r\n\r\n .w-td>.w-triplebox>.w-input,\r\n .w-td>.w-radio>.w-input {\r\n min-height: auto;\r\n }\r\n\r\n .w-table-fixed-left {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-table-fixed-right {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n height: 100%;\r\n align-items: flex-end;\r\n overflow: hidden;\r\n background-color: #fff;\r\n }\r\n\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show~.w-table-fixed-right {\r\n box-shadow: 0 0 10px rgb(0 0 0 / 12%);\r\n }\r\n\r\n .w-tbody.z-scroll-x-show.z-scroll-x-left~.w-table-fixed-left,\r\n .w-tbody.z-scroll-x-show.z-scroll-x-right~.w-table-fixed-right {\r\n box-shadow: none;\r\n }\r\n\r\n .w-table-fixed-left>.w-tbody>.w-scrollbar-y,\r\n .w-table-fixed-right>.w-tbody>.w-scrollbar-y {\r\n display: none;\r\n }\r\n\r\n .w-table-fixed-left .w-table-tbl,\r\n .w-table-fixed-right .w-table-tbl {\r\n width: var(--w-table-fixed-width);\r\n }\r\n\r\n .w-table.z-face-cell {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td {\r\n border: 1px solid var(--w-table-border-color);\r\n }\r\n\r\n .w-table.z-face-cell .w-td:first-child {\r\n border-left: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-td:last-child {\r\n border-right: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tr:first-child .w-td {\r\n border-top: 0;\r\n }\r\n\r\n .w-table.z-face-cell .w-tbody {\r\n margin-bottom: -1px;\r\n }\r\n</style>\r\n","<script>\r\n export default {\r\n name: 'w-columns'\r\n }\r\n</script>\r\n\r\n","<script>\r\n export default {\r\n name: 'w-column',\r\n props: ['width', 'minWidth'],\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['pub', 'current'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n methods: {\r\n inCurrent(target) {\r\n let c = this.x.current\r\n if (c == null) return\r\n if (Array.isArray(c)) {\r\n return -1 < c.findIndex(v => this.isCurrentChild(v, target))\r\n } else {\r\n return this.isCurrentChild(c, target)\r\n }\r\n },\r\n isCurrentChild(current, target) {\r\n if (typeof current === 'object') {\r\n let d = target.isWidget ? (target.x || target).data : (target.props && target.props.data)\r\n if (d) {\r\n for (let i in current)\r\n if ($.lodash.get(d, i) == current[i]) return true\r\n }\r\n } else if (current == (target.isWidget ? target.getKey() : target.key)) {\r\n return true\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-thead',\r\n mixins: [WidgetBase, PubParent],\r\n inject: ['table'],\r\n props: ['br', 'sort'],\r\n provide() {\r\n return {\r\n provideLeafLevel: -1,\r\n provideParentLeaf: null,\r\n provideInBody: false,\r\n thead: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n rowspan: null\r\n }\r\n },\r\n methods: {\r\n isExpanded() {\r\n return true\r\n },\r\n observeTableWidth() {\r\n if (!this.$refs.table) return\r\n this.table.fixedWidth = this.$refs.table.offsetWidth + 'px'\r\n },\r\n html_tbody() {\r\n let cg = this.table.colgroup\r\n let rows = this.slots_children().map((vr, vi) => {\r\n $.lodash.set(vr, 'props.rowIndex', vi)\r\n return vr\r\n })\r\n let style = {}\r\n if (!this.table.fixed) {\r\n let mw = 0\r\n cg.forEach(c => {\r\n mw += $.number(c['min-width'] || ($.isNumber(c.width) ? c.width : 0))\r\n })\r\n if (mw) {\r\n style.minWidth = $.unitSize(mw)\r\n }\r\n }\r\n this.rowspan = {}\r\n return h('div', {\r\n class: 'w-table-tbl-wrap'\r\n }, h('table', {\r\n ref: 'table',\r\n cellpadding: 0,\r\n cellspacing: 0,\r\n class: 'w-table-tbl',\r\n style,\r\n }, [h('thead', null, h('tr', null, cg.map(v => h('td', {\r\n style: {\r\n width: v.width == '*' ? null : $.unitSize(v.width),\r\n minWidth: $.unitSize(v['min-width']),\r\n },\r\n 'w-fixed': v.fixed\r\n })))),\r\n h('tbody', rows)\r\n ]))\r\n },\r\n html_slots() {\r\n return this.html_tbody()\r\n }\r\n },\r\n computed: {\r\n isEscape() {\r\n return this.x.escape\r\n },\r\n },\r\n mounted() {\r\n if (this.table.leftTable || this.table.rightTable) {\r\n this.$refs.table && new ResizeObserver(this.observeTableWidth).observe(this.$refs.table)\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import THead from './TableTHead.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-tbody',\r\n mixins: [THead, Scroll],\r\n inject: ['table'],\r\n props: ['br'],\r\n provide() {\r\n return {\r\n thead: null,\r\n provideInBody: true,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.table.x, (x) => {\r\n this.x.scrollX = x.scrollX\r\n this.x.scrollY = this.table.fixed ? true : x.scrollY\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n onScroll(e) {\r\n let t = this.table\r\n let hd = t.slotHooks.thead\r\n if (hd) {\r\n hd.el.scrollLeft = e.target.scrollLeft\r\n }\r\n let st = (t.table || t).scrollTable\r\n if (t.fixed) {\r\n if (t.table != st) t.table.scrollTop(e.target.scrollTop)\r\n } else {\r\n if (t.leftTable) {\r\n if (t.leftTable != st) t.leftTable.scrollTop(e.target.scrollTop)\r\n }\r\n if (t.rightTable) {\r\n if (t.rightTable != st) t.rightTable.scrollTop(e.target.scrollTop)\r\n }\r\n }\r\n },\r\n onScrollbarMousedown(e) {\r\n this.setScrollTable()\r\n },\r\n setScrollTable(a) {\r\n let t = this.table;\r\n (t.table || t).scrollTable = t\r\n },\r\n html_slots() {\r\n return this.html_scroll_slots(this.html_tbody())\r\n }\r\n },\r\n computed: {\r\n inBody() {\r\n return true\r\n },\r\n html_class() {\r\n return ['w-vertical f-flex-1 f-oh', this.html_scroll_class, {\r\n 'z-br': this.x.br,\r\n 'z-hv': !this.table.fixed && this.table.scrollHover\r\n }]\r\n },\r\n html_props() {\r\n let t = this.table\r\n if (t.leftTable || t.rightTable || t.fixed) {\r\n return $.br.mobile ? {\r\n ontouchstart: this.setScrollTable\r\n } : {\r\n onwheel: e => {\r\n this.setScrollTable()\r\n t.fixed && (t.table.scrollHover = true)\r\n },\r\n onmouseenter: t.fixed && (e => {\r\n t.table.scrollHover = true\r\n }),\r\n onmouseleave: t.fixed && (e => {\r\n t.table.scrollHover = false\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n\r\n export default {\r\n name: 'w-tr',\r\n pubParentName: 'w-tbody,w-thead',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['rowIndex', 'cells', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['table', 'providePubParent', 'provideInBody', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return (this.template || this.preload) ? {} : {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideParentExpanded: false,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return $.hasChild(this.$slots, 'rows')\r\n },\r\n getInitLoaded() {\r\n return this.loaded = this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true :\r\n false\r\n },\r\n isExpanded() {\r\n return this.x.expanded\r\n },\r\n isFolder() {\r\n return this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)\r\n },\r\n isDisplay() {\r\n if (!this.provideParentLeaf) return true\r\n let p = this\r\n while (p = p.provideParentLeaf) {\r\n if (!p.isExpanded()) return false\r\n }\r\n return true\r\n },\r\n toggle(exp, fn) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {\r\n fn && fn(this.isExpanded())\r\n })\r\n } else {\r\n fn && this.$nextTick(() => {\r\n fn(this.isExpanded())\r\n })\r\n }\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_slots() {\r\n let ri = this.rowIndex\r\n let rs = this.pubParent.rowspan\r\n let ci = 0\r\n return this.slots_children().map(td => {\r\n if (rs[ri] && rs[ri][ci]) {\r\n ci += rs[ri][ci]\r\n }\r\n td.dfishColIndex = ci\r\n if (td.props) {\r\n if (td.props.rowspan > 1) {\r\n for (let j = 1, r; j < td.props.rowspan; j++) {\r\n r = rs[ri + j] || (rs[ri + j] = {})\r\n r[ci] = $.number(td.props.colspan) || 1\r\n }\r\n }\r\n if (td.props.colspan > 1) ci += td.props.colspan - 1\r\n }\r\n ci++;\r\n return td\r\n })\r\n },\r\n html() {\r\n return this.$slots.rows ? [this.html_self(true), this.$slots.rows()] : this.html_self()\r\n // return [\r\n // h('tr', mergeProps(this.html_attrs, this.$attrs, this.html_props), this.html_cells()),\r\n // this.$slots.rows ? this.$slots.rows() : []\r\n // ]\r\n },\r\n },\r\n computed: {\r\n tagName() {\r\n return 'tr'\r\n },\r\n isEscape() {\r\n return this.pubParent.x.escape\r\n },\r\n inCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n if (this.provideInBody) {\r\n return {\r\n class: {\r\n 'z-on': this.inCurrent,\r\n 'f-hide': !this.isDisplay()\r\n },\r\n onmouseenter: this.onmouseenter,\r\n onmouseleave: this.onmouseleave\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-td',\r\n props: ['colspan', 'rowspan', 'align', 'valign'],\r\n inject: ['table', 'provideInBody'],\r\n render() {\r\n let ci = this.$.vnode.dfishColIndex\r\n let col = this.table.colgroup[ci] || false\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n return h('td', {\r\n class: ['w-td', this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.$slots)\r\n }\r\n\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import TD from './TableTD.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-th',\r\n mixins: [TD],\r\n props: ['sortable'],\r\n inject: ['thead'],\r\n emits: ['click:sort'],\r\n methods: {\r\n clickSort(e, order) {\r\n let key = this.$.vnode.key\r\n let sort = this.thead.sort || false\r\n if (key == null || key == '') return\r\n if (order === 'toggle') {\r\n if (sort.key == key) {\r\n order = sort.order == 'asc' ? 'desc' : sort.order == 'desc' ? '' : 'asc'\r\n } else {\r\n order = 'asc'\r\n }\r\n } else {\r\n if (sort.order == order) order = ''\r\n }\r\n this.$emit('click:sort', e, {key, order})\r\n },\r\n html_slots() {\r\n return h(Horizontal, {class: 'w-th-wrap', valign: 'middle', align: this.align || this.col.align}, {default: () => [\r\n h('div', {class: 'w-th-title', onClick: this.sortable && (e => this.clickSort(e, 'toggle'))}, this.$slots),\r\n this.sortable ? h('div', {class: 'w-th-sort f-flex-column f-flex-center f-oh'}, [\r\n h('i', {class: 'f-i f-i-caret-up f-oh w-th-sort-up', onClick: e => this.clickSort(e, 'asc')}),\r\n h('i', {class: 'f-i f-i-caret-down f-oh w-th-sort-down', onClick: e => this.clickSort(e, 'desc')}),\r\n ]) : []\r\n ]})\r\n }\r\n },\r\n computed: {\r\n col() {\r\n return this.table.colgroup[this.$.vnode.dfishColIndex] || false\r\n }\r\n },\r\n render() {\r\n let col = this.col\r\n let colspan = this.colspan\r\n if (colspan == -1) {\r\n colspan = this.table.colgroup.length\r\n }\r\n let fixed = this.table.fixed\r\n let sort = this.thead.sort || false\r\n return h('th', {\r\n class: ['w-td w-th', {[`z-${sort.order}`]: this.sortable && sort.key && sort.key == this.$.vnode.key}, this.provideInBody && col.class, {'f-form-hide': fixed ? col.fixed != fixed : col.fixed}],\r\n style: this.provideInBody && col.style,\r\n colspan,\r\n rowspan: this.rowspan,\r\n align: this.align || col.align,\r\n valign: this.valign || col.valign,\r\n }, this.html_slots())\r\n }\r\n\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-grid',\r\n mixins: [Scroll],\r\n props: ['columns', 'rows', 'gap', 'defaultColspan', 'face'],\r\n methods: {\r\n x_default() {\r\n return {\r\n columns: 12,\r\n gap: 0,\r\n }\r\n },\r\n html_slots() {\r\n return this.x.scrollX || this.x.scrollY ? this.html_scroll_slots() : h('div', {\r\n class: 'w-grid-cont',\r\n style: this.html_scroll_cont_style,\r\n }, this.$slots)\r\n },\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: [this.x.rows ? 'z-full' : 'z-auto', this.x.face && 'z-face-' + this.x.face, this.html_scroll_class],\r\n }\r\n },\r\n html_scroll_cont_style() {\r\n let cols = this.x.columns\r\n if ($.isNumber(cols)) cols = `repeat(${cols}, 1fr)`\r\n let rows = this.x.rows\r\n if ($.isNumber(rows)) rows = `repeat(${rows}, 1fr)`\r\n let dc = this.x.defaultColspan\r\n return {\r\n 'grid-template-columns': cols,\r\n 'grid-template-rows': rows,\r\n 'gap': this.x.gap ? $.unitSize(this.x.gap) : '',\r\n '--w-grid-default-colspan': (dc == -1 || dc == null ? '' : `span ${dc}`),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-grid {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont {\r\n display: grid;\r\n grid-auto-flow: row;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-grid-cont>*,\r\n .w-grid.w-scroll>.w-scroll-overflow>.w-scroll-cont>* {\r\n grid-column: var(--w-grid-default-colspan, 1 / -1);\r\n }\r\n\r\n .w-grid.z-full>.w-grid-cont {\r\n height: 100%;\r\n }\r\n\r\n .w-grid.w-scroll.z-auto>.w-scroll-overflow>.w-scroll-cont {\r\n min-height: auto;\r\n }\r\n\r\n .w-grid.z-face-cell {\r\n border-top: 1px solid var(--w-grid-cell-border-color);\r\n border-left: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-formbase {\r\n align-items: stretch;\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n border-bottom: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-label {\r\n background: var(--w-grid-cell-label-background-color);\r\n border-right: 1px solid var(--w-grid-cell-border-color);\r\n }\r\n\r\n .w-grid.z-face-cell .w-input-border,\r\n .w-grid.z-face-cell .w-input .w-formbase {\r\n border: 0;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload {\r\n align-items: stretch;\r\n }\r\n\r\n .w-grid.z-face-cell .w-fileupload>.w-input {\r\n padding: 10px;\r\n justify-content: center;\r\n }\r\n\r\n .w-grid.z-face-cell .w-imageupload>.w-input,\r\n .w-grid.z-face-cell .w-mediaupload>.w-input {\r\n padding: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-form>.w-input,\r\n .w-grid.z-face-cell .w-switch>.w-input,\r\n .w-grid.z-face-cell .w-radiogroup>.w-input,\r\n .w-grid.z-face-cell .w-checkboxgroup>.w-input {\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n\r\n .w-grid.z-face-cell .w-boxgroup-grid {\r\n padding: 10px 0;\r\n }\r\n \r\n .w-grid.z-face-cell .w-combobox-list {\r\n padding-left: 5px;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-swiper-item',\r\n pubParentName: 'w-swiper',\r\n inject: ['providePubParent'],\r\n mixins: [WidgetBase],\r\n props: ['lazy'],\r\n data() {\r\n return {\r\n loaded: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n lazy: true\r\n }\r\n },\r\n html_slots() {\r\n if (this.loaded || !this.lazy) {\r\n return this.$slots\r\n }\r\n if (this.isCurrent) {\r\n this.loaded = true\r\n return this.$slots\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-on': this.isCurrent}\r\n },\r\n isCurrent() {\r\n return this.pubParent.inCurrent(this)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import PubParent from './PubParent.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-swiper',\r\n mixins: [WidgetBase, PubParent],\r\n props: ['arrow', 'indicatorDots', 'duration'],\r\n data() {\r\n return {\r\n focusIndex: null,\r\n }\r\n },\r\n watch: {\r\n current(v) {\r\n this.setFocus(v)\r\n },\r\n },\r\n methods: {\r\n //@a -> key, index\r\n setFocus(a) {\r\n let s = this.slots_children()\r\n let c = s.findIndex(v => this.isCurrentChild(a, v))\r\n this.focusIndex = c\r\n },\r\n clickArrow(a) {\r\n this.focusIndex += a\r\n },\r\n clickIndicator(a) {\r\n this.focusIndex = a\r\n },\r\n html_slots() {\r\n if (this.focusIndex == null) {\r\n this.setFocus(this.x.current)\r\n }\r\n let v = this.x.vertical\r\n let a = v ? 'up' : 'left'\r\n let b = v ? 'down' : 'right'\r\n return [\r\n h('div', {\r\n class: 'w-swiper-cont',\r\n ref: 'cont',\r\n }, this.$slots),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + a,\r\n onclick: e => this.clickArrow(-1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + a\r\n })),\r\n this.x.arrow && h('div', {\r\n class: 'w-swiper-arrow z-' + b,\r\n onclick: e => this.clickArrow(1)\r\n }, h('i', {\r\n class: 'f-i f-i-angle-' + b\r\n })),\r\n this.x.indicatorDots && h('div', {\r\n class: 'w-swiper-indicator f-flex-center',\r\n }, this.slots_children().map((v, i) => h('div', {\r\n class: 'w-swiper-indicator-dot' + (i == this.focusIndex ? ' z-on' : ''),\r\n onclick: e => this.clickIndicator(i)\r\n })))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n let i = this.focusIndex\r\n return {\r\n 'z-at-first': i == 0,\r\n 'z-at-last': i > -1 && i == this.slots_children().length - 1\r\n }\r\n },\r\n html_style() {\r\n let i = this.focusIndex\r\n return {\r\n '--w-swiper-translate-x': (-i * 100) + '%',\r\n '--w-swiper-transition': this.x.duration ? `transform ${this.x.duration}ms` : 0,\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.$refs.cont) {\r\n new MutationObserver(() => {\r\n this.setFocus(this.x.current)\r\n }).observe(this.$refs.cont, {\r\n childList: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-swiper {\r\n position: relative;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper-cont {\r\n display: flex;\r\n box-sizing: border-box;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n .w-swiper-item {\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n box-sizing: border-box;\r\n overflow: hidden;\r\n transform: translateX(var(--w-swiper-translate-x));\r\n transition: var(--w-swiper-transition);\r\n }\r\n\r\n .w-swiper-item>* {\r\n width: 100%;\r\n height: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-left,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-right,\r\n .w-swiper.z-at-first>.w-swiper-arrow.z-up,\r\n .w-swiper.z-at-last>.w-swiper-arrow.z-down {\r\n display: none\r\n }\r\n\r\n .w-swiper-arrow {\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n z-index: 1;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-arrow.z-left {\r\n width: 40px;\r\n right: auto\r\n }\r\n\r\n .w-swiper-arrow.z-right {\r\n width: 40px;\r\n left: auto\r\n }\r\n\r\n .w-swiper-arrow.z-up {\r\n height: 40px;\r\n bottom: auto\r\n }\r\n\r\n .w-swiper-arrow.z-down {\r\n height: 40px;\r\n top: auto\r\n }\r\n\r\n .w-swiper-arrow .f-i {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n font-size: 36px;\r\n color: #ccc\r\n }\r\n\r\n .w-swiper-arrow:hover {\r\n background: rgba(0, 0, 0, .1)\r\n }\r\n\r\n .w-swiper-arrow:hover .f-i {\r\n color: #fff\r\n }\r\n\r\n .w-swiper-indicator {\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: 10px;\r\n text-align: center\r\n }\r\n\r\n .w-swiper-indicator-dot {\r\n width: 9px;\r\n height: 9px;\r\n margin: 0 4px;\r\n background-color: #bbb;\r\n border-radius: 10px;\r\n vertical-align: middle;\r\n cursor: pointer\r\n }\r\n\r\n .w-swiper-indicator-dot.z-on {\r\n background-color: #333\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n export default {\r\n name: 'w-buttonbar',\r\n mixins: [Horizontal, PubParent],\r\n props: ['vertical'],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n valign: this.vertical ? null : 'middle'\r\n }\r\n },\r\n html_slots() { \r\n let s\r\n if (this.$slots.split) {\r\n let a = this.slots_children()\r\n let b = this.$slots.split()\r\n s = []\r\n for (let i = 0, l = a.length; i < l; i++) {\r\n s.push(a[i])\r\n if (i < l - 1) s.push(b)\r\n }\r\n }\r\n return this.html_scroll_slots(s)\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return this.x.vertical ? 'w-vertical' : 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import Button from './Button.vue'\r\n export default {\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-tab'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tab {\r\n background: #f8f8f8;\r\n }\r\n .w-tab.z-on {\r\n background: #fff;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import TabButton from './TabButton.vue'\r\n import Swiper from './Swiper.vue'\r\n import SwiperItem from './SwiperItem.vue'\r\n\r\n export default {\r\n name: 'w-tabs',\r\n mixins: [WidgetBase],\r\n props: ['current', 'position', 'gap'],\r\n methods: {\r\n x_default() {\r\n return {\r\n position: 'top',\r\n gap: 0\r\n }\r\n },\r\n html_slots() {\r\n let buttons = []\r\n let pages = []\r\n this.slots_children().forEach((v, i) => {\r\n if (!v.props) {\r\n $.lodash.set(v, 'props.key', i)\r\n }\r\n buttons.push(h(TabButton, v.props))\r\n pages.push(h(SwiperItem, {lazy: v.props.lazy == null ? true : v.props.lazy, key: v.props.key}, v.children))\r\n })\r\n return [\r\n h(ButtonBar, {\r\n class: 'w-tabs-buttonbar',\r\n current: this.x.current,\r\n gap: this.x.gap,\r\n scrollX: this.x.scrollX,\r\n scrollY: this.x.scrollY,\r\n }, {default: () => buttons}),\r\n h(Swiper, {class: 'w-tabs-swiper f-flex-1 f-oh', current: this.x.current}, {default: () => pages}),\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'f-oh f-flex' + (this.x.position === 'top' || this.x.position === 'bottom' ? '-column' : '')\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n export default {\r\n name: 'w-tab',\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import Horizontal from './Horizontal.vue'\r\n import PubParent from './PubParent.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-album',\r\n mixins: [Horizontal, PubParent],\r\n methods: {\r\n x_default() {\r\n return {\r\n gap: 0,\r\n br: true,\r\n valign: 'top',\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-horizontal'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Button from './Button.vue'\r\n\r\n export default {\r\n name: 'w-submitbutton',\r\n pubParentName: 'w-buttonbar',\r\n mixins: [Button],\r\n computed: {\r\n html_class() {\r\n return 'w-button'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n \r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h, mergeProps} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Scroll from './Scroll.vue'\r\n\r\n export default {\r\n name: 'w-html',\r\n mixins: [WidgetBase, AlignParent, Scroll],\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [(this.x.align || this.x.valign) && 'w-horizontal', this.html_align_class, this.html_scroll_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-html {\r\n box-sizing: border-box;\r\n flex-wrap: wrap;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n mergeProps\r\n } from 'vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-tree',\r\n mixins: [Scroll, PubParent],\r\n provide() {\r\n return {\r\n provideLeafLevel: -1,\r\n provideParentLeaf: null,\r\n }\r\n },\r\n methods: {\r\n html_slots() {\r\n return this.html_scroll_slots()\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: this.html_scroll_class\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-tree {\r\n text-align: left;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-leaf.z-hv {\r\n background: #f5faff\r\n }\r\n\r\n .w-leaf.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n\r\n export default {\r\n name: 'w-label',\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['text', 'vertical'],\r\n methods: {\r\n html_slots() {\r\n return h('label', {class: 'w-label-text'}, \r\n h('span', this.$slots.default ? this.$slots.default() : this.x.text))\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n this.x.vertical && (this.$parent.labelVertical = true)\r\n return ['f-oh f-br' + (this.x.vertical ? ' z-vertical' : ''), this.html_align_class]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import AlignParent from './AlignParent.vue'\r\n import Label from './Label.vue'\r\n\r\n const _valid_err = function(v) {\r\n if (typeof v !== 'string')\r\n v = Array.isArray(v) ? v.join(',') : v == null ? '' : ('' + v);\r\n v = v.trim()\r\n let k = this.validHooks;\r\n let c, d, e;\r\n if (k.valid && (e = k.valid(v)))\r\n return e;\r\n if ((c = this.vv('required')) && (k.required ? k.required(v) : (!v)))\r\n return this.formErr('required');\r\n if ((c = this.vv('minLength')) != null && c !== '' && c > 0 && v && (k.minLength ? k.minLength(v) : ($.strLen(v) < c)))\r\n return this.formErr('minLength', [c]);\r\n if ((c = this.vv('maxLength')) != null && c !== '' && c > 0 && v && (k.maxLength ? k.maxLength(v) : ((d = $.strLen(v)) > c)))\r\n return this.formErr('maxLength', [d - c]);\r\n if ((c = this.vv('minValue')) != null && c !== '' && v && (k.minValue ? k.minValue(v) : ($.isNumber(c) ? ($.number(v) < $.number(\r\n c)) : (v < c))))\r\n return this.formErr('minValue', [c]);\r\n if ((c = this.vv('maxValue')) != null && c !== '' && v && (k.maxValue ? k.maxValue(v) : ($.isNumber(c) ? ($.number(v) > $.number(\r\n c)) : (v > c))))\r\n return this.formErr('maxValue', [c]);\r\n if ((c = this.vv('minSize')) != null && c !== '' && c > 0 && v && (k.minSize ? k.minSize(v) : (v.split(',').length < $.number(\r\n c))))\r\n return this.formErr('minSize', [c]);\r\n if ((c = this.vv('maxSize')) != null && c !== '' && c > 0 && v && (k.maxSize ? k.maxSize(v) : (v.split(',').length > $.number(c))))\r\n return this.formErr('maxSize', [c]);\r\n if ((c = this.vv('pattern')) && v && (k.pattern ? k.pattern(c) : (typeof c === 'string' ? !$.eval(`${c}.test(v)`, {v}) : !c.test(v))))\r\n return this.formErr('pattern');\r\n if (this.vv('compare') && this.x.compare.target && v && (c = this.ownerView.f(this.x.compare.target)) && (d =\r\n c.formVal()) &&\r\n (k.compare ? k.compare(v, c, d) : !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})))\r\n return this.formErr('compare', [this.x.compare.mode, c.getLabelText() || 'end']);\r\n if ((c = this.vv('validateHandler')) && (d = c(v)))\r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: 'validateHandler',\r\n text: d\r\n }\r\n }\r\n\r\n const _validate_dft_value = {\r\n required: true,\r\n beforeNow: true,\r\n afterNow: true\r\n }\r\n\r\n export default {\r\n mixins: [WidgetBase, AlignParent],\r\n props: ['name', 'value', 'modelValue', 'placeholder', 'label', 'readonly', 'disabled', 'required', 'validateHandler', 'inputWidth', 'inputHeight'\r\n ],\r\n emits: ['update:modelValue', 'change'],\r\n data() {\r\n let mv = this.wrapper().modelValue\r\n return {\r\n isFormWidget: true,\r\n isFocus: false,\r\n hasBorder: false,\r\n isPlural: false,\r\n warnClass: '',\r\n labelVertical: false,\r\n modifiedValue: mv,\r\n defaultValue: mv,\r\n placeholder_type: '',\r\n }\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0)\r\n return this.x.modelValue\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n return v\r\n },\r\n formVal() {\r\n return this.input_value\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n this.val(empty || this.defaultValue == null ? '' : this.defaultValue)\r\n },\r\n vv(name) {\r\n return typeof this.rules[name] !== 'object' ? this.rules[name] : this.rules[name].value !== undefined ? this.rules[name].value : _validate_dft_value[name]\r\n },\r\n valid() {\r\n let e = this.getValidError()\r\n if (e) {\r\n this.warn()\r\n this.showErrorTip(e.text)\r\n }\r\n return !e\r\n },\r\n getValidError() {\r\n if (this.isNormal || this.readonly == 'validate') {\r\n return _valid_err.call(this, this.isPlural ? this.groupFormVal() : this.formVal())\r\n }\r\n },\r\n formErr(b, c) {\r\n let t = this.getLabelText()\r\n \r\n return {\r\n wid: this.uid,\r\n name: this.x.name,\r\n code: b,\r\n label: t,\r\n text: (this.rules[b] && this.rules[b].text) || $.loc.ps.apply(null, [$.loc.form[b === 'required' && !t ?\r\n 'complete_required' : b], t || ''].concat(c != null && c !== '' ? c : [])) || ''\r\n }\r\n },\r\n warn(a) {\r\n this.warnClass = typeof a === 'string' ? a : a !== false ? 'z-err' : ''\r\n },\r\n showErrorTip(text) {\r\n $.scrollIntoView(this)\r\n this.exec({\r\n type: 'Tip',\r\n text,\r\n face: 'warn',\r\n independent: true,\r\n snap: {\r\n target: this.errorTipTarget\r\n }\r\n })\r\n },\r\n showTip(o, opt) {\r\n return this.exec($.extendDeep({}, o, this.x.tip, {\r\n type: 'Tip',\r\n hoverDrop: true\r\n }))\r\n },\r\n focus() {\r\n this.$refs.v.focus()\r\n },\r\n formText() {\r\n let t = this.val()\r\n return t == null ? '' : t\r\n },\r\n getLabelText() {\r\n let t = this.x.label || (this.pubParent && this.pubParent.x.label)\r\n return t ? (t.text || t) : ''\r\n },\r\n oninput(e) {\r\n this.val(e.target.value)\r\n },\r\n onblur(e) {\r\n if (!this.isFocusTarget(e.relatedTarget)) this.isFocus = false\r\n //this.valid('blur')\r\n },\r\n snapElem() {\r\n return this.el('main')\r\n },\r\n hasBubble(a) {\r\n return this.snapElem().contains(a.isWidget ? a.el() : a)\r\n },\r\n isFocusTarget(el) {\r\n // implement\r\n },\r\n // @original: 检测表单是否有修改,对照参考的值为初始值\r\n isModified(original) {\r\n let dv = original ? this.defaultValue : this.modifiedValue\r\n let mv = this.x.modelValue\r\n if (dv == null) dv = ''\r\n if (mv == null) mv = ''\r\n if (dv == mv)\r\n return false\r\n return JSON.stringify(dv) != JSON.stringify(mv)\r\n },\r\n // @original: 设置为true,修改初始值\r\n saveModified(original) {\r\n this.modifiedValue = $.lodash.clone(this.x.modelValue)\r\n if (original) {\r\n this.defaultValue = this.modifiedValue\r\n }\r\n },\r\n html_label() {\r\n return this.$slots.label ? this.$slots.label() : (this.x.label && typeof this.x.label === 'object' && h(Label, this.x.label))\r\n },\r\n html_input() {\r\n return h(this.input_tag, {\r\n class: 'w-input-value',\r\n ref: 'v',\r\n id: this.uid + 'v',\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n readonly: this.isReadonly,\r\n disabled: this.isDisabled,\r\n placeholder: this.input_placeholder,\r\n oninput: this.oninput,\r\n onfocus: (e) => {\r\n this.isFocus = true, this.warn(false)\r\n },\r\n onblur: this.onblur,\r\n ...this.input_prop,\r\n })\r\n },\r\n html_input_hidden() {\r\n return this.x.name ? h('input', {\r\n type: 'hidden',\r\n ref: 'v',\r\n name: this.input_name,\r\n value: this.input_value,\r\n disabled: this.x.disabled,\r\n }) : []\r\n },\r\n html_button() {\r\n return []\r\n },\r\n html_form() {\r\n return [\r\n this.slot('prepend'),\r\n this.html_input(),\r\n this.html_button(),\r\n this.slot('append'),\r\n ]\r\n },\r\n html_main() {\r\n let fh = this.x.inputHeight && $.unitSize(this.x.inputHeight)\r\n return h('div', mergeProps({\r\n ref: 'main',\r\n id: this.uid + 'main',\r\n class: ['w-input', {\r\n 'w-input-border': this.hasBorder\r\n }],\r\n style: {\r\n 'height': fh\r\n },\r\n title: this.input_title\r\n }, this.main_prop), this.html_form())\r\n },\r\n html_slots() {\r\n return [this.html_label(), this.html_main(), this.slot('after'), this.slot('dialog')]\r\n }\r\n },\r\n computed: {\r\n rules() {\r\n return this.x\r\n },\r\n validHooks() {\r\n return {}\r\n },\r\n input_value() {\r\n return this.x.modelValue\r\n },\r\n input_name() {\r\n return this.x.name\r\n },\r\n input_tag() {\r\n return 'input'\r\n },\r\n input_type() {\r\n return 'text'\r\n },\r\n input_title() {\r\n // implement\r\n },\r\n input_prop() {\r\n // implement\r\n },\r\n input_placeholder() {\r\n let s = this.x.placeholder\r\n if (s == null && $.x.autoPlaceholder && this.x.label) {\r\n s = $.loc.ps($.loc[this.placeholder_type || 'placeholder_input'], (this.x.label.text || this.x.label))\r\n }\r\n return s\r\n },\r\n main_prop() {\r\n // implement\r\n },\r\n isNormal() {\r\n return !this.isReadonly && !this.isDisabled\r\n },\r\n isDisabled() {\r\n return this.x.disabled\r\n },\r\n isReadonly() {\r\n return this.x.readonly\r\n },\r\n errorTipTarget() {\r\n return this\r\n },\r\n html_on() {\r\n // implement\r\n },\r\n html_props() {\r\n let fw = this.x.inputWidth && $.unitSize(this.x.inputWidth)\r\n return {\r\n class: ['w-formbase', this.warnClass, this.html_align_class, {\r\n 'z-on': this.isFocus,\r\n 'z-ds': !this.isNormal,\r\n 'z-req': this.rules.required,\r\n 'z-label-vertical': this.labelVertical,\r\n 'z-fixed': !!fw,\r\n }],\r\n style: {\r\n '--w-input-width': fw == null ? '' : fw\r\n },\r\n ...this.html_on\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-label {\r\n display: flex;\r\n align-items: center;\r\n padding-right: 10px;\r\n flex-shrink: 0;\r\n justify-content: flex-end;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-label.z-vertical {\r\n justify-content: flex-start;\r\n }\r\n\r\n .w-label-text {\r\n text-align: right;\r\n }\r\n \r\n .w-formbase {\r\n display: flex;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n\r\n .w-input {\r\n display: flex;\r\n box-sizing: border-box;\r\n min-height: 32px;\r\n align-items: center;\r\n overflow: hidden;\r\n flex: 1;\r\n flex-shrink: 1;\r\n flex-basis: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-label-vertical {\r\n display: block;\r\n }\r\n\r\n .w-formbase.z-label-vertical>.w-input {\r\n max-width: var(--w-input-width);\r\n }\r\n\r\n .w-formbase.z-fixed>.w-input {\r\n flex-grow: 0;\r\n }\r\n\r\n .w-input-border {\r\n border: 1px solid #ddd;\r\n box-sizing: border-box;\r\n background: #fff;\r\n }\r\n\r\n .w-input-bbr {\r\n display: flex;\r\n flex-shrink: 0;\r\n width: 26px;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n \r\n .w-input-bbr.f-i-caret-down {\r\n font-size: 18px;\r\n }\r\n\r\n .w-input-bbr button {\r\n width: 100%;\r\n }\r\n\r\n .w-input-main button:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-bbr,\r\n .w-input-bbr button,\r\n .w-input-main button:disabled {\r\n color: #a3a3a3;\r\n }\r\n\r\n .w-formbase.z-on > .w-input-border,\r\n .w-input-border.z-drop {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-input-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-input-border>.w-input-value {\r\n width: 100%;\r\n height: 100%;\r\n border: 0;\r\n padding: 0 10px;\r\n background: transparent;\r\n }\r\n \r\n input::placeholder,\r\n textarea::placeholder,\r\n .w-input-placeholder {\r\n color: #a6a6a6;\r\n }\r\n\r\n .w-dropbox-text {\r\n box-sizing: border-box;\r\n width: 100%;\r\n padding-left: 10px;\r\n }\r\n\r\n .w-textarea .w-input-border>.w-input-value {\r\n height: 100%;\r\n padding: 5px 10px;\r\n box-sizing: border-box;\r\n font-family: inherit;\r\n }\r\n\r\n .w-textarea .w-input-border {\r\n height: 100%;\r\n }\r\n\r\n .w-checkbox,\r\n .w-triplebox,\r\n .w-radio {\r\n margin: 0\r\n }\r\n\r\n .w-triplebox {\r\n display: inline-flex;\r\n justify-content: center;\r\n }\r\n\r\n .w-checkboxgroup>.w-input,\r\n .w-radiogroup>.w-input {\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n padding-top: 3px;\r\n padding-bottom: 3px;\r\n }\r\n\r\n .w-boxgroup-grid {\r\n flex: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr;\r\n align-items: center;\r\n gap: 10px;\r\n }\r\n\r\n .w-checkbox-target>*,\r\n .w-radio-target>* {\r\n width: 100%;\r\n }\r\n\r\n .w-checkboxgroup>.w-input>.w-checkbox>.w-input,\r\n .w-radiogroup>.w-input>.w-radio>.w-input {\r\n min-height: auto;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-checkbox-text,\r\n .w-radio-text {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-checkbox-appear,\r\n .w-radio-appear,\r\n .w-triplebox-appear {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n width: 18px;\r\n height: 18px;\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n color: var(--w--focus-color);\r\n background-color: #fff;\r\n box-shadow: 0 1px 2px rgb(0 0 0 / 5%), inset 0px -15px 10px -12px rgb(0 0 0 / 5%);\r\n }\r\n\r\n .w-radio-appear {\r\n border-radius: 20px;\r\n }\r\n\r\n .w-checkbox .w-input-value,\r\n .w-radio .w-input-value,\r\n .w-triplebox .w-input-value {\r\n display: none;\r\n }\r\n\r\n .w-checkbox-appear .f-i,\r\n .w-radio-appear .f-i,\r\n .w-triplebox-appear .f-i {\r\n visibility: hidden;\r\n font-size: 14px;\r\n }\r\n\r\n .w-radio-appear .f-i {\r\n width: 10px;\r\n height: 10px;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n }\r\n\r\n .w-radio-text,\r\n .w-checkbox-text,\r\n .w-triplebox-text {\r\n word-break: keep-all;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear,\r\n .w-input-value:checked+.w-triplebox-appear,\r\n .w-input-value:checked+.w-radio-appear {\r\n border-color: var(--w--focus-color);\r\n box-shadow: none;\r\n }\r\n\r\n .w-input-value:checked+.w-checkbox-appear .f-i,\r\n .w-input-value:checked+.w-triplebox-appear .f-i,\r\n .w-input-value:checked+.w-radio-appear .f-i {\r\n visibility: visible;\r\n }\r\n\r\n .w-triplebox.z-half .w-triplebox-appear:before {\r\n content: '';\r\n position: absolute;\r\n background: var(--w--focus-color);\r\n flex-shrink: 0;\r\n width: 10px;\r\n height: 3px;\r\n }\r\n\r\n .w-formbase.z-ds .w-input-border,\r\n .w-formbase.z-ds .w-checkbox-appear,\r\n .w-formbase.z-ds .w-triplebox-appear,\r\n .w-formbase.z-ds .w-radio-appear {\r\n border-color: #ccc;\r\n background-color: #e6e6e6;\r\n }\r\n\r\n .w-formbase.z-err .w-input-border,\r\n .w-formbase.z-err .w-radio-appear,\r\n .w-formbase.z-err .w-triplebox-appear,\r\n .w-formbase.z-err .w-checkbox-appear {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text {\r\n position: relative;\r\n }\r\n\r\n .w-formbase.z-req>.w-label>.w-label-text>span:before {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-label.z-h-align-left {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-label.z-h-align-left>.w-label-text {\r\n text-align: left;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:before {\r\n content: '';\r\n display: none;\r\n }\r\n \r\n .w-formbase.z-req>.w-label.z-h-align-left>.w-label-text>span:after {\r\n content: '*';\r\n color: #f00;\r\n font-size: 16px;\r\n font-family: tahoma;\r\n position: relative;\r\n top: 3px;\r\n margin-left: 3px;\r\n }\r\n \r\n .w-form > .w-input {\r\n word-break: break-word;\r\n gap: var(--w-form-gap);\r\n }\r\n .w-form.z-vertical > .w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n }\r\n .w-form.z-v-align-left > .w-input,\r\n .w-form.z-h-valign-top > .w-input {\r\n align-items: flex-start;\r\n }\r\n .w-form.z-v-align-center > .w-input,\r\n .w-form.z-h-valign-middle > .w-input {\r\n align-items: center;\r\n }\r\n .w-form.z-v-align-right > .w-input,\r\n .w-form.z-h-valign-bottom > .w-input {\r\n align-items: flex-end;\r\n }\r\n .w-form.z-h-align-left > .w-input,\r\n .w-form.z-v-valign-top > .w-input {\r\n justify-content: flex-start;\r\n }\r\n .w-form.z-h-align-center > .w-input,\r\n .w-form.z-v-valign-middle > .w-input {\r\n justify-content: center;\r\n }\r\n .w-form.z-h-align-right > .w-input,\r\n .w-form.z-v-valign-bottom > .w-input {\r\n justify-content: flex-end;\r\n }\r\n \r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-checkbox',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['text', 'checked', 'partialSubmit', 'minSize', 'maxSize'],\r\n inject: ['providePubParent', 'provideBoxParent'],\r\n emits: ['change', 'update:checked', 'click'],\r\n data() {\r\n return {\r\n isPlural: true,\r\n indeterminate: false,\r\n modifiedChecked: false,\r\n defaultChecked: false,\r\n }\r\n },\r\n created() {\r\n if (this.provideBoxParent) {\r\n this.provideBoxParent.boxProxy = this\r\n }\r\n if (this.pubParent) {\r\n if (this.$slots.default)\r\n this.pubParent.isGrid = true\r\n }\r\n this.defaultChecked = this.isChecked\r\n this.modifiedChecked = this.isChecked\r\n },\r\n methods: {\r\n val(a) {\r\n if (arguments.length == 0)\r\n \treturn this.isChecked ? this.value : ''\r\n //this.x.checked = !!a\r\n let v = this.groupFormVal()\r\n let p = this.pubParent\r\n if (p) {\r\n p.$emit('update:modelValue', v)\r\n p.$emit('change', v)\r\n if (v != p.x.modelValue) {\r\n p.x.modelValue = v\r\n }\r\n } else {\r\n this.$emit('change', v)\r\n }\r\n return v\r\n },\r\n formVal() {\r\n return !this.isDisabled && this.isChecked ? this.$refs.v.value : ''\r\n },\r\n groupFormVal(a) {\r\n if (a == null)\r\n return $.lodash.filter(this.elements(true, true), v => v.value).map(v => v.value).join(',')\r\n $.lodash.each(this.elements(), e => $(e).check($.idsAny(a, $(e).formVal())))\r\n },\r\n // @a -> T/F 是否只获取所有选中项, b -> 是否只选择可用的\r\n elements(a, b) {\r\n return $.q(':input[name=\"' + this.input_name + '\"]' + (b ? ':not(:disabled)' : '') +\r\n (a === true ? ':checked' : a === false ? ':not(:checked)' : (a || '')), this.ownerView.el())\r\n },\r\n relate() {\r\n // implement\r\n },\r\n // @empty -> 是否强制清空\r\n reset(empty) {\r\n if (this.pubParent) {\r\n this.pubParent.reset(empty)\r\n } else {\r\n this.val(empty || !this.defaultChecked ? false : true)\r\n }\r\n },\r\n onchange(e) {\r\n if (this.warnClass && this.x.name) {\r\n this.ownerView.fAll(this.x.name).forEach(v => v.warn && v.warn(false))\r\n }\r\n this.val(e.target.checked)\r\n this.trigger('click', e)\r\n },\r\n isModified(original) {\r\n if (this.pubParent) {\r\n return this.pubParent.isModified(original)\r\n } else {\r\n let c = original ? this.defaultChecked : this.modifiedChecked\r\n return c == this.isChecked\r\n }\r\n },\r\n saveModified(original) {\r\n if (this.pubParent) {\r\n this.pubParent.saveModified(original)\r\n } else {\r\n this.modifiedChecked = this.isChecked\r\n if (original) {\r\n this.defaultChecked = this.modifiedChecked\r\n }\r\n }\r\n },\r\n snapElem() {\r\n return this.el()\r\n },\r\n html_input() {\r\n return [h(this.input_tag, {\r\n type: this.input_type,\r\n name: this.input_name,\r\n value: this.input_value,\r\n checked: this.isChecked,\r\n disabled: this.isDisabled,\r\n indeterminate: this.indeterminate,\r\n 'w-partialsubmit': this.x.partialSubmit ? 1 : null,\r\n onclick: e => {\r\n if (this.isNormal) {\r\n if (!this.pubParent) {\r\n this.x.checked = e.target.checked\r\n }\r\n this.indeterminate = false\r\n } else e.preventDefault()\r\n },\r\n onchange: this.onchange,\r\n class: 'w-input-value',\r\n ref: 'v',\r\n 'w-name': this.input_name !== this.x.name ? this.x.name : null\r\n }), h('em', {\r\n class: this.$options.name + '-appear'\r\n }, h('i', {\r\n class: this.input_icon\r\n })),\r\n h('span', {\r\n class: this.$options.name + '-text'\r\n }, this.x.text)\r\n ]\r\n },\r\n html_main() {\r\n return h('label', {\r\n class: 'w-input',\r\n onclick: e => {\r\n e.stopPropagation()\r\n this.provideBoxParent && this.provideBoxParent.clickBoxProxy(e)\r\n this.relate()\r\n }\r\n }, this.html_input())\r\n },\r\n html_target() {\r\n return h(Horizontal, {class: this.$options.name + '-target', ref: 'target'}, this.$slots)\r\n },\r\n html() {\r\n return this.pubParent && this.pubParent.isGrid ? [this.html_self(true), this.html_target()] : this.html_self()\r\n }\r\n },\r\n computed: {\r\n input_type() {\r\n return 'checkbox'\r\n },\r\n input_value() {\r\n // 如果没有定义value,必须返回空字符串。因为当<input type=\"checkbox\">没有value属性时,它的表单值会变成\"on\"\r\n return this.x.value == null ? '' : this.x.value\r\n },\r\n input_icon() {\r\n return 'f-i f-i-check'\r\n },\r\n rules() {\r\n return {\r\n required: this.x.required != null ? this.x.required : (this.pubParent && this.pubParent.x.required),\r\n minSize: this.x.minSize != null ? this.x.minSize : (this.pubParent && this.pubParent.x.minSize),\r\n maxSize: this.x.maxSize != null ? this.x.maxSize : (this.pubParent && this.pubParent.x.maxSize),\r\n }\r\n },\r\n isChecked() {\r\n return typeof this.x.checked === 'boolean' ? this.x.checked : (this.pubParent && $.idsAny(this.pubParent.x.modelValue, this.x.value))\r\n },\r\n isDisabled() {\r\n return this.x.disabled != null ? this.x.disabled : (this.pubParent && this.pubParent.disabled)\r\n },\r\n isReadonly() {\r\n return this.x.readonly != null ? this.x.readonly : (this.pubParent && this.pubParent.readonly)\r\n },\r\n html_class() {\r\n return {\r\n 'z-half': this.indeterminate\r\n }\r\n }\r\n },\r\n mounted() {\r\n let t = this.$refs.target\r\n if (t) {\r\n this.$nextTick(() => {\r\n this.$watch(() => this.isChecked && !this.isDisabled, (v) => {\r\n t.$el && this.ownerView.fAll(null, t.$el).forEach(n => n.x.disabled = !v)\r\n }, {immediate: true})\r\n })\r\n }\r\n },\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-triplebox',\r\n mixins: [CheckBox],\r\n props: ['all'],\r\n watch: {\r\n checked(e) {\r\n if (this.provideBoxParent) {\r\n !this.provideBoxParent.isFolder() && this.provideBoxParent.clickBoxProxy()\r\n }\r\n }\r\n },\r\n methods: {\r\n checkstate(a) {\r\n let b = this.indeterminate ? 2 : this.isChecked ? 1 : 0\r\n if (a == null) {\r\n return b\r\n }\r\n this.x.checked = a == 1\r\n this.indeterminate = a == 2\r\n },\r\n isPartial() {\r\n return this.checkstate() == 2\r\n },\r\n getRelates() {\r\n return this.ownerView.fAll(this.x.name)\r\n },\r\n relate() {\r\n if (this.x.name) {\r\n for (var i = 0, b = this.getRelates(), c = this.isPartial(), l = b.length, n = l, c0 = 0, c1 = 0, c2 = 0,\r\n d; i < l; i++) {\r\n if (!b[i].isNormal) {\r\n n--\r\n continue\r\n }\r\n if (this.x.all) {\r\n if (this != b[i]) {\r\n if (c) {\r\n this.checkstate(b[i].checkstate())\r\n break;\r\n } else {\r\n b[i].checkstate(this.isChecked ? 1 : 0)\r\n }\r\n } else if (l == 1)\r\n d = this\r\n } else if (b[i].x.all) {\r\n d = b[i]\r\n } else {\r\n b[i].isChecked ? (c1++) : b[i].isPartial() ? (c2++) : (c0++)\r\n }\r\n }\r\n if (d && ((c0 + c1 + c2) || l == 1)) {\r\n d.checkstate(c0 == n - 1 ? 0 : c1 == n - 1 ? 1 : 2)\r\n }\r\n }\r\n },\r\n check(a) {\r\n if (!this.isNormal) return\r\n this.checkstate(a)\r\n this.relate()\r\n },\r\n },\r\n mounted() {\r\n !this.x.all && this.relate()\r\n }\r\n\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h,\r\n mergeProps\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import SrcParent from './SrcParent.vue'\r\n import TripleBox from './TripleBox.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-leaf',\r\n pubParentName: 'w-tree',\r\n mixins: [WidgetBase, SrcParent],\r\n props: ['text', 'expandedIcon', 'collapsedIcon', 'expanded', 'box', 'br', 'format', 'folder', 'src', 'success', 'filter', 'error', 'complete'],\r\n inject: ['providePubParent', 'provideLeafLevel', 'provideParentLeaf'],\r\n provide() {\r\n return {\r\n provideParentLeaf: this,\r\n provideLeafLevel: this.provideLeafLevel + 1,\r\n provideBoxParent: this,\r\n }\r\n },\r\n data() {\r\n return {\r\n hover: false,\r\n loading: false,\r\n loaded: this.inTree() ? this.getInitLoaded() : this.provideParentLeaf.getInitLoaded(),\r\n boxProxy: null,\r\n }\r\n },\r\n methods: {\r\n hasChild() {\r\n return this.inTree() ? $.hasChild(this.$slots) : this.provideParentLeaf.hasChild()\r\n },\r\n getInitLoaded() {\r\n return this.hasChild() || ((this.x || this.$props).folder === false) || !this.getSrc() ? true : false\r\n },\r\n inTree() {\r\n return !this.provideParentLeaf || this.provideParentLeaf.$options.name === 'w-leaf'\r\n },\r\n isExpanded() {\r\n return this.inTree() ? this.x.expanded : this.provideParentLeaf.isExpanded()\r\n },\r\n isFolder() {\r\n return this.inTree() ? (this.hasChild() ? true : this.x.folder != null ? this.x.folder : !!(this.getSrc() && !this.loaded)) : this.provideParentLeaf.isFolder()\r\n },\r\n toggle(exp, fn) {\r\n if (this.inTree()) {\r\n this.x.expanded = exp != null ? exp : !this.x.expanded\r\n if (this.isExpanded() && !this.loaded) {\r\n this.request(() => {fn && fn(this.isExpanded())})\r\n } else {\r\n fn && this.$nextTick(() => {fn(this.isExpanded())})\r\n }\r\n } else {\r\n this.provideParentLeaf.toggle(exp, fn)\r\n }\r\n },\r\n clickBoxProxy(e) {\r\n this._triple()\r\n },\r\n children() {\r\n return $.lodash.map(this.$refs.cont.querySelectorAll(':scope > .w-leaf'), v => $(v))\r\n },\r\n // triplebox 级联勾选\r\n _triple() {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && p.$options.name === 'w-leaf') {\r\n if (p.boxProxy) {\r\n let c = p.children()\r\n let m = [0, 0, 0]\r\n let l = c.length\r\n c.forEach(v => {\r\n let b = v.boxProxy\r\n if (b) m[b.checkstate()]++\r\n })\r\n p.boxProxy.check(m[0] === l ? 0 : m[1] === l ? 1 : 2)\r\n }\r\n }\r\n let c = this.boxProxy.checkstate()\r\n c != 2 && this._tripleAll(c)\r\n },\r\n _tripleAll(a) {\r\n this.children().forEach(v => {\r\n if (v.boxProxy) {\r\n v.boxProxy.check(a)\r\n v._tripleAll(a)\r\n }\r\n })\r\n },\r\n onmouseenter(e) {\r\n this.el().classList.add('z-hv')\r\n },\r\n onmouseleave(e) {\r\n this.el().classList.remove('z-hv')\r\n },\r\n html_self() {\r\n let exp = this.isExpanded()\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return h('div', mergeProps(this.html_attrs, this.$attrs, this.html_props), [h('div', {\r\n class: ['w-leaf-toggle f-i', exp ? 'f-i-caret-down' : 'f-i-caret-right'],\r\n onclick: (e) => {\r\n e.stopPropagation(), this.toggle()\r\n }\r\n }),\r\n this.$slots.box && this.$slots.box(),\r\n ico && h(Img, {\r\n src: ico,\r\n class: ['w-leaf-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }),\r\n h('div', {\r\n class: 'w-leaf-text' + ($.isNumber(this.x.br) ? ' f-line-' + this.x.br : this.x.br ? '' : ' f-line-1'),\r\n title: this.x.text,\r\n }, this.$slots.text ? this.$slots.text() : this.x.text)\r\n\r\n ])\r\n\r\n },\r\n html_cont() {\r\n return h('div', {\r\n id: this.uid + 'cont',\r\n ref: 'cont',\r\n class: 'w-leaf-cont',\r\n style: {\r\n display: this.x.expanded ? '' : 'none'\r\n },\r\n }, this.$slots)\r\n },\r\n html() {\r\n return [this.html_self(), this.html_cont()]\r\n }\r\n },\r\n computed: {\r\n tree() {\r\n return this.pubParent\r\n },\r\n isCurrent() {\r\n return this.pubParent && this.pubParent.inCurrent(this)\r\n },\r\n html_props() {\r\n let prop = {\r\n class: {\r\n 'z-folder': this.isFolder(),\r\n 'z-on': this.isCurrent,\r\n },\r\n style: 'padding-left:' + $.unitSize((this.provideLeafLevel) * 16),\r\n }\r\n if (this.inTree()) {\r\n prop.onmouseenter = this.onmouseenter\r\n prop.onmouseleave = this.onmouseleave\r\n }\r\n return prop\r\n }\r\n },\r\n mounted() {\r\n if (this.x.expanded) this.toggle(true)\r\n if (this.isCurrent) {\r\n let p = this\r\n while ((p = p.provideParentLeaf) && (p.$options.name === this.$options.name)) {\r\n p.toggle(true)\r\n }\r\n }\r\n if (this.boxProxy) {\r\n this.$nextTick(() => {\r\n if (!this.isFolder() && !this.$refs.cont.nextElementSibling) {\r\n this._triple()\r\n }\r\n })\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-leaf {\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 30px;\r\n }\r\n\r\n .w-leaf-text {\r\n flex: 1;\r\n }\r\n\r\n .w-leaf-toggle {\r\n visibility: hidden;\r\n padding: 0 1px;\r\n margin-left: 1px;\r\n color: #777;\r\n }\r\n \r\n .w-leaf-icon {\r\n margin-right: 6px;\r\n }\r\n\r\n .w-leaf.z-folder .w-leaf-toggle {\r\n visibility: visible;\r\n }\r\n\r\n .w-leaf .w-triplebox {\r\n margin-right: 6px;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Menu from './Menu.vue'\r\n\r\n export default {\r\n name: 'w-pagebar',\r\n mixins: [ButtonBar],\r\n emits: ['click:item'],\r\n props: ['limit', 'size', 'offset', 'buttonCount', 'noFirstLast', 'face', 'jump'],\r\n data() {\r\n return {\r\n isJumpFocus: false,\r\n showDrop: false,\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n limit: 1,\r\n size: 0,\r\n offset: 0,\r\n buttonCount: 5,\r\n face: 'normal',\r\n gap: 0,\r\n valign: 'middle',\r\n }\r\n },\r\n inCurrent(a) {\r\n return this.currentPage == a.text\r\n },\r\n clickItem(e, i) {\r\n let b = (i - 1) * this.x.limit\r\n if (b != this.x.offset) {\r\n e.runType = 'click:item'\r\n this.trigger(e, b)\r\n }\r\n },\r\n clickDrop(e) {\r\n this.showDrop = true\r\n },\r\n onJumpClick(e) {\r\n let v = Math.max(0, $.number(this.$refs.jumpInput.value))\r\n this.clickItem(e, v)\r\n },\r\n html_button(i, t, ic, ds) {\r\n return h('button', {\r\n class: ['w-pagebar-button w-pagebar-num', {'z-on': !t && !ic && i == this.currentPage, 'z-ds': ds, [ic]: ic}],\r\n disabled: ds,\r\n onclick: e => this.clickItem(e, i)\r\n }, t || (ic ? '' : i))\r\n },\r\n html_slots() {\r\n return this.x.face === 'button' ? this.html_face_button() :\r\n this.x.face === 'simple' ? this.html_face_simple() : \r\n this.html_face_normal()\r\n },\r\n html_buttons() {\r\n return [h(Button, {\r\n class: 'w-pagebar-button w-pagebar-prev',\r\n icon: '.f-i .f-i-angle-left',\r\n disabled: this.currentPage == 1,\r\n title: $.loc.page_text.prev,\r\n onclick: e => this.clickItem(e, this.currentPage - 1)\r\n }), h(Button, {\r\n class: 'w-pagebar-button w-pagebar-next',\r\n icon: '.f-i .f-i-angle-right',\r\n disabled: this.currentPage == this.sumPage,\r\n title: $.loc.page_text.next,\r\n onclick: e => this.clickItem(e, this.currentPage + 1)\r\n })]\r\n },\r\n html_drop() {\r\n let s = []\r\n if (this.x.buttonCount) {\r\n s.push(h(Button, {\r\n class: 'w-pagebar-button w-pagebar-button-count w-pagebar-prev',\r\n ref: 'drop',\r\n text: this.currentPage + '/' + this.sumPage,\r\n onclick: e => this.clickDrop(e)\r\n }))\r\n }\r\n if (this.showDrop) {\r\n let b = []\r\n for (let i = 1, sp = this.sumPage; i <= sp; i ++) b.push(h(Button, {text: i, on: {click: e => this.clickItem(e, i)}}))\r\n s.push(h(Menu, {snap: {target: () => this.$refs.drop, position: 'v', indent: 1}, on:{close: () => this.showDrop = false}}, {default: () => b}))\r\n }\r\n return s\r\n },\r\n html_face_simple() {\r\n return this.html_drop().concat(this.html_buttons())\r\n },\r\n html_face_button() {\r\n let b = this.html_buttons()\r\n b.splice(1, 0, ...this.html_drop())\r\n return b\r\n },\r\n html_face_normal() {\r\n const s = []\r\n let sp = this.sumPage\r\n let cp = this.currentPage\r\n let n = $.number(this.x.buttonCount)\r\n let f = Math.max(1, cp - Math.ceil(n / 2) + 1)\r\n let l = Math.min(sp + 1, f + n)\r\n let d = l - f < n ? Math.max(1, l - n) : f\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(1, this.labelFirst, this.iconFirst, cp == 1))\r\n }\r\n s.push(this.html_button(cp - 1, this.labelPrev, this.iconPrev, cp == 1))\r\n for (let i = d; i < l; i++) {\r\n s.push(this.html_button(i))\r\n }\r\n s.push(this.html_button(cp + 1, this.labelNext, this.iconNext, cp >= this.sumPage))\r\n if (!this.x.noFirstLast) {\r\n s.push(this.html_button(sp, this.labelLast, this.iconLast, cp >= this.sumPage))\r\n }\r\n if (this.x.jump) {\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-to'\r\n }, $.loc.to))\r\n s.push(h('input', {\r\n class: 'w-pagebar-jump-input',\r\n ref: 'jumpInput',\r\n onfocus: e => this.isJumpFocus = true,\r\n onblur: e => this.isJumpFocus = false,\r\n onkeydown: e => e.keyCode == 13 && this.onJumpClick(e)\r\n }))\r\n s.push(h('button', {\r\n class: 'w-pagebar-button w-pagebar-jump-button',\r\n onclick: this.onJumpClick\r\n }, 'GO'))\r\n s.push(h('span', {\r\n class: 'w-pagebar-jump-page'\r\n }, $.loc.page))\r\n }\r\n return s\r\n },\r\n html_face_mini() {\r\n return this.html_face_normal()\r\n },\r\n },\r\n computed: {\r\n currentPage() {\r\n return (Math.ceil(this.x.offset / this.x.limit) || 0) + 1\r\n },\r\n sumPage() {\r\n return Math.ceil(this.x.size / this.x.limit) || 1\r\n },\r\n labelFirst() {\r\n return this.x.face === 'normal' ? $.loc.page_text.first : ''\r\n },\r\n labelLast() {\r\n return this.x.face === 'normal' ? $.loc.page_text.last : ''\r\n },\r\n labelNext() {\r\n return this.x.face === 'normal' ? $.loc.page_text.next : ''\r\n },\r\n labelPrev() {\r\n return this.x.face === 'normal' ? $.loc.page_text.prev : ''\r\n },\r\n iconFirst() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-first' : ''\r\n },\r\n iconLast() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-last' : ''\r\n },\r\n iconNext() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-right' : ''\r\n },\r\n iconPrev() {\r\n return this.x.face === 'mini' ? 'f-i f-i-angle-left' : ''\r\n },\r\n html_class() {\r\n return [\r\n 'w-buttonbar w-horizontal',\r\n 'z-face-' + this.x.face,\r\n this.html_align_class,\r\n this.isJumpFocus && 'z-jump-on',\r\n ]\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-pagebar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-num {\r\n display: flex;\r\n position: relative;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n box-sizing: border-box;\r\n border: 1px solid #ddd;\r\n background: #fff;\r\n cursor: pointer;\r\n }\r\n\r\n .w-pagebar-num .w-button-text {\r\n padding: 0\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num {\r\n min-width: 30px;\r\n padding: 0 10px;\r\n height: 32px;\r\n flex-shrink: 0;\r\n margin-right: -1px;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num:last-child,\r\n .w-pagebar.z-face-mini .w-pagebar-num:last-child{\r\n margin-right: 0;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on {\r\n font-weight: 700;\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n z-index: 1;\r\n cursor: default;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-hv {\r\n color: #3e89fa;\r\n border-color: var(--w--focus-color);\r\n z-index: 1;\r\n }\r\n\r\n .w-pagebar.z-face-normal .w-pagebar-num.z-on.z-hv {\r\n color: #fff;\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num {\r\n min-width: 23px;\r\n padding: 0 3px;\r\n height: 23px;\r\n flex-shrink: 0;\r\n margin-right: 3px;\r\n }\r\n \r\n .w-pagebar.z-face-mini .f-i {\r\n color: #999;\r\n font-size: 14px;\r\n }\r\n\r\n .w-pagebar.z-face-mini .f-i.z-ds,\r\n .w-pagebar.z-face-mini .f-i.z-ds:hover {\r\n color: #ccc;\r\n background: #f9f9f9;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-pagebar.z-face-mini .w-pagebar-num:hover {\r\n border-color: var(--w--focus-color);\r\n color: var(--w--focus-color);\r\n }\r\n \r\n .w-pagebar.z-face-mini .w-pagebar-num.z-on {\r\n background: var(--w--focus-color);\r\n border-color: var(--w--focus-color);\r\n color: #fff;\r\n cursor: default;\r\n }\r\n \r\n \r\n .w-pagebar.z-face-button .w-button {\r\n margin-right: -1px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button:last-child {\r\n margin-right: 0;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-button-main {\r\n padding: 0 6px;\r\n }\r\n \r\n .w-pagebar.z-face-button .w-pagebar-button-count {\r\n padding: 0 8px;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button.z-ds {\r\n background: transparent;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button,\r\n .w-pagebar.z-face-simple .w-button-main {\r\n border: 0;\r\n padding: 3px;\r\n }\r\n\r\n .w-pagebar.z-face-simple .w-button .w-button-icon {\r\n color: #555;\r\n }\r\n \r\n .w-pagebar.z-face-simple .w-button.z-ds .w-button-icon {\r\n color: #bbb;\r\n }\r\n \r\n \r\n .w-pagebar-num.z-ds {\r\n color: #999;\r\n cursor: default;\r\n background-color: #fff;\r\n }\r\n\r\n .w-pagebar-jump-to {\r\n padding: 0 5px 0 10px;\r\n }\r\n\r\n .w-pagebar-jump-input {\r\n width: 30px;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background-color: #fff;\r\n box-sizing: border-box;\r\n text-align: center;\r\n }\r\n\r\n .w-pagebar-jump-button {\r\n width: 30px;\r\n height: 30px;\r\n padding: 0;\r\n border: 1px solid #ddd;\r\n background-color: #fafafa;\r\n margin-left: -1px;\r\n color: #888;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-pagebar-jump-page {\r\n padding-left: 5px;\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-input {\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-pagebar.z-jump-on .w-pagebar-jump-button {\r\n border-color: var(--w--focus-color);;\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-split',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'movable', 'range', 'toNext', 'expanded'],\r\n inject: ['provideLayout'],\r\n created() {\r\n this.$watch('expanded', (v) => {\r\n if (typeof v === 'boolean') this.x.expanded = v\r\n else if (this.x.expanded == null) this.x.expanded = true\r\n }, {immediate: true})\r\n },\r\n methods: {\r\n toggle(exp) {\r\n this.x.expanded = exp == null ? !this.x.expanded : exp\r\n let minorElem = this.x.toNext ? this.el().nextElementSibling : this.el().previousElementSibling\r\n if (minorElem) {\r\n $.q(minorElem).toggleClass('f-split-collapsed', !this.x.expanded)\r\n //$.q(minorElem).css(this.expanded ? {visibility: '', position: '', zIndex: ''} : {visibility: 'hidden', position: 'absolute', zIndex: -1})\r\n }\r\n },\r\n dragstart(e) {\r\n let prevElem = this.el().previousElementSibling\r\n let nextElem = this.el().nextElementSibling\r\n if (prevElem && nextElem) {\r\n let vert = this.isVertical\r\n let minorElem = this.x.toNext ? nextElem : prevElem\r\n let downX = $.eventX(e)\r\n let downY = $.eventY(e)\r\n let posName = vert ? 'top' : 'left'\r\n let sizeName = vert ? 'height' : 'width'\r\n let clientName = vert ? 'clientY' : 'clientX'\r\n let downPos = vert ? downY : downX\r\n let minPos = $.bcr(prevElem)[posName]\r\n let maxPos = $.bcr(nextElem)[vert ? 'bottom' : 'right'] - 5\r\n let movRect = $.lodash.pick($.bcr(this.$refs.movable), ['width', 'height', 'top', 'left'])\r\n let pos\r\n let help\r\n $.moveup((e) => {\r\n if (!help) {\r\n help = $.q(`<div style=\"position:absolute;background:rgba(0,0,0,.3);z-index:101;\"></div>`).css(\r\n movRect).appendTo(document.body)\r\n }\r\n pos = $.numRange(movRect[posName] + e[clientName] - downPos, minPos, maxPos)\r\n help.css({\r\n [posName]: pos\r\n })\r\n }, (e) => {\r\n if (help) {\r\n help.remove()\r\n let size = (this.x.expanded ? $.bcr(minorElem)[sizeName] : 0) + (this.x.toNext ? 1 : -1) * (downPos -\r\n pos)\r\n if (size <= 0) {\r\n this.toggle(false)\r\n } else {\r\n if (!this.x.expanded) this.toggle(true)\r\n $.q(minorElem).css({\r\n [sizeName]: size\r\n })\r\n }\r\n }\r\n }, e)\r\n }\r\n },\r\n html_slots() {\r\n let r = []\r\n let expandedIcon = this.x.expandedIcon || this.x.collapsedIcon\r\n let collapsedIcon = this.x.collapsedIcon || expandedIcon\r\n if (expandedIcon) {\r\n r.push(this.html_icon(this.x.expanded ? expandedIcon : collapsedIcon, 'w-split-icon', () => this.toggle()))\r\n }\r\n if (this.x.movable) {\r\n r.push(h('div', {\r\n ref: 'movable',\r\n class: 'w-split-movable',\r\n onmousedown: this.dragstart\r\n }))\r\n }\r\n return r\r\n }\r\n },\r\n computed: {\r\n isVertical() {\r\n return this.provideLayout === 'w-vertical'\r\n },\r\n html_props() {\r\n return {\r\n class: ['f-rel z-' + (this.isVertical ? 'vertical' : 'horizontal'), {\r\n 'z-tonext': this.x.toNext\r\n }]\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .f-split-collapsed {\r\n position: absolute !important;\r\n visibility: hidden !important;\r\n z-index: -1;\r\n opacity: 0;\r\n }\r\n\r\n .w-split-icon {\r\n position: absolute;\r\n cursor: pointer;\r\n line-height: 1;\r\n z-index: 1;\r\n }\r\n\r\n .w-split.z-vertical .w-split-icon {\r\n left: 50%;\r\n top: 0;\r\n transform: translateX(-50%);\r\n }\r\n\r\n .w-split.z-vertical.z-tonext .w-split-icon {\r\n top: auto;\r\n bottom: 0;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-icon {\r\n top: 50%;\r\n left: 0;\r\n transform: translateY(-50%);\r\n }\r\n\r\n .w-split.z-horizontal.z-tonext .w-split-icon {\r\n left: auto;\r\n right: 0;\r\n }\r\n\r\n .w-split-movable {\r\n position: absolute;\r\n }\r\n\r\n .w-split.z-vertical .w-split-movable {\r\n height: 100%;\r\n min-height: 5px;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n cursor: row-resize;\r\n }\r\n\r\n .w-split.z-horizontal .w-split-movable {\r\n width: 100%;\r\n min-width: 5px;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n cursor: col-resize;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-toggle',\r\n mixins: [WidgetBase],\r\n props: ['collapsedIcon', 'expandedIcon', 'target', 'expanded', 'align', 'valign'],\r\n methods: {\r\n x_default() {\r\n return {\r\n expanded: true,\r\n valign: 'middle',\r\n }\r\n },\r\n toggle(e = true) {\r\n let exp = typeof e === 'boolean' ? e : !this.x.expanded\r\n this.x.expanded = exp\r\n $.q(this.el()).nextUntil('.w-toggle').toggle(exp)\r\n },\r\n html_slots() {\r\n let exp = this.x.expanded\r\n let ico = exp ? this.x.expandedIcon : this.x.collapsedIcon\r\n return [ico && h(Img, {\r\n src: ico,\r\n class: ['w-toggle-icon', {'z-expanded': exp, 'z-collapse': !exp}],\r\n }), h(Horizontal, {class: 'w-toggle-main f-flex-1', align: this.x.align, valign: this.x.valign}, this.$slots.default)]\r\n }\r\n },\r\n computed: {\r\n html_props() {\r\n return {\r\n class: 'f-flex-align f-pointer',\r\n onclick: this.toggle\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (!this.x.expanded) {\r\n this.toggle(false)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-toggle-icon {\r\n margin-right: 5px;\r\n flex-shrink: 0;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-video',\r\n mixins: [WidgetBase],\r\n props: ['src', 'poster'],\r\n data() {\r\n return {\r\n playing: false,\r\n }\r\n },\r\n methods: {\r\n getMimeType() {\r\n let filePath = $.strTo(this.x.src, '?') || this.x.src\r\n let fileName = $.strFrom(filePath, '/', true) || filePath\r\n let suffix = $.strFrom(fileName, '.', true)\r\n return suffix ? mimeType(fileName) : 'video/mp4'\r\n },\r\n html_slots() {\r\n return [h('video', {\r\n class: 'w-video-vd f-width f-height',\r\n ref: 'vd',\r\n src: this.x.src,\r\n poster: this.x.poster,\r\n onplay: e => this.playing = true,\r\n onpause: e => this.playing = false,\r\n controls: true,\r\n 'webkit-playsinline': true,\r\n 'playsinline': true,\r\n 'x-webkit-airplay': true,\r\n 'x5-playsinline': true,\r\n 'x5-video-player-type': 'h5',\r\n 'x5-video-orientation': 'h5',\r\n 'x5-video-player-fullscreen': true,\r\n }), h('div', {\r\n class: 'w-video-play f-abs-center f-flex-center',\r\n innerHTML: '<i class=\"f-i f-i-play\"></i>',\r\n onclick: e => {\r\n let o = this.$refs.vd\r\n o.paused ? o.play() : o.pause()\r\n }\r\n })]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return ['f-rel f-flex-center', {'z-play': this.playing}]\r\n }\r\n }\r\n\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-video {\r\n box-sizing: border-box;\r\n background: #000;\r\n }\r\n\r\n .w-video.z-play .w-video-play {\r\n display: none\r\n }\r\n\r\n .w-video-play {\r\n display: flex;\r\n width: 62px;\r\n height: 62px;\r\n background: rgba(0, 0, 0, .5);\r\n border-radius: 50%;\r\n z-index: 1;\r\n }\r\n\r\n .w-video-play .f-i {\r\n color: #fff;\r\n font-size: 36px;\r\n transform: translate(4px, 0px);\r\n cursor: default\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-progress',\r\n mixins: [WidgetBase],\r\n props: ['percent', 'range', 'text'],\r\n methods: {\r\n html_slots() {\r\n let w = $.number(this.x.percent)\r\n return [\r\n this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text),\r\n h('div', {\r\n class: 'w-progress-gut',\r\n style: {\r\n width: `${w}%`\r\n }\r\n }, h('div', {\r\n class: 'w-progress-bar f-flex f-flex-center',\r\n style: {\r\n width: `${w==0?w:(100*100/w)}%`\r\n }\r\n }, this.x.text && h('span', {\r\n class: 'w-progress-text'\r\n }, this.x.text)))\r\n ]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n if (this.x.range) {\r\n let a = this.x.range.split(',')\r\n for (let i = a.length - 1; i >= 0; i--) {\r\n if ($.number(this.x.percent) >= $.number(a[i])) return 'z-' + a[i]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-progress {\r\n display: flex;\r\n position: relative;\r\n height: 18px;\r\n border-radius: 20px;\r\n background: #e6e6e6;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n font-size: 12px;\r\n line-height: 1;\r\n }\r\n\r\n .w-progress-gut {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n background: var(--w--focus-color);\r\n border-radius: 20px;\r\n overflow: hidden;\r\n transition: width, background .1s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-progress-bar {\r\n color: #fff;\r\n height: 100%;\r\n }\r\n</style>\r\n","<template>\r\n <w-vertical :class=\"['w-calendar f-rel', 'w-calendar-' + this.x.face, {'z-showtime': this.showTime}]\">\r\n <w-horizontal class=\"w-calendar-head\" valign=\"middle\">\r\n <i class=\"w-calendar-head-prev f-i f-i-caret-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal class=\"w-calendar-head-pop\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\" :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"this.x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-caret-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n <div class=\"w-calendar-head-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"this.x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n <w-horizontal v-if=\"showTime\" class=\"w-calendar-time f-abs-full\">\r\n <w-vertical v-if=\"focusHour!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in Array(24).keys()\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isTimeDisabled(h,'setHours')\" @click=\"clickHour(h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in Array(60).keys()\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isTimeDisabled(m,'setMinutes')\" @click=\"clickMinute(m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in Array(60).keys()\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isTimeDisabled(s,'setSeconds')\" @click=\"clickSecond(s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" class=\"w-calendar-foot\" align=\"between\" valign=\"middle\">\r\n <div @click=\"clickShowTime\" class=\"f-link\" :style=\"{visibility:hasTime&&!onlyTime?'visible':'hidden'}\">\r\n {{this.showTime ? loc.calendar.backdate : loc.calendar.picktime}}\r\n </div>\r\n <div class=\"f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success'],\r\n data() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (dt == null || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (dt == null || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n return {\r\n dt,\r\n onlyTime,\r\n showTime: onlyTime,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n focusHour: f.includes('H') ? dt.getHours() : null,\r\n focusMinute: f.includes('m') ? dt.getMinutes() : null,\r\n focusSecond: f.includes('s') ? dt.getSeconds() : null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = v ? $.dateParse(v, this.formatter) : new Date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', this, nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickNow() {\r\n this.dt = new Date()\r\n this.clickConfirm()\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = new Date(item.date.getTime())\r\n }\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n if (this.hasTime) this.clickShowTime()\r\n else if (this.x.success) {\r\n this.x.success(item.value)\r\n }\r\n },\r\n clickConfirm() {\r\n this.x.success && this.x.success(this.fm(this.dt))\r\n },\r\n clickShowTime() {\r\n this.showTime = !this.showTime\r\n this.focusHour = this.formatter.includes('H') ? this.dt.getHours() : null\r\n this.focusMinute = this.formatter.includes('m') ? this.dt.getMinutes() : null\r\n this.focusSecond = this.formatter.includes('s') ? this.dt.getSeconds() : null\r\n },\r\n clickHour(focusHour) {\r\n this.focusHour = focusHour\r\n this.dt.setHours(this.focusHour)\r\n },\r\n clickMinute(focusMinute) {\r\n this.focusMinute = focusMinute\r\n this.dt.setMinutes(this.focusMinute)\r\n },\r\n clickSecond(focusSecond) {\r\n this.focusSecond = focusSecond\r\n this.dt.setSeconds(this.focusSecond)\r\n },\r\n fm(a) {\r\n if (this.x.face === 'week') {\r\n typeof a === 'string' && (a = $.dateParse(a))\r\n let b = $.dateWeek(a, this.x.cg, this.x.start)\r\n return b[0] + '-' + $.strPad(b[1])\r\n }\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isTimeDisabled(v, method) {\r\n let n = this.beginDate\r\n let m = this.endDate\r\n if (n || m) {\r\n let d = new Date(this.dt.getTime())\r\n d[method](v)\r\n d = this.fm(d)\r\n if ((n && d < n) || (m && d > m)) return true\r\n }\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return this.formatter.includes('H')\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n return c && typeof c === 'object' ? (this.x.format && this.fm(c)) : c\r\n },\r\n beginDate() {\r\n return this.x.minValue && this.fm(this.x.minValue)\r\n },\r\n endDate() {\r\n return this.x.maxValue && this.fm(this.x.maxValue)\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth : this\r\n .bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f === v,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog .w-calendar {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 10px;\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-pop {\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-blank {\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-month .w-calendar-body,\r\n .w-calendar-year .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-daytitle {\r\n background: #F8F8F8;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds, .z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time {\r\n bottom: 35px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col {\r\n border-right: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col:last-child {\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n text-align: center;\r\n padding: 5px;\r\n }\r\n\r\n .w-calendar-time-th {\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar.z-showtime .w-calendar-head,\r\n .w-calendar.z-showtime .w-calendar-body {\r\n visibility: hidden;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n</style>\r\n","<template>\r\n <w-vertical :class=\"['w-calendar f-rel', 'w-calendar-' + this.x.face, {'z-showtime': this.showTime}]\">\r\n <w-horizontal class=\"w-calendar-head\" valign=\"middle\">\r\n <i class=\"w-calendar-head-prev f-i f-i-caret-left f-pointer\" @click=\"clickStep(-1)\"></i>\r\n <w-horizontal class=\"w-calendar-head-pop\">\r\n <div class=\"w-calendar-head-year f-link\" ref=\"popYear\" @click=\"clickPopYear()\" v-html=\"headYear\"></div>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopYear\" :context=\"$refs.popYear\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popYear, position: 'cc'}\" @close=\"headPopYear=null\">\r\n <div class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(-1)\"><i class=\"f-i f-i-minus\"></i></div>\r\n <w-html height=\"*\" @wheel.passive=\"mousewheelPopYear\">\r\n <div v-for=\"item in headPopYear\" :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getFullYear()}]\"\r\n @click=\"clickPopYearItem(item)\">{{item}}</div>\r\n </w-html>\r\n <w-html class=\"w-calendar-head-year-item\" @click=\"clickPopYearStep(1)\"><i class=\"f-i f-i-plus\"></i>\r\n </w-html>\r\n </w-dialog>\r\n <w-html v-if=\"this.x.face == 'date'\" class=\"w-calendar-head-month f-link\" ref=\"popMonth\" @click=\"clickPopMonth\">\r\n {{headMonth}}\r\n </w-html>\r\n <w-dialog class=\"f-dfish-dialog\" width=\"72\" v-if=\"headPopMonth\" :context=\"$refs.popMonth\" :auto-hide=\"true\"\r\n :ownproperty=\"true\" :snap=\"{target: $refs.popMonth, position: 'cc'}\" @close=\"headPopMonth=null\">\r\n <w-html height=\"*\">\r\n <div v-for=\"item in headPopMonth\"\r\n :class=\"['w-calendar-head-year-item', {'z-on': item == dt.getMonth() + 1}]\"\r\n @click=\"clickPopMonthItem(item)\">{{item}}</div>\r\n </w-html>\r\n </w-dialog>\r\n </w-horizontal>\r\n <i class=\"w-calendar-head-next f-i f-i-caret-right f-pointer\" @click=\"clickStep(1)\"></i>\r\n <div class=\"w-calendar-head-blank\"></div>\r\n <div class=\"w-calendar-head-now f-link\" @click=\"clickNow\">{{loc.calendar.now}}</div>\r\n </w-horizontal>\r\n <slot name=\"head\"></slot>\r\n <div class=\"w-calendar-body\">\r\n <template v-if=\"this.x.face == 'date'\">\r\n <div v-for=\"item in loc.calendar.day_title_1\" class=\"w-calendar-daytitle\">{{item}}</div>\r\n </template>\r\n <div v-for=\"item in bodyList\"\r\n :class=\"['w-calendar-item', {'z-on': item.focus && !item.disabled, 'z-pad': item.pad, 'z-ds': item.disabled}]\"\r\n @click=\"clickItem($event,item)\">\r\n <slot :item=\"item\">\r\n <div class=\"w-calendar-item-text\">{{item.text}}</div>\r\n </slot>\r\n </div>\r\n </div>\r\n <w-horizontal v-if=\"showTime\" class=\"w-calendar-time f-abs-full\">\r\n <w-vertical v-if=\"focusHour!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.hour}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"hour\" :current=\"focusHour\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"h in Array(24).keys()\" :key=\"h\" :text=\"dfish.strPad(h)\"\r\n :disabled=\"isTimeDisabled(h,'setHours')\" @click=\"clickHour(h)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusMinute!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.minute}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"minute\" :current=\"focusMinute\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"m in Array(60).keys()\" :key=\"m\" :text=\"dfish.strPad(m)\"\r\n :disabled=\"isTimeDisabled(m,'setMinutes')\" @click=\"clickMinute(m)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n <w-vertical v-if=\"focusSecond!=null\" class=\"w-calendar-time-col\" width=\"*\">\r\n <div class=\"w-calendar-time-th\">{{loc.second}}</div>\r\n <w-buttonbar class=\"w-calendar-time-body\" ref=\"second\" :current=\"focusSecond\" :vertical=\"true\" :scroll-y=\"true\"\r\n scroll-view=\".z-on\" height=\"*\">\r\n <w-button class=\"w-calendar-time-item\" v-for=\"s in Array(60).keys()\" :key=\"s\" :text=\"dfish.strPad(s)\"\r\n :disabled=\"isTimeDisabled(s,'setSeconds')\" @click=\"clickSecond(s)\" />\r\n </w-buttonbar>\r\n </w-vertical>\r\n </w-horizontal>\r\n <w-horizontal v-if=\"success\" class=\"w-calendar-foot\" align=\"between\" valign=\"middle\">\r\n <div @click=\"clickShowTime\" class=\"f-link\" :style=\"{visibility:hasTime&&!onlyTime?'visible':'hidden'}\">\r\n {{this.showTime ? loc.calendar.backdate : loc.calendar.picktime}}\r\n </div>\r\n <div class=\"f-link\" @click=\"clickConfirm\">{{loc.confirm}}</div>\r\n </w-horizontal>\r\n </w-vertical>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Horizontal from './Horizontal.vue'\r\n\r\n export default {\r\n name: 'w-calendar',\r\n mixins: [WidgetBase],\r\n emits: ['click:item', 'change'],\r\n props: ['value', 'minValue', 'maxValue', 'current', 'pad', 'face', 'format', 'success'],\r\n data() {\r\n let dt = this.value\r\n let bd = this.minValue\r\n let ed = this.maxValue\r\n let f = this.format || ''\r\n if (bd && (dt == null || dt < bd)) {\r\n dt = bd\r\n }\r\n if (ed && (dt == null || dt > ed)) {\r\n dt = ed\r\n }\r\n dt = dt ? $.dateParse(dt, f) : new Date()\r\n let onlyTime = /[Hms]/.test(f) && !/[yMd]/.test(f)\r\n return {\r\n dt,\r\n onlyTime,\r\n showTime: onlyTime,\r\n headPopYear: null,\r\n headPopMonth: null,\r\n focusHour: f.includes('H') ? dt.getHours() : null,\r\n focusMinute: f.includes('m') ? dt.getMinutes() : null,\r\n focusSecond: f.includes('s') ? dt.getSeconds() : null,\r\n }\r\n },\r\n watch: {\r\n value(v) {\r\n this.dt = v ? $.dateParse(v, this.formatter) : new Date()\r\n },\r\n dt(nv, ov) {\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.trigger('change', this, nv)\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.trigger('change', this, nv)\r\n }\r\n },\r\n current(nc) {\r\n if (!nc) return\r\n let nv = typeof nc === 'string' ? $.dateParse(nc, this.formatter) : nc\r\n let ov = this.dt\r\n let ny = nv.getFullYear()\r\n let oy = ov.getFullYear()\r\n if (this.x.face === 'year') {\r\n let n = ('' + ny).slice(-2, -1)\r\n let o = ('' + oy).slice(-2, -1)\r\n if (n != o) this.dt = nv\r\n } else if (this.x.face === 'month' || this.x.face === 'week') {\r\n if (ny != oy) this.dt = nv\r\n } else if (this.x.face === 'date') {\r\n if ((ny != oy) || (nv.getMonth() != ov.getMonth())) this.dt = nv\r\n }\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n let b = this.format || ''\r\n return {\r\n face: b === 'yyyy' ? 'year' : b.includes('MM') && !b.includes('dd') ? 'month' : b\r\n .includes('ww') ? 'week' : 'date'\r\n }\r\n },\r\n weekday(d) {\r\n let w = d.getDay()\r\n return w == 0 ? 6 : w - 1\r\n },\r\n clickStep(a) {\r\n let d = new Date(this.dt.getTime())\r\n if (this.x.face == 'year') {\r\n d = $.dateAdd(d, 'y', 10 * a)\r\n } else if (this.x.face == 'month') {\r\n d = $.dateAdd(d, 'y', a)\r\n } else if (this.x.face == 'date') {\r\n d = $.dateAdd(d, 'M', a)\r\n }\r\n this.dt = d\r\n },\r\n clickPopYear(y) {\r\n y = y || (this.dt.getFullYear() - 4)\r\n if (y < 1000) y = 1000\r\n this.headPopYear = Array.from(Array(10)).map((v, i) => y + i)\r\n },\r\n clickPopYearItem(year) {\r\n let d = new Date(this.dt.getTime())\r\n d.setFullYear(year)\r\n this.dt = d\r\n this.headPopYear = null\r\n },\r\n clickPopYearStep(a) {\r\n let r = this.headPopYear\r\n let y = a < 0 ? r[0] - 10 : r[r.length - 1] + 1\r\n this.clickPopYear(y)\r\n },\r\n mousewheelPopYear(e) {\r\n this.clickPopYearStep(e.wheelDelta > 0 ? -1 : 1)\r\n },\r\n clickPopMonth() {\r\n this.headPopMonth = Array.from(Array(12)).map((v, i) => i + 1)\r\n },\r\n clickPopMonthItem(month) {\r\n let m = this.dt.getMonth()\r\n this.dt = $.dateAdd(this.dt, 'M', month - 1 - this.dt.getMonth())\r\n this.headPopMonth = null\r\n },\r\n clickNow() {\r\n this.dt = new Date()\r\n this.clickConfirm()\r\n },\r\n clickItem(e, item) {\r\n if (item.disabled) return\r\n if (this.x.current !== undefined) {\r\n this.dt = new Date(item.date.getTime())\r\n }\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n if (this.hasTime) this.clickShowTime()\r\n else if (this.x.success) {\r\n this.x.success(item.value)\r\n }\r\n },\r\n clickConfirm() {\r\n this.x.success && this.x.success(this.fm(this.dt))\r\n },\r\n clickShowTime() {\r\n this.showTime = !this.showTime\r\n this.focusHour = this.formatter.includes('H') ? this.dt.getHours() : null\r\n this.focusMinute = this.formatter.includes('m') ? this.dt.getMinutes() : null\r\n this.focusSecond = this.formatter.includes('s') ? this.dt.getSeconds() : null\r\n },\r\n clickHour(focusHour) {\r\n this.focusHour = focusHour\r\n this.dt.setHours(this.focusHour)\r\n },\r\n clickMinute(focusMinute) {\r\n this.focusMinute = focusMinute\r\n this.dt.setMinutes(this.focusMinute)\r\n },\r\n clickSecond(focusSecond) {\r\n this.focusSecond = focusSecond\r\n this.dt.setSeconds(this.focusSecond)\r\n },\r\n fm(a) {\r\n if (this.x.face === 'week') {\r\n typeof a === 'string' && (a = $.dateParse(a))\r\n let b = $.dateWeek(a, this.x.cg, this.x.start)\r\n return b[0] + '-' + $.strPad(b[1])\r\n }\r\n return $.dateFormat(typeof a === 'string' ? $.dateParse(a, this.formatter) : a, this.formatter)\r\n },\r\n isTimeDisabled(v, method) {\r\n let n = this.beginDate\r\n let m = this.endDate\r\n if (n || m) {\r\n let d = new Date(this.dt.getTime())\r\n d[method](v)\r\n d = this.fm(d)\r\n if ((n && d < n) || (m && d > m)) return true\r\n }\r\n },\r\n },\r\n computed: {\r\n loc() {\r\n return $.loc\r\n },\r\n formatter() {\r\n return this.x.format || 'yyyy-MM-dd'\r\n },\r\n hasTime() {\r\n return this.formatter.includes('H')\r\n },\r\n focusDate() {\r\n let c = this.x.current\r\n return c && typeof c === 'object' ? (this.x.format && this.fm(c)) : c\r\n },\r\n beginDate() {\r\n return this.x.minValue && this.fm(this.x.minValue)\r\n },\r\n endDate() {\r\n return this.x.maxValue && this.fm(this.x.maxValue)\r\n },\r\n headYear() {\r\n let y = this.dt.getFullYear()\r\n if (this.x.face === 'year') {\r\n y = this.dt.getFullYear() - (this.dt.getFullYear() % 10)\r\n y += ' - ' + (y + 9)\r\n }\r\n return $.loc.ps($.loc.calendar.y, y)\r\n },\r\n headMonth() {\r\n return $.loc.calendar.monthname[this.dt.getMonth()]\r\n },\r\n bodyList() {\r\n return this.x.face === 'year' ? this.bodyListYear : this.x.face === 'month' ? this.bodyListMonth : this\r\n .bodyListDate\r\n },\r\n bodyListYear() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear() - (this.dt.getFullYear() % 10) - 1\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setFullYear(y)\r\n for (let i = 0; i < 12; i++) {\r\n let v = y + i\r\n let g = {\r\n value: v,\r\n text: v,\r\n date: new Date(b.getTime()),\r\n pad: i == 0 || i == 11,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n r.push(g)\r\n b.setFullYear(b.getFullYear() + 1)\r\n }\r\n return r\r\n },\r\n bodyListMonth() {\r\n let r = []\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let y = this.dt.getFullYear()\r\n let b = new Date(this.dt.getTime())\r\n b.setDate(1)\r\n b.setMonth(0)\r\n for (let i = 0; i < 12; i++) {\r\n let v = this.fm(b)\r\n let g = {\r\n text: $.loc.calendar.monthname[i],\r\n value: v,\r\n date: new Date(b.getTime()),\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f == v\r\n }\r\n b.setMonth(b.getMonth() + 1)\r\n r.push(g)\r\n }\r\n return r\r\n },\r\n bodyListDate() {\r\n let b = new Date(this.dt.getTime())\r\n let c = b.getMonth()\r\n let d = new Date(b.getTime())\r\n let n = this.beginDate\r\n let m = this.endDate\r\n let f = this.focusDate\r\n let cell = []\r\n b.setDate(1)\r\n d.setDate(new Date(b.getFullYear(), c + 1, 0).getDate())\r\n let g = 7 - (this.weekday(b) + d.getDate()) % 7\r\n if (g && g < 7)\r\n d.setDate(d.getDate() + g)\r\n if (this.weekday(b) > 0)\r\n b.setDate(1 - this.weekday(b))\r\n if (this.x.pad) {\r\n g = 1 + (d.getTime() - b.getTime()) / 86400000\r\n g < 42 && d.setDate(d.getDate() + 42 - g)\r\n }\r\n while (b <= d) {\r\n let v = this.fm(b)\r\n let t = {\r\n text: b.getDate(),\r\n value: v,\r\n date: new Date(b.getTime()),\r\n pad: b.getMonth() !== c,\r\n disabled: (n && n > v) || (m && m < v) ? true : false,\r\n focus: f === v,\r\n }\r\n cell.push(t)\r\n b.setDate(b.getDate() + 1)\r\n }\r\n return cell\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-calendar-dialog .w-calendar {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-calendar {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-calendar-head,\r\n .w-calendar-foot {\r\n height: 36px;\r\n padding: 0 10px;\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-pop {\r\n gap: 8px;\r\n }\r\n \r\n .w-calendar-head-blank {\r\n flex: 1;\r\n }\r\n\r\n .w-calendar-head-month {\r\n margin-left: 3px;\r\n }\r\n\r\n .w-calendar-body {\r\n display: grid;\r\n }\r\n\r\n .w-calendar-date .w-calendar-body {\r\n grid-template-columns: repeat(7, 1fr);\r\n }\r\n\r\n .w-calendar-month .w-calendar-body,\r\n .w-calendar-year .w-calendar-body {\r\n grid-template-columns: repeat(4, 1fr);\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n\r\n .w-calendar-dialog .w-calendar-month .w-calendar-body,\r\n .w-calendar-dialog .w-calendar-year .w-calendar-body {\r\n min-height: 120px;\r\n }\r\n\r\n .w-calendar-item {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .w-calendar-item,\r\n .w-calendar-daytitle {\r\n text-align: center;\r\n padding: 5px;\r\n cursor: default;\r\n }\r\n\r\n .w-calendar-daytitle {\r\n background: #F8F8F8;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-item:not(.z-ds, .z-on):hover,\r\n .w-calendar-head-year-item:hover {\r\n background: #f5f5f5;\r\n }\r\n\r\n .w-calendar-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-item.z-ds,\r\n .w-calendar-item.z-pad {\r\n color: #999\r\n }\r\n\r\n .w-calendar-item-text {\r\n display: flex;\r\n flex: 1;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n .w-calendar-foot {\r\n border-top: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time {\r\n bottom: 35px;\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col {\r\n border-right: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar-time-col:last-child {\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-th,\r\n .w-calendar-time-item {\r\n text-align: center;\r\n padding: 5px;\r\n }\r\n\r\n .w-calendar-time-th {\r\n border-bottom: 1px solid #ddd;\r\n }\r\n\r\n .w-calendar.z-showtime .w-calendar-head,\r\n .w-calendar.z-showtime .w-calendar-body {\r\n visibility: hidden;\r\n }\r\n\r\n .w-calendar-time-item {\r\n height: 30px;\r\n border: 0;\r\n }\r\n\r\n .w-calendar-time-item.z-on,\r\n .w-calendar-head-year-item.z-on {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-calendar-head-year-item {\r\n height: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Scroll from './Scroll.vue'\r\n import PubParent from './PubParent.vue'\r\n\r\n\r\n export default {\r\n name: 'w-timeline',\r\n mixins: [Scroll, PubParent],\r\n props: ['face', 'vertical'],\r\n methods: {\r\n indent() {\r\n let len = this.$refs.wrap.querySelectorAll('.w-timeline-item').length\r\n if (len <= 1) return\r\n let vt = this.x.vertical\r\n let size = vt ? 'width' : 'height'\r\n let prevWidth = 0\r\n let nextWidth = 0\r\n for (let i = 0; i < len; i++) {\r\n let prev = this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i}\"]`)\r\n let next = i < len - 1 && this.$refs.wrap.querySelector(`.w-timeline-item[w-index=\"${i+1}\"]`)\r\n let prevBcr = $.bcr(prev.querySelector('.w-timeline-item-icon-img'))\r\n if (prev.parentNode == this.$refs.prev) {\r\n prevWidth = Math.max(prevWidth, prevBcr[size])\r\n } else {\r\n nextWidth = Math.max(nextWidth, prevBcr[size])\r\n }\r\n if (next && prev.parentNode != next.parentNode) {\r\n let nextBcr = $.bcr(next.querySelector('.w-timeline-item-icon-img'))\r\n if (vt && prevBcr.bottom + 25 > nextBcr.top) {\r\n $.q(next).css({\r\n marginTop: prevBcr.bottom + 25 - nextBcr.top\r\n })\r\n } else if (!vt && prevBcr.right + 50 > nextBcr.left) {\r\n $.q(next).css({\r\n marginLeft: prevBcr.right + 50 - nextBcr.left\r\n })\r\n }\r\n }\r\n }\r\n let prevItems = $.q('.w-timeline-item', this.$refs.prev)\r\n prevItems.each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginRight' : 'marginBottom']: (prevWidth - bcr[size]) / 2\r\n })\r\n })\r\n $.q('.w-timeline-item', this.$refs.next).each((i, v) => {\r\n let icon = $.q('.w-timeline-item-icon', v)\r\n let bcr = $.bcr(icon[0])\r\n icon.css({\r\n [vt ? 'marginLeft' : 'marginTop']: (nextWidth - bcr[size]) / 2\r\n })\r\n })\r\n prevItems.length && $.q(this.$refs.next).css({\r\n [vt ? 'marginLeft' : 'marginTop']: `-${nextWidth/2 + prevWidth/2}px`\r\n })\r\n\r\n let firstBcr = $.bcr($.q(`.w-timeline-item[w-index=\"0\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let lastBcr = $.bcr($.q(`.w-timeline-item[w-index=\"${len-1}\"] .w-timeline-item-icon-img`, this.$refs.wrap)[0])\r\n let wrapBcr = $.bcr(this.$refs.wrap)\r\n if (this.x.vertical) {\r\n $.q(this.$refs.line).css({\r\n width: 2,\r\n height: lastBcr.top - firstBcr.bottom,\r\n top: firstBcr.bottom - wrapBcr.top,\r\n left: (firstBcr.left + firstBcr.right) / 2 - wrapBcr.left - 1,\r\n })\r\n } else {\r\n $.q(this.$refs.line).css({\r\n width: lastBcr.left - firstBcr.right,\r\n height: 2,\r\n top: (firstBcr.top + firstBcr.bottom) / 2 - wrapBcr.top - 1,\r\n left: firstBcr.right - wrapBcr.left\r\n })\r\n }\r\n\r\n },\r\n html_slots() {\r\n let prevSlots = []\r\n let nextSlots = []\r\n let vt = this.x.vertical\r\n this.slots_children().forEach((c, i) => {\r\n $.lodash.set(c, 'props.index', i)\r\n if (vt) {\r\n (c.props.position == 'right' ? prevSlots : nextSlots).push(c)\r\n } else {\r\n (c.props.position == 'bottom' ? nextSlots : prevSlots).push(c)\r\n }\r\n })\r\n return this.html_scroll_slots(\r\n h('div', {\r\n ref: 'wrap',\r\n class: 'w-timeline-wrap'\r\n }, [\r\n h('div', {\r\n ref: 'line',\r\n class: 'w-timeline-line'\r\n }),\r\n h('div', {\r\n ref: 'prev',\r\n class: 'w-timeline-prev'\r\n }, prevSlots),\r\n h('div', {\r\n ref: 'next',\r\n class: 'w-timeline-next'\r\n }, nextSlots),\r\n ])\r\n )\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return [this.html_scroll_class,\r\n {\r\n ['z-face-' + this.x.face]: this.x.face,\r\n 'z-horizontal': !this.x.vertical,\r\n 'z-vertical': this.x.vertical\r\n }\r\n ]\r\n }\r\n },\r\n mounted() {\r\n this.indent()\r\n const observe = () => {\r\n if (this.$refs.wrap && this.$refs.next) {\r\n $.q('.w-timeline-item', this.$refs.wrap).css({margin: 0})\r\n $.q(this.$refs.next).css({margin: 0})\r\n this.indent()\r\n }\r\n }\r\n new ResizeObserver(observe).observe(this.$refs.wrap)\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-timeline-wrap {\r\n flex-shrink: 0;\r\n display: flex;\r\n position: relative;\r\n width: max-content;\r\n min-width: 100%;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-wrap {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-prev .w-timeline-item {\r\n flex-direction: column-reverse;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-wrap,\r\n .w-timeline.z-vertical .w-timeline-item {\r\n flex-direction: row;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev,\r\n .w-timeline.z-vertical .w-timeline-next {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-prev .w-timeline-item {\r\n flex-direction: row-reverse;\r\n }\r\n\r\n .w-timeline-prev,\r\n .w-timeline-next {\r\n position: relative;\r\n display: flex;\r\n flex: 1;\r\n flex-shrink: 0;\r\n gap: 25px;\r\n }\r\n \r\n .w-timeline-prev:empty,\r\n .w-timeline-next:empty {\r\n display: none;\r\n }\r\n\r\n .w-timeline-item {\r\n position: relative;\r\n display: flex;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item {\r\n flex-direction: column;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-icon {\r\n align-items: center;\r\n }\r\n\r\n .w-timeline.z-horizontal .w-timeline-item-main {\r\n padding: 10px 0;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item-main {\r\n padding: 0 10px;\r\n }\r\n\r\n .w-timeline.z-vertical .w-timeline-item.z-right {\r\n text-align: right;\r\n }\r\n\r\n .w-timeline-item-icon {\r\n display: flex;\r\n flex-shrink: 0;\r\n position: relative;\r\n line-height: 1;\r\n }\r\n\r\n .w-timeline-item-icon-img.z-default {\r\n display: inline-block;\r\n width: 18px;\r\n height: 18px;\r\n border: 2px solid #1890ff;\r\n border-radius: 100px;\r\n background: #fff;\r\n color: #1890ff;\r\n }\r\n\r\n .w-timeline-line {\r\n position: absolute;\r\n background: #ddd;\r\n }\r\n \r\n</style>\n","<!-- <template>\r\n <div v-bind=\"html_binds\">\r\n <div class=\"_t\">\r\n <div class=\"_s\"></div>\r\n <i v-if=\"pubParent.x.face === 'bubble'\"\r\n :class=\"'_caret f-i f-i-caret-' + (leftIndex != null ? 'right' : rightIndex != null ? 'left' : topIndex != null ? 'down' : 'up')\"></i>\r\n </div>\r\n \r\n </div>\r\n</template> -->\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import WidgetBase from './WidgetBase.vue'\r\n import Vertical from './Vertical.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-timeline-item',\r\n pubParentName: 'w-timeline',\r\n mixins: [WidgetBase],\r\n inject: ['providePubParent'],\r\n props: ['position', 'index'],\r\n methods: {\r\n html_slots() {\r\n let text = h('div', {\r\n class: 'w-timeline-item-main f-br'\r\n }, h('div', {\r\n class: 'w-timeline-item-main-text'\r\n }, this.$slots))\r\n let icon = h('div', {\r\n ref: 'icon',\r\n class: 'w-timeline-item-icon'\r\n }, this.$slots.icon ? h('div', {\r\n class: 'w-timeline-item-icon-img'\r\n }, this.$slots.icon()) : h('i', {\r\n class: 'w-timeline-item-icon-img z-default'\r\n }))\r\n return [icon, text]\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'z-' + (this.x.position || (this.pubParent.x.vertical ? 'left' : 'bottom'))\r\n },\r\n html_props() {\r\n return {\r\n 'w-index': this.x.index\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-picker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-picker-bg-top\"></div>\r\n <div class=\"w-picker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-picker',\r\n mixins: [WidgetBase],\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex'],\r\n emits: ['update:modelValue', 'change', 'scroll:top', 'scroll:bottom'],\r\n setup() {\r\n const self = getCurrentInstance().ctx\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n \r\n const mousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n self.$refs.options.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n self.$refs.options.style.transform = `translateY(${moveY}px)`\r\n }, e => {\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n self.$refs.options.style.transition = `transform ${s}s ease-out`\r\n }\r\n })\r\n }\r\n const focus = function() {\r\n if (!self.$refs.root || !self.$refs.options) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.modelValue\r\n let nv = self.minValue\r\n let xv = self.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(self.$refs.root)\r\n let bcrOpt = $.bcr(self.$refs.options)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n self.$refs.options.style.transition = ''\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n }\r\n \r\n const update = function(v) {\r\n roll = true\r\n self.$emit('update:modelValue', v)\r\n self.$emit('change', v)\r\n }\r\n \r\n const transEnd = function() {\r\n let index = (startY - optY) / optH\r\n let ret = self.slots_children()[index]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n watch(() => self.modelValue, (v) => {\r\n if (!roll) focus()\r\n roll = false\r\n })\r\n watch(() => self.minValue, focus)\r\n watch(() => self.maxValue, focus)\r\n \r\n onMounted(() => {\r\n new ResizeObserver(() => {\r\n self.$refs.options && focus()\r\n }).observe(self.$refs.options)\r\n self.$refs.options.addEventListener('transitionend', transEnd)\r\n })\r\n \r\n return {\r\n mousedown\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n optionHeight: 32\r\n }\r\n }\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.el().addEventListener($.br.mobile ? 'touchstart' : 'mousedown', this.mousedown, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-picker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-picker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker .w-option {\r\n text-align: center;\r\n }\r\n\r\n .w-picker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-picker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","<template>\r\n <div ref=\"root\" v-bind=\"html_binds\">\r\n <div ref=\"options\" class=\"w-picker-options\">\r\n <slot />\r\n </div>\r\n <div class=\"w-picker-bg-top\"></div>\r\n <div class=\"w-picker-bg-bottom\"></div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n import {\r\n getCurrentInstance,\r\n onMounted,\r\n watch,\r\n } from 'vue'\r\n\r\n export default {\r\n name: 'w-picker',\r\n mixins: [WidgetBase],\r\n props: ['optionHeight', 'modelValue', 'minValue', 'maxValue', 'keepIndex'],\r\n emits: ['update:modelValue', 'change', 'scroll:top', 'scroll:bottom'],\r\n setup() {\r\n const self = getCurrentInstance().ctx\r\n let startY, endY, minY, maxY, optY, optH, roll\r\n \r\n const mousedown = function(downEv) {\r\n let downY = $.eventY(downEv)\r\n let moveY, lastY, lastTime\r\n let speed = 0\r\n let lastSpeed = null\r\n self.$refs.options.style.transition = ''\r\n $.moveup(e => {\r\n let nowY = $.eventY(e)\r\n let nowTime = e.timeStamp\r\n moveY = optY + nowY - downY\r\n if (lastY && lastTime && nowTime > lastTime) {\r\n lastSpeed = speed\r\n speed = (nowY - lastY) / (nowTime - lastTime)\r\n }\r\n lastY = nowY\r\n lastTime = nowTime\r\n moveY = $.numRange(moveY, minY - optH, maxY + optH)\r\n self.$refs.options.style.transform = `translateY(${moveY}px)`\r\n }, e => {\r\n if (moveY == null) return\r\n let minSpeed = 0.15 //speed大于这个值时,做惯性滚动\r\n if (Math.abs(speed) < minSpeed || (lastSpeed && Math.abs(lastSpeed) < minSpeed)) {\r\n speed = 0\r\n } else if (lastSpeed && Math.abs(lastSpeed) > Math.abs(speed)) {\r\n speed = lastSpeed //记录最后两个speed,选择其中一个最大的,此步骤可优化体验\r\n }\r\n let y = moveY + (speed * 200)\r\n let s = Math.abs(speed / 2)\r\n let yuH = (maxY - y) % optH\r\n y += yuH\r\n if (yuH > (optH / 2)) {\r\n y -= optH\r\n }\r\n optY = $.numRange(y, minY, maxY)\r\n if (optY != moveY) {\r\n if (moveY < minY || moveY > minY || s < minSpeed) {\r\n s = minSpeed\r\n }\r\n if (Math.abs(optY - moveY) < 10) {\r\n s = 0.05 // 移动范围很小时,过渡时间也相应缩短\r\n }\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n self.$refs.options.style.transition = `transform ${s}s ease-out`\r\n }\r\n })\r\n }\r\n const focus = function() {\r\n if (!self.$refs.root || !self.$refs.options) return\r\n let sc = self.slots_children()\r\n if (!sc.length) return\r\n let v = self.modelValue\r\n let nv = self.minValue\r\n let xv = self.maxValue\r\n if (nv || nv === 0 || xv || xv === 0) {\r\n v = $.numRange(v, nv, xv)\r\n if (v != self.modelValue) {\r\n update(v)\r\n }\r\n }\r\n let bcrRoot = $.bcr(self.$refs.root)\r\n let bcrOpt = $.bcr(self.$refs.options)\r\n let ni = -1\r\n let xi = -1\r\n let asc = true\r\n optH = self.x.optionHeight\r\n startY = maxY = (bcrRoot.height - optH) / 2\r\n endY = minY = startY - bcrOpt.height + optH\r\n if (nv || nv === 0) {\r\n ni = sc.findIndex(s => s.props.value == nv)\r\n }\r\n if (xv || xv === 0) {\r\n xi = sc.findIndex(s => s.props.value == xv)\r\n }\r\n if ((ni > -1 || xi > -1) && sc[0].props.value > sc[sc.length - 1].props.value) { // 判断是不是倒序\r\n asc = false\r\n }\r\n if (ni > -1) {\r\n if (asc) {\r\n maxY -= ni * optH\r\n } else {\r\n minY += ni * optH\r\n }\r\n }\r\n if (xi > -1) {\r\n if (asc) {\r\n minY += (sc.length - 1 - xi) * optH\r\n } else {\r\n maxY -= (sc.length - 1 - xi) * optH\r\n }\r\n }\r\n if (v != null) {\r\n let index = sc.findIndex(s => s.props.value == v)\r\n if (index === -1) {\r\n update(optY != null && optY < endY && self.keepIndex ? sc[sc.length - 1].props.value : sc[0].props.value)\r\n } else {\r\n optY = startY - (optH * index)\r\n }\r\n } else {\r\n optY = startY\r\n }\r\n optY = $.numRange(optY, minY, maxY)\r\n self.$refs.options.style.transition = ''\r\n self.$refs.options.style.transform = `translateY(${optY}px)`\r\n }\r\n \r\n const update = function(v) {\r\n roll = true\r\n self.$emit('update:modelValue', v)\r\n self.$emit('change', v)\r\n }\r\n \r\n const transEnd = function() {\r\n let index = (startY - optY) / optH\r\n let ret = self.slots_children()[index]\r\n ret && update(ret.props.value)\r\n }\r\n \r\n watch(() => self.modelValue, (v) => {\r\n if (!roll) focus()\r\n roll = false\r\n })\r\n watch(() => self.minValue, focus)\r\n watch(() => self.maxValue, focus)\r\n \r\n onMounted(() => {\r\n new ResizeObserver(() => {\r\n self.$refs.options && focus()\r\n }).observe(self.$refs.options)\r\n self.$refs.options.addEventListener('transitionend', transEnd)\r\n })\r\n \r\n return {\r\n mousedown\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n optionHeight: 32\r\n }\r\n }\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-option-height': $.unitSize(this.x.optionHeight)\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.el().addEventListener($.br.mobile ? 'touchstart' : 'mousedown', this.mousedown, {\r\n passive: false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-picker {\r\n position: relative;\r\n overflow: hidden;\r\n background: #fff;\r\n }\r\n\r\n .w-picker-bg-top {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.9), rgba(245, 245, 245, 0.4));\r\n border-bottom: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker-bg-bottom {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n width: 100%;\r\n height: calc(50% - var(--w-option-height, 32px)/2);\r\n background: linear-gradient(rgba(245, 245, 245, 0.4), rgba(245, 245, 245, 0.9));\r\n border-top: 1px solid #ddd;\r\n pointer-events: none;\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-picker .w-option {\r\n text-align: center;\r\n }\r\n\r\n .w-picker .w-option-checked {\r\n display: none;\r\n }\r\n\r\n .w-picker-options {\r\n user-select: none;\r\n pointer-events: none;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-hidden',\r\n mixins: [FormBase],\r\n methods: {\r\n isModified() {\r\n return false\r\n },\r\n html() {\r\n return h('input', {\r\n type: 'hidden',\r\n id: this.uid,\r\n class: 'w-hidden',\r\n name: this.x.name,\r\n value: this.x.modelValue,\r\n ref: 'v'\r\n })\r\n }\r\n },\r\n \r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-text',\r\n mixins: [FormBase],\r\n props: ['minLength', 'maxLength', 'pattern'],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import Text from './Text.vue'\r\n \r\n export default {\r\n name: 'w-textarea',\r\n mixins: [Text],\r\n computed: {\r\n input_tag() {\r\n return 'textarea'\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['pub', 'required', 'vertical', 'minSize', 'maxSize'],\r\n provide() {\r\n return {\r\n providePubParent: this\r\n }\r\n },\r\n data() {\r\n return {\r\n isGrid: false\r\n }\r\n },\r\n methods: {\r\n html_form() {\r\n return this.isGrid ? h('div', {class: 'w-boxgroup-grid'}, this.$slots) : this.$slots\r\n },\r\n },\r\n computed: {\r\n html_class() {\r\n return {'z-grid': this.isGrid}\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import CheckBoxGroup from './CheckBoxGroup.vue'\r\n\r\n export default {\r\n name: 'w-radiogroup',\r\n mixins: [CheckBoxGroup]\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import CheckBox from './CheckBox.vue'\r\n\r\n export default {\r\n name: 'w-radio',\r\n pubParentName: 'w-radiogroup',\r\n mixins: [CheckBox],\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'radio'\r\n },\r\n input_icon() {\r\n return 'f-i'\r\n },\r\n input_name() {\r\n return this.x.name + '@' + this.ownerView.uid\r\n }\r\n \r\n }\r\n }\r\n</script>\r\n\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-switch',\r\n pubParentName: 'w-checkboxgroup',\r\n mixins: [FormBase],\r\n props: ['checkedText', 'uncheckedText', 'checkedValue', 'uncheckedValue', 'checked'],\r\n inject: ['providePubParent'],\r\n methods: {\r\n onclick(e) {\r\n let c = !this.isChecked\r\n let v = c ? this.x.checkedValue : this.x.uncheckedValue\r\n // this.x.modelValue = v\r\n // this.$emit('update:modelValue', v)\r\n this.val(v)\r\n },\r\n formText() {\r\n return this.isChecked ? this.x.checkedText : this.x.uncheckedText\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-switch-box',\r\n onclick: this.isNormal && this.onclick\r\n }, [\r\n h('i', {\r\n class: 'w-switch-icon'\r\n }),\r\n h('span', {\r\n class: 'w-switch-text'\r\n }, this.isChecked ? this.x.checkedText : this.x.uncheckedText),\r\n ])\r\n ]\r\n },\r\n },\r\n computed: {\r\n input_value() {\r\n return this.isChecked ? this.x.checkedValue : this.x.uncheckedValue\r\n },\r\n html_class() {\r\n return this.isChecked ? 'z-checked' : 'z-unchecked'\r\n },\r\n isChecked() {\r\n return this.x.modelValue == this.x.checkedValue\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-switch>.w-input {\r\n flex: none;\r\n display: inline-flex;\r\n }\r\n\r\n .w-switch-box {\r\n flex: 1;\r\n position: relative;\r\n height: 22px;\r\n background: #c0c0c0;\r\n background: rgba(0, 0, 0, 0.25);\r\n border: 1px solid #c1caca;\r\n border-radius: 20px;\r\n color: #fff;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-appearance: none;\r\n }\r\n\r\n .w-switch-icon {\r\n position: absolute;\r\n top: 1px;\r\n left: 1px;\r\n background: #fff;\r\n padding: 10px;\r\n border-radius: 20px;\r\n box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);\r\n transition: all .12s cubic-bezier(.78, .14, .15, .86);\r\n }\r\n\r\n .w-switch-text {\r\n float: right;\r\n min-width: 2px;\r\n margin-left: 26px;\r\n margin-right: 8px;\r\n line-height: 22px;\r\n font-style: normal;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-box {\r\n background: #1890ff;\r\n border-color: #1890ff\r\n }\r\n\r\n .w-switch.z-checked .w-switch-icon {\r\n left: 100%;\r\n border-color: #1890ff;\r\n margin-left: -21px;\r\n }\r\n\r\n .w-switch.z-checked .w-switch-text {\r\n float: left;\r\n margin-left: 8px;\r\n margin-right: 26px;\r\n }\r\n\r\n .w-switch.z-ds .w-switch-box {\r\n background: #e6e6e6;\r\n border-color: #e6e6e6;\r\n cursor: default\r\n }\r\n\r\n .w-switch.z-ds .w-switch-icon {\r\n border-color: #e6e6e6\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-box {\r\n background: #a2d2ff;\r\n border-color: #a2d2ff\r\n }\r\n\r\n .w-switch.z-checked.z-ds .w-switch-icon {\r\n border-color: #a2d2ff\r\n }\r\n</style>\n","import {strFrom} from './str.js'\r\n\r\nconst mimes = {\r\n \".323\": \"text/h323\",\r\n \".3gp\": \"video/3gpp\",\r\n \".aab\": \"application/x-authoware-bin\",\r\n \".aam\": \"application/x-authoware-map\",\r\n \".aas\": \"application/x-authoware-seg\",\r\n \".acx\": \"application/internet-property-stream\",\r\n \".ai\": \"application/postscript\",\r\n \".aif\": \"audio/x-aiff\",\r\n \".aifc\": \"audio/x-aiff\",\r\n \".aiff\": \"audio/x-aiff\",\r\n \".als\": \"audio/X-Alpha5\",\r\n \".amc\": \"application/x-mpeg\",\r\n \".apk\": \"application/vnd.android.package-archive\",\r\n \".asc\": \"text/plain\",\r\n \".asd\": \"application/astound\",\r\n \".asf\": \"video/x-ms-asf\",\r\n \".asn\": \"application/astound\",\r\n \".asp\": \"application/x-asap\",\r\n \".asr\": \"video/x-ms-asf\",\r\n \".asx\": \"video/x-ms-asf\",\r\n \".au\": \"audio/basic\",\r\n \".avi\": \"video/x-msvideo\",\r\n \".awb\": \"audio/amr-wb\",\r\n \".axs\": \"application/olescript\",\r\n \".bas\": \"text/plain\",\r\n \".bcpio\": \"application/x-bcpio\",\r\n \".bld\": \"application/bld\",\r\n \".bld2\": \"application/bld2\",\r\n \".bmp\": \"image/bmp\",\r\n \".bz2\": \"application/x-bzip2\",\r\n \".c\": \"text/plain\",\r\n \".cal\": \"image/x-cals\",\r\n \".cat\": \"application/vnd.ms-pkiseccat\",\r\n \".ccn\": \"application/x-cnc\",\r\n \".cco\": \"application/x-cocoa\",\r\n \".cdf\": \"application/x-cdf\",\r\n \".cer\": \"application/x-x509-ca-cert\",\r\n \".cgi\": \"magnus-internal/cgi\",\r\n \".chat\": \"application/x-chat\",\r\n \".clp\": \"application/x-msclip\",\r\n \".cmx\": \"image/x-cmx\",\r\n \".co\": \"application/x-cult3d-object\",\r\n \".cod\": \"image/cis-cod\",\r\n \".conf\": \"text/plain\",\r\n \".cpio\": \"application/x-cpio\",\r\n \".cpp\": \"text/plain\",\r\n \".cpt\": \"application/mac-compactpro\",\r\n \".crd\": \"application/x-mscardfile\",\r\n \".crl\": \"application/pkix-crl\",\r\n \".crt\": \"application/x-x509-ca-cert\",\r\n \".csh\": \"application/x-csh\",\r\n \".csm\": \"chemical/x-csml\",\r\n \".csml\": \"chemical/x-csml\",\r\n \".css\": \"text/css\",\r\n \".dcm\": \"x-lml/x-evm\",\r\n \".dcr\": \"application/x-director\",\r\n \".dcx\": \"image/x-dcx\",\r\n \".der\": \"application/x-x509-ca-cert\",\r\n \".dhtml\": \"text/html\",\r\n \".dir\": \"application/x-director\",\r\n \".dll\": \"application/x-msdownload\",\r\n \".doc\": \"application/msword\",\r\n \".docx\": \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\r\n \".dot\": \"application/msword\",\r\n \".dvi\": \"application/x-dvi\",\r\n \".dwf\": \"drawing/x-dwf\",\r\n \".dwg\": \"application/x-autocad\",\r\n \".dxf\": \"application/x-autocad\",\r\n \".dxr\": \"application/x-director\",\r\n \".ebk\": \"application/x-expandedbook\",\r\n \".emb\": \"chemical/x-embl-dl-nucleotide\",\r\n \".embl\": \"chemical/x-embl-dl-nucleotide\",\r\n \".eps\": \"application/postscript\",\r\n \".epub\": \"application/epub+zip\",\r\n \".eri\": \"image/x-eri\",\r\n \".es\": \"audio/echospeech\",\r\n \".esl\": \"audio/echospeech\",\r\n \".etc\": \"application/x-earthtime\",\r\n \".etx\": \"text/x-setext\",\r\n \".evm\": \"x-lml/x-evm\",\r\n \".evy\": \"application/envoy\",\r\n \".fh4\": \"image/x-freehand\",\r\n \".fh5\": \"image/x-freehand\",\r\n \".fhc\": \"image/x-freehand\",\r\n \".fif\": \"application/fractals\",\r\n \".flr\": \"x-world/x-vrml\",\r\n \".flv\": \"flv-application/octet-stream\",\r\n \".fm\": \"application/x-maker\",\r\n \".fpx\": \"image/x-fpx\",\r\n \".fvi\": \"video/isivideo\",\r\n \".gau\": \"chemical/x-gaussian-input\",\r\n \".gca\": \"application/x-gca-compressed\",\r\n \".gdb\": \"x-lml/x-gdb\",\r\n \".gif\": \"image/gif\",\r\n \".gps\": \"application/x-gps\",\r\n \".gtar\": \"application/x-gtar\",\r\n \".gz\": \"application/x-gzip\",\r\n \".h\": \"text/plain\",\r\n \".hdf\": \"application/x-hdf\",\r\n \".hdm\": \"text/x-hdml\",\r\n \".hdml\": \"text/x-hdml\",\r\n \".hlp\": \"application/winhlp\",\r\n \".hqx\": \"application/mac-binhex40\",\r\n \".hta\": \"application/hta\",\r\n \".htc\": \"text/x-component\",\r\n \".htm\": \"text/html\",\r\n \".html\": \"text/html\",\r\n \".hts\": \"text/html\",\r\n \".htt\": \"text/webviewhtml\",\r\n \".ice\": \"x-conference/x-cooltalk\",\r\n \".ico\": \"image/x-icon\",\r\n \".ief\": \"image/ief\",\r\n \".ifm\": \"image/gif\",\r\n \".ifs\": \"image/ifs\",\r\n \".iii\": \"application/x-iphone\",\r\n \".imy\": \"audio/melody\",\r\n \".ins\": \"application/x-internet-signup\",\r\n \".ips\": \"application/x-ipscript\",\r\n \".ipx\": \"application/x-ipix\",\r\n \".isp\": \"application/x-internet-signup\",\r\n \".it\": \"audio/x-mod\",\r\n \".itz\": \"audio/x-mod\",\r\n \".ivr\": \"i-world/i-vrml\",\r\n \".j2k\": \"image/j2k\",\r\n \".jad\": \"text/vnd.sun.j2me.app-descriptor\",\r\n \".jam\": \"application/x-jam\",\r\n \".jar\": \"application/java-archive\",\r\n \".java\": \"text/plain\",\r\n \".jfif\": \"image/pipeg\",\r\n \".jnlp\": \"application/x-java-jnlp-file\",\r\n \".jpe\": \"image/jpeg\",\r\n \".jpeg\": \"image/jpeg\",\r\n \".jpg\": \"image/jpeg\",\r\n \".jpz\": \"image/jpeg\",\r\n \".js\": \"application/x-javascript\",\r\n \".jwc\": \"application/jwc\",\r\n \".kjx\": \"application/x-kjx\",\r\n \".lak\": \"x-lml/x-lak\",\r\n \".latex\": \"application/x-latex\",\r\n \".lcc\": \"application/fastman\",\r\n \".lcl\": \"application/x-digitalloca\",\r\n \".lcr\": \"application/x-digitalloca\",\r\n \".lgh\": \"application/lgh\",\r\n \".lml\": \"x-lml/x-lml\",\r\n \".lmlpack\": \"x-lml/x-lmlpack\",\r\n \".log\": \"text/plain\",\r\n \".lsf\": \"video/x-la-asf\",\r\n \".lsx\": \"video/x-la-asf\",\r\n \".m13\": \"application/x-msmediaview\",\r\n \".m14\": \"application/x-msmediaview\",\r\n \".m15\": \"audio/x-mod\",\r\n \".m3u\": \"audio/x-mpegurl\",\r\n \".m3url\": \"audio/x-mpegurl\",\r\n \".m4a\": \"audio/mp4a-latm\",\r\n \".m4b\": \"audio/mp4a-latm\",\r\n \".m4p\": \"audio/mp4a-latm\",\r\n \".m4u\": \"video/vnd.mpegurl\",\r\n \".m4v\": \"video/x-m4v\",\r\n \".ma1\": \"audio/ma1\",\r\n \".ma2\": \"audio/ma2\",\r\n \".ma3\": \"audio/ma3\",\r\n \".ma5\": \"audio/ma5\",\r\n \".man\": \"application/x-troff-man\",\r\n \".map\": \"magnus-internal/imagemap\",\r\n \".mbd\": \"application/mbedlet\",\r\n \".mct\": \"application/x-mascot\",\r\n \".mdb\": \"application/x-msaccess\",\r\n \".mdz\": \"audio/x-mod\",\r\n \".me\": \"application/x-troff-me\",\r\n \".mel\": \"text/x-vmel\",\r\n \".mht\": \"message/rfc822\",\r\n \".mhtml\": \"message/rfc822\",\r\n \".mi\": \"application/x-mif\",\r\n \".mid\": \"audio/mid\",\r\n \".midi\": \"audio/midi\",\r\n \".mif\": \"application/x-mif\",\r\n \".mil\": \"image/x-cals\",\r\n \".mio\": \"audio/x-mio\",\r\n \".mmf\": \"application/x-skt-lbs\",\r\n \".mng\": \"video/x-mng\",\r\n \".mny\": \"application/x-msmoney\",\r\n \".moc\": \"application/x-mocha\",\r\n \".mocha\": \"application/x-mocha\",\r\n \".mod\": \"audio/x-mod\",\r\n \".mof\": \"application/x-yumekara\",\r\n \".mol\": \"chemical/x-mdl-molfile\",\r\n \".mop\": \"chemical/x-mopac-input\",\r\n \".mov\": \"video/quicktime\",\r\n \".movie\": \"video/x-sgi-movie\",\r\n \".mp2\": \"video/mpeg\",\r\n \".mp3\": \"audio/mpeg\",\r\n \".mp4\": \"video/mp4\",\r\n \".mpa\": \"video/mpeg\",\r\n \".mpc\": \"application/vnd.mpohun.certificate\",\r\n \".mpe\": \"video/mpeg\",\r\n \".mpeg\": \"video/mpeg\",\r\n \".mpg\": \"video/mpeg\",\r\n \".mpg4\": \"video/mp4\",\r\n \".mpga\": \"audio/mpeg\",\r\n \".mpn\": \"application/vnd.mophun.application\",\r\n \".mpp\": \"application/vnd.ms-project\",\r\n \".mps\": \"application/x-mapserver\",\r\n \".mpv2\": \"video/mpeg\",\r\n \".mrl\": \"text/x-mrml\",\r\n \".mrm\": \"application/x-mrm\",\r\n \".ms\": \"application/x-troff-ms\",\r\n \".msg\": \"application/vnd.ms-outlook\",\r\n \".mts\": \"application/metastream\",\r\n \".mtx\": \"application/metastream\",\r\n \".mtz\": \"application/metastream\",\r\n \".mvb\": \"application/x-msmediaview\",\r\n \".mzv\": \"application/metastream\",\r\n \".nar\": \"application/zip\",\r\n \".nbmp\": \"image/nbmp\",\r\n \".nc\": \"application/x-netcdf\",\r\n \".ndb\": \"x-lml/x-ndb\",\r\n \".ndwn\": \"application/ndwn\",\r\n \".nif\": \"application/x-nif\",\r\n \".nmz\": \"application/x-scream\",\r\n \".nokia-op-logo\": \"image/vnd.nok-oplogo-color\",\r\n \".npx\": \"application/x-netfpx\",\r\n \".nsnd\": \"audio/nsnd\",\r\n \".nva\": \"application/x-neva1\",\r\n \".nws\": \"message/rfc822\",\r\n \".oda\": \"application/oda\",\r\n \".ogg\": \"audio/ogg\",\r\n \".oom\": \"application/x-AtlasMate-Plugin\",\r\n \".p10\": \"application/pkcs10\",\r\n \".p12\": \"application/x-pkcs12\",\r\n \".p7b\": \"application/x-pkcs7-certificates\",\r\n \".p7c\": \"application/x-pkcs7-mime\",\r\n \".p7m\": \"application/x-pkcs7-mime\",\r\n \".p7r\": \"application/x-pkcs7-certreqresp\",\r\n \".p7s\": \"application/x-pkcs7-signature\",\r\n \".pac\": \"audio/x-pac\",\r\n \".pae\": \"audio/x-epac\",\r\n \".pan\": \"application/x-pan\",\r\n \".pbm\": \"image/x-portable-bitmap\",\r\n \".pcx\": \"image/x-pcx\",\r\n \".pda\": \"image/x-pda\",\r\n \".pdb\": \"chemical/x-pdb\",\r\n \".pdf\": \"application/pdf\",\r\n \".pfr\": \"application/font-tdpfr\",\r\n \".pfx\": \"application/x-pkcs12\",\r\n \".pgm\": \"image/x-portable-graymap\",\r\n \".pict\": \"image/x-pict\",\r\n \".pko\": \"application/ynd.ms-pkipko\",\r\n \".pm\": \"application/x-perl\",\r\n \".pma\": \"application/x-perfmon\",\r\n \".pmc\": \"application/x-perfmon\",\r\n \".pmd\": \"application/x-pmd\",\r\n \".pml\": \"application/x-perfmon\",\r\n \".pmr\": \"application/x-perfmon\",\r\n \".pmw\": \"application/x-perfmon\",\r\n \".png\": \"image/png\",\r\n \".pnm\": \"image/x-portable-anymap\",\r\n \".pnz\": \"image/png\",\r\n \".pot\": \"application/vnd.ms-powerpoint\",\r\n \".ppm\": \"image/x-portable-pixmap\",\r\n \".pps\": \"application/vnd.ms-powerpoint\",\r\n \".ppt\": \"application/vnd.ms-powerpoint\",\r\n \".pptx\": \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\r\n \".pqf\": \"application/x-cprplayer\",\r\n \".pqi\": \"application/cprplayer\",\r\n \".prc\": \"application/x-prc\",\r\n \".prf\": \"application/pics-rules\",\r\n \".prop\": \"text/plain\",\r\n \".proxy\": \"application/x-ns-proxy-autoconfig\",\r\n \".ps\": \"application/postscript\",\r\n \".ptlk\": \"application/listenup\",\r\n \".pub\": \"application/x-mspublisher\",\r\n \".pvx\": \"video/x-pv-pvx\",\r\n \".qcp\": \"audio/vnd.qcelp\",\r\n \".qt\": \"video/quicktime\",\r\n \".qti\": \"image/x-quicktime\",\r\n \".qtif\": \"image/x-quicktime\",\r\n \".r3t\": \"text/vnd.rn-realtext3d\",\r\n \".ra\": \"audio/x-pn-realaudio\",\r\n \".ram\": \"audio/x-pn-realaudio\",\r\n \".ras\": \"image/x-cmu-raster\",\r\n \".rc\": \"text/plain\",\r\n \".rdf\": \"application/rdf+xml\",\r\n \".rf\": \"image/vnd.rn-realflash\",\r\n \".rgb\": \"image/x-rgb\",\r\n \".rlf\": \"application/x-richlink\",\r\n \".rm\": \"audio/x-pn-realaudio\",\r\n \".rmf\": \"audio/x-rmf\",\r\n \".rmi\": \"audio/mid\",\r\n \".rmm\": \"audio/x-pn-realaudio\",\r\n \".rmvb\": \"audio/x-pn-realaudio\",\r\n \".rnx\": \"application/vnd.rn-realplayer\",\r\n \".roff\": \"application/x-troff\",\r\n \".rp\": \"image/vnd.rn-realpix\",\r\n \".rpm\": \"audio/x-pn-realaudio-plugin\",\r\n \".rt\": \"text/vnd.rn-realtext\",\r\n \".rte\": \"x-lml/x-gps\",\r\n \".rtf\": \"application/rtf\",\r\n \".rtg\": \"application/metastream\",\r\n \".rtx\": \"text/richtext\",\r\n \".rv\": \"video/vnd.rn-realvideo\",\r\n \".rwc\": \"application/x-rogerwilco\",\r\n \".s3m\": \"audio/x-mod\",\r\n \".s3z\": \"audio/x-mod\",\r\n \".sca\": \"application/x-supercard\",\r\n \".scd\": \"application/x-msschedule\",\r\n \".sct\": \"text/scriptlet\",\r\n \".sdf\": \"application/e-score\",\r\n \".sea\": \"application/x-stuffit\",\r\n \".setpay\": \"application/set-payment-initiation\",\r\n \".setreg\": \"application/set-registration-initiation\",\r\n \".sgm\": \"text/x-sgml\",\r\n \".sgml\": \"text/x-sgml\",\r\n \".sh\": \"application/x-sh\",\r\n \".shar\": \"application/x-shar\",\r\n \".shtml\": \"magnus-internal/parsed-html\",\r\n \".shw\": \"application/presentations\",\r\n \".si6\": \"image/si6\",\r\n \".si7\": \"image/vnd.stiwap.sis\",\r\n \".si9\": \"image/vnd.lgtwap.sis\",\r\n \".sis\": \"application/vnd.symbian.install\",\r\n \".sit\": \"application/x-stuffit\",\r\n \".skd\": \"application/x-Koan\",\r\n \".skm\": \"application/x-Koan\",\r\n \".skp\": \"application/x-Koan\",\r\n \".skt\": \"application/x-Koan\",\r\n \".slc\": \"application/x-salsa\",\r\n \".smd\": \"audio/x-smd\",\r\n \".smi\": \"application/smil\",\r\n \".smil\": \"application/smil\",\r\n \".smp\": \"application/studiom\",\r\n \".smz\": \"audio/x-smd\",\r\n \".snd\": \"audio/basic\",\r\n \".spc\": \"application/x-pkcs7-certificates\",\r\n \".spl\": \"application/futuresplash\",\r\n \".spr\": \"application/x-sprite\",\r\n \".sprite\": \"application/x-sprite\",\r\n \".sdp\": \"application/sdp\",\r\n \".spt\": \"application/x-spt\",\r\n \".src\": \"application/x-wais-source\",\r\n \".sst\": \"application/vnd.ms-pkicertstore\",\r\n \".stk\": \"application/hyperstudio\",\r\n \".stl\": \"application/vnd.ms-pkistl\",\r\n \".stm\": \"text/html\",\r\n \".svg\": \"image/svg+xml\",\r\n \".sv4cpio\": \"application/x-sv4cpio\",\r\n \".sv4crc\": \"application/x-sv4crc\",\r\n \".svf\": \"image/vnd\",\r\n \".svh\": \"image/svh\",\r\n \".svr\": \"x-world/x-svr\",\r\n \".swf\": \"application/x-shockwave-flash\",\r\n \".swfl\": \"application/x-shockwave-flash\",\r\n \".t\": \"application/x-troff\",\r\n \".talk\": \"text/x-speech\",\r\n \".tar\": \"application/x-tar\",\r\n \".taz\": \"application/x-tar\",\r\n \".tbp\": \"application/x-timbuktu\",\r\n \".tbt\": \"application/x-timbuktu\",\r\n \".tcl\": \"application/x-tcl\",\r\n \".tex\": \"application/x-tex\",\r\n \".texi\": \"application/x-texinfo\",\r\n \".texinfo\": \"application/x-texinfo\",\r\n \".tgz\": \"application/x-compressed\",\r\n \".thm\": \"application/vnd.eri.thm\",\r\n \".tif\": \"image/tiff\",\r\n \".tiff\": \"image/tiff\",\r\n \".tki\": \"application/x-tkined\",\r\n \".tkined\": \"application/x-tkined\",\r\n \".toc\": \"application/toc\",\r\n \".toy\": \"image/toy\",\r\n \".tr\": \"application/x-troff\",\r\n \".trk\": \"x-lml/x-gps\",\r\n \".trm\": \"application/x-msterminal\",\r\n \".tsi\": \"audio/tsplayer\",\r\n \".tsp\": \"application/dsptype\",\r\n \".tsv\": \"text/tab-separated-values\",\r\n \".ttz\": \"application/t-time\",\r\n \".txt\": \"text/plain\",\r\n \".uls\": \"text/iuls\",\r\n \".ult\": \"audio/x-mod\",\r\n \".ustar\": \"application/x-ustar\",\r\n \".uu\": \"application/x-uuencode\",\r\n \".uue\": \"application/x-uuencode\",\r\n \".vcd\": \"application/x-cdlink\",\r\n \".vcf\": \"text/x-vcard\",\r\n \".vdo\": \"video/vdo\",\r\n \".vib\": \"audio/vib\",\r\n \".viv\": \"video/vivo\",\r\n \".vivo\": \"video/vivo\",\r\n \".vmd\": \"application/vocaltec-media-desc\",\r\n \".vmf\": \"application/vocaltec-media-file\",\r\n \".vmi\": \"application/x-dreamcast-vms-info\",\r\n \".vms\": \"application/x-dreamcast-vms\",\r\n \".vox\": \"audio/voxware\",\r\n \".vqe\": \"audio/x-twinvq-plugin\",\r\n \".vqf\": \"audio/x-twinvq\",\r\n \".vql\": \"audio/x-twinvq\",\r\n \".vre\": \"x-world/x-vream\",\r\n \".vrml\": \"x-world/x-vrml\",\r\n \".vrt\": \"x-world/x-vrt\",\r\n \".vrw\": \"x-world/x-vream\",\r\n \".vts\": \"workbook/formulaone\",\r\n \".wav\": \"audio/x-wav\",\r\n \".wax\": \"audio/x-ms-wax\",\r\n \".wbmp\": \"image/vnd.wap.wbmp\",\r\n \".wcm\": \"application/vnd.ms-works\",\r\n \".wdb\": \"application/vnd.ms-works\",\r\n \".web\": \"application/vnd.xara\",\r\n \".webm\": \"video/webm\",\r\n \".wi\": \"image/wavelet\",\r\n \".wis\": \"application/x-InstallShield\",\r\n \".wks\": \"application/vnd.ms-works\",\r\n \".wm\": \"video/x-ms-wm\",\r\n \".wma\": \"audio/x-ms-wma\",\r\n \".wmd\": \"application/x-ms-wmd\",\r\n \".wmf\": \"application/x-msmetafile\",\r\n \".wml\": \"text/vnd.wap.wml\",\r\n \".wmlc\": \"application/vnd.wap.wmlc\",\r\n \".wmls\": \"text/vnd.wap.wmlscript\",\r\n \".wmlsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wmlscript\": \"text/vnd.wap.wmlscript\",\r\n \".wmv\": \"audio/x-ms-wmv\",\r\n \".wmx\": \"video/x-ms-wmx\",\r\n \".wmz\": \"application/x-ms-wmz\",\r\n \".wpng\": \"image/x-up-wpng\",\r\n \".wpt\": \"x-lml/x-gps\",\r\n \".wri\": \"application/x-mswrite\",\r\n \".wrl\": \"x-world/x-vrml\",\r\n \".wrz\": \"x-world/x-vrml\",\r\n \".ws\": \"text/vnd.wap.wmlscript\",\r\n \".wsc\": \"application/vnd.wap.wmlscriptc\",\r\n \".wv\": \"video/wavelet\",\r\n \".wvx\": \"video/x-ms-wvx\",\r\n \".wxl\": \"application/x-wxl\",\r\n \".x-gzip\": \"application/x-gzip\",\r\n \".xaf\": \"x-world/x-vrml\",\r\n \".xar\": \"application/vnd.xara\",\r\n \".xbm\": \"image/x-xbitmap\",\r\n \".xdm\": \"application/x-xdma\",\r\n \".xdma\": \"application/x-xdma\",\r\n \".xdw\": \"application/vnd.fujixerox.docuworks\",\r\n \".xht\": \"application/xhtml+xml\",\r\n \".xhtm\": \"application/xhtml+xml\",\r\n \".xhtml\": \"application/xhtml+xml\",\r\n \".xla\": \"application/vnd.ms-excel\",\r\n \".xlc\": \"application/vnd.ms-excel\",\r\n \".xll\": \"application/x-excel\",\r\n \".xlm\": \"application/vnd.ms-excel\",\r\n \".xls\": \"application/vnd.ms-excel\",\r\n \".xlsx\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n \".xlt\": \"application/vnd.ms-excel\",\r\n \".xlw\": \"application/vnd.ms-excel\",\r\n \".xm\": \"audio/x-mod\",\r\n \".xml\": \"application/xml\",\r\n \".xmz\": \"audio/x-mod\",\r\n \".xof\": \"x-world/x-vrml\",\r\n \".xpi\": \"application/x-xpinstall\",\r\n \".xpm\": \"image/x-xpixmap\",\r\n \".xsit\": \"text/xml\",\r\n \".xsl\": \"text/xml\",\r\n \".xul\": \"text/xul\",\r\n \".xwd\": \"image/x-xwindowdump\",\r\n \".xyz\": \"chemical/x-pdb\",\r\n \".yz1\": \"application/x-yz1\",\r\n \".z\": \"application/x-compress\",\r\n \".zac\": \"application/x-zaurus-zac\",\r\n \".json\": \"application/json\",\r\n \".vsd\": \"application/vnd.visio\",\r\n \".et\": \"application/kset\",\r\n \".wps\": \"application/kswps\",\r\n \".dps\": \"application/ksdps\"\r\n}\r\n\r\nexport default function(a) {\r\n let b = strFrom(a, '.', true) || a\r\n return mimes['.' + b]\r\n}\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import mimeType from '../util/mime.js'\r\n\r\n const suffixHooks = {\r\n '0': 'js.css.pdf.psd.ai.txt.eps.txt',\r\n xls: 'xls.xlsx',\r\n doc: 'doc.docx.rtf',\r\n ppt: 'ppt.pptx',\r\n htm: 'htm.html',\r\n zip: 'rar.zip.tar.jar.z.7z.ace.lzh.arj.gzip.bz2.cab.uue',\r\n fla: 'fla.swf',\r\n fon: 'eot.otf.fon.font.ttf.ttc.woff.woff2',\r\n iso: 'iso.nrg.mds.mdf.bin.cue.img.fcd.lcd.dmg',\r\n vid: 'avi.asf.wmv.avs.flv.mkv.mov.3gp.mp4.webm.mpa.mpe.mpg.mpeg.dat.dsm.ogm.vob.rm.rmvb.ts.tp.ifo.nsv.m4u.m4v.asx.asr.movie.fvi.pvx.rv.vdo.viv.vivo.wm.wmx.wv.wvx.mpv2.mpg4',\r\n aud: 'aif.aifc.aiff.als.awb.mp3.aac.au.wav.wma.cda.flac.m4a.mid.mka.mp2.mpc.ape.ofr.ogg.ra.wv.tta.ac3.dts.wv.shn.vqf.spc.nsf.adx.psf.minipsf.psf2.minipsf2.rsn.zst',\r\n img: 'jpg.jpeg.gif.png.bmp.tif.tiff.ico'\r\n }\r\n\r\n const suffix = (function() {\r\n let r = {}\r\n for (let k in suffixHooks) {\r\n suffixHooks[k].split('.').forEach(v => r[v] = k == '0' ? v : k)\r\n }\r\n return r\r\n })()\r\n\r\n const getSuffix = function(url) {\r\n let a = $.strFrom(url || '', '.', true).toLowerCase()\r\n return suffix[a] || 'file'\r\n }\r\n\r\n // 把 \"1MB\" 转为字节\r\n const fileByte = function(val) {\r\n let unit\r\n if (val != null && !isNaN(val))\r\n val += 'K'\r\n val = $.number(val.replace(/[a-z]+$/i, function($0) {\r\n unit = $0.charAt(0).toUpperCase();\r\n return ''\r\n }))\r\n return val * (unit === 'K' ? 1024 : unit === 'M' ? 1024 * 1024 : unit === 'G' ? 1024 * 1024 * 1024 : unit ===\r\n 'T' ? 1024 * 1024 * 1024 * 1024 : 1)\r\n }\r\n\r\n const fileTypeHooks = {\r\n video: suffixHooks.vid,\r\n audio: suffixHooks.aud,\r\n image: suffixHooks.img\r\n }\r\n\r\n export default {\r\n name: 'w-fileupload',\r\n mixins: [FormBase],\r\n props: ['uploadSrc', 'thumbnailSrc', 'downloadSrc', 'uploadLimit', 'sizeLimit', 'maxFileSize', 'minFileSize',\r\n 'fileTypes', 'filter', 'success', 'error', 'itemWidth', 'click:item'\r\n ],\r\n emits: ['click:item'],\r\n data() {\r\n return {\r\n list: [],\r\n emiting: false,\r\n }\r\n },\r\n created() {\r\n this.$watch(() => this.x.modelValue, v => {\r\n if (this.emiting) return this.emiting = false\r\n this.list = Array.isArray(v) ? v.map(value => {\r\n return {\r\n value\r\n }\r\n }) : v ? [{\r\n value: v\r\n }] : []\r\n }, {\r\n immediate: true\r\n })\r\n },\r\n methods: {\r\n val(v) {\r\n if (arguments.length == 0) {\r\n let r = []\r\n this.list.forEach(item => item.value && r.push(item.value))\r\n return r\r\n }\r\n this.x.modelValue = v\r\n this.trigger('update:modelValue', v)\r\n this.trigger('change', this, v)\r\n },\r\n getAccept() {\r\n let r = []\r\n let t = this.x.fileTypes\r\n if (!t || t == '*.*') return\r\n let n = []\r\n t.toLowerCase().split(';').forEach(b => {\r\n if (!b) return\r\n n.push(fileTypeHooks[b] || b)\r\n })\r\n n.join('.').replace(/[*;]/g, '').split('.').forEach(b => {\r\n b && r.push(mimeType(b) || b)\r\n })\r\n return r.join(',')\r\n },\r\n isImage(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'img'\r\n },\r\n isVideo(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'vid'\r\n },\r\n isAudio(item) {\r\n let s = getSuffix(item.value ? item.value.name : item.file.name)\r\n return s == 'aud'\r\n },\r\n fileSelected(e) {\r\n if (this.x.uploadLimit > 1 && e.target.files.length + this.list.length > this.x.uploadLimit) {\r\n return $.alert($.loc.ps($.loc.form.upload_limit, this.x.uploadLimit))\r\n }\r\n let xfs = this.x.maxFileSize && fileByte(this.x.maxFileSize)\r\n let nfs = this.x.minFileSize && fileByte(this.x.minFileSize)\r\n let xfs_names\r\n let nfs_names\r\n $.lodash.each(e.target.files, file => {\r\n if (xfs && file.size > xfs) {\r\n (xfs_names || (xfs_names = [])).push(file.name)\r\n } else if (nfs && file.size < nfs) {\r\n (nfs_names || (nfs_names = [])).push(file.name)\r\n } else\r\n this.list.push({file})\r\n })\r\n if (xfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_maxfilesize, xfs_names.join('<br>'), this.x.maxFileSize))\r\n } else if (nfs_names) {\r\n $.alert($.loc.ps($.loc.form.upload_minfilesize, nfs_names.join('<br>'), this.x.minFileSize))\r\n }\r\n e.target.value = '' // 获取文件后要设value为空,否则下一次选择同一个文件不会触发onchange\r\n this.nextUpload()\r\n\r\n },\r\n upload(item) {\r\n if (this.x.uploadSrc && !item.loading) {\r\n let src = $.urlFormat(this.x.uploadSrc, this.x.data, this.x)\r\n let fd = new FormData()\r\n fd.append('Filedata', item.file)\r\n item.loading = true\r\n item.source = $.http.CancelToken.source()\r\n $.http.post(src, fd, {\r\n onUploadProgress: e => item.progress = Math.floor(e.loaded / e.total * 100),\r\n cancelToken: item.source.token\r\n }).then(res => {\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n let d = this.x.filter ? this.x.filter(res, this) : res.data\r\n if (!d) {\r\n item.error = {\r\n message: $.loc.form.upload_no_data\r\n }\r\n } else if (d.error) {\r\n item.error = d.error\r\n } else if (!d.id) {\r\n item.error = {\r\n message: $.loc.ps($.loc.form.upload_invalid_data, JSON.stringify(d))\r\n }\r\n } else {\r\n item.value = d\r\n this.x.success && this.x.success(item.value, this, res)\r\n }\r\n this.nextUpload()\r\n if (item.error && item.error.message) $.alert(item.error.message)\r\n }).catch(error => {\r\n item.error = error\r\n item.loading = false\r\n item.loaded = true\r\n item.source = null\r\n if (error.response && error.response.status) $.alert(error.response.status + ': ' + error)\r\n })\r\n }\r\n },\r\n nextUpload() {\r\n for (let item of this.list) {\r\n if (item.loading) return\r\n if (item.file && !item.loaded) {\r\n return this.upload(item)\r\n }\r\n }\r\n this.emiting = true\r\n let v = this.val()\r\n this.$emit('update:modelValue', v)\r\n this.$emit('change', v)\r\n },\r\n clickItem(e, item) {\r\n if (!item.value) return\r\n if (this.getOn('click:item')) {\r\n e.runType = 'click:item'\r\n this.trigger(e, item.value)\r\n } else if (this.x.downloadSrc) {\r\n $.download($.urlServer(this.x.downloadSrc, item.value, this.x.data))\r\n }\r\n },\r\n remove(item) {\r\n item.source && item.source.cancel()\r\n let i = this.list.findIndex(v => v == item)\r\n this.list.splice(i, 1)\r\n this.nextUpload()\r\n },\r\n formText() {\r\n let v = this.val()\r\n return v.map(m => m.name).join(', ')\r\n },\r\n chooseFile() {\r\n this.$refs.file.click()\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n let n = item.value ? item.value.name : item.file.name\r\n return h('div', {\r\n class: ['w-fileupload-value', {\r\n 'z-loading': item.loading,\r\n 'z-err': item.error\r\n }],\r\n style: {\r\n '--w-upload-progress': item.file ? `${item.progress || 0}%` : '',\r\n width: $.unitSize(this.x.itemWidth)\r\n },\r\n title: item.error ? item.error.message : n,\r\n onclick: e => this.clickItem(e, item)\r\n }, [\r\n h('i', {\r\n class: ['w-fileupload-value-icon f-i', 'f-i-file-' + getSuffix(n)]\r\n }),\r\n item.error && h('div', {\r\n class: 'w-fileupload-value-error'\r\n }, $.loc.form.upload_error),\r\n h('div', {\r\n class: 'w-fileupload-value-text f-line-1'\r\n }, n), h('div', {\r\n class: 'w-fileupload-value-close f-i f-i-trash',\r\n title: $.loc.remove,\r\n onclick: e => {\r\n this.remove(item), e.stopPropagation()\r\n }\r\n })\r\n ])\r\n })\r\n },\r\n html_input_form() {\r\n return [\r\n this.html_input_hidden(),\r\n h('input', {\r\n type: 'file',\r\n ref: 'file',\r\n multiple: this.x.uploadLimit != 1,\r\n accept: this.getAccept(),\r\n onchange: this.fileSelected\r\n })\r\n ]\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n text: '选择文件',\r\n icon: '.f-i .f-i-upload',\r\n class: 'w-fileupload-button',\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input_list() {\r\n return this.list.length ? h('div', {\r\n ref: 'list',\r\n class: 'w-fileupload-list'\r\n }, this.html_list()) : !this.isNormal ? h('div', {\r\n class: 'w-fileupload-nofile f-flex-align'\r\n }, $.loc.form.no_files) : null\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(this.canUpload && this.html_input_button(), this.html_input_list())\r\n },\r\n\r\n },\r\n computed: {\r\n input_value() {\r\n let v = this.val()\r\n return v.length == 0 ? '' : JSON.stringify(v)\r\n },\r\n errorTipTarget() {\r\n return this.$refs.uploadbbr || this\r\n },\r\n canUpload() {\r\n if (!this.isNormal) return false\r\n if (this.x.uploadLimit > 0 && this.list.length >= this.x.uploadLimit) return false\r\n return true\r\n },\r\n html_style() {\r\n return {\r\n '--w-label-min-height': '32px',\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: () => this.warn(false)\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-fileupload {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-fileupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-fileupload>.w-input {\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload input[type=\"file\"],\r\n .w-mediaupload input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 100%;\r\n gap: 10px;\r\n }\r\n\r\n .w-fileupload-button {\r\n background: #f8f8f8;\r\n }\r\n\r\n .w-fileupload-value {\r\n display: flex;\r\n align-items: center;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n height: 32px;\r\n border: 1px solid #ddd;\r\n background: #f8f8f8;\r\n overflow: hidden;\r\n }\r\n\r\n .w-fileupload-value.z-loading {\r\n background: linear-gradient(to right, #e5f3ff var(--w-upload-progress), #fff var(--w-upload-progress));\r\n }\r\n\r\n .w-fileupload-value.z-err {\r\n border-color: #f00;\r\n }\r\n\r\n .w-fileupload-value-icon {\r\n width: 30px;\r\n height: 30px;\r\n margin-right: 10px;\r\n flex-shrink: 0;\r\n }\r\n\r\n .w-fileupload-value-error {\r\n margin-right: 10px;\r\n color: #f00;\r\n }\r\n\r\n .w-fileupload-value-text {\r\n flex: 1;\r\n margin-right: 15px;\r\n max-width: 100%;\r\n }\r\n\r\n .w-fileupload-value-text:hover {\r\n text-decoration: underline;\r\n }\r\n\r\n .w-fileupload.z-ds .w-fileupload-value-close {\r\n display: none;\r\n }\r\n\r\n .w-fileupload-value-close {\r\n padding-right: 8px;\r\n color: #999;\r\n }\r\n\r\n .w-fileupload-value-close:hover {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-fileupload-nofile {\r\n color: #999;\r\n height: 32px;\r\n }\r\n\r\n .w-fileupload.z-err .w-fileupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\r\n","<template>\r\n <w-img :class=\"['w-mediaupload-value', {'z-loading': item.loading, 'z-canplay': canPlay, 'z-err': item.error}]\" ref=\"thumbnail\" :src=\"src\" :data-url=\"dataURL\"\r\n :width=\"upload.x.thumbnailWidth\" :img-width=\"upload.x.thumbnailWidth-2\" :img-height=\"upload.x.thumbnailHeight-2\" :tip=\"tip\" @click=\"click\">\r\n <template v-if=\"upload.x.showFileName\" #default>\r\n <div class=\"f-line-1\">{{name}}</div>\r\n </template>\r\n <template #cover>\r\n <canvas v-if=\"item.loading\" ref=\"loading\" width=\"34\" height=\"34\" class=\"w-mediaupload-progress-loading f-abs-center\"></canvas>\r\n <i v-else-if=\"canPlay\" class=\"w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play\"></i>\r\n <i v-if=\"upload.isNormal\" class=\"w-mediaupload-value-close f-flex-center f-i f-i-trash\" :title=\"title\" @click=\"remove\"></i>\r\n </template>\r\n </w-img>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['item'],\r\n inject: ['provideUpload'],\r\n data() {\r\n return {\r\n dataURL: null,\r\n }\r\n },\r\n methods: {\r\n click(e) {\r\n this.provideUpload.clickItem(e, this.item)\r\n },\r\n createImageThumbnail() {\r\n let r = new FileReader()\r\n r.onload = (e) => {\r\n if (this.item.loaded) return\r\n this.dataURL = e.target.result\r\n }\r\n r.readAsDataURL(this.item.file)\r\n },\r\n createVideoThumbnail() {\r\n let video = document.createElement('video')\r\n video.addEventListener('loadeddata', () => {\r\n setTimeout(() => {\r\n if (this.item.loaded) return\r\n let cvs = document.createElement('canvas')\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = video.videoWidth\r\n cvs.height = video.videoHeight\r\n ctx.drawImage(video, 0, 0)\r\n this.dataURL = cvs.toDataURL('image/png') \r\n video.pause()\r\n $.q(video).remove()\r\n }, 150)\r\n });\r\n video.src = URL.createObjectURL(this.item.file)\r\n video.muted = true\r\n video.play()\r\n },\r\n setProgress(a) {\r\n let cvs = this.$refs.loading\r\n if (!this.item.loading || !cvs) return\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = cvs.width\r\n ctx.beginPath()\r\n ctx.translate(17, 17)\r\n ctx.moveTo(0, 0)\r\n ctx.arc(0, 0, 15, -Math.PI * .5, Math.PI * ((2 * a / 100) - .5))\r\n ctx.closePath()\r\n ctx.fillStyle = 'rgba(255,255,255,.7)'\r\n ctx.fill()\r\n ctx.beginPath()\r\n ctx.arc(0, 0, 16, 0, Math.PI * 2)\r\n ctx.strokeStyle = '#fff'\r\n ctx.stroke()\r\n },\r\n remove(e) {\r\n this.upload.remove(this.item)\r\n e.stopPropagation()\r\n }, \r\n },\r\n computed: {\r\n upload() {\r\n return this.provideUpload\r\n },\r\n img() {\r\n return this.$refs.thumbnail.$refs.img\r\n },\r\n src() {\r\n return this.item.value ? $.urlServer(this.item.value.thumbnail || this.upload.x.thumbnailSrc, this.item.value,\r\n this.upload.x.data) : ''\r\n },\r\n name() {\r\n return this.item.value ? this.item.value.name : this.item.file.name\r\n },\r\n tip() {\r\n return this.item.error ? this.item.error.message : this.name\r\n },\r\n title() {\r\n return $.loc.remove\r\n },\r\n canPlay() {\r\n return this.item.value && (this.upload.isVideo(this.item) || this.upload.isAudio(this.item))\r\n }\r\n },\r\n mounted() {\r\n if (!this.item.loaded && this.item.file) {\r\n this.upload.isVideo(this.item) ? this.createVideoThumbnail() : this.upload.isImage(this.item) ? this.createImageThumbnail() : null\r\n this.$watch(() => this.item.progress, v => this.setProgress(v), {\r\n immediate: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload-value.z-loading .w-img-cover {\r\n background: rgba(0, 0, 0, .25);\r\n }\r\n\r\n .w-mediaupload-progress {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload-progress-img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: right top;\r\n }\r\n</style>\r\n","<template>\r\n <w-img :class=\"['w-mediaupload-value', {'z-loading': item.loading, 'z-canplay': canPlay, 'z-err': item.error}]\" ref=\"thumbnail\" :src=\"src\" :data-url=\"dataURL\"\r\n :width=\"upload.x.thumbnailWidth\" :img-width=\"upload.x.thumbnailWidth-2\" :img-height=\"upload.x.thumbnailHeight-2\" :tip=\"tip\" @click=\"click\">\r\n <template v-if=\"upload.x.showFileName\" #default>\r\n <div class=\"f-line-1\">{{name}}</div>\r\n </template>\r\n <template #cover>\r\n <canvas v-if=\"item.loading\" ref=\"loading\" width=\"34\" height=\"34\" class=\"w-mediaupload-progress-loading f-abs-center\"></canvas>\r\n <i v-else-if=\"canPlay\" class=\"w-mediaupload-cover-play f-abs-center f-flex-center f-i f-i-play\"></i>\r\n <i v-if=\"upload.isNormal\" class=\"w-mediaupload-value-close f-flex-center f-i f-i-trash\" :title=\"title\" @click=\"remove\"></i>\r\n </template>\r\n </w-img>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n props: ['item'],\r\n inject: ['provideUpload'],\r\n data() {\r\n return {\r\n dataURL: null,\r\n }\r\n },\r\n methods: {\r\n click(e) {\r\n this.provideUpload.clickItem(e, this.item)\r\n },\r\n createImageThumbnail() {\r\n let r = new FileReader()\r\n r.onload = (e) => {\r\n if (this.item.loaded) return\r\n this.dataURL = e.target.result\r\n }\r\n r.readAsDataURL(this.item.file)\r\n },\r\n createVideoThumbnail() {\r\n let video = document.createElement('video')\r\n video.addEventListener('loadeddata', () => {\r\n setTimeout(() => {\r\n if (this.item.loaded) return\r\n let cvs = document.createElement('canvas')\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = video.videoWidth\r\n cvs.height = video.videoHeight\r\n ctx.drawImage(video, 0, 0)\r\n this.dataURL = cvs.toDataURL('image/png') \r\n video.pause()\r\n $.q(video).remove()\r\n }, 150)\r\n });\r\n video.src = URL.createObjectURL(this.item.file)\r\n video.muted = true\r\n video.play()\r\n },\r\n setProgress(a) {\r\n let cvs = this.$refs.loading\r\n if (!this.item.loading || !cvs) return\r\n let ctx = cvs.getContext('2d')\r\n cvs.width = cvs.width\r\n ctx.beginPath()\r\n ctx.translate(17, 17)\r\n ctx.moveTo(0, 0)\r\n ctx.arc(0, 0, 15, -Math.PI * .5, Math.PI * ((2 * a / 100) - .5))\r\n ctx.closePath()\r\n ctx.fillStyle = 'rgba(255,255,255,.7)'\r\n ctx.fill()\r\n ctx.beginPath()\r\n ctx.arc(0, 0, 16, 0, Math.PI * 2)\r\n ctx.strokeStyle = '#fff'\r\n ctx.stroke()\r\n },\r\n remove(e) {\r\n this.upload.remove(this.item)\r\n e.stopPropagation()\r\n }, \r\n },\r\n computed: {\r\n upload() {\r\n return this.provideUpload\r\n },\r\n img() {\r\n return this.$refs.thumbnail.$refs.img\r\n },\r\n src() {\r\n return this.item.value ? $.urlServer(this.item.value.thumbnail || this.upload.x.thumbnailSrc, this.item.value,\r\n this.upload.x.data) : ''\r\n },\r\n name() {\r\n return this.item.value ? this.item.value.name : this.item.file.name\r\n },\r\n tip() {\r\n return this.item.error ? this.item.error.message : this.name\r\n },\r\n title() {\r\n return $.loc.remove\r\n },\r\n canPlay() {\r\n return this.item.value && (this.upload.isVideo(this.item) || this.upload.isAudio(this.item))\r\n }\r\n },\r\n mounted() {\r\n if (!this.item.loaded && this.item.file) {\r\n this.upload.isVideo(this.item) ? this.createVideoThumbnail() : this.upload.isImage(this.item) ? this.createImageThumbnail() : null\r\n this.$watch(() => this.item.progress, v => this.setProgress(v), {\r\n immediate: true\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload-value.z-loading .w-img-cover {\r\n background: rgba(0, 0, 0, .25);\r\n }\r\n\r\n .w-mediaupload-progress {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload-progress-img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: right top;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FileUpload from './FileUpload.vue'\r\n import MediaUploadItem from './MediaUploadItem.vue'\r\n import ButtonBar from './ButtonBar.vue'\r\n import Button from './Button.vue'\r\n import Img from './Img.vue'\r\n\r\n export default {\r\n name: 'w-mediaupload',\r\n mixins: [FileUpload],\r\n props: ['thumbnailWidth', 'thumbnailHeight', 'showFileName'],\r\n provide() {\r\n return {\r\n provideUpload: this\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'video',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n },\r\n html_list() {\r\n return this.list.map(item => {\r\n return h(MediaUploadItem, {\r\n item\r\n })\r\n })\r\n },\r\n html_input_button() {\r\n return h(ButtonBar, {\r\n ref: 'uploadbbr',\r\n class: 'w-fileupload-bbr',\r\n gap: 10,\r\n }, {\r\n default: () => [this.$slots.button ? this.$slots.button() : h(Button, {\r\n ref: 'uploadbutton',\r\n title: $.loc.form.choose_image,\r\n icon: '.f-i .f-i-plus',\r\n class: 'w-mediaupload-button',\r\n style: {\r\n width: $.unitSize(this.x.thumbnailWidth),\r\n height: $.unitSize(this.x.thumbnailHeight)\r\n },\r\n onclick: this.chooseFile\r\n })]\r\n })\r\n },\r\n html_input() {\r\n return this.html_input_form().concat(h('div', {\r\n class: 'w-mediaupload-list f-flex'\r\n }, [this.html_list(), this.canUpload && this.html_input_button()]))\r\n },\r\n },\r\n computed: {\r\n html_style() {\r\n return {\r\n '--w-label-min-height': $.unitSize(this.x.thumbnailHeight),\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-mediaupload.z-h-valign-top,\r\n .w-mediaupload.z-h-valign-top>.w-input {\r\n align-items: flex-start;\r\n }\r\n\r\n .w-mediaupload.z-h-valign-bottom,\r\n .w-mediaupload.z-h-valign-bottom>.w-input {\r\n align-items: flex-end;\r\n }\r\n\r\n .w-mediaupload.z-h-align-center>.w-input {\r\n justify-content: center;\r\n }\r\n\r\n .w-mediaupload.z-h-align-right>.w-input {\r\n justify-content: flex-end;\r\n }\r\n\r\n .w-mediaupload>.w-input {\r\n height: 100%;\r\n }\r\n\r\n .w-mediaupload>.w-label {\r\n min-height: var(--w-label-min-height);\r\n }\r\n\r\n .w-mediaupload-list {\r\n align-items: flex-start;\r\n flex-wrap: wrap;\r\n gap: 10px;\r\n }\r\n\r\n .w-mediaupload-value,\r\n .w-mediaupload-button {\r\n position: relative;\r\n }\r\n\r\n .w-mediaupload-button {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value {\r\n box-sizing: border-box;\r\n }\r\n\r\n .w-mediaupload-value.z-loading .w-mediaupload-progress:before,\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before,\r\n /* .w-mediaupload-value .w-img:hover:not(.z-canplay) .w-img-gut:after */\r\n {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(0, 0, 0, .2);\r\n }\r\n\r\n .w-mediaupload-button .w-button-icon {\r\n font-size: 36px;\r\n color: #bbb;\r\n }\r\n\r\n .w-mediaupload-value:hover .w-mediaupload-value-close {\r\n visibility: visible;\r\n }\r\n\r\n .w-mediaupload-value-close {\r\n position: absolute;\r\n visibility: hidden;\r\n cursor: pointer;\r\n top: 1px;\r\n right: 1px;\r\n width: 24px;\r\n height: 24px;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .6);\r\n }\r\n\r\n .w-mediaupload-value-close:hover {\r\n color: #f33;\r\n }\r\n\r\n .w-mediaupload-value .w-img-gut {\r\n border: 1px solid #ddd;\r\n }\r\n\r\n .w-mediaupload-value.z-err {\r\n border: 1px solid #f00;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress-loading {\r\n display: none;\r\n }\r\n\r\n .w-mediaupload-value.z-err .w-mediaupload-progress:before {\r\n content: '上传失败';\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: #fff;\r\n background: rgba(0, 0, 0, .5);\r\n }\r\n\r\n .w-mediaupload-cover-play {\r\n width: 30px;\r\n height: 30px;\r\n border-radius: 30px;\r\n background: rgba(0, 0, 0, .5);\r\n color: #fff;\r\n }\r\n\r\n .w-mediaupload-cover-play:before {\r\n transform: translateX(2px);\r\n }\r\n\r\n .w-mediaupload.z-err .w-mediaupload-button {\r\n border-color: #f00;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import MediaUpload from './MediaUpload.vue'\r\n\r\n export default {\r\n name: 'w-imageupload',\r\n mixins: [MediaUpload],\r\n methods: {\r\n x_default() {\r\n return {\r\n fileTypes: 'image',\r\n //valign: 'top',\r\n thumbnailWidth: 80,\r\n thumbnailHeight: 80,\r\n }\r\n }\r\n },\r\n computed: {\r\n html_class() {\r\n return 'w-mediaupload'\r\n },\r\n },\r\n }\r\n</script>\n","<template>\r\n <button :class=\"['f-flex-align', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul, 'w-dropbox-option': !!context}]\" @click=\"click\"\r\n v-bind=\"html_attrs\" :disabled=\"disabled\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text || value}}</slot>\r\n </div>\r\n <div :class=\"['w-option-checked', this.isFocus && this.isMul && 'f-i f-i-check']\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n methods: {\r\n click(e) {\r\n if (this.isMul) {\r\n let cv = $.array(this.$parent.context.val(), true)\r\n if (this.isFocus) $.lodash.pull(cv, this.value)\r\n else cv.push(this.value)\r\n this.$parent.context.val(cv)\r\n } else {\r\n let cv = this.isCnc && this.isFocus ? '' : this.value\r\n this.$parent.context.val(cv)\r\n this.$parent.close()\r\n }\r\n }\r\n },\r\n computed: {\r\n context() {\r\n return this.$parent.context\r\n },\r\n isFocus() {\r\n let c = this.context\r\n if (c) {\r\n let m = c.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n }\r\n },\r\n isMul() {\r\n return this.context?.x.multiple\r\n },\r\n isCnc() {\r\n return this.context?.x.cancelable\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px; \r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n \r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n \r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n text-align: right;\r\n visibility: hidden;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n visibility: visible;\r\n }\r\n</style>\r\n","<template>\r\n <button :class=\"['f-flex-align', {'z-on': isFocus, 'z-ds': disabled, 'z-mul': isMul, 'w-dropbox-option': !!context}]\" @click=\"click\"\r\n v-bind=\"html_attrs\" :disabled=\"disabled\">\r\n <div class=\"f-flex-1 f-line-1\">\r\n <slot>{{text || value}}</slot>\r\n </div>\r\n <div :class=\"['w-option-checked', this.isFocus && this.isMul && 'f-i f-i-check']\"></div>\r\n </button>\r\n</template>\r\n<script>\r\n import $ from '../dfish.js'\r\n import WidgetBase from './WidgetBase.vue'\r\n\r\n export default {\r\n name: 'w-option',\r\n mixins: [WidgetBase],\r\n props: ['value', 'text', 'disabled'],\r\n methods: {\r\n click(e) {\r\n if (this.isMul) {\r\n let cv = $.array(this.$parent.context.val(), true)\r\n if (this.isFocus) $.lodash.pull(cv, this.value)\r\n else cv.push(this.value)\r\n this.$parent.context.val(cv)\r\n } else {\r\n let cv = this.isCnc && this.isFocus ? '' : this.value\r\n this.$parent.context.val(cv)\r\n this.$parent.close()\r\n }\r\n }\r\n },\r\n computed: {\r\n context() {\r\n return this.$parent.context\r\n },\r\n isFocus() {\r\n let c = this.context\r\n if (c) {\r\n let m = c.x.modelValue\r\n return Array.isArray(m) ? m.includes(this.value) : $.idsAny(m, this.value)\r\n }\r\n },\r\n isMul() {\r\n return this.context?.x.multiple\r\n },\r\n isCnc() {\r\n return this.context?.x.cancelable\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-option {\r\n height: var(--w-option-height, 32px);\r\n padding: 0 10px; \r\n box-sizing: border-box;\r\n text-align: left;\r\n }\r\n \r\n .w-dropbox-option.z-ds,\r\n .w-dropbox-option.z-ds:hover {\r\n background-color: #f9f9f9;\r\n color: #999;\r\n }\r\n \r\n .w-dropbox-option:hover {\r\n background-color: #f5faff;\r\n }\r\n\r\n .w-dropbox-option.z-on:not(.z-mul) {\r\n background-color: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-dropbox-option.z-on.z-mul {\r\n color: var(--w--focus-color);\r\n }\r\n\r\n .w-option-checked {\r\n width: 18px;\r\n text-align: right;\r\n visibility: hidden;\r\n }\r\n\r\n .w-option-checked.f-i {\r\n visibility: visible;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n\r\n export default {\r\n name: 'w-spinner',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['decimal', 'format', 'noButton', 'step', 'compare', 'minValue', 'maxValue'],\r\n methods: {\r\n x_default() {\r\n return {\r\n step: 1,\r\n inputWidth: 140\r\n }\r\n },\r\n doFormat() {\r\n if (!this.x.format)\r\n return;\r\n let v = this.$refs.v.value\r\n let s = this.x.format.separator || ','\r\n let r = RegExp(s.replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'), 'g')\r\n let t = $.numFormat(v, this.x.format.length, s, this.x.format.rightward)\r\n if (v !== t) {\r\n let n = this.$refs.v.selectionStart\r\n let b = v.slice(0, n).replace(r, '')\r\n this.val(t)\r\n if (document.activeElement === this.$refs.v) {\r\n let a = t.slice(0, n).replace(r, '')\r\n $.rngCursor(this.$refs.v, n + (b.length - a.length))\r\n }\r\n }\r\n },\r\n isBegin() {\r\n\r\n },\r\n stepBy(a) {\r\n if (!this.isNormal) return\r\n let m = this.vv('maxValue')\r\n let n = this.vv('minValue')\r\n let u = this.val()\r\n let v = $.numAdd($.number(u), a * this.x.step)\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n let r = v\r\n m != null && (r = Math.min(m, r))\r\n n != null && (r = Math.max(n, r))\r\n if (p) {\r\n if (p[0] == this) {\r\n let endValue = p[1].val()\r\n if (endValue != null) r = Math.min(endValue, r)\r\n } else if (p[1] == this) {\r\n let beginValue = p[0].val()\r\n if (beginValue != null) r = Math.max(beginValue, r)\r\n }\r\n }\r\n this.warn(false)\r\n this.focus()\r\n this.val(r)\r\n if (r == v) {\r\n if (this.tip_uid) {\r\n $.close(this.tip_uid)\r\n this.tip_uid = null\r\n }\r\n } else if (u) {\r\n // this.showTip({\r\n // text: $.loc.form[r < v ? 'step_max_value' : 'step_min_value'],\r\n // independent: true,\r\n // })\r\n }\r\n },\r\n isFocusTarget(el) { // implement\r\n return this.$refs.btns && this.$refs.btns.contains(el)\r\n },\r\n html_button() {\r\n return h('div', {\r\n class: 'w-spinner-step w-input-bbr f-flex-column f-oh',\r\n ref: 'btns'\r\n }, [\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-up\"></i>'\r\n }),\r\n h('button', {\r\n class: 'w-spinner-step-btn f-rel',\r\n disabled: this.x.disabled,\r\n onclick: e => this.stepBy(-1),\r\n innerHTML: '<i class=\"f-abs-center f-i f-i-caret-down\"></i>'\r\n }),\r\n ])\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n compare: (v, c, d) => {\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {\r\n v,\r\n d\r\n })\r\n },\r\n valid: (v) => {\r\n this.x.format && (v = v.replace(RegExp(this.x.format.separator || ',', 'g'), ''))\r\n if (v) {\r\n if (isNaN(v) || /\\s/.test(v))\r\n return this.formErr('number_invalid')\r\n let d = this.x.decimal\r\n if (!d && ~v.indexOf('.'))\r\n return this.formErr('number_integer')\r\n if (d && d > 0 && $.strFrom(v, '.').length > d)\r\n return this.formErr('number_decimal_digit', [d])\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return {\r\n 'w-valuetype': 'number'\r\n }\r\n },\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-spinner-step-btn {\r\n height: 15px;\r\n overflow: hidden;\r\n cursor: pointer;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import Text from './Text.vue'\r\n import Dialog from './Dialog.vue'\r\n import Calendar from './Calendar.vue'\r\n\r\n export default {\r\n name: 'w-datepicker',\r\n mixins: [Text],\r\n inject: ['provideRangeParent'],\r\n props: ['noButton', 'multiple', 'format', 'compare', 'minValue', 'maxValue'],\r\n data() {\r\n return {\r\n showDrop: false,\r\n currentDate: null,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n format: 'yyyy-MM-dd',\r\n inputWidth: 180\r\n }\r\n },\r\n drop() {\r\n if ($.br.mobile) {\r\n $.dateSheet({\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n })\r\n } else {\r\n this.showDrop = true\r\n }\r\n },\r\n calendarCallback(val) {\r\n this.val(val)\r\n this.showDrop = false\r\n this.currentDate = null\r\n if (!$.br.mobile)\r\n this.focus()\r\n },\r\n getPeriod() {\r\n let minValue = this.x.minValue\r\n let maxValue = this.x.maxValue\r\n let p = this.provideRangeParent && this.provideRangeParent.forms()\r\n if (p) {\r\n if (p[0] == this) {\r\n let end = p[1].formVal()\r\n if (end != null && (maxValue == null || maxValue > end)) maxValue = end\r\n } else if (p[1] == this) {\r\n let begin = p[0].formVal()\r\n if (begin != null && (minValue == null || minValue < begin)) minValue = begin\r\n }\r\n }\r\n return {\r\n minValue,\r\n maxValue\r\n }\r\n },\r\n html_button() {\r\n let r = []\r\n if (!this.x.noButton) r.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-date',\r\n disabled: this.x.disabled,\r\n }))\r\n if (this.showDrop) {\r\n r.push(h(Dialog, {\r\n ownproperty: true,\r\n class: 'f-dfish-dialog w-calendar-dialog',\r\n width: 260,\r\n context: this,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.snapElem(),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => {\r\n this.showDrop = false, this.currentDate = null\r\n }\r\n }\r\n }, {\r\n default: () => h(Calendar, {\r\n pad: true,\r\n current: this.currentDate || this.x.modelValue || '',\r\n value: this.x.modelValue,\r\n format: this.x.format,\r\n ...this.getPeriod(),\r\n success: this.calendarCallback,\r\n on: {\r\n 'click:item': (e, item) => this.currentDate = item.value,\r\n }\r\n })\r\n }))\r\n }\r\n return r\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n minValue: (v) => {\r\n return $.dateParse(v, this.x.format) < $.dateParse(this.vv('minValue'), this.x.format)\r\n },\r\n maxValue: (v) => {\r\n return $.dateParse(v, this.x.format) > $.dateParse(this.vv('maxValue'), this.x.format)\r\n },\r\n compare: (v, c, d) => {\r\n if (this.x.format && c.x.format) {\r\n let f = (this.x.format.length > c.x.format.length ? this : c).x.format\r\n v = $.dateFormat($.dateParse(v, this.x.format), f)\r\n d = $.dateFormat($.dateParse(d, c.x.format), f)\r\n }\r\n return !$.eval('v' + (this.x.compare.mode || '==') + 'd', {v, d})\r\n },\r\n valid: (v) => {\r\n if (this.x.multiple)\r\n return;\r\n if (v) {\r\n let c = v\r\n let d = $.dateParse(c, this.x.format)\r\n let y = d.getFullYear()\r\n let m = 9999\r\n let n = 1000\r\n if (y > m || y < n)\r\n return this.formErr('time_exceed', [n, m]);\r\n if (c != $.dateFormat(d, this.x.format)) {\r\n return this.formErr('time_format', [$.dateFormat(d, this.x.format)]);\r\n }\r\n }\r\n if (this.vv('beforeNow') && v && v > $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('beforeNow', [this.x.beforeNow]);\r\n if (this.vv('afterNow') && v && v < $.dateFormat(new Date(), this.x.format))\r\n return this.formErr('afterNow', [this.x.afterNow]);\r\n if (this.provideRangeParent)\r\n return this.provideRangeParent.validHooks.valid()\r\n }\r\n }\r\n },\r\n input_prop() {\r\n return $.br.mobile && {\r\n readonly: true\r\n }\r\n },\r\n // input_value() {\r\n // let v = this.x.modelValue\r\n // if (v && v.length !== this.x.format.length) {\r\n // v = $.dateFormat($.dateParse(v, this.x.format), this.x.format)\r\n // }\r\n // return v\r\n // },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.drop\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import PreloadNone from '../preload/PreloadNone.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-dropbox',\r\n mixins: [FormBase],\r\n props: ['multiple', 'cancelable', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n dropper: null,\r\n showDrop: false,\r\n placeholder_type: 'placeholder_select',\r\n }\r\n },\r\n methods: {\r\n click() {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n }\r\n },\r\n formText() {\r\n return this.input_text\r\n },\r\n html_input() {\r\n let t = this.input_text\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-dropbox-text f-line-1',\r\n title: t || p,\r\n }, t || (p && h('div', {class: 'w-input-placeholder'}, p))),\r\n this.showDrop && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n scrollView: '.z-on',\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showDrop = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n })\r\n }\r\n },\r\n computed: {\r\n input_text() {\r\n let r = []\r\n let s = this.slots_children()\r\n let m = this.x.modelValue ? $.array(this.x.modelValue, true) : [this.x.modelValue]\r\n $.lodash.each(m, v => {\r\n let i = s.findIndex(n => n.props.value == v)\r\n if (i > -1) r.push(i)\r\n if (!this.x.multiple) return false\r\n })\r\n return r.sort().map(v => s[v].props.text).join(', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.click\r\n }\r\n }\r\n }\r\n }\r\n</script>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import DropBox from './DropBox.vue'\r\n\r\n export default {\r\n name: 'w-pickbox',\r\n mixins: [DropBox],\r\n props: ['picker'],\r\n methods: {\r\n click(e) {\r\n if (this.$slots.default) {\r\n this.showDrop = true\r\n this.warn(false)\r\n } else if (this.x.picker) {\r\n this.clickPicker(e)\r\n }\r\n },\r\n clickClear(e) {\r\n e.stopPropagation()\r\n this.val(null)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.x.modelValue)\r\n },\r\n html_button() {\r\n return [\r\n this.isNormal && h('button', {\r\n class: 'w-input-bbr w-pickbox-clear f-i f-i-close',\r\n onclick: this.clickClear\r\n }),\r\n this.$slots.default && h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: this.x.disabled,\r\n }),\r\n this.x.picker && h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n })\r\n ]\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n let m = this.x.modelValue\r\n let f = v => v && typeof v === 'object' ? JSON.stringify(v) : v\r\n if (Array.isArray(m)) {\r\n return m.map(v => f(v && v.value)).join(',')\r\n } else {\r\n return f(m && m.value)\r\n }\r\n },\r\n input_text() {\r\n let m = this.x.modelValue\r\n if (Array.isArray(m)) {\r\n return m.map(v => v.text).join(', ')\r\n } else\r\n return m && m.text\r\n }\r\n }\r\n }\r\n</script>\n\r\n<style>\r\n .w-pickbox-clear {\r\n display: none;\r\n font-size: 16px;\r\n }\r\n .w-pickbox-clear:hover {\r\n color: #f00;\r\n }\r\n .w-input:hover > .w-pickbox-clear {\r\n display: flex;\r\n }\r\n</style>","<script>\r\n import $ from '../dfish.js'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-password',\r\n mixins: [FormBase],\r\n data() {\r\n return {\r\n hasBorder: true\r\n }\r\n },\r\n methods: {\r\n\r\n },\r\n computed: {\r\n input_type() {\r\n return 'password'\r\n }\r\n }\r\n }\r\n</script>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {h} from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-range',\r\n mixins: [FormBase],\r\n provide() {\r\n return {\r\n provideRangeParent: this\r\n }\r\n },\r\n props: ['compare'],\r\n methods: {\r\n forms() {\r\n return this.ownerView.fAll(null, this.el('main'))\r\n },\r\n snapElem() {\r\n return this.forms()[0] || this.el('main')\r\n },\r\n html_form() {\r\n let c = this.slots_children()\r\n c.splice(1, 0, h('div', {class: 'w-range-to'}, $.loc.to))\r\n //c.push(h('input', {type: 'hidden', ref:'v', id: this.uid + 'hdn'}))\r\n return c\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: () => {\r\n let f = this.forms()\r\n if (f.length > 1) {\r\n let v1 = f[0] && f[0].formVal()\r\n let v2 = f[1] && f[1].formVal()\r\n let c = this.x.compare || '<='\r\n if (v1 && v2) {\r\n if (!$.eval(`v1 ${c} v2`, {v1, v2})) {\r\n return this.formErr('compare', [f[0].getLabelText(), c, f[1].getLabelText()])\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n html_on() {\r\n return {\r\n onclick: e => this.warnClass = ''\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-range > .w-input > .w-formbase {\r\n flex-basis: var(--w-input-width);\r\n }\r\n .w-range-to {\r\n width: 28px;\r\n min-width: 20px;\r\n text-align: center;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n export default {\r\n name: 'w-combobox',\r\n mixins: [FormBase],\r\n emits: ['input', 'click:item'],\r\n props: ['multiple', 'dropper', 'picker', 'dropWidth', 'br'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n showSuggest: false,\r\n sug_timer: null,\r\n sensor_text: '',\r\n sensor_width: null,\r\n }\r\n },\r\n methods: {\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n $.lodash.remove(mv, m => !m || !m.text)\r\n this.val(mv)\r\n },\r\n complete(v) {\r\n this.addVal(v)\r\n this.clear()\r\n this.$nextTick(this.focus)\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n clear() {\r\n this.$refs.input.value = this.sensor_text = ''\r\n },\r\n focus() {\r\n this.$refs.input.focus()\r\n this.warn(false)\r\n },\r\n oninput(e) {\r\n let v = e.target.value\r\n this.sensor_text = v\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(e, v)\r\n }, 500)\r\n }\r\n },\r\n onkeydown(e) {\r\n let k = e.keyCode\r\n if (k === 8) { // 8:backspace\r\n if (e.target.selectionStart === 0 && e.target.selectionEnd === 0) {\r\n let mv = $.array(this.x.modelValue, true)\r\n mv.length && mv.splice(mv.length - 1, 1)\r\n }\r\n }\r\n },\r\n clickItem(e, item) {\r\n e.stopPropagation()\r\n e.runType = 'click:item'\r\n this.trigger(e, item)\r\n },\r\n clickClose(e, item) {\r\n e.stopPropagation()\r\n let mv = $.array(this.x.modelValue)\r\n let i = mv.findIndex(v => v.value == item.value)\r\n if (i > -1) {\r\n mv.splice(i, 1)\r\n this.val(mv)\r\n }\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options() {\r\n let m = this.x.modelValue\r\n if (m && typeof m !== 'string') {\r\n return [].concat(m).map(v => h('div', {\r\n class: ['w-combobox-option f-flex-center', {'z-forbid': v.forbid}],\r\n onclick: e => this.clickItem(e, v)\r\n }, [h('div', {\r\n class: 'w-combobox-option-text f-line-1',\r\n title: v.text\r\n }, v.text),\r\n this.isNormal && h('div', {\r\n class: 'w-combobox-option-close f-i f-i-close',\r\n onclick: e => this.clickClose(e, v)\r\n })\r\n ]))\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-combobox-input-wrap'\r\n }, [\r\n h('div', {\r\n class: 'w-combobox-sensor',\r\n ref: 'sensor',\r\n }, this.sensor_text || (this.input_value ? null : this.input_placeholder)),\r\n h('input', {\r\n class: 'w-combobox-input',\r\n style: {\r\n width: this.sensor_width,\r\n },\r\n ref: 'input',\r\n oninput: this.oninput,\r\n onkeydown: this.onkeydown,\r\n placeholder: this.input_value ? null : this.input_placeholder,\r\n onfocus: e => {\r\n this.isFocus = true, e.target.value && e.target.dispatchEvent(new Event('input'))\r\n },\r\n onblur: e => this.isFocus = false,\r\n })\r\n ])\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n h('div', {\r\n class: 'w-combobox-list f-flex-1 f-flex f-oh f-height',\r\n },\r\n this.html_options(),\r\n this.isNormal && this.html_var(),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n )\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text).join(', ')\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br\r\n }\r\n },\r\n main_prop() {\r\n return this.isNormal && {\r\n onclick: this.focus\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity && this.$refs.sensor) {\r\n new ResizeObserver(() => {\r\n if(this.$refs.sensor) {\r\n this.sensor_width = this.$refs.sensor.offsetWidth + 'px'\r\n }\r\n }).observe(this.$refs.sensor)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-combobox-list {\r\n gap: 3px;\r\n padding: 2px 3px;\r\n box-sizing: border-box;\r\n align-items: center;\r\n }\r\n \r\n .w-combobox-list > .w-combobox-input-wrap:first-child {\r\n padding-left: 5px;\r\n }\r\n \r\n .w-combobox-input-wrap {\r\n display: flex;\r\n }\r\n\r\n .w-combobox-sensor {\r\n position: absolute;\r\n visibility: hidden;\r\n z-index: -1;\r\n }\r\n\r\n .w-combobox-input {\r\n min-width: 14px;\r\n width: 14px;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-combobox-option {\r\n position: relative;\r\n height: 26px;\r\n border: 1px solid #e6e6e6;\r\n background: #f8f8f8;\r\n gap: 5px;\r\n padding: 0 5px;\r\n background: #f8f8f8;\r\n box-sizing: border-box;\r\n max-width: calc(100% - 21px);\r\n }\r\n \r\n .w-combobox-option.z-forbid .w-combobox-option-text{\r\n text-decoration: line-through;\r\n }\r\n\r\n .w-combobox-option-close {\r\n color: #aaa;\r\n font-size: 12px;\r\n line-height: 0;\r\n transform: translateY(1px);\r\n cursor: pointer;\r\n }\r\n\r\n .w-combobox-option-close:hover {\r\n color: #f00;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option {\r\n border-color: #d0d0d0;\r\n background: transparent;\r\n }\r\n\r\n .w-combobox.z-ds .w-combobox-option ._s {\r\n padding-right: 7px\r\n }\r\n \r\n .w-combobox.z-br .w-combobox-list {\r\n flex-wrap: wrap;\r\n }\r\n \r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import Dialog from './Dialog.vue'\r\n\r\n\r\n export default {\r\n name: 'w-linkbox',\r\n mixins: [FormBase],\r\n emits: ['input', 'dblclick:item'],\r\n props: ['multiple', 'picker', 'dropWidth', 'separator', 'strict', 'br'],\r\n created() {\r\n this.$watch(() => this.x.modelValue, (v) => {\r\n if (this.isEntity && !this.isFocus) {\r\n this.initOptions(v)\r\n }\r\n })\r\n },\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: '',\r\n sugger: null,\r\n showSuggest: false,\r\n sug_timer: null,\r\n _KC: null,\r\n imeMode: false,\r\n paste_rng: null,\r\n currOpt: null,\r\n store: [],\r\n }\r\n },\r\n methods: {\r\n x_default() {\r\n return {\r\n strict: true\r\n }\r\n },\r\n initOptions(v) {\r\n if (v == null) v = this.x.modelValue\r\n if (v && typeof v !== 'string') {\r\n v = $.array(v)\r\n this.addStore(v)\r\n this.inp().innerHTML = this.html_options(v)\r\n }\r\n },\r\n addVal(v) {\r\n let mv = $.array(this.x.modelValue, true)\r\n if (this.x.multiple) {\r\n mv = $.lodash.unionBy(mv, $.array(v, true), 'value')\r\n } else {\r\n mv[0] = v\r\n }\r\n this.val(mv)\r\n },\r\n complete(a) {\r\n this.addStore(a)\r\n this.focus()\r\n let u = this.currOpt || $.rngElement()\r\n let p = this.x.separator || ','\r\n if (u) {\r\n if (u.tagName === 'U') {\r\n this.rng_text(u, 0, a.text)\r\n } else {\r\n if (u.tagName === 'I') {\r\n if (u.nextSibling && u.nextSibling.tagName === 'U') {\r\n u = u.nextSibling\r\n } else {\r\n u = $.after(u, '<u></u>')\r\n this.x.multiple && $.after(u, '<i>' + p + '</i>')\r\n }\r\n } else\r\n u = (!this.x.multiple && this.inp().querySelector('u')) || $.append(this.inp(), '<u></u>')\r\n this.rng_text(u, 0, a.text)\r\n }\r\n $.classAdd(u, '_o')\r\n u.setAttribute('data-value', a.value)\r\n a.forbid && u.setAttribute('data-forbid', '')\r\n let n = u.nextSibling\r\n $.rngCursor(n && !n.nextSibling ? n : u)\r\n this.x.multiple && !n && $.rngCursor($.after(u, '<i>' + p + '</i>')) // 光标在末尾则自动添加逗号分隔符\r\n let m = $.q(`u[data-value=\"${a.value}\"]`, this.inp())\r\n if (m.length > 1) m.eq(0).next('i').addBack().remove()\r\n this.save()\r\n }\r\n },\r\n suggest(a) {\r\n a = a == null ? true : a\r\n this.showSuggest = a\r\n this.warn(false)\r\n },\r\n input(a) {\r\n this.currOpt = a\r\n let v = a.innerText.replace(/^[\\s,]+|[\\s,]+$/g, '')\r\n clearTimeout(this.sug_timer)\r\n if (v == '') {\r\n this.suggest(false)\r\n } else {\r\n this.sug_timer = setTimeout(() => {\r\n this.suggest(true)\r\n this.trigger(new Event('input'), v)\r\n }, 500)\r\n }\r\n },\r\n closePop() {\r\n clearTimeout(this.sug_timer)\r\n this.suggest(false)\r\n },\r\n focus() {\r\n this.$refs.inp.focus()\r\n this.warn(false)\r\n },\r\n inp() {\r\n return this.$refs.inp\r\n },\r\n fixStyle() {\r\n let c = $.rngElement()\r\n let g = false\r\n let t\r\n let uid = this.uid\r\n let inp = this.inp()\r\n if (!inp.contains(c))\r\n c = inp\r\n t = c.innerText\r\n if (this.paste_rng)\r\n c = this.paste_rng.parentElement()\r\n if (c.id === uid)\r\n c = inp\r\n if (c.id === uid + 't') {\r\n if (t) {\r\n if (c.firstChild.nodeType === 3) {\r\n let r = $.rngCursor(c)\r\n let u = document.createElement('u')\r\n r.extractContents()\r\n u.appendChild(document.createTextNode(t))\r\n r.insertNode(u)\r\n $.rngCursor(u)\r\n c = u\r\n } else {\r\n $.q('br', inp).remove()\r\n if (c.firstChild)\r\n c = c.firstChild\r\n else\r\n $.rngCursor(c)\r\n }\r\n } else\r\n return this.closePop()\r\n }\r\n $.q('br', inp).remove()\r\n // 输入框内之只允许存在U和I两种标签。输入过程中浏览器可能会自动生成 <font> 标签,需要去除它\r\n if (c.tagName === 'FONT') {\r\n if (c.parentNode.tagName === 'U') {\r\n let d = c.previousSibling.nodeValue\r\n let c = c.parentNode\r\n let t = c.innerText\r\n this.rng_text(c, t.indexOf(d) + d.length + 1, t)\r\n } else if (c.parentNode.id === uid + 't') {\r\n t = c.parentNode.innerText\r\n c = $.replaceWith(c, '<u></u>')\r\n c.innerText = t\r\n }\r\n }\r\n\r\n // 如果U标签后面跟的标签不是 <i>,</i> 就要合并\r\n if (c !== inp && c.tagName !== 'I' && c.nextSibling && c.nextSibling.tagName !== 'I') {\r\n if (c.nextSibling.nodeType === 3) {\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n } else {\r\n t = c.innerText\r\n this.rng_text(c, t.length, t + c.nextSibling.innerText)\r\n c.nextSibling.parentNode.removeChild(c.nextSibling)\r\n g = true // 有更新\r\n }\r\n }\r\n $.q('u:has(br)', inp).remove()\r\n t = c.innerText\r\n // match text\r\n let n = []\r\n let p = this.x.separator || ','\r\n\r\n // 文本中如果包含分隔符 , 则分成若干选项\r\n if (this.x.multiple && t.length > 1 && t.indexOf(p) > -1) {\r\n let d = [],\r\n f = t.length - $.rngCursorOffset(),\r\n h, m = []\r\n t.split(p).forEach(s => {\r\n if (h = $.strTrim(s)) {\r\n g = this.param(h)\r\n d.push('<u' + (g ? ' class=_o data-value=\"' + g.value + '\"' + (g.forbid ? ' data-forbid' : '') : '') +\r\n '>' + h + '</u>')\r\n g ? m.push('u[data-value=\"' + g.value + '\"]') : n.push(h)\r\n } else\r\n d.push('')\r\n })\r\n m.length && (m = $.q(m.join(','), inp).next('i').addBack()) // 收集重复数据,以备删除\r\n let o = $.replaceWith(c, d.join('<i>' + p + '</i>'))\r\n let k = 0\r\n if (!this.paste_rng || this._KC === 188) { // 保留原有光标位置\r\n do {\r\n if ((k += o.innerText.length) >= f) {\r\n this.rng_text(o, k - f)\r\n break\r\n }\r\n } while (o = o.previousSibling)\r\n }\r\n m.length && (m.remove(), $.q('i + i, i:first-child', inp).remove()) // 删除重复数据\r\n g = true\r\n if ((c = $.rngElement()) && c.tagName === 'U' && !c.getAttribute('data-value'))\r\n this.input(c)\r\n else\r\n this.closePop()\r\n } else {\r\n if (t) {\r\n if ($.classAny(c, '_o') && !this.param(t)) {\r\n $.classRemove(c, '_o')\r\n c.removeAttribute('data-value')\r\n g = true\r\n } else if (!this.x.strict)\r\n g = true\r\n this.input(c)\r\n } else {\r\n g = true\r\n this.closePop()\r\n }\r\n }\r\n if (g) {\r\n this.save()\r\n //this._online && n.length > 1 && this.match({text: n.join(p)})\r\n }\r\n this.paste_rng = null\r\n },\r\n // 选项上的光标移动到指定位置 /@a -> elem, b -> cursor point, c -> text?\r\n rng_text(a, b, c) {\r\n let n = $.rngSelection()\r\n c != null && (a.innerText = c)\r\n n.selectNodeContents(a)\r\n $.rngCursor(n, b)\r\n },\r\n clickPicker(e) {\r\n e.stopPropagation()\r\n let c = this.x.picker\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n clickDropper(e) {\r\n e.stopPropagation()\r\n this.suggest(true)\r\n let c = this.x.dropper\r\n if (typeof c === 'function') c(this)\r\n else this.cmd(c, this.formVal())\r\n },\r\n addStore(m) {\r\n if (m && typeof m !== 'string') {\r\n let r = $.array(m).filter(v => !this.store.find(s => s.value == v.value))\r\n if (r.length) this.store = this.store.concat(r)\r\n }\r\n },\r\n param(t) {\r\n return this.store.find(v => v.text == t)\r\n },\r\n save() {\r\n let strict = this.x.strict\r\n let r = []\r\n let m = []\r\n $.q('> u', this.inp()).each((i, u) => {\r\n let value = u.getAttribute('data-value')\r\n let text = u.innerText\r\n if (value) {\r\n r.push(value)\r\n m.push({\r\n value,\r\n text\r\n })\r\n } else if (!strict) {\r\n r.push(text)\r\n m.push({\r\n value: text\r\n })\r\n }\r\n })\r\n this.$refs.v.value = r.join(',')\r\n this.val(m)\r\n },\r\n onkeyup(e) {\r\n if (!this.imeMode) {\r\n let k = this._KC = e.keyCode\r\n let m\r\n if (k === 13 || k === 38 || k === 40 || k === 17) { // 38:up, 40:down, 17:ctrl\r\n e.stopPropagation()\r\n if (k === 13)\r\n this.fixStyle()\r\n } else {\r\n this.fixStyle()\r\n }\r\n this._KC = null\r\n }\r\n },\r\n onclick(e) {\r\n if (this.isNormal) {\r\n if (e.target && e.target.tagName === 'U' && !e.target.getAttribute('data-value')) {\r\n this.input(e.target)\r\n } else {\r\n let c = $.rngElement()\r\n c.tagName === 'U' ? this.input(c) : this.closePop()\r\n }\r\n }\r\n },\r\n ondblclick(e) {\r\n if (e.target.tagName === 'U' && e.target.getAttribute('data-value')) {\r\n let v = $.array(this.x.modelValue).find(o => o.value == e.target.getAttribute('data-value'))\r\n if (v) {\r\n e.runType = 'dblclick:item'\r\n this.trigger(e, v)\r\n window.getSelection().removeAllRanges()\r\n }\r\n }\r\n },\r\n formText() {\r\n return this.input_title\r\n },\r\n html_options(v) {\r\n let p = this.x.separator || ','\r\n if (v == null) v = this.x.modelValue\r\n if (v !== 'string') {\r\n let b = $.array(v)\r\n let r = []\r\n $.lodash.each(b, (o, i) => {\r\n r.push('<u' + (o.value ? ' class=_o data-value=\"' + o.value + '\"' : '') + (o.forbid ? ' data-forbid' :\r\n '') + '>' + o.text + '</u>')\r\n if (!this.x.multiple) return false\r\n r.push('<i>' + p + '</i>')\r\n })\r\n return r.join('')\r\n }\r\n },\r\n html_var() {\r\n return h('div', {\r\n class: 'w-linkbox-input f-flex-1',\r\n ref: 'inp',\r\n id: this.uid + 't',\r\n contentEditable: this.isNormal,\r\n onkeyup: this.onkeyup,\r\n onclick: this.onclick,\r\n ondblclick: this.ondblclick,\r\n onfocus: e => {\r\n this.isFocus = true\r\n },\r\n onblur: e => {\r\n this.isFocus = false\r\n },\r\n })\r\n },\r\n html_input() {\r\n let p = this.input_placeholder\r\n return [\r\n this.html_input_hidden(),\r\n this.html_var(),\r\n h('div', {\r\n class: 'w-input-placeholder'\r\n }, this.input_value ? null : p),\r\n this.showSuggest && h(Dialog, {\r\n context: this,\r\n ownproperty: true,\r\n class: 'f-dfish-dialog',\r\n width: Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width),\r\n scrollY: true,\r\n autoHide: true,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v',\r\n indent: 1\r\n },\r\n on: {\r\n close: () => this.showSuggest = false\r\n }\r\n }, this.$slots)\r\n ]\r\n },\r\n html_button() {\r\n let s = []\r\n if (this.x.dropper) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-caret-down',\r\n disabled: !this.isNormal,\r\n onclick: this.clickDropper\r\n }))\r\n }\r\n if (this.x.picker) {\r\n s.push(h('button', {\r\n class: 'w-input-bbr f-i f-i-ellipsis',\r\n disabled: !this.isNormal,\r\n onclick: this.clickPicker\r\n }))\r\n }\r\n return s\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.x.strict && $.q('u:not([data-value])').length > 0) {\r\n return this.formErr('invalid_option')\r\n }\r\n }\r\n }\r\n },\r\n input_value() {\r\n return typeof this.x.modelValue === 'string' ? this.x.modelValue : $.array(this.x.modelValue).map(v => v.value)\r\n .join(',')\r\n },\r\n input_title() {\r\n return typeof this.x.modelValue === 'string' ? '' : $.array(this.x.modelValue).map(v => v.text || v.value).join(\r\n ', ')\r\n },\r\n main_prop() {\r\n return {\r\n onclick: this.isNormal && this.focus\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-br': this.x.br,\r\n 'z-dc': this.getOn('dblclick:item')\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.isEntity) {\r\n this.initOptions()\r\n this.inp().addEventListener('compositionstart', () => {\r\n this.imeMode = true\r\n })\r\n this.inp().addEventListener('compositionend', () => {\r\n this.imeMode = false\r\n })\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-linkbox-list {\r\n gap: 3px;\r\n padding-left: 3px;\r\n }\r\n\r\n .w-linkbox-input {\r\n height: 100%;\r\n background: transparent;\r\n border: 0;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input {\r\n padding-left: 10px;\r\n min-height: 30px;\r\n line-height: 30px;\r\n font-family: verdana;\r\n font-style: normal;\r\n outline: none;\r\n overflow: hidden;\r\n word-break: keep-all;\r\n word-wrap: normal;\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u {\r\n padding-right: 1px;\r\n color: #999;\r\n text-decoration: none\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o {\r\n color: #333\r\n }\r\n\r\n .w-linkbox .w-linkbox-input u._o[data-forbid] {\r\n text-decoration: line-through !important;\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u {\r\n color: #333\r\n }\r\n\r\n .w-linkbox.z-dc .w-linkbox-input u._o {\r\n color: #275696;\r\n text-decoration: underline\r\n }\r\n\r\n .w-linkbox .w-linkbox-input i {\r\n font-style: normal;\r\n padding: 0 3px 0 1px;\r\n color: #999;\r\n }\r\n\r\n .w-linkbox ._v {\r\n display: inline-block;\r\n height: 22px;\r\n line-height: 22px;\r\n vertical-align: middle\r\n }\r\n\r\n .w-linkbox.z-loading {\r\n color: gray;\r\n }\r\n\r\n .w-linkbox.z-loading .w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox.z-br .w-linkbox-input {\r\n overflow: visible;\r\n word-break: break-all;\r\n word-wrap: break-word;\r\n }\r\n\r\n .w-linkbox .w-input {\r\n position: relative;\r\n }\r\n\r\n .w-linkbox-input:not(:empty)~.w-input-placeholder {\r\n display: none;\r\n }\r\n\r\n .w-linkbox .w-input-placeholder {\r\n position: absolute;\r\n left: 0;\r\n padding-left: 10px;\r\n pointer-events: none;\r\n }\r\n \r\n</style>\n","<template>\r\n <w-dialog class=\"w-jigsaw-dialog\">\r\n <img class=\"w-jigsaw-big\" :src=\"bigSrc\">\r\n <img class=\"w-jigsaw-small\" :src=\"smallSrc\" :width=\"smallWidth\" :style=\"{left: smallLeft + 'px'}\" @dragstart.prevent=\"dragstart\" @mousedown=\"mousedown\">\r\n <span @click=\"refresh\" class=\"w-jigsaw-refresh\">刷新</span>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n data() {\r\n return {\r\n smallLeft: 0\r\n }\r\n },\r\n watch: {\r\n 'context.x.modelValue': {\r\n handler(v) {\r\n let m = this.context.max()\r\n let n = this.context.min()\r\n this.smallLeft = (this.dialog.x.width - this.smallWidth) * (v / (m - n))\r\n }\r\n }\r\n },\r\n methods: {\r\n refresh(e) {\r\n this.context.refresh(e)\r\n },\r\n dragstart(e) {\r\n //\r\n },\r\n mousedown(e) {\r\n this.context.dragstart(e)\r\n }\r\n },\r\n computed: {\r\n dialog() {\r\n return $.dialog(this)\r\n },\r\n context() {\r\n return this.dialog.context\r\n },\r\n bigSrc() {\r\n return this.context.x.big.src\r\n },\r\n smallSrc() {\r\n return this.context.x.small.src\r\n },\r\n smallWidth() {\r\n return this.dialog.x.height * (this.context.x.small.width / this.context.x.small.height)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw-big {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-jigsaw-small {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-jigsaw-refresh {\r\n position: absolute;\r\n top: 5px;\r\n right: 5px;\r\n color: #fff;\r\n cursor: pointer;\r\n text-shadow: 0 0 3px #000;\r\n }\r\n</style>\n","<template>\r\n <w-dialog class=\"w-jigsaw-dialog\">\r\n <img class=\"w-jigsaw-big\" :src=\"bigSrc\">\r\n <img class=\"w-jigsaw-small\" :src=\"smallSrc\" :width=\"smallWidth\" :style=\"{left: smallLeft + 'px'}\" @dragstart.prevent=\"dragstart\" @mousedown=\"mousedown\">\r\n <span @click=\"refresh\" class=\"w-jigsaw-refresh\">刷新</span>\r\n </w-dialog>\r\n</template>\r\n\r\n<script>\r\n import $ from '../dfish.js'\r\n\r\n export default {\r\n data() {\r\n return {\r\n smallLeft: 0\r\n }\r\n },\r\n watch: {\r\n 'context.x.modelValue': {\r\n handler(v) {\r\n let m = this.context.max()\r\n let n = this.context.min()\r\n this.smallLeft = (this.dialog.x.width - this.smallWidth) * (v / (m - n))\r\n }\r\n }\r\n },\r\n methods: {\r\n refresh(e) {\r\n this.context.refresh(e)\r\n },\r\n dragstart(e) {\r\n //\r\n },\r\n mousedown(e) {\r\n this.context.dragstart(e)\r\n }\r\n },\r\n computed: {\r\n dialog() {\r\n return $.dialog(this)\r\n },\r\n context() {\r\n return this.dialog.context\r\n },\r\n bigSrc() {\r\n return this.context.x.big.src\r\n },\r\n smallSrc() {\r\n return this.context.x.small.src\r\n },\r\n smallWidth() {\r\n return this.dialog.x.height * (this.context.x.small.width / this.context.x.small.height)\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw-big {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .w-jigsaw-small {\r\n position: absolute;\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n }\r\n\r\n .w-jigsaw-refresh {\r\n position: absolute;\r\n top: 5px;\r\n right: 5px;\r\n color: #fff;\r\n cursor: pointer;\r\n text-shadow: 0 0 3px #000;\r\n }\r\n</style>\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n import TemplateJigsaw from '../template/TemplateJigsaw.vue'\r\n\r\n\r\n const init_text = $.loc.form.jigsaw_drag_right\r\n\r\n export default {\r\n name: 'w-jigsaw',\r\n mixins: [FormBase],\r\n emits: ['drop', 'click:refresh'],\r\n props: ['big', 'small', 'dropWidth'],\r\n data() {\r\n return {\r\n hasBorder: true,\r\n text: init_text,\r\n locked: false,\r\n isSuccess: false,\r\n isError: false,\r\n dropper: null,\r\n }\r\n },\r\n methods: {\r\n success(text) {\r\n this.text = text\r\n this.locked = true\r\n this.isSuccess = true\r\n this.setThumbLeft()\r\n },\r\n error(text, timeout, fn) {\r\n if (!text) text = ''\r\n this.isError = true\r\n this.warn(true)\r\n this.setThumbLeft(0)\r\n if (timeout) {\r\n this.locked = true\r\n this.text = text + `(${timeout/1000})`\r\n let timer = setInterval(() => {\r\n timeout -= 1000\r\n this.text = text + `(${timeout/1000})`\r\n if (timeout <= 0) {\r\n clearInterval(timer)\r\n this.reset()\r\n fn && fn()\r\n }\r\n }, 1000)\r\n } else {\r\n fn && fn()\r\n }\r\n },\r\n reset() {\r\n this.locked = false\r\n this.isError = false\r\n this.isSuccess = false\r\n this.text = init_text\r\n this.setThumbLeft(0)\r\n },\r\n refresh(e) {\r\n e.runType = 'click:refresh'\r\n this.trigger(e)\r\n },\r\n setThumbLeft(left) {\r\n if (left == null) {\r\n left = $.number(this.$refs.thumb.style.left)\r\n } else {\r\n this.$refs.thumb.style.left = left + 'px'\r\n }\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n let hf = (left + (g / 2)) > (w / 2)\r\n this.$refs.text.style.left = hf ? 0 : (left + g) + 'px'\r\n this.$refs.text.style.right = hf ? (w - left) + 'px' : 0\r\n this.el().classList.remove('z-drag')\r\n $.close(this.dropper)\r\n },\r\n dragstart(e) {\r\n if (!this.isNormal || this.locked) return\r\n this.warn(false)\r\n let a = this.$refs.thumb\r\n let x = $.eventX(e)\r\n let m = this.max()\r\n let n = this.min()\r\n let f = $.number(a.style.left)\r\n let g = this.thumbWidth()\r\n let w = this.mainWidth()\r\n $.moveup((e) => {\r\n let c = $.eventX(e)\r\n let l = $.numRange(f + c - x, 0, w - g)\r\n a.style.left = l + 'px'\r\n this.$refs.track.style.width = (l + g) + 'px'\r\n this.x.modelValue = Math.floor(Math.floor((m - n) * l / (w - g)))\r\n this.el().classList.add('z-drag')\r\n }, (e) => {\r\n a.dispatchEvent(new Event('drop'))\r\n }, e)\r\n },\r\n mouseenter(e) {\r\n if (this.dropper || !this.x.big || this.isSuccess || this.locked) return\r\n this.warn(false)\r\n $.closePopup()\r\n let width = Math.max($.number(this.x.dropWidth), $.bcr(this.el('main')).width)\r\n let height = Math.ceil(width * (this.x.big.height / this.x.big.width))\r\n this.dropper = this.cmd({\r\n type: 'Dialog',\r\n ownproperty: true,\r\n template: TemplateJigsaw,\r\n width,\r\n height,\r\n autoHide: true,\r\n hoverDrop: true,\r\n context: this,\r\n snap: {\r\n target: () => this.el('main'),\r\n position: 'v'\r\n },\r\n on: {\r\n close: () => this.dropper = null\r\n }\r\n })\r\n },\r\n drop(e) {\r\n this.trigger(e, this.x.modelValue)\r\n },\r\n max() {\r\n let v = this.x.maxValue\r\n return v == null ? 100 : v\r\n },\r\n min() {\r\n let v = this.x.minValue\r\n return v == null ? 0 : v\r\n },\r\n thumbWidth() {\r\n return $.bcr(this.$refs.thumb).width\r\n },\r\n mainWidth() {\r\n return $.bcr(this.$refs.main).width\r\n },\r\n html_input() {\r\n return [\r\n this.html_input_hidden(), ,\r\n [\r\n h('div', {\r\n ref: 'track',\r\n class: 'w-jigsaw-track',\r\n }),\r\n h('div', {\r\n ref: 'text',\r\n class: 'w-jigsaw-text f-flex-center f-line-1',\r\n }, this.text),\r\n ]\r\n ]\r\n },\r\n html_button() {\r\n return h('button', {\r\n ref: 'thumb',\r\n class: ['w-jigsaw-thumb w-input-bbr f-i', this.isSuccess ? 'f-i-check' :\r\n 'f-i-long-arrow-right'\r\n ],\r\n disabled: this.x.disabled,\r\n onmousedown: this.dragstart,\r\n ondrop: this.drop,\r\n })\r\n }\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (!this.isSuccess) {\r\n return this.formErr('jigsaw_required')\r\n }\r\n }\r\n }\r\n },\r\n html_class() {\r\n return {\r\n 'z-success': this.isSuccess,\r\n }\r\n },\r\n main_prop() {\r\n return {\r\n onmouseenter: this.mouseenter\r\n }\r\n }\r\n }\r\n }\r\n</script>\r\n\r\n<style>\r\n .w-jigsaw>.w-input {\r\n position: relative;\r\n background: #f8f8f8;\r\n overflow: visible;\r\n border-color: #ddd;\r\n }\r\n\r\n .w-jigsaw-thumb {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n width: 30px;\r\n background: #fff;\r\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);\r\n }\r\n\r\n .w-jigsaw-thumb:hover,\r\n .w-jigsaw.z-drag .w-jigsaw-thumb {\r\n background: var(--w--focus-color);\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw-text {\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 30px;\r\n right: 0;\r\n color: #a9a9a9;\r\n }\r\n\r\n .w-jigsaw-track {\r\n display: none;\r\n position: absolute;\r\n left: -1px;\r\n top: -1px;\r\n bottom: -1px;\r\n background: #e5f3ff;\r\n border: 1px solid transparent;\r\n }\r\n\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-text {\r\n display: none;\r\n }\r\n\r\n .w-jigsaw.z-drag .w-jigsaw-track {\r\n display: block;\r\n border-color: var(--w--focus-color);\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-track {\r\n display: block;\r\n background: #eaffe5;\r\n border-color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-thumb {\r\n background: #24c301;\r\n color: #fff;\r\n }\r\n\r\n .w-jigsaw.z-success .w-jigsaw-text {\r\n color: #24c301;\r\n }\r\n\r\n .w-jigsaw.z-err .w-jigsaw-text {\r\n color: #f00;\r\n }\r\n</style>\r\n","<script>\r\n import $ from '../dfish.js'\r\n import {\r\n h\r\n } from 'vue'\r\n import FormBase from './FormBase.vue'\r\n\r\n export default {\r\n name: 'w-form',\r\n mixins: [FormBase],\r\n props: ['vertical'],\r\n methods: {\r\n html_input() {\r\n return [\r\n this.html_input_hidden(),\r\n this.$slots.default && this.$slots.default()\r\n ]\r\n },\r\n },\r\n computed: {\r\n validHooks() {\r\n return {\r\n required(v) {\r\n return !v || v === '[]' || v === '{}'\r\n }\r\n }\r\n },\r\n input_value() {\r\n let mv = this.x.modelValue\r\n return mv == null ? '' : typeof mv === 'object' ? JSON.stringify(mv) : mv\r\n },\r\n html_class() {\r\n return [{\r\n 'z-vertical': this.x.vertical,\r\n }]\r\n },\r\n html_style() {\r\n return {\r\n '--w-form-gap': $.unitSize(this.x.gap)\r\n }\r\n }\r\n },\r\n }\r\n</script>\n","import $ from '../dfish.js'\r\nimport '../assets/dfish.css'\r\n\r\nimport DocView from './DocView.vue'\r\nimport View from './View.vue'\r\nimport Pop from './Pop.vue'\r\nimport Dialog from './Dialog.vue'\r\nimport DialogMove from './DialogMove.vue'\r\nimport Alert from './Alert.vue'\r\nimport Confirm from './Confirm.vue'\r\nimport Tip from './Tip.vue'\r\nimport Menu from './Menu.vue'\r\nimport Loading from './Loading.vue'\r\n\r\nimport Vertical from './Vertical.vue'\r\nimport Horizontal from './Horizontal.vue'\r\nimport Table from './Table.vue'\r\nimport TableColumns from './TableColumns.vue'\r\nimport TableColumn from './TableColumn.vue'\r\nimport TableTBody from './TableTBody.vue'\r\nimport TableTHead from './TableTHead.vue'\r\nimport TableTR from './TableTR.vue'\r\nimport TableTD from './TableTD.vue'\r\nimport TableTH from './TableTH.vue'\r\nimport Grid from './Grid.vue'\r\nimport Swiper from './Swiper.vue'\r\nimport SwiperItem from './SwiperItem.vue'\r\nimport Tabs from './Tabs.vue'\r\nimport Tab from './Tab.vue'\r\n\r\nimport Album from './Album.vue'\r\nimport Img from './Img.vue'\r\nimport ButtonBar from './ButtonBar.vue'\r\nimport Button from './Button.vue'\r\nimport SubmitButton from './SubmitButton.vue'\r\nimport MenuButton from './MenuButton.vue'\r\nimport Html from './Html.vue'\r\nimport Tree from './Tree.vue'\r\nimport Leaf from './Leaf.vue'\r\nimport PageBar from './PageBar.vue'\r\nimport Split from './Split.vue'\r\nimport Toggle from './Toggle.vue'\r\nimport Video from './Video.vue'\r\nimport Progress from './Progress.vue'\r\nimport Calendar from './Calendar.vue'\r\nimport Timeline from './Timeline.vue'\r\nimport TimelineItem from './TimelineItem.vue'\r\nimport Picker from './Picker.vue'\r\n\r\nimport Label from './Label.vue'\r\nimport Hidden from './Hidden.vue'\r\nimport Text from './Text.vue'\r\nimport Textarea from './Textarea.vue'\r\nimport CheckBoxGroup from './CheckBoxGroup.vue'\r\nimport CheckBox from './CheckBox.vue'\r\nimport RadioGroup from './RadioGroup.vue'\r\nimport Radio from './Radio.vue'\r\nimport TripleBox from './TripleBox.vue'\r\nimport Switch from './Switch.vue'\r\nimport FileUpload from './FileUpload.vue'\r\nimport MediaUpload from './MediaUpload.vue'\r\nimport ImageUpload from './ImageUpload.vue'\r\nimport Option from './Option.vue'\r\nimport Spinner from './Spinner.vue'\r\nimport DatePicker from './DatePicker.vue'\r\nimport DropBox from './DropBox.vue'\r\nimport PickBox from './PickBox.vue'\r\nimport Password from './Password.vue'\r\nimport Range from './Range.vue'\r\nimport ComboBox from './ComboBox.vue'\r\nimport LinkBox from './LinkBox.vue'\r\nimport Jigsaw from './Jigsaw.vue'\r\nimport Form from './Form.vue'\r\n\r\n\r\nconst components = [\r\n DocView, View, Pop, Dialog, DialogMove, Alert, Confirm, Tip, Menu, Loading,\r\n Grid, Vertical, Horizontal, Table, TableColumns, TableColumn, TableTBody, TableTHead, TableTR, TableTD, TableTH, Swiper, SwiperItem, Tabs, Tab,\r\n Album, Img, ButtonBar, Button, SubmitButton, MenuButton, Html, Tree, Leaf, PageBar, Split, Toggle, Video, Progress, Calendar, Timeline, TimelineItem, Picker,\r\n Label, Hidden, Text, Textarea, CheckBoxGroup, CheckBox, RadioGroup, Radio, TripleBox, Switch, FileUpload, MediaUpload, ImageUpload, Option,\r\n Spinner, DatePicker, DropBox, PickBox, Password, Range, ComboBox, LinkBox, Jigsaw, Form,\r\n\r\n]\r\n\r\nconst directives = ['colspan', 'rowspan']\r\n\r\n$.install = (Vue) => {\r\n //注册组件\r\n components.forEach(c => Vue.component(c.name, c))\r\n //注册指令\r\n Vue.directive('dfish', {\r\n created(el, binding) {\r\n let a = binding.arg\r\n $.directiveHooks[a] && $.directiveHooks[a](el, binding.value)\r\n }\r\n })\r\n directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding) {\r\n $.directiveHooks[v] && $.directiveHooks[v](el, binding.value)\r\n }\r\n })\r\n })\r\n}\r\n\r\nexport default $\r\n"],"names":["u","navigator","userAgent","toLowerCase","chrome","match","r","agent","parseFloat","firefox","indexOf","safari","mobile","app","location","protocol","wechat","version","replace","android","isBadAndroid","test","window","appVersion","iphone","ios","ipad","_uidCnt","_uidKey","_guid","toString","o","yes","no","none","to","jump","confirm","search","query","choose","save","remove","cancel","create","add","edit","finish","refresh","operfail","opertip","nodata","more","field","close","restore","rotate_left","rotate_right","dialog_max","dialog_min","detect_zoom","no_tip_anymore","loading","wait","submiting","uploading","click_preview","toomuch_wait","toomuch_wait_countdown","preview_orginal_image","auth_success","auth_fail","choose_image","tree_movefail1","tree_movefail2","internet_error","server_error","preload_error","page","page_text","first","last","next","prev","print_preview","placeholder_input","placeholder_select","pulldown_refresh","release_refresh","pullup_refresh","pullup_nomore","download_start","download_complete","download_cannotopen","download_fail","tab_close","tab_close_others","tab_close_all","sort_asc","sort_desc","sort_cancel","column_choose","connection_not_wifi","debug","sorry","view_more","no_command","no_combo","error_template_type","error_type","tmpl_method_undefined","form","required","onlyone","maxLength","reach_maxLength","over_maxLength","minLength","maxValue","minValue","maxSize","minSize","pattern","password_weak","password_middle","password_strong","number_invalid","number_integer","number_decimal_digit","step_max_value","step_min_value","time_exceed","time_format","period_invalid","beforeNow","afterNow","compare","invalid_option","need_valid_option","choose_atleastone","complete_required","jigsaw_drag_right","jigsaw_required","jigsaw_errorimg","upload_loading","upload_invalid_file","no_files","upload_error","upload_limit","upload_invalid_file_type","upload_invalid_data","upload_no_data","upload_maxfilesize","upload_minfilesize","year","month","day","sky","hour","minute","second","calendar","now","today","weeknow","monthnow","yearnow","day_title","day_title_1","y","monthname","backdate","picktime","H","m","s","error","ps","a","args","$0","$1","$2","d","end","strTrim","String","strFrom","b","c","lastIndexOf","substr","length","strTo","strLen","$","x","cnBytes","i","l","charCodeAt","strPad","strFormat","Array","isArray","encodeURIComponent","e","lodash","get","strEscape","strHighlight","RegExp","strSplitword","join","$3","undefined","_s_regexp","j","f","push","number","isNaN","isNumber","numRange","numAdd","forEach","Math","max","pow","round","numFormat","split","t","n","charAt","numDecimal","slice","_date_D","_date_sf","dateFormat","dateParse","getFullYear","getMonth","getDate","h","getHours","getMinutes","getSeconds","w","getDay","Date","M","dateAdd","getTime","setFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","dateValid","dateDiff","_dateDiff","z","floor","dateSheet","docView","Range","prototype","movePoint","__defineGetter__","__defineSetter__","deleteContents","insertNode","document","createTextNode","startContainer","firstChild","selectNodeContents","nextSibling","setStart","setEnd","select","getSelection","removeAllRanges","addRange","rngSelection","rangeCount","getRangeAt","rngElement","parentNode","rngCursor","selectionStart","selectionEnd","value","nodeType","createRange","collapseToEnd","rngCursorOffset","startOffset","body","createTextRange","setEndPoint","rngText","text","_adjacent_where","_adjacent_query","_div","createElement","innerHTML","frag","createDocumentFragment","appendChild","el","isWidget","html","ex","removeChild","jquery","insertAdjacentHTML","p","insertBefore","append","lastElementChild","lastChild","prepend","firstElementChild","before","previousElementSibling","previousSibling","after","nextElementSibling","replaceWith","_css_camelize","toUpperCase","_set_style","v","style","getComputedStyle","offsetWidth","offsetHeight","_number","css","arguments","k","T","N","doc","cvs","documentElement","_arr_comma","_snaptype","top","bottom","left","right","tl","tr","rt","rb","br","bl","lb","lt","_snapMag","pix","mag","inner","canvasOffset","bcr","clientWidth","clientHeight","offset","width","height","offsetTop","offsetLeft","offsetParent","clientLeft","scrollLeft","clientTop","scrollTop","getBoundingClientRect","snap","originalEvent","clientX","clientY","g","ew","eh","ot","or","ob","ol","type","pix_r","pix_b","mag_r","mag_b","mag_l","mag_t","target","snapTo","jsonArray","_EventUser","_event_remove","fn","pull","id","pvdr","_event_name","_event_space","sort","_event_handlers","uid","ns","filter","apply","EventListener","one","ori","addEvent","concat","removeEvent","eventX","targetTouches","eventY","moveup","moveCB","upCB","downEv","moveHdl","upHdl","dir","evX","evY","prevent","preventDefault","userSelect","addEventListener","abs","removeEventListener","passive","$attrs","templateWrapper","vueCache","Event","currentTarget","$el","isElement","$parent","Object","assign","defaultOptions","viewCache","dfclsCache","q","http","loc","extend","extendDeep","constructor","merge","mergeDeep","_mergeDeep","cloneDeep","eval","str","opt","keys","Function","map","array","unitSize","size","idsAdd","idsRemove","idsAny","idsAll","classAdd","className","classRemove","classAny","$strTrim","urlEncode","JSON","stringify","urlDecode","decodeURIComponent","urlFormat","urlParam","A","substring","urlServer","src","startsWith","endsWith","urlComplete","download","wifiConfirm","dtask","plus","downloader","createDownload","nativeUI","showWaiting","task","status","state","toast","runtime","openFile","filename","alert","closeWaiting","start","link","href","downloadTarget","click","networkinfo","getCurrentType","index","call","buttons","vm","isView","isEntity","ownerView","dialog","isDialog","closePopup","dispatchEvent","scrollIntoView","closest","scrollTo","previewVideo","previewImage","imgs","options","slotsChildren","slots","name","getChildren","children","hasChild","print","ownerDocument","each","outerHTML","getAttribute","input2text","isFormWidget","formText","defaultValue","isChecked","checked","$options","open","write","head","queryEncode","data","config","FormData","contentType","Qs","arrayFormat","ajax","cmd","Promise","reject","ctx","context","lock","ajaxLock","pick","responseType","exec","post","then","res","success","complete","hide","disposition","headers","fileName","decodeURI","blob","Blob","URL","createObjectURL","console","resolve","catch","response","cmdHooks","Submit","submit","rsv","$nextTick","validate","getFormList","range","valid","group","getPostData","Ajax","Dialog","title","cmdDialog","Alert","Confirm","Tip","Menu","Loading","isCmd","position","timeout","cover","directiveHooks","colspan","gridColumn","rowspan","gridRow","defaults","interceptors","use","callback","url","_dfopt","includes","event","catchReject","reason","bindCache","props","beforeCreate","preloadWrapper","orientUid","created","propsEntity","template","preload","dftopt","ownproperty","getDefaultOption","class","dftoptEntity","dftX","x_default","pubParentName","omit","providePubParent","pub","watchs","Proxy","runtimeX","obj","prop","$props","set","newval","$watch","events","methods","x_watch","feat","commands","ncm","trigger","ev","runType","on","wr","closetWrapper","wg","fireEvent","getOn","emitsOptions","$emit","wrapper","once","contains","getElementById","snapElem","cmdTip","hoverDrop","hasBubble","commander","bind","vnode","getKey","key","slots_children","$slots","html_icon","cls","onclick","font","html_template","toRaw","path","except","sfx","templateDir","mod","default","html_preload","preloadDir","slot","html_slots","html_self","tagName","mergeProps","html_attrs","html_props","computed","dfish","provideView","pubParent","parentElement","html_class","minWidth","minHeight","maxWidth","maxHeight","html_style","mapKeys","omitBy","tip","html_binds","render","loaded","getSrc","request","showLoading","hidden","_createBlock","mixins","WidgetAbs","inject","onScroll","wScrollPercentX","scrollXPosition","wScrollSizeX","$refs","wScrollBarThumbX","transform","wScrollPercentY","scrollYPosition","wScrollSizeY","wScrollBarThumbY","onMousedown","dnEv","dnX","dnY","scrLeft","scrTop","mvEv","wScrollOverflow","classList","upEv","onScrollbarMousedown","WidgetBase","emits","ovf","wScrollCont","ease","scrollToY","scrollToX","html_scroll_slots","scrollX","scrollY","ref","onscroll","onmouseenter","scroll_observe","html_scroll_cont_style","onmousedown","wrap","flow","cont","xSize","ySize","xPercent","yPercent","html_scroll_class","sx","sy","mounted","scrollView","setTimeout","querySelector","ResizeObserver","observe","isVertical","html_align_class","align","vertical","valign","Scroll","AlignParent","provide","provideLayout","gap","Horizontal","hover","onerror","dataUrl","svg","imgWidth","imgHeight","Vertical","isCurrent","inCurrent","square","canPlay","onmouseleave","cueYes","_createVNode","_hoisted_1","_hoisted_2","onClick","_renderSlot","TemplateAlert","cueNo","_ctx","templateHooks","TemplateConfirm","TemplateTip","SrcParent","pops","popCommanders","reload","find","querySelectorAll","fv","val","groupFormVal","formVal","fAll","dom","not","indeterminate","selectedIndex","getValidError","wid","_err_ns","warn","showErrorTip","isModified","original","saveModified","resetForm","empty","reset","local","removeDialog","findIndex","getDialogOptions","html_pops","Pop","focusable","viewBox","cx","cy","opacity","attributeName","values","begin","dur","repeatCount","_hoisted_3","_hoisted_4","_hoisted_5","rotate","current","rot","swiper","autoHide","$data","arrow","duration","item","format","nd","xd","focusYear","focusMonth","focusDate","focusHour","focusMinute","focusSecond","startYear","endYear","monthDays","minTime","maxTime","watch","yearList","minYear","maxYear","clickCancel","clickOK","from","monthList","dateList","hourList","minuteList","secondList","hasYear","hasMonth","hasDate","hasHour","hasMinute","hasSecond","minMonth","maxMonth","minDate","maxDate","minHour","maxHour","minMinute","maxMinute","minSecond","maxSecond","ViewAbs","provideBoxParent","provideRangeParent","TemplatePreviewMedia","dateOptions","dialogOptions","TemplateDateSheet","SVGIcon","altKey","O","F","_dialogSnapHooks","_dialogSnap","View","axis","animateClass","snapClass","keepHover","hoverTimer","hoverMove","closed","animating","isDeactivated","_pos","snapStyle","activated","deactivated","getOptions","_dft_pos","ceil","getLocalElem","getCommander","snapTargetElem","defaultSnapTargetElem","snapCls","fullScreen","_fitpos","indent","defaultSnapPosition","prong","closeRelease","listenHide","setListenHide","hoverOver","clearTimeout","dropHover","evs","independent","stopPropagation","hvOver","hvMove","setMaxHeight","Teleport","addClass","unmounted","movable","appendTo","mousedown","cue","html_prop_class","inst","face","dropper","locked","showDrop","mouses","drop","onmouseup","disabled","removeClass","isMore","clickClose","clickDrop","html_drop","icon","focusIcon","Img","dropIcon","closable","isCombo","dropClass","dropPosition","Button","parentMenu","getRoot","linkTarget","tar","setFocus","closeSub","subMenu","root","rootCommander","bbr","mousewheel","wheelDelta","html_buttons","MenuButton","onwheel","table","bd","slotHooks","tbody","hiddens","colgroup","columns","TableAbs","fixed","fixedWidth","fixedHeight","init","leftTable","observeWidth","fixedCells","thead","TableFixedLeft","rightTable","scrollTable","scrollHover","fixedLeft","fixedRight","TableFixedRight","isCurrentChild","PubParent","provideLeafLevel","provideParentLeaf","provideInBody","isExpanded","observeTableWidth","html_tbody","cg","rows","vr","vi","mw","cellpadding","cellspacing","isEscape","escape","THead","immediate","hd","st","setScrollTable","inBody","ontouchstart","provideParentExpanded","getInitLoaded","folder","expanded","isFolder","isDisplay","toggle","exp","ri","rowIndex","rs","ci","td","dfishColIndex","col","TD","clickSort","order","sortable","cols","dc","defaultColspan","lazy","focusIndex","clickArrow","clickIndicator","indicatorDots","MutationObserver","childList","pages","TabButton","SwiperItem","ButtonBar","Swiper","labelVertical","_valid_err","trim","validHooks","vv","formErr","mode","getLabelText","code","_validate_dft_value","mv","modelValue","isFocus","hasBorder","isPlural","warnClass","modifiedValue","placeholder_type","input_value","rules","isNormal","readonly","label","errorTipTarget","showTip","focus","oninput","onblur","isFocusTarget","relatedTarget","dv","clone","html_label","Label","html_input","input_tag","input_type","input_name","isReadonly","isDisabled","placeholder","input_placeholder","onfocus","input_prop","html_input_hidden","html_button","html_form","html_main","fh","inputHeight","input_title","main_prop","autoPlaceholder","html_on","fw","inputWidth","FormBase","modifiedChecked","defaultChecked","boxProxy","isGrid","elements","check","relate","onchange","partialSubmit","input_icon","clickBoxProxy","html_target","CheckBox","checkstate","isPartial","getRelates","c0","c1","c2","all","inTree","_triple","_tripleAll","ico","expandedIcon","collapsedIcon","box","html_cont","display","tree","isJumpFocus","limit","buttonCount","currentPage","clickItem","onJumpClick","jumpInput","ic","ds","html_face_button","html_face_simple","html_face_normal","sumPage","sp","splice","cp","min","noFirstLast","labelFirst","iconFirst","labelPrev","iconPrev","labelNext","iconNext","labelLast","iconLast","onkeydown","keyCode","html_face_mini","minorElem","toNext","toggleClass","dragstart","prevElem","nextElem","vert","downX","downY","posName","sizeName","clientName","downPos","minPos","maxPos","movRect","pos","help","nextUntil","playing","getMimeType","filePath","suffix","mimeType","poster","onplay","onpause","controls","vd","paused","play","pause","percent","dt","ed","onlyTime","showTime","headPopYear","headPopMonth","formatter","nv","ov","ny","oy","nc","weekday","clickStep","clickPopYear","clickPopYearItem","clickPopYearStep","mousewheelPopYear","clickPopMonth","clickPopMonthItem","clickNow","clickConfirm","date","hasTime","clickShowTime","fm","clickHour","clickMinute","clickSecond","dateWeek","isTimeDisabled","method","beginDate","endDate","headYear","headMonth","bodyList","bodyListYear","bodyListMonth","bodyListDate","pad","cell","popYear","onClose","popMonth","$event","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","len","vt","prevWidth","nextWidth","prevBcr","nextBcr","marginTop","marginLeft","prevItems","firstBcr","lastBcr","wrapBcr","line","prevSlots","nextSlots","margin","setup","self","getCurrentInstance","startY","endY","minY","maxY","optY","optH","roll","moveY","lastY","lastTime","speed","lastSpeed","transition","nowY","nowTime","timeStamp","minSpeed","yuH","sc","xv","update","bcrRoot","bcrOpt","ni","xi","asc","optionHeight","keepIndex","transEnd","ret","onMounted","_mergeProps","Text","CheckBoxGroup","checkedValue","uncheckedValue","checkedText","uncheckedText","mimes","suffixHooks","xls","ppt","htm","zip","fla","fon","iso","vid","aud","img","getSuffix","fileByte","unit","fileTypeHooks","video","audio","image","list","emiting","getAccept","fileTypes","isImage","file","isVideo","isAudio","fileSelected","uploadLimit","files","xfs","maxFileSize","nfs","minFileSize","xfs_names","nfs_names","nextUpload","upload","uploadSrc","fd","source","CancelToken","onUploadProgress","progress","total","cancelToken","token","message","downloadSrc","chooseFile","html_list","itemWidth","html_input_form","multiple","accept","html_input_button","button","html_input_list","canUpload","uploadbbr","dataURL","provideUpload","createImageThumbnail","FileReader","onload","result","readAsDataURL","createVideoThumbnail","getContext","videoWidth","videoHeight","drawImage","toDataURL","muted","setProgress","beginPath","translate","moveTo","arc","PI","closePath","fillStyle","fill","strokeStyle","stroke","thumbnail","thumbnailSrc","thumbnailWidth","thumbnailHeight","showFileName","FileUpload","MediaUploadItem","MediaUpload","isMul","cv","isCnc","cancelable","step","doFormat","separator","rightward","activeElement","isBegin","stepBy","forms","endValue","beginValue","tip_uid","btns","decimal","currentDate","getPeriod","calendarCallback","noButton","Calendar","input_text","dropWidth","DropBox","picker","clickPicker","clickClear","v1","v2","showSuggest","sug_timer","sensor_text","sensor_width","addVal","unionBy","clear","suggest","input","clickDropper","html_options","forbid","html_var","sensor","initOptions","sugger","_KC","imeMode","paste_rng","currOpt","store","strict","addStore","inp","rng_text","setAttribute","eq","addBack","innerText","closePop","fixStyle","extractContents","nodeValue","param","removeAttribute","onkeyup","ondblclick","contentEditable","smallLeft","handler","smallWidth","bigSrc","big","smallSrc","small","onDragstart","init_text","isSuccess","isError","setThumbLeft","timer","setInterval","clearInterval","thumb","thumbWidth","mainWidth","hf","track","mouseenter","TemplateJigsaw","main","ondrop","components","DocView","DialogMove","Grid","Table","TableColumns","TableColumn","TableTBody","TableTHead","TableTR","TableTD","TableTH","Tabs","Tab","Album","SubmitButton","Html","Tree","Leaf","PageBar","Split","Toggle","Video","Progress","Timeline","TimelineItem","Picker","Hidden","Textarea","RadioGroup","Radio","TripleBox","Switch","ImageUpload","Option","Spinner","DatePicker","PickBox","Password","ComboBox","LinkBox","Jigsaw","Form","directives","install","Vue","component","directive","binding","arg"],"mappings":"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"}