dfish-widget 0.1.359 → 0.1.360
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.
- package/css/style.css +1 -1
- package/lib/index.esm.js +154 -117
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/index.esm.js.map
CHANGED
|
@@ -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, '"')\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, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\\"/g, '"') : '';\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, n) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v, n) {\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', 'colspan', 'rowspan', '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 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> 模板不存在</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> 模板不存在</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: ['w-w', 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 '--w-grid-colspan': !this.x.colspan || this.x.colspan == -1 ? null : `span ${this.x.colspan}`,\r\n '--w-grid-rowspan': !this.x.rowspan || this.x.rowspan == -1 ? null : `span ${this.x.rowspan}`,\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', 'loading', '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 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-down'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-down'),\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.x.loading = 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.isDisabled) return\r\n e.stopPropagation()\r\n 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.x.loading) {\r\n r.push(h('div', {\r\n class: 'w-button-loading 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.isDisabled && 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.isDisabled && 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 isDisabled() {\r\n return this.x.disabled || this.x.loading\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.isDisabled,\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 z-loading': this.x.loading,\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 rows: 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.rows = {}\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.rows\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-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-colspan, 1 / -1);\r\n grid-row: var(--w-grid-rowspan);\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 directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding, vnode) {\r\n if ($.directiveHooks[v]) {\r\n if (!vnode.key) { // v-for循环内,如果vnode没有key,节点不会重新渲染,导致指令也不更新\r\n vnode.key = (vnode.props && vnode.props['w-key']) || $.uid()\r\n } \r\n $.directiveHooks[v](el, binding.value, vnode)\r\n }\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","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","maxWidth","maxHeight","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","showDrop","mouses","drop","onmouseup","disabled","removeClass","isMore","clickClose","clickDrop","isDisabled","html_drop","icon","focusIcon","Img","dropIcon","closable","isCombo","minWidth","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","rows","isExpanded","observeTableWidth","html_tbody","cg","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","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","locked","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"],"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, '"')\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, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\\"/g, '"') : '';\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, n) {\r\n el.style.gridColumn = !v || v == -1 ? '' : `span ${v}`\r\n },\r\n rowspan(el, v, n) {\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', 'colspan', 'rowspan', '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 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> 模板不存在</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> 模板不存在</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: ['w-w', 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 '--w-grid-colspan': !this.x.colspan || this.x.colspan == -1 ? null : `span ${this.x.colspan}`,\r\n '--w-grid-rowspan': !this.x.rowspan || this.x.rowspan == -1 ? null : `span ${this.x.rowspan}`,\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', 'loading', '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 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-down'),\r\n onmouseup: e => e.currentTarget.classList.remove('z-down'),\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.x.loading = 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.isDisabled) return\r\n e.stopPropagation()\r\n 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.x.loading) {\r\n r.push(h('div', {\r\n class: 'w-button-loading 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.isDisabled && 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.isDisabled && 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 isDisabled() {\r\n return this.x.disabled || this.x.loading\r\n },\r\n html_props() {\r\n return {\r\n disabled: this.isDisabled,\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 z-loading': this.x.loading,\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 rows: 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.rows = {}\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.rows\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-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-colspan, 1 / -1);\r\n grid-row: var(--w-grid-rowspan);\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({\r\n file\r\n })\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 validHooks() {\r\n return {\r\n valid: (v) => {\r\n for (let item of this.list) {\r\n if (item.loading) {\r\n return this.formErr('upload_loading')\r\n }\r\n if (item.error) {\r\n return this.formErr('upload_invalid_file')\r\n }\r\n }\r\n }\r\n }\r\n },\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>\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', {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', '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', {\r\n 'z-forbid': v.forbid\r\n }],\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 validHooks() {\r\n return {\r\n valid: (v) => {\r\n if (this.$refs.input.value)\r\n return this.formErr('invalid_option')\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).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 white-space: pre-wrap; \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</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 directives.forEach(v => {\r\n Vue.directive(v, {\r\n created(el, binding, vnode) {\r\n if ($.directiveHooks[v]) {\r\n if (!vnode.key) { // v-for循环内,如果vnode没有key,节点不会重新渲染,导致指令也不更新\r\n vnode.key = (vnode.props && vnode.props['w-key']) || $.uid()\r\n } \r\n $.directiveHooks[v](el, binding.value, vnode)\r\n }\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","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","maxWidth","maxHeight","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","showDrop","mouses","drop","onmouseup","disabled","removeClass","isMore","clickClose","clickDrop","isDisabled","html_drop","icon","focusIcon","Img","dropIcon","closable","isCombo","minWidth","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","rows","isExpanded","observeTableWidth","html_tbody","cg","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","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","locked","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"],"mappings":"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"}
|